
function popup(mypage, myname, w, h, scroll, resizable) {
	// alert('mypage = ' + mypage + '\nmyname = ' + myname + '\nw = ' + w + '\nh = ' + h + '\nscroll = ' + scroll + '\nresizable = ' + resizable);
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resizable+''
	myWin = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { myWin.window.focus(); }
}

function closeRemote() {
	timer = setTimeout('window.close();', 10);
}

function ajax_connexion_string() {
	var xhr_object = null;
	if (window.XMLHttpRequest) { // Firefox
		xhr_object = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Internet Explorer
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	} else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	return xhr_object;
}

function ChangeParentAndClose(sUrl) {
	opener.parent.location.href = sUrl;
	opener.location.href = sUrl;
	this.close();
	return false;
}

function addBannerClick(banner_ID, redirect) {
	// alert(banner_ID);
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", "includes/update_clicks.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		// alert(xhr_object.readyState);
		if (xhr_object.readyState == 4) {
			// Fait un output des requêtes MySQL du update des clicks
			// alert(xhr_object.responseText);
			location.href = redirect;
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "banner_ID=" + escape(banner_ID);
	xhr_object.send(data);
}

var currentTdID = '';

function addToCart(product_ID, sID, lang) {
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-add_to_cart.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			
			// alert(xhr_object.responseText);
			
			if (xhr_object.responseText == 'OK') {
				// On ajoute l'article au panier avec succès
				
				if (lang == 'fr')
					msg = 'ajouté à votre panier';
				else
					msg = 'added to your cart';
					
				divMsgID = 'divMsg' + product_ID;
				document.getElementById(divMsgID).innerHTML = msg;
				
				if (currentTdID != '')
					document.getElementById(currentTdID).style.display = 'none';
				currentTdID = 'td' + product_ID;
				document.getElementById(currentTdID).style.display = '';
				
				setTimeout('closePanel(currentTdID)',5000);
				
				// On affiche le cart à droite
				updateCartInformations(sID, lang);
			} else {
				// L'article est déjà au panier
				
				if (lang == 'fr')
					msg = 'déjà dans votre panier';
				else
					msg = 'already in your cart';
					
				divMsgID = 'divMsg' + product_ID;
				document.getElementById(divMsgID).innerHTML = msg;
				
				if (currentTdID != '')
					document.getElementById(currentTdID).style.display = 'none';
				currentTdID = 'td' + product_ID;
				document.getElementById(currentTdID).style.display = '';
				
				setTimeout('closePanel(currentTdID)',5000);
			}
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "product_ID=" + product_ID + "&sID=" + sID;
	xhr_object.send(data);
}

function updateCartInformations(sID, lang) {
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-update_cart_informations.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			
			// alert(xhr_object.responseText);
			
			if (xhr_object.responseText != 'false') {
				document.getElementById('shoppingCartInfos').innerHTML = xhr_object.responseText;
				document.getElementById('shoppingCart').style.display = '';
			} else {
				document.getElementById('shoppingCart').style.display = 'none';
			}
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "sID=" + sID + "&lang=" + lang;
	xhr_object.send(data);
}

function calculateCart(sID, lang) {
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-calculate_cart.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			if (xhr_object.responseText == 'close') {
				// alert(window.opener.location.href);
				window.opener.location.href = window.opener.location.href;
				timer = setTimeout('self.close()',10);
			} else {
				document.getElementById('finalOutput').innerHTML = xhr_object.responseText;
				window.opener.updateCartInformations(sID, lang);
			}
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "sID=" + sID + "&lang=" + lang;
	xhr_object.send(data);
}

function switchItemState(product_ID, itemstate, sID, lang) {
	// alert('on entame la fonction switchItemState()\nproduct_ID = ' + product_ID + ' | itemstate = ' + itemstate + ' | sID = ' + sID + ' | lang = ' + lang);
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-switch_item_state.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			calculateCart(sID, lang);
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "product_ID=" + product_ID + "&itemstate=" + itemstate;
	xhr_object.send(data);
}

function modifyCartQty(cartRowID, qty, sID, lang) {
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-modify_cart_qty.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "qty=" + qty + "&cartRowID=" + cartRowID;
	xhr_object.send(data);
}

function deleteFromCart(cartRowID, sID, lang) {
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-delete_from_cart.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			calculateCart(sID, lang);
			window.opener.updateCartInformations(sID, lang);
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "cartRowID=" + cartRowID;
	xhr_object.send(data);
}

function closePanel(elemID) {
	document.getElementById(elemID).style.display = 'none';
}

function addToMailingList(lang) {
	
	// alert('on entame la procedure');
	
	var email = document.getElementById('mailing_email').value;
	
	if (email == '') {
		if (lang == 'fr')
			errMsg = 'Vous devez inscrire votre adresse courriel';
		else
			errMsg = 'You must enter your email address';
		document.getElementById('mailing_msg_div').innerHTML = errMsg;
		document.getElementById('mailing_msg_tr').style.display = '';
	} else {
		xhr_object = ajax_connexion_string();
		xhr_object.open("POST", web_root + "includes/add_to_mailing_list.php", true);
		xhr_object.onreadystatechange = function anonymous() {
			if (xhr_object.readyState == 4) {
				// alert(xhr_object.responseText);
				if (xhr_object.responseText == 'OK') {
					if (lang == 'fr')
						successMsg = 'Un message de confirmation vous à été envoyé par courriel';
					else
						successMsg = 'A confirmation email has been sent to your email address';
					document.getElementById('mailing_msg_div').innerHTML = successMsg;
					document.getElementById('mailing_msg_tr').style.display = '';
					setTimeout('closePanel("mailing_msg_tr")',5000);
				} else {
					if (xhr_object.responseText == 'invalid') {
						if (lang == 'fr')
							errMsg = 'Cette adresse courriel est invalide';
						else
							errMsg = 'This email address is invalid';
						document.getElementById('mailing_msg_div').innerHTML = errMsg;
						document.getElementById('mailing_msg_tr').style.display = '';
					} else {
						if (lang == 'fr')
							errMsg = 'Cette adresse est déjà dans notre base de données';
						else
							errMsg = 'This address is already in the database';
						document.getElementById('mailing_msg_div').innerHTML = errMsg;
						document.getElementById('mailing_msg_tr').style.display = '';
					}
				}
			}
		}
	}
		
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "email=" + escape(email) + "&lang=" + lang;
	xhr_object.send(data);
}

function determineProvinceFormElement(lang, ctry, state) {
	
	if (ctry == '')
		var ctry = document.getElementById('c_country').value;
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-update_state_form_element.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			document.getElementById('state').innerHTML = xhr_object.responseText;
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "ctry=" + ctry + "&lang=" + lang + "&state=" + state;
	xhr_object.send(data);
}

function updatePersonalInformations(sID, lang) {
	
	var c_firstname		= document.getElementById('c_firstname').value;
	var c_lastname		= document.getElementById('c_lastname').value;
	var c_address		= document.getElementById('c_address').value;
	var c_country		= document.getElementById('c_country').value;
	var c_state			= document.getElementById('c_state').value;
	var c_city			= document.getElementById('c_city').value;
	var c_pcode			= document.getElementById('c_pcode').value;
	var c_phone			= document.getElementById('c_phone').value;
	var c_email			= document.getElementById('c_email').value;

	// alert(c_firstname + '\n' + c_lastname + '\n' + c_address + '\n' + c_country + '\n' + c_state + '\n' + c_city + '\n' + c_pcode + '\n' + c_phone + '\n' + c_email);
	
	if (c_firstname == '' || c_lastname == '' || c_address == '' || c_country == '' || c_state == '' || c_city == '' || c_pcode == '' || c_phone == '' || c_email == '') {
		if (lang == 'fr') {
			msg1 = 'Attention';
			msg2 = 'Vous devez remplir tous les champs du formulaire avant de continuer';
		} else {
			msg1 = 'Warning';
			msg2 = 'You must fill all fields to proceed';
		}
		document.getElementById('errMsg').innerHTML = '<div class="cart_err_msg"><table><tr><td><img src="' + images_folder + '/spIcon.gif" alt="" width="30" height="30" border="0"></td><td align="center" width="100%" style="letter-spacing: 3px;"><strong>' + msg1 + '</strong></td></tr><tr><td colspan="2">' + msg2 + '</td></tr></table></div>';
	} else {
		
		xhr_object = ajax_connexion_string();
		xhr_object.open("POST", web_root + "includes/cart-update_personal_informations.php", true);
		xhr_object.onreadystatechange = function anonymous() {
			if (xhr_object.readyState == 4) {
				// alert(xhr_object.responseText);
				if (xhr_object.responseText == 'OK');
					location.href = 'cart.php?step=3';
			}
		}
	
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "sID=" + sID + "&c_firstname=" + escape(c_firstname) + "&c_lastname=" + escape(c_lastname) + "&c_address=" + escape(c_address) + "&c_country=" + c_country + "&c_state=" + escape(c_state) + "&c_city=" + escape(c_city) + "&c_pcode=" + c_pcode + "&c_phone=" + escape(c_phone) + "&c_email=" + escape(c_email);
		xhr_object.send(data);
	}
}

var alertEnabled = 'on';

function showAlert() {
	if (alertEnabled == 'on') {
		alert('© Studio Economik');
	} else {
		alertEnabled = 'on';
	}
}

function enableAlert() {
	alertEnabled = 'on';
	document.getElementById('output').innerHTML = 'alerte à ' + alertEnabled;
}

function disableAlert() {
	alertEnabled = 'off';
	document.getElementById('output').innerHTML = 'alerte à ' + alertEnabled + ' (temp)';
}

var shippingCode;
function calculateShipping(sID, pcode, country, serviceCode, loading) {
	
	if (skipShipping == "yes") {
		calculateCartContentConfirmation(sID);
	} else {
	
		if (loading == 'yes') {
			document.getElementById('btnnext').innerHTML = btntext;
			document.getElementById('cartContentConfirmation').innerHTML = ' <br><br> <table align="center" cellspacing="0" cellpadding="3" border="0"><tr><td><img src="' + images_folder + '/loading.gif" alt="" width="18" height="18" border="0"></td><td><strong>' + phOneMoment + '</strong></td></tr></table> ';
		}
		xhr_object = ajax_connexion_string();
		xhr_object.open("POST", web_root + "includes/cart-calculate_ups_shipping.php", true);
		xhr_object.onreadystatechange = function anonymous() {
			if (xhr_object.readyState == 4) {
				shippingCode = '';
				// alert(xhr_object.responseText);
				shippingCode = xhr_object.responseText;
				if (shippingCode.match('reload')) {
					calculateShipping(sID, pcode, country, serviceCode, loading);
					// document.getElementById('debug').innerHTML = shippingCode;
				} else {
					calculateCartContentConfirmation(sID);
				}
			}
		}
	
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "sID=" + sID + "&pcode=" + pcode + "&country=" + country + "&serviceCode=" + serviceCode;
		xhr_object.send(data);
	}
}

function calculateCartContentConfirmation(sID) {
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-calculate_cart_content_confirmation.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			document.getElementById('cartContentConfirmation').innerHTML = xhr_object.responseText;
			// if (shippingCode == 'reload')
			//	calculateCartContentConfirmation(sID);
			if (shippingCode == 'Missing/Illegal ShipTo/Address/CountryCode')
				document.getElementById('btnnext').innerHTML = btntext;
			else if (shippingCode == 'The requested service is unavailable between the selected locations.')
				document.getElementById('btnnext').innerHTML = btntext;
			else
				document.getElementById('btnnext').innerHTML = '<a href="cart.php?step=4" class="normal">' + btntext + '</a>';
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "sID=" + sID + "&shippingCode=" + escape(shippingCode);
	xhr_object.send(data);
}

function fillParentPaypalForm(sID, currency) {
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-fill_paypal_form.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			window.opener.document.getElementById('hiddenForm').innerHTML = xhr_object.responseText;
			// document.getElementById('output').innerHTML = '<pre>' + xhr_object.responseText + '</pre>';
			window.opener.document.paypalForm.submit();
			timer = setTimeout('self.close()',10);
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "sID=" + sID + "&currency=" + currency;
	xhr_object.send(data);
}

function sendProForma(lang, sID) {
	
	document.getElementById('finalOutput').innerHTML = ' <br><br> <table align="center" cellspacing="0" cellpadding="3" border="0"><tr><td><img src="' + images_folder + '/loading.gif" alt="" width="18" height="18" border="0"></td><td><strong>' + phOneMoment + '</strong></td></tr></table> ';
	var comment = document.getElementById('comment').value;
	
	if (document.getElementById('receivecopy').checked == true) {
		receive_copy = 'yes';
		// alert('yessss');
	} else {
		receive_copy = 'no';
		// alert('nooooo');
	}
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "includes/cart-send_pro_forma.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			if (xhr_object.responseText == 'OK') {
				if (lang == 'fr')
					document.getElementById('finalOutput').innerHTML = '<div align="center" style="font-weight: bold; padding: 20px; border: #ccc 1px solid; background: #fc0;">Votre demande à été transmise avec succès. Vous serez contacté sous peu. Merci.</div>';
				else
					document.getElementById('finalOutput').innerHTML = '<div align="center" style="font-weight: bold; padding: 20px; border: #ccc 1px solid; background: #fc0;">Your request has been sent. You will be contacted soon. Thank you.</div>';
			} else {
				if (lang == 'fr')
					document.getElementById('finalOutput').innerHTML = '<div class="cart_pro_forma_err_msg"><strong>Un problème est survenu.</strong><br>Veuillez tenter la transmission à nouveau. Si le problème persiste, veuillez <a href="mailto:' + webmasterEmail + '?subject=Error: ' + sID + '" class="normal">écrire au Webmaster</a> et celui-ci sera en mesure d\'investiguer et de transmettre manuellement votre soumission.</div>';
				else
					document.getElementById('finalOutput').innerHTML = '<div class="cart_pro_forma_err_msg"><strong>A problem has occured.</strong><br>Please try again. If the problem is not solved, please <a href="mailto:' + webmasterEmail + '?subject=Error: ' + sID + '" class="normal">contact the Webmaster</a>, he will investigate and transmit your request manually.</div>';
			}
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "lang=" + lang + "&comment=" + escape(comment) + "&receive_copy=" + receive_copy;
	xhr_object.send(data);
}

