function findPosX(obj){
     var curleft = 0;
     if (obj.offsetParent){
          while (obj.offsetParent){
               curleft += obj.offsetLeft
               obj = obj.offsetParent;
          }
     }
     else if (obj.x)
          curleft += obj.x;
     return curleft;
}

function findPosY(obj){
     var curtop = 0;
     if (obj.offsetParent){
          while (obj.offsetParent){
               curtop += obj.offsetTop
               obj = obj.offsetParent;
          }
     }else if (obj.y)
          curtop += obj.y;
     return curtop;
}
var regExpBeginning = /^\s+/;
var regExpEnd = /\s+$/;  

// Supprime les espaces inutiles en d?but et fin de la cha?ne pass?e en param?tre.
function trim(aString) {

    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}

// Supprime les espaces inutiles en d?but de la cha?ne pass?e en param?tre.
function ltrim(aString) {

    return aString.replace(regExpBeginning, "");
}
// Supprime les espaces inutiles en fin de la cha?ne pass?e en param?tre.
function rtrim(aString) {

    return aString.replace(regExpEnd, "");
}
 
/*------------------------- BASE FUNCTIONS -------------------------*/
//Object.prototype.getStyle = function(){return this.style;}
/*Object.prototype.switchDisplay = function() {if( !this.style.display || this.style.display == 'none' ) this.display = 'block'; else this.display = 'none';}*/
//Object.prototype.reset = function(){this.value='';}

var disabling = false;
var running = false;
var LastDisplayedLayer = "";
var LastDisplayedReference = "";
function DisableMouseOut(){
	disabling = true;
}

function blockDsp(layer, state, reference) {
	if(LastDisplayedLayer != layer){
		if(LastDisplayedLayer != ""){
			blockDspCallback(LastDisplayedLayer, false, LastDisplayedReference);
		}
		LastDisplayedLayer = layer;
		LastDisplayedReference = reference;
	}
	
	if(running) return;
	running = true;
	
	setTimeout("blockDspCallback('"+layer+"', "+state+", '"+reference+"')", 10);
	//setTimeout("blockDspCallback('"+layer+"', false, '"+reference+"')", 10000);
	//setTimeout("alert('10');", 100);
	
}

function hideSelect(show) {
	//doc = window.document;
	
	//AllSelect = doc.getElementsByTagName("select");
	//var state = (show==0)? "hidden" : "visible";

	//for (var i = 0; i < AllSelect.length; i++) { 
	//    AllSelect[i].style.visibility = state;
	//}
}

function blockDspCallback(layer, state, reference){
	running = false;
	//alert(layer);
	//alert(state);
	//alert(reference);
	//alert ( disabling ) ;
	if(disabling && !state){
		disabling = false;
		return;
	}

	var block = document.getElementById(layer);
	if(state){
		block.style.display = "block";
		if(nb_prods>0) hideSelect(0);
	}else{
		block.style.display = "none";
		if(nb_prods>0) hideSelect(1);
	}
}

var activeZoom = function()
	{
		document.getElementById('fond_noir').style.display = "block";
		document.body.style.overflow="hidden";
		document.getElementById('popupSendAFriend').style.display = "block";
	}
	
var desactiveZoom = function()
	{

		document.getElementById('fond_noir').style.display = "none";
		document.body.style.overflow="";
		document.getElementById('popupSendAFriend').style.display = "none";
	}
/*------------------------------------------ FICHE -----------------------------------*/

function switchKitDisplayByProduitID(ProduitID) {
	var e = document.getElementById("kit_item_" + ProduitID);
	if(!e) return;
	switchKitDisplay(ProduitID, e.parentNode.parentNode.id.replace("ensemble_", ""));
}

function switchKitDisplay(ProduitID, AlternatifID) {
	
	var kit_compo_list = document.getElementById('ensemble_'+AlternatifID).getElementsByTagName('blockquote');

	for(i=0;i<kit_compo_list.length;i++) {
		if(kit_compo_list[i].id == "kit_item_" + ProduitID) {
			kit_compo_list[i].style.height = kit_compo_list[i].getElementsByTagName("div")[0].offsetHeight + "px";
		} else {
			kit_compo_list[i].style.height = "59px";
		}
	}
}

function showKitProdImg(Pid) {
	var path = document.getElementById('photoProduit'+Pid).src;
	path = path.replace("/a_", "/e_");
	document.getElementById('photoProduit').src = path;
	document.getElementById('photoProduit').style.zIndex = "10000";
}
/*------------------------------ LISTING --------------------------*/

