$(document).ready(function(){
	jQuery.support.cors = true;
});


function ecwsCompareOffers(formId, resultsId, errorsId, loadingId){
	
	dataString = $("#" + formId).serialize();

	$("#" + resultsId).html("");
	$("#" + errorsId).html("");
	$("#" + loadingId).css("display", "block");
	
	action = $("#" + formId).attr("action");
	
	 if ($.browser.msie && window.XDomainRequest) {
         // Use Microsoft XDR
		 
		 var ieAction = action + "?" + dataString;
         var xdr = new XDomainRequest();
         xdr.open("get", ieAction);
         xdr.onload = function() {
             // XDomainRequest doesn't provide responseXml, so if you need it:
             var dom = new ActiveXObject("Microsoft.XMLDOM");
             dom.async = true;
             dom.loadXML(xdr.responseText);
             
             parseXmlOffers(resultsId, $(dom));
             $("#" + loadingId).css("display", "none");
         };
         xdr.send();
     } else {
    	 
	$.ajax({
		type: "GET",
		url: action,
		data: dataString,
		dataType : "xml",

		complete : function() {  $("#" + loadingId).css("display", "none"); },
		 error:function (xhr, ajaxOptions, thrownError){
           /*  alert('error = ' + xhr.status);
             alert(thrownError);*/
         },    
		success: function(xml) {
			parseXmlOffers(resultsId, xml);
		} 
	});
     }
}