function switchStyleOn(elemID) {
	document.getElementById(elemID).className = "option_box_on";
}

function switchStyleOff(elemID) {
	document.getElementById(elemID).className = "option_box_off";
}

function disableCurrenciesNotice() {
	
	var ID = '0';
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", web_root + "disable_currencies_notice.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			// alert(xhr_object.responseText);
			document.getElementById('div_curr_notice').style.display = 'none';
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "ID=" + ID;
	xhr_object.send(data);
}

function increment_homepage_banner_click(banner_ID, redirect) {
	// alert("banner_ID = " + banner_ID + " | redirect = " + redirect);
	location.href = redirect;
}

function submitSortForm(redirect, val) {
	// alert("redirect = " + redirect + " | val = " + val);
	
	// location.href = "index.php?" + redirect + "&sortProducts=" + val;
	
	if (redirect.search("\\?") != -1)
		location.href = redirect + "&sortProducts=" + val;
	else
		location.href = redirect + "?sortProducts=" + val;	
}

function submitSearchForm(sTerm) {
	var s = document.getElementById('search').value;
	
	if (s != "Rechercher" && s != "Search" && s != "")
		document.searchForm.submit();
	else
		alert(sTerm);
}

function changeClass(id, cName) {
	document.getElementById(id).className = cName;
}