function item_over(pID) {
	var obj = document.getElementById("prod_name_"+pID);
	if(!obj.style.display || obj.style.display == "none") obj.style.display = "block";
	else obj.style.display = "none";
}

var scrollPos = 0;

function chagListDsp(currentPage) {
	var items = document.getElementById("prods_list").getElementsByTagName("li");
	if(dspType==1) {
		//document.getElementById('list_layer').style.paddingRight = "50px";
		document.getElementById('list_form').style.backgroundImage = "none";
		document.getElementById('slider_layer').className = "allDsp";
		document.getElementById('prods_list').style.width = "100%";
		document.getElementById('prods_list').style.height = "auto";
		document.getElementById('prods_list').style.overflow = "auto";
		document.getElementById('prods_list').style.left = "0pt";
		//document.getElementById('mask_list_left').style.display = "none";
		//document.getElementById('mask_list_right').style.display = "none";
		//document.getElementById('Scroll_1').style.display = "none";
		//document.getElementById('slider_layer').style.display = "none";
		//document.getElementById('prods_list_all').style.display = "block";
		//scrollPos = document.getElementById("prods_list").style.left;
		//document.getElementById("prods_list").style.left = "0";
		dspType = 0;
		
		for(var i=0; i<items.length; i++){
			items[i].style.display = "block";
		}
		for(var i=0; i<ScrollBars.length; i++){
			if(ScrollBars[i].Name == "Scroll_1"){
				ScrollBars[i].Disable();
			}
		}
		
	} else {
		//document.getElementById('list_layer').style.paddingRight = "100px";
		//document.getElementById('list_form').style.backgroundImage = "url("+pageURL+"/ximg/slider_back.gif)";
		document.getElementById('slider_layer').className = "";
		document.getElementById('prods_list').style.width = slider_list_width;
		document.getElementById('prods_list').style.height = "350px";
		document.getElementById('prods_list').style.overflow = "visible";
		//document.getElementById('mask_list_left').style.display = "block";
		//document.getElementById('mask_list_right').style.display = "block";
		//document.getElementById('Scroll_1').style.display = "block";
		//document.getElementById('slider_layer').style.display = "block";
		//document.getElementById('prods_list_all').style.display = "none";
		//document.getElementById("prods_list").style.left = scrollPos;
		dspType = 1;

		for(var i=0; i<items.length; i++){
			items[i].style.display = (items[i].getAttribute("page") == currentPage)? "block" : "none" ;
		}
		for(var i=0; i<ScrollBars.length; i++){
			if(ScrollBars[i].Name == "Scroll_1"){
				ScrollBars[i].Enable();
				ScrollBars[i].Resize();
			}
		}
		
	}
}

/*------------------- BLOCK PANIER ---------------------*/

function remove(prod) {
	document.cart_block_form.action.value = "update";
	eval("document.cart_block_form.quantite_"+ prod +".value = 0");
	document.cart_block_form.submit();
}

function update_cart_display() {
	
	/*if(document.getElementById('full_cart_label')) {
	
		var nb_prod = document.getElementById('full_cart_label').innerHTML;
		if(nb_prod.length==1) var tmp_HTML = "<img class='spacer' src='"+pageURL+"ximg/shim.gif'>";
		else var tmp_HTML = "";
		
		for(i=0;i<nb_prod.length;i++) {
			tmp_HTML += "<img src='"+pageURL+"ximg/"+nb_prod.charAt(i)+".png'>";
		}
		
		//tmp_HTML += "<img class='label_art' src='"+pageURL+"ximg/label_articles_"+current_lang+".png'>";
		document.getElementById('full_cart_label').innerHTML = tmp_HTML;
		
	}
	
	alert(nb_prod);
	
	document.getElementById('full_cart_label').innerHTML = "";
	
	if(nb_prod>1) {
		document.getElementById('full_cart_label').innerHTML += "<img src='"+pageURL+"ximg/"+nb_prod.charAt(0)+".png'>"
		document.getElementById('full_cart_label').innerHTML += "<img src='"+pageURL+"ximg/"+nb_prod.charAt(1)+".png'>"
	} else {
		document.getElementById('full_cart_label').innerHTML += "<img class='spacer' src='"+pageURL+"ximg/shim.gif'>"
		document.getElementById('full_cart_label').innerHTML += "<img src='"+pageURL+"ximg/"+nb_prod.charAt(1)+".png'>"
	}*/
	
}