function parseXmlOffers(resultsId, xml){
	$("#" + resultsId).css("display", "block");
	finalHtml = "<div class=\"comparePricesResult\">";
	finalHtml = finalHtml + "<div class=\"header\"></div>";
	finalHtml = finalHtml + "<div class=\"results\">";
	
	imageNotAvailable  = $(xml).find("products images default smallImage url").text();
	
	productId=1;
	
	$(xml).find("groups group").each(function(){
		nbOffers = $(this).find("offers offersCount").text();
		
		title = $(this).find("product title").text();
		ean = $(this).find("product ean").text();
		
		//alert(title);
		
		smallImageURL = $(this).find("product images smallImage url").text();
		


		if(nbOffers>1){
			
			//detailPageURL = $(this).find("offers offer deeplink").text();

		//	imageContent="<a href=\""+detailPageURL+"\" target=\"_blank\">\n";
			//smallImageHeight=$(this).find("images smallImage height").text();
			//smallImageWidth=$(this).find("images smallImage width").text();
			smallImageWidth=53;
			smallImageHeight=75;
		
			imageContent="<img height=\"" + smallImageHeight + "\" width=\"" + smallImageWidth + "\" alt=\"\" src=\"" + smallImageURL  +"\" onerror=\"ecwsImgError(this,'" + imageNotAvailable +"');\">\n";
			//imageContent=imageContent+"</a>"; 

		//	alert(imageContent);
			
			titleRef = "<a href=\"javascript:showHideOffers('" + ean + "');\">\n";
			titleRef = titleRef + title + "</a>";
			
			itemResult="<div class=\"resultItem\">";
			itemResult=itemResult+"<div class=\"resultItemImage\">";
			
			itemResult=itemResult+imageContent;
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"description\">";
			itemResult=itemResult+"<div class=\"resultItemTitle\">";
			itemResult=itemResult+titleRef;
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"</div>";
		//	itemResult=itemResult+"<div id=\"show_offers_" +  ean+ "\" class=\"showOffers\" onclick=\"javascript:showHideOffers(this);\">";
			itemResult=itemResult+"<div class=\"showOffers\">";
			itemResult=itemResult+"<a id=\"show_offers_" +  ean+ "\" class=\"button\" href=\"javascript:showHideOffers('" + ean + "');\"><span>&nbsp;Voir les offres&nbsp;</span></a>"; 
			itemResult=itemResult+"</div>";
				
			
			itemResult=itemResult+"<div class=\"offers\" id=\"offers_" + ean + "\">";
			$(this).find("offers offer").each(function(){
			
				detailPageURL = $(this).find("deeplink").text();
				currency = $(this).find("prices original currency alphaCode").text();
				itemPrice = $(this).find("prices original formattedPrice").text();
				deliveryPrice = $(this).find("prices original formattedDeliveryPrice").text();
				convertedPriceWithDelivery = $(this).find("prices converted formattedPriceWithDelivery").text();
				targetCurrency = $(this).find("prices converted currency alphaCode").text();
				merchantName=$(this).find("merchant name").text();
				merchantImageURL=$(this).find("merchant smallImage url").text();
				merchantImageContent = "<a href=\""+detailPageURL+"\" target=\"_blank\">\n";
				merchantImageHeight=$(this).find("merchant smallImage height").text();
				merchantImageWidth=$(this).find("merchant smallImage width").text();
			//	merchantImageHeight=50;
			//	merchantImageWidth=50;
				merchantImageContent=merchantImageContent+"<img height=\"" + merchantImageHeight + "\" width=\"" + merchantImageWidth + "\" alt=\"\" src=\"" + merchantImageURL  +"\"  onerror=\"ImgError(this);\">\n";
				merchantImageContent=merchantImageContent+"</a>";
				
				availability=$(this).find("availability").text();
			
				itemResult=itemResult+"<div class=\"offerSeparator\"></div>";
				itemResult=itemResult+"<div class=\"offer\">";	
				itemResult=itemResult+"<div class=\"description\">";
				itemResult=itemResult+"<div class=\"itemPrice\">";
				itemResult=itemResult+"<span class=\"label\">Prix :</span><span class=\"value\">" + itemPrice +"</span>";
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"<div class=\"deliveryPrice\">";
				itemResult=itemResult+"<span class=\"label\">Livraison :</span><span class=\"value\">" + deliveryPrice +"</span>";
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"<div class=\"convertedPriceWithDelivery\">";
				itemResult=itemResult+"<span class=\"label\">Total :</span><span class=\"value\">" + convertedPriceWithDelivery +"</span>";
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"<div class=\"availability\">";
				itemResult=itemResult+availability;
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"<div class=\"buy\">";
				itemResult=itemResult+"<a class=\"button\" href=\""+detailPageURL+"\" target=\"_blank\"><span>&nbsp;Acheter ce produit&nbsp;</span></a>"; 
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"</div>";
				
				//itemResult=itemResult+"</div>";
				itemResult=itemResult+"<div class=\"merchant\">";
				itemResult=itemResult+"<div class=\"merchantImage\">";
				itemResult=itemResult+merchantImageContent;
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"<div class=\"merchantName\">";
				itemResult=itemResult+merchantName;
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"</div>";
				itemResult=itemResult+"</div>";
			}); 
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"resultItemSeparator\"></div>";
			finalHtml = finalHtml + itemResult;
		} else {
			detailPageURL = $(this).find("offers offer deeplink").text();

			imageContent="<a href=\""+detailPageURL+"\" target=\"_blank\">\n";
			//smallImageHeight=$(this).find("images smallImage height").text();
			//smallImageWidth=$(this).find("images smallImage width").text();
			smallImageWidth=53;
			smallImageHeight=75;
		
			imageContent=imageContent+"<img height=\"" + smallImageHeight + "\" width=\"" + smallImageWidth + "\" alt=\"\" src=\"" + smallImageURL  +"\" onerror=\"ecwsImgError(this,'" + imageNotAvailable +"');\">\n";
			imageContent=imageContent+"</a>"; 
		
			titleRef = "<a href=\""+detailPageURL+"\" target=\"_blank\">\n";
			titleRef = titleRef + title + "</a>";
			
			currency = $(this).find("offers offer prices original currency alphaCode").text();
			
			itemPrice = $(this).find("offers offer prices original formattedPrice").text();
			
			deliveryPrice = $(this).find("offers offer prices original formattedDeliveryPrice").text();
			
			convertedPriceWithDelivery = $(this).find("offers offer prices converted formattedPriceWithDelivery").text();
		
			targetCurrency = $(this).find("offers offer prices converted currency alphaCode").text();
			
			merchantName=$(this).find("offers offer merchant name").text();
			
			merchantImageURL=$(this).find("offers offer merchant smallImage url").text();
			merchantImageContent = "<a href=\""+detailPageURL+"\" target=\"_blank\">\n";
			merchantImageHeight=$(this).find("offers offer merchant smallImage height").text();
			merchantImageWidth=$(this).find("offers offer merchant smallImage width").text();
		//	merchantImageHeight=50;
		//	merchantImageWidth=50;
			merchantImageContent=merchantImageContent+"<img height=\"" + merchantImageHeight + "\" width=\"" + merchantImageWidth + "\" alt=\"\" src=\"" + merchantImageURL  +"\"  onerror=\"ecwsImgError(this,'" + imageNotAvailable +"');\">\n";
			merchantImageContent=merchantImageContent+"</a>";
			
			availability=$(this).find("offers offer availability").text();
			

			itemResult="<div class=\"resultItem\">";
			//itemResult=itemResult+"<div class=\"left\">";
			itemResult=itemResult+"<div class=\"resultItemImage\">";
			
			itemResult=itemResult+imageContent;
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"description\">";
			itemResult=itemResult+"<div class=\"resultItemTitle\">";
			itemResult=itemResult+titleRef;
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"itemPrice\">";
			itemResult=itemResult+"<span class=\"label\">Prix :</span><span class=\"value\">" + itemPrice +"</span>";
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"deliveryPrice\">";
			itemResult=itemResult+"<span class=\"label\">Livraison :</span><span class=\"value\">" + deliveryPrice +"</span>";
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"convertedPriceWithDelivery\">";
			itemResult=itemResult+"<span class=\"label\">Total :</span><span class=\"value\">" + convertedPriceWithDelivery +"</span>";
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"availability\">";
			itemResult=itemResult+availability;
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"buy\">";
			itemResult=itemResult+"<a class=\"button\" href=\""+detailPageURL+"\" target=\"_blank\"><span>&nbsp;Acheter ce produit&nbsp;</span></a>"; 
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"</div>";
	
			//itemResult=itemResult+"</div>";
			
			//itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"merchant\">";
			itemResult=itemResult+"<div class=\"merchantImage\">";
			itemResult=itemResult+merchantImageContent;
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"merchantName\">";
			itemResult=itemResult+merchantName;
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"</div>";
			itemResult=itemResult+"<div class=\"resultItemSeparator\"></div>";
			finalHtml = finalHtml + itemResult;
			
		}
		
	});
	finalHtml = finalHtml + "<div class=\"footer\"></div>";
	finalHtml = finalHtml + "</div>";
	finalHtml = finalHtml + "</div>";
	$("#" + resultsId).append(finalHtml);
}

function unfoldOffers(productId){
	
}

function showHideOffers(productId){
	var container = $("#offers_"+productId);
			//$("#offers_"+productId).slideToggle("slow");
	if (container.is( ":visible" )){
		container.slideUp( 'fast' );
	} else {
			// Show - slide down.
		container.slideDown( 'fast' );

	}

}

function ecwsImgError(source, target){
    source.src = target;
    source.onerror = "";
    return true;
}

function ecwsGetUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