function resultsNb(ID, str, rep) {
	document.getElementById(ID).innerHTML = str.replace('%nb%', rep);
}

/*
	outil de sélection rapide de l'accueil
*/

function quicksel_subcats() {
	
	var cat_ID		= document.getElementById("quicksel_cats").value;
	var subcat_ID	= document.getElementById("subcat").value;
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", "includes/quicksel_subcats.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			document.getElementById("quicksel_subcats_combo").innerHTML = xhr_object.responseText;
			quicksel_query(1);
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "cat_ID=" + cat_ID + "&subcat_ID=" + subcat_ID;
	xhr_object.send(data);
}

var queryTimeout;

function start_query(limit, loaderStr) {
	document.getElementById("priceAlert").innerHTML = "&nbsp;";
	parent.frames.quicksel_results.document.getElementById("result_td").innerHTML = '<div style="height:110px;">&nbsp;</div><div align="center" style="font-weight:bold; color: #13629e;"><strong>' + loaderStr + '</strong></div><div align="center" style="padding:10px;"><img src="images_style_1/productfinder_loader.gif" alt="" width="50" height="50" border="0"></div>';
	queryTimeout = setTimeout('quicksel_query(' + limit + ');', 500);
}

function quicksel_query(limit) {
	
	var cat_ID		= document.getElementById("quicksel_cats").value;
	var subcat_ID	= document.getElementById("quicksel_subcats").value;
	var min_price	= document.getElementById("quicksel_minprice").value;
	var max_price	= document.getElementById("quicksel_maxprice").value;
	
	xhr_object = ajax_connexion_string();
	xhr_object.open("POST", "includes/quicksel_query.php", true);
	xhr_object.onreadystatechange = function anonymous() {
		if (xhr_object.readyState == 4) {
			parent.frames.quicksel_results.document.getElementById("result_td").innerHTML = xhr_object.responseText;
		}
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "cat_ID=" + cat_ID + "&subcat_ID=" + subcat_ID + "&min_price=" + min_price + "&max_price=" + max_price + "&limit=" + limit;
	xhr_object.send(data);
}

function loadReview(sURL) {
	rev_iframe.location.href = sURL;
	document.getElementById("rev_div").style.display = "";
}

function closeReview() {
	document.getElementById("rev_div").style.display = "none";
}

function googleSearch() {
	var str = document.getElementById('googleSearch').value;
	var url = 'http://www.google.com/search?q=' + str + ' site:economik.com';
	window.location.href = url;
}