/*------------------------------------ BLOCK LOGIN --------------------------*/

function topMenuOver(menuID,over) {
		
	var tmpImg = document.getElementById('login_toolBar_list').getElementsByTagName('a')[menuID];

	if(over) tmpImg.className = "hover";
	else tmpImg.className = "";
	
}

/*------------------- PANIER --------------------*/

function remove(prod) {
	document.myform.action.value = "update";
	eval("document.myform.quantite_"+ prod +".value = 0");
	document.myform.submit();
}

/*-------------------- LIVRAISON ---------------------*/

function chgLivMode(radioID,radioNB) {

	var tmp_list = document.getElementById('shipMode_list').getElementsByTagName('li');
	
	for( i=1; i<(1+radioNB); i++) {
		tmp_list[i].className = "";
		document.getElementById('ml_'+i).checked = false;
	}
	
	tmp_list[radioID].className = "odd";
	document.getElementById('ml_'+radioID).checked = true;
}

function checkCGV(action) {

	if((CGV+action) == 0) {
		CGV = 1;
		if(document.all) document.getElementById('cont_btn').style.filter = "alpha(opacity='100')";
		else document.getElementById('cont_btn').style.opacity = "1";
		document.getElementById('cont_btn').href = "javascript:check_form('shipping_infos_form')";
		document.getElementById('cgv_check').checked = true;
	} else {
		CGV = 0;
		if(document.all) document.getElementById('cont_btn').style.filter = "alpha(opacity='20')";
		else document.getElementById('cont_btn').style.opacity = "0.2";
		document.getElementById('cont_btn').href = "javascript: if(!document.getElementById('shipping_infos_form').cgv_check.checked) {alert('#label_accepte_CGV#');void(0);}";
		document.getElementById('cgv_check').checked = false;
	}

}

function check_str(value,msg_error){
	
	if(value == ""){
		alert(msg_error);
		return 1;
	}
	return 0;
	
}

function radioCheck(val) { 

	var tmp_form = document.getElementById('shipping_infos_form');

	for( i=0; i<tmp_form.mode_livraison.length; i++){ 
		if (tmp_form.mode_livraison[i].value==val) tmp_form.mode_livraison[i].checked = true;
	}
	
}

/*----------------------------- PAIEMENT -----------------------------*/

function pmSelect(pmID,pmValue) {
	
	document.getElementById("payment_form").mode_reglement.value = pmValue;
	var tmp_TR_list = document.getElementById('payment_table').getElementsByTagName('tr');
	
	for(i=1;i<tmp_TR_list.length;i++) {
		tmp_TR_list[i].className = "";
		document.getElementById('pm_img'+i).src = document.getElementById('pm_img'+i).src.substring(0,(document.getElementById('pm_img'+i).src.length-5)) + "0.png";
	}
	
	tmp_TR_list[pmID].className = "odd";
	document.getElementById('pm_img'+pmID).src = pageURL + "ximg/ico_paiement_" + pmValue + "_1.png";
		
}

/*------------------------------ COMPTE --------------------------------*/

function menuOver(menuID,over) {
		
	/*var tmpImg = document.getElementById('account_toolBar_list').getElementsByTagName('img')[menuID];

	if(over) tmpImg.src = tmpImg.src.substring(0,(tmpImg.src.length-5)) + "1.png";
	else tmpImg.src = tmpImg.src.substring(0,(tmpImg.src.length-5)) + "0.png";*/

	var tmpImg = document.getElementById('account_toolBar_list').getElementsByTagName('a')[menuID];

	if(over) tmpImg.className = "hover";
	else tmpImg.className = "";
	
}
/*panier ajax*/
function del_lg_panier(pid){
	ColdFusion.navigate(urlprod + 'blocks/panier.cfm?frmaction=delete&xml=1&panier_id=' + pid,'cart_block_layer' ,callBack,errorhandler);
	//alert(urlprod + 'blocks/panier.cfm?frmaction=delete&xml=1&panier_id=' + pid);
 	delete_ligne(pid);
}
function upd_qte_block(pid){
 	if( document.cart_form["quantite_"+ pid].value == 0) {
 		del_lg_panier(pid);
 	}
 	else PanierUpdateSubmit();
 	if(document.getElementById("panier" + pid) != null){
		document.getElementById("upd_panier" + pid).innerHTML=eval("document.cart_form.quantite_"+ pid + ".value");
		
		nb_prods = parseInt(nb_prods)  + parseInt(document.cart_form["quantite_"+ pid].value) - parseInt(document.cart_form["old_qte_" + pid].value);
		nb_prods_label = nb_prods.toString();
		update_cart_display();
		document.cart_form["old_qte_" + pid].value = document.cart_form["quantite_"+ pid].value;	
	}
}
function delete_ligne(pid){
	//update_cart_display();
	if(document.getElementById("panier" + pid) != null)
		document.getElementById("panier" + pid).parentNode.removeChild(document.getElementById("panier" + pid));
	//alert(nb_prods);
	if(nb_prods==1) {
		if(document.getElementById('empty_cart_layer')) document.getElementById('empty_cart_layer').style.display = "block";
		if(document.getElementById('full_cart_layer')) document.getElementById('full_cart_layer').style.display = "none";
	}
		
	
} 
var callBack = function(){
	//test
} 
var errorhandler = function(errorCode,errorMessage){
    alert("[In Error Handler]" + "\n\n" + "Error Code: " + errorCode + "\n\n" + "Error Message: " + errorMessage);
} 


