function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function recalculate(idLang){
	document.form.action = "index.asp?bagaction=Recalculer&action=panier&lang=" + idLang;
	document.form.submit();
}

function checkRequiredFields(input){

	var requiredFields = new Array("Nom", "Prenom",  "Adresse", "Ville", "Province", "Pays", "CodePostal", "Email", "TelMai");
	var fieldNames = 	 new Array("Nom / Last Name", "Prenom / First Name", "Adresse / Address", "Ville / City", "Province / State", "Pays / Country", "CodePostal / Zip", "Courriel / Email", "Telephone");


	var fieldCheck   = true;
	var fieldsrequis = "\nLes champs suivants sont requis:\n Following fields are required\n\n";

	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {

		if ((input.elements[requiredFields[fieldNum]].value == "") ||
			(input.elements[requiredFields[fieldNum]].value == " ")) {

			fieldsrequis += fieldNames[fieldNum] + "\n";

			fieldCheck = false;
		}
	}

	if (fieldCheck == true)	{
		return true;
	}
	else{

		for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
			if ((input.elements[requiredFields[fieldNum]].value == "") ||
				(input.elements[requiredFields[fieldNum]].value == " ")) {
			break;
		}
	}

	alert(fieldsrequis);

	input.elements[requiredFields[fieldNum]].focus();

	return false;
	}
}

function reset(p_form){
	var elements = p_form.getElementsByTagName("input");
	for(var i = 0; i < elements.length; i++){
		if(elements[i].type == "text")
			elements[i].value = "";
	}
	elements = p_form.getElementsByTagName("select");
	for(var i = 0; i < elements.length; i++){
		elements[i].selectedIndex = 0;
	}

}

function submit(){
	if(checkRequiredFields(document.form1)){
		document.form1.submit();
	}
}

function showForm(){
	var priceRequest = document.getElementById("priceRequestContainer");
	centerElement(priceRequest);
	priceRequest.appear();
}

function closeForm(){
	var priceRequest = document.getElementById("priceRequestContainer");
	priceRequest.fade();
}

function sendForm(p_lang){
	if(validForm(document.formPriceRequest, p_lang)){
		document.formPriceRequest.submit();
	}
}

function centerElement(p_element){
	var elt         = $(p_element);

	// retrieve required dimensions
	var eltDims     = elt.getDimensions();
	var browserDims = $(document.body).getDimensions();

	// calculate the center of the page using the browser and element dimensions
	var y  = (browserDims.height - eltDims.height) / 2 + 70;
	var x = (browserDims.width - eltDims.width) / 2;

	// set the style of the element so it is centered
	var styles = { position : 'absolute',
		top      : y + 'px',
		left     : x + 'px' };

	elt.setStyle(styles);
	elt.scrollTo();
}

function validForm(input, p_lang){

	var requiredFields = new Array("Nom", "Prenom", "Province", "Pays", "Email");
	var fieldNamesFR = 	 new Array("Nom", "Prenom", "Province", "Pays", "Courriel");
	var fieldNamesEN = 	 new Array("Last Name", "First Name", "State", "Country", "Email");

	var fieldNames = p_lang == "FR" ? fieldNamesFR : fieldNamesEN;

	var fieldCheck   = true;
	var fieldsrequis = (p_lang == "FR" ? "\nLes champs suivants sont requis:\n\n" : "\nFollowing fields are required:\n\n");

	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {

		if ((input.elements[requiredFields[fieldNum]].value == "") ||
			(input.elements[requiredFields[fieldNum]].value == " ")) {

			fieldsrequis += fieldNames[fieldNum] + "\n";

			fieldCheck = false;
		}
	}

	var hasPhone = false;
	var optionalFields = new Array("TelMai", "TelBur",  "Cell");
	for(var fieldNum=0; fieldNum < optionalFields.length; fieldNum++) {

		if (input.elements[optionalFields[fieldNum]].value != "") {

			hasPhone = true;

		}
	}

	if(!hasPhone){

		fieldsrequis += (p_lang == "FR" ? "Vous devez entrez un # de téléphone\n" : "You must enter a phone number\n");
		fieldCheck = false;
	}

	if (fieldCheck == true && hasPhone)	{
		return true;
	}
	else{

		for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
			if ((input.elements[requiredFields[fieldNum]].value == "") ||
				(input.elements[requiredFields[fieldNum]].value == " ")) {
			break;
		}
	}

	alert(fieldsrequis);

	if(hasPhone)
		input.elements[requiredFields[fieldNum]].focus();

	return false;
	}
}

function validateFormAbonnement(p_form, p_listeSuffix, p_lang){

	if($("choixArt1" + p_listeSuffix).selectedIndex > 0 || $("choixArt2" + p_listeSuffix).selectedIndex > 0 || $("choixArt3" + p_listeSuffix).selectedIndex > 0){
		p_form.submit();
	}
	else{
		if(p_lang == "FR")
			alert("Choisissez au moins un artiste.");
		else
			alert("Choose at least one artist.");
	}
}