
// Gestion des rollovers

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) { //v3.0
  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);

  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 changeImage(imgName, posObj)
{
 if (document.images) {
 	document.images[imgName].src = document.MM_p[posObj].src;
 }
}

function imgSwap(pic1,pic2) {
 if (document.images)  {
	document.images[pic1].src = eval(pic2 + ".src");
  }
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// OuvrirFenetre :
// permet d'ouvrir une fenetre POP-UP sans fioritures
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Auteur : Meher Necib (mailto:mnecib@mail.dotcom.fr)
//
// Script teste sur IE 4.0+,  Communicator 4.0+, Navigator 3.02+
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// url     : url de la forme = /page.htm ou http://www.WWW.com ou ../data/pgm/tutu.htm
// name    : chaine de caracteres libre
// largeur : en pixels
// hauteur : en pixels
// Exemple d'utilisation du script :
// <a HREF=#EX OnClick='OuvrirFenetre("MON_URL","MON TITRE",750,115)'>Texte</a>
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


// Close the remote window if the user
// close the main window first
function closeUpShop() {
  if (shopWin != null) {
    if (typeof(shopWin) == "object") {
      shopWin.close();
      }
    }
}

function OuvrirFenetre(url, name, largeur, hauteur, center) {
	var Position;
	if (center) {
			var LeftPosition = 210; // (screen.width)?(screen.width-largeur)/2:100;
			var TopPosition  = 10; // (screen.height)?(screen.height-hauteur)/2:100;

			Position = ',top='+TopPosition+',left='+LeftPosition
		}

        // -- Dimensions du browser (taille et modification)--
        win_opt = "width=" + largeur ;
        win_opt += ",height=" + hauteur;
        win_opt += ",Resizable" ;

        // -- outils du browser --
        // win_opt += ",menubar";
        // win_opt += ",toolbar";
        // win_opt += ",location";
        // win_opt += ",directories";
        // win_opt += ",status";

        // -- diverses options --
        win_opt    += ",scrollbars=auto";
        win_opt    += ",dependent";
        win_opt    += Position;
        // win_opt += ",copyhistory";

        shopWin = window.open(url, name, win_opt);
        shopWin.focus();
} // OuvrirFenetre


function outOnError(strMessage, objInput) {
	alert(strMessage);
	objInput.focus();
	return false;
}

function isValidTel(sho_phone, IsPhoneObl) {
	var cr = false;
	var strPhone = sho_phone.value;
	if (isWhitespace(strPhone)) {
		return (IsPhoneObl == 0);
	} else {
		strPhone = stripCharsNotInBag (strPhone, "0123456789");
		var bFraPhone = isPhoneNumber(strPhone);
		var bIntPhone = (strPhone.length > 10) && isInternationalPhoneNumber(strPhone);

		if (! (bFraPhone || bIntPhone)) {
			return false;
		} else if (bFraPhone) {
			strPhone = reformat (strPhone, "", 2, " ", 2, " ", 2, " ", 4)
			cr = true;
		} else {
			if (strPhone.substr(0, 2) == "00")
				strPhone = reformat (strPhone, "", 2, " ", 2, "-0 ", 1, " ", 2, " ", 2, " ", 4, " ", 5);
			else
				strPhone = reformat (strPhone, "+", 2, "-0 ", 1, " ", 2, " ", 2, " ", 4, " ", 5);
			cr = true;
		}
	}
	sho_phone.value = strPhone;
	return cr;
} // isValidTel

function CheckShopper(form, checkBil, IsPhoneObl, IsEmailObl) {
	var cr = 0;

	with(form) {
		if (isWhitespace(sho_name.value)) {
			return outOnError("Veuillez saisir votre nom", sho_name);
		} else if (isWhitespace(sho_street.value)) {
			return outOnError("Veuillez saisir votre adresse", sho_street);
		} else if (isWhitespace(sho_zip.value)) {
			return outOnError("Veuillez saisir votre code postal", sho_zip);
		} else if (isWhitespace(sho_city.value)) {
			return outOnError("Veuillez saisir votre ville", sho_city);
		} else if (isWhitespace(sho_country.options[sho_country.options.selectedIndex].value)) {
			return outOnError("Veuillez choisir votre pays", sho_country);
		} else if (! isValidTel(sho_phone, IsPhoneObl)) {
			return outOnError("Veuillez saisir votre numéro de téléphone \n(Merci d'ajouter l'indicatif international pour un numéro hors de France)", sho_phone)
		} else if (! isEmail(sho_email.value, (IsEmailObl == 0))) {
			return outOnError("Merci de saisir une adresse email valide", sho_email);
		} else {
			cr ++;
		}

		// Adresse de facturation
		if (checkBil != 1) {
			cr ++;
		}
		else if (bil_same.checked) {
			cr ++;
		} else if (isWhitespace(bil_name.value)) {
			return outOnError("Le nom de facturation doit comprendre de 1 à 64 caractères.", bil_name);
		} else if (isWhitespace(bil_street.value)) {
			return outOnError("L'adresse de facturation doit comprendre de 1 à 128 caractères.", bil_street);
		} else if (isWhitespace(bil_zip.value)) {
			return outOnError("Le code postal de facturation semble ne pas être valide.", bil_zip);
		} else if (isWhitespace(bil_city.value)) {
			return outOnError("La ville de facturation doit comprendre de 1 à 32 caractères.", bil_city);
		} else if (isWhitespace(bil_country.options[bil_country.options.selectedIndex].value)) {
			return outOnError("Veuillez choisir votre pays de facturation dans la liste.", bil_country);
		} else if (! isValidTel(bil_phone, IsPhoneObl)) {
			return outOnError("Le numéro de téléphone de facturation doit comprendre de 0 à 24 caractères.\n(merci d'ajouter l'indicatif international pour un numéro hors de France)", bil_phone)
		} else {
			cr ++;
		}

		// Adresse de livraison
		if (shi_same.checked) {
			cr ++;
		} else if (isWhitespace(shi_name.value)) {
			return outOnError("Le nom de livraison doit comprendre de 1 à 64 caractères.", shi_name);
		} else if (isWhitespace(shi_street.value)) {
			return outOnError("L'adresse de livraison doit comprendre de 1 à 128 caractères.", shi_street);
		} else if (isWhitespace(shi_zip.value)) {
			return outOnError("Le code postal de livraison semble ne pas être valide.", shi_zip);
		} else if (isWhitespace(shi_city.value)) {
			return outOnError("La ville de livraison doit comprendre de 1 à 32 caractères.", shi_city);
		} else if (isWhitespace(shi_country.options[shi_country.options.selectedIndex].value)) {
			return outOnError("Veuillez choisir votre pays de livraison dans la liste.", shi_country);
		} else if (! isValidTel(shi_phone, IsPhoneObl)) {
			return outOnError("Le numéro de téléphone de livraison doit comprendre de 0 à 24 caractères.\n(merci d'ajouter l'indicatif international pour un numéro hors de France)", shi_phone)
		} else {
			cr ++;
		}

	}
	return (cr == 3);
} // CheckShopper