/* ENSEMBLES */
var EnsembleItems = new Array();

function EnsembleUpdateBasket(){
	var ul = document.getElementById("EnsembleBasket");
	ul.innerHTML = "";

	for(var i=0; i<EnsembleItems.length; i++){
		if(EnsembleItems.length >0)
		{
			document.getElementById('addKittoBasket').style.display = 'block';
		}
		var li = document.createElement("li");
		li.innerHTML = trim(document.getElementById("EnsembleItem").innerHTML);
		for(var j=0; j<document.getElementById("EnsembleItem").attributes.length; j++){
		
			
			li.setAttribute(document.getElementById("EnsembleItem").attributes[j].nodeName, document.getElementById("EnsembleItem").attributes[j].nodeValue);
		}
		li.style.display = "inline";
		var imgPlus = li.getElementsByTagName("img")[0];
		var img = li.getElementsByTagName("img")[1];
		var a = li.getElementsByTagName("a")[1];
		
		if(i != 0)
		{
			imgPlus.style.display = 'block';
		}
		
		
		img.src = EnsembleItems[i].Photo;
		a.href = "javascript:EnsembleRemove('" + EnsembleItems[i].CodeEAN + "')" ;

		ul.appendChild(li);
	}
}

function EnsembleRemove(CodeEAN){
	var nEnsembleItems = new Array();
	for(var i=0; i<EnsembleItems.length; i++){
		if(EnsembleItems[i].CodeEAN != CodeEAN){
			nEnsembleItems[nEnsembleItems.length] = EnsembleItems[i];
		}
	}
	EnsembleItems = nEnsembleItems;
	EnsembleUpdateBasket();
}

function EnsembleAdd(AlternatifID, ProduitID, Attributs, index){
	if(!Attributs.IsOk()){
		alert(label_choix_attribs);
		return;
	}
	
	var ni = EnsembleItems.length;
	
	/*if(ni == 0){
		alert("premier ajout !");
	}*/
	
	EnsembleItems[ni] = new Object();
	EnsembleItems[ni].AlternatifID = AlternatifID;
	EnsembleItems[ni].ProduitID = ProduitID;
	EnsembleItems[ni].CodeEAN = Attributs.SelectedCodeEAN;
	EnsembleItems[ni].OptionID = Attributs.SelectedOptionID;
	EnsembleItems[ni].Photo = document.getElementById("photoProduit" + ProduitID).src;
	
	EnsembleUpdateBasket();
	jQuery('#accordeon').activate(index);
}

function EnsembleSubmitBackGround(PageUrl, ProduitID, CodeEan, OptionID){
	ColdFusion.navigate(PageUrl+'blocks/panier.cfm?frmaction=add&produit_id='+ProduitID+'&quantite_souhaitee=1&xml=1&attribs=1&code_ean='+CodeEan+'&option_id='+OptionID,'cart_block_layer' ,mycallBack,myerrorhandler)
}

function EnsembleSubmit(pageurl){
	for(var i=0; i<EnsembleItems.length; i++){
		setTimeout("EnsembleSubmitBackGround('"+pageurl+"', "+EnsembleItems[i].ProduitID+", '"+EnsembleItems[i].CodeEAN+"', "+EnsembleItems[i].OptionID+")", 100 * i);
	}
}