/****************************************************************************************************************
	Ouverture du popin
****************************************************************************************************************/

function loadPopin(externalLink){

	if($.browser.msie){ $("select").css("visibility","hidden");	}	// virer les selects pour IE
	
	// création du div conteneur de popin
	if (document.getElementById('popinContainer') == null) {
		$("body").prepend('<div id="popinContainer"></div>');
	
	}
	

	
	//alert(externalLink);
	// load du fichier externe
	$('#popinContainer').load(externalLink,function(){
			//alert("externalLink:" + externalLink);
			//return false;
			var tmp = $('#popintoload').clone();
			$('#popinContainer').empty(); // des fois IE6 n'aime pas cette ligne, va-t-en comprendre Charles
			$('#popinContainer').append(tmp);
			var hauteur_ecran = $(window).height();
			var hauteur_pop = $("#pop_quickview").height();
			var largeur_ecran = $(window).width();
			var largeur_pop = $("#pop_quickview").width();

			var decale_gauche = Math.round((largeur_ecran - largeur_pop) /2 );
			var decale_haut = Math.round((hauteur_ecran - hauteur_pop) /2 );
			/*$("#pop_quickview").css({'margin-left':decale_gauche+'px','margin-top':decale_haut+'px'});*/
			$("#pop_quickview").css({'left':decale_gauche+'px','top':decale_haut+'px'});
			$("#pop_quickview").css("display","block");
			
			
			//ajouter quantit
			$("#pop_quickview form fieldset.quantite .controles a.plus").click(function(){
				var valeur = Number($(this).parent().parent().find("input").val());
				$(this).parent().parent().find("input").val(valeur+1);
			})
			//enlever quantit
			$("#pop_quickview form fieldset.quantite .controles a.moins").click(function(){
				var valeur = Number($(this).parent().parent().find("input").val());
				if(valeur>1){
					$(this).parent().parent().find("input").val(valeur-1);
				}
			})
			// fermeture du popin
			$(".popin .close a").click(function(){
				$(this).parent().parent().parent().parent().hide();
				if($.browser.msie){ $("select").css("visibility","visible"); }
				$("#grise").hide();
				$('#popinContainer').remove();
				return false;
			})
			
			/*02 06 09*/
			//ferme popin dur voile gris
			$("#grise").click(function(){
				closeShoppingBagPopin();
				refresh();
			});
			// ajouter au panier

			$("#pop_quickview input.bouton_valide").click(function(){
				$("#pop_quickview").hide();
				$("#pop_confirme_panier").show();
				//
				var hauteur_ecran = $(window).height();
				var hauteur_pop = $("#pop_confirme_panier").height();
				var largeur_ecran = $(window).width();
				var largeur_pop = $("#pop_confirme_panier").width();
				//
				var decale_gauche = Math.round((largeur_ecran - largeur_pop) /2 );
				var decale_haut = Math.round((hauteur_ecran - hauteur_pop) /2 );
				$("#pop_confirme_panier").css({'left':decale_gauche+'px','top':decale_haut+'px'});
				return false;
			})

			// ajouter au vestiaire
			/*$("#pop_quickview .bouton_ajoute").click(function(){
				alert("ajout panier");
				$("#pop_quickview").hide();
				$("#pop_confirme_vestiaire").show();
				//
				var hauteur_ecran = $(window).height();
				var hauteur_pop = $("#pop_confirme_vestiaire").height();
				var largeur_ecran = $(window).width();
				var largeur_pop = $("#pop_confirme_vestiaire").width();
				//
				var decale_gauche = Math.round((largeur_ecran - largeur_pop) /2 );
				var decale_haut = Math.round((hauteur_ecran - hauteur_pop) /2 );
				$("#pop_confirme_vestiaire").css({'left':decale_gauche+'px','top':decale_haut+'px'});
				return false;
			})*/
	});
}

function viewVariant(element) {
	var lien_fiche = element.href;
	var coupe_lien = lien_fiche.split(".htm");
	var lien_popin = coupe_lien[0] + "/-/popin"+".htm";

	//
	$(this).parent().parent().parent().parent().hide();
	if($.browser.msie){ $("select").css("visibility","visible"); }
	$("#grise").hide();
	$('#popinContainer').remove();

	loadPopin(lien_popin);
	element.blur();
	$("#grise").show();
	$("#grise").css({'height':$("body").height()+"px",'top':'0px','left':'0px'});
	var location_actuelle = window.location.href.split("#");
	window.location.href = location_actuelle[0]  + "#";
	return false;
}

// Locker room popin
function showLockerRoomPopin() {
	$("#grise").show();
	$("#grise").css({'height':$("body").height()+"px",'top':'0px','left':'0px'});
	$("#pop_quickview").hide();
	$("#pop_confirme_vestiaire").show();
	//
	var hauteur_ecran = $(window).height();
	var hauteur_pop = $("#pop_confirme_vestiaire").height();
	var largeur_ecran = $(window).width();
	var largeur_pop = $("#pop_confirme_vestiaire").width();
	//
	var decale_gauche = Math.round((largeur_ecran - largeur_pop) /2 );
	var decale_haut = Math.round((hauteur_ecran - hauteur_pop) /2 );	
	$("#pop_confirme_vestiaire").css({'left':decale_gauche+'px','top':decale_haut+'px'});
	
	/* Bug popin/flash sur safari/ff mac */
	if (navigator.appVersion.toUpperCase().indexOf("MAC")!=-1) {
		$('#productFlashContent').hide();
	}
}

// Shopping bag popin
function showShoppingBagPopin() {
	$("#grise").show();
	$("#grise").css({'height':$("body").height()+"px",'top':'0px','left':'0px'});
	$("#pop_quickview").hide();
	$("#pop_confirme_panier").show();
	//
	var hauteur_ecran = $(window).height();
	var hauteur_pop = $("#pop_confirme_panier").height();
	var largeur_ecran = $(window).width();
	var largeur_pop = $("#pop_confirme_panier").width();
	//
	var decale_gauche = Math.round((largeur_ecran - largeur_pop) /2 );
	var decale_haut = Math.round((hauteur_ecran - hauteur_pop) /2 );
	$("#pop_confirme_panier").css({'left':decale_gauche+'px','top':decale_haut+'px'});
	
        /*02 06 09*/
        //ferme popin dur voile gris
        $("#grise").click(function(){
                closeShoppingBagPopin();
                refresh();
        });
		
	/* Bug popin/flash sur safari/ff mac */
	if (navigator.appVersion.toUpperCase().indexOf("MAC")!=-1) {
		$('#productFlashContent').hide();
	}
}

function closeLockerRoomPopin() {
	jQuery("#pop_confirme_vestiaire").hide();
	jQuery("#grise").hide();
	
	/* Bug popin/flash sur safari/ff mac */
	if (navigator.appVersion.toUpperCase().indexOf("MAC")!=-1) {
		$('#productFlashContent').show();
	}
	return false;
}

function closeShoppingBagPopin() {
	jQuery("#pop_confirme_panier").hide();
	jQuery("#grise").hide();
	
	/* Bug popin/flash sur safari/ff mac */
	if (navigator.appVersion.toUpperCase().indexOf("MAC")!=-1) {
		$('#productFlashContent').show();
	}
		
	return false;
}

function closeStockReminderPopin() {
	jQuery("#pop_quickview_stock_reminder").hide();
	jQuery("#grise").hide();
	return false;
}

function viewProductPopin(element) {
	var lien_fiche = element.href;
	var coupe_lien = lien_fiche.split(".htm");
	var lien_popin = coupe_lien[0] + "/-/popin"+".htm";

	loadPopin(lien_popin);
	element.blur();
	$("#grise").show();
	$("#grise").css({'height':$("body").height()+"px",'top':'0px','left':'0px'});
	var location_actuelle = window.location.href.split("#");
	window.location.href = location_actuelle[0]  + "#";
	return false;
}

function processStateChange() {
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
        	var cType = req.getResponseHeader("Content-Type");

        	if (cType == 'text/xml;charset=UTF-8') {
        		var xmlDoc = req.responseXML;
        		var redirectHref = xmlDoc.getElementsByTagName('redirect');
        		var responseType = xmlDoc.getElementsByTagName('type');
        		var actionName = xmlDoc.getElementsByTagName('action');

        		var newLocation = redirectHref[0].firstChild.nodeValue;
        		var type = responseType[0].firstChild.nodeValue;
        		var action = actionName[0].firstChild.nodeValue;

        		if (type == "error") {
        			window.location.href = newLocation;
        		} else if (type == "success") {
            		if (action == "wishListAdd") {
            			showLockerRoomPopin();
            		} else if (action = "addToCart") {
            			showShoppingBagPopin();
            		}
        		}
        	}
    	}
    }
}

function getFormAsString(formName) {
	var form = document.getElementById(formName);
	formElements = form.elements;
	returnString = form.action + "?";
	
	for (var i = 0; i < formElements.length; i++ ) {
        returnString += escape(formElements[i].name) + "=" + escape(formElements[i].value) + "&";
    }

    return returnString; 
}

function getXMLHttpRequest() {
	if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		return null;
	}
}

function ajaxSubmitForm(stateChangeFunction, formName) {
	url = getFormAsString(formName);
	req = getXMLHttpRequest();
	if (req) {
		req.abort();
		req.open("GET", url, true);
		req.onreadystatechange = function(){
			stateChangeFunction();
		}
		req.send(null);
	}
}
