var nbError;
var buttomName;
//====================================================================================================
//detect browser:
    browserName = navigator.appName;
    browserVer = parseInt(navigator.appVersion);
    if (browserName == "Netscape" && browserVer >= 3) browserVer = "1";
    else if (browserName == "Microsoft Internet Explorer" && browserVer == 4) browserVer = "1";
    else browserVer = "2";

//====================================================================================================
// 2- Section pour faire un simple Redirect.
//====================================================================================================
function redirect(uri) 
{
		location.replace(uri);
}

//====================================================================================================
// 3- Section pour Specifier le Boutton selectionner sur une page
//====================================================================================================
function setChoose (theObjectClick)
{
	buttomName = theObjectClick.name.substring(0,4).toUpperCase();
	document.all.theChoose.value=theObjectClick.name.substring(0,4).toUpperCase();
}

//====================================================================================================
// 5-  Section pour valider l'envoi de commentaires/questions
//====================================================================================================
function validContactUsSubmit(LabErr0, thisLang)
{
	nbError = 0;
	if (buttomName == 'SEND')
	{
		if ((document.all.DMEmail.value == "")||(document.all.DMMessage.value == "")) {
			alert(LabErr0);
			nbError++;
		}
		else {
			ValidEmail(document.all.DMEmail.value);
			if (EmailError==1) {
				alert(LabErr0);
				nbError++;
			}
			return false;
		}
	}
	if (buttomName == 'STOP')
	{
		redirect("../index.php");
		nbError++;
	}
	return false;
}

//====================================================================================================
// Word counter...
//====================================================================================================
/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Steve | http://jsmadeeasy.com/ */

function getObject(obj) {
  var theObj;
  if(document.all) {
    if(typeof obj=="string") {
      return document.all(obj);
    } else {
      return obj.style;
    }
  }
  if(document.getElementById) {
    if(typeof obj=="string") {
      return document.getElementById(obj);
    } else {
      return obj.style;
    }
  }
  return null;
}

function toCount(entrance,exit,text,characters) {
  var entranceObj=getObject(entrance);
  var exitObj=getObject(exit);
  var length=characters - entranceObj.value.length;
  if(length <= 0) {
    length=0;
    text='<span class="disable"> '+text+' </span>';
    entranceObj.value=entranceObj.value.substr(0,characters);
  }
  exitObj.value = length;
}

//====================================================================================================
//====================================================================================================
function validSendReservation(thisLang)
{
	nbError = 0;
	if (buttomName == 'SEND')	
	{
        if(document.all.resFirstName.value == "") { nbError++; }
        if(document.all.resLastName.value == "") { nbError++; }
        if(document.all.resTelephone.value == "") { nbError++; }
        if(document.all.resEmail.value == "") { nbError++; }
        if(document.all.resAddress1.value == "") { nbError++; }
        if(document.all.resCity.value == "") { nbError++; }
        if(document.all.resState.value == "") { nbError++; }
        if(document.all.resPostalCode.value == "") { nbError++; }
        if(document.all.resCountry.value == "") { nbError++; }
        // SSL
		if(document.all.resCCNumber.value == "") { nbError++; }
        if(document.all.resCCExpirationM.value == "MM") { nbError++; }
        if(document.all.resCCExpirationY.value == "YYYY") { nbError++; }
        if (nbError>0) {
    		if (thisLang=="En"){
                alert("All Mandatory fields were not completed properly.")
            } else {
                alert("Tous les champs Obligatoires n'ont pas été complétés correctement.")
            }
        } else {
            ValidEmail(document.all.resEmail.value);
			if (EmailError==1) {
        		if (thisLang=="En"){
                    alert("Please enter a valid email address.\nYour confirmation will be sent to your email address.")
                } else {
                    alert("S.V.P. veuillez entrer une adresse courriel valide.\nVotre confirmation sera envoyée à votre adresse courriel.")
                }
				nbError++;
            }
        }
	}
	if (buttomName == 'STOP')	
	{
		if (thisLang=="En"){
            location.replace("../index.php", '_top');
        } else {
            location.replace("../index.php", '_top');
        }
		nbError++;
	}

	return false;
}
//====================================================================================================
//====================================================================================================
function validSendReservation2(thisLang)
{
	nbError = 0;
	if (buttomName == 'STOP')	
	{
		if (thisLang=="En"){
            location.replace("../index.php", '_top');
        } else {
            location.replace("../index.php", '_top');
        }
		nbError++;
	}

	return false;
}
//====================================================================================================
//====================================================================================================
function validateDropReservation(CustomerID, CustomerName)
{
	if (confirm("Êtes-vous certain de vouloir supprimer la Réservation de : "+CustomerName+" ? \n\n2 Choix de suppression:\n\n\t1- Il n'y a plus de disponibilité pour les dates demandées.\n\t2- Le client ne passe pas l'authorisation de Carte de Crédit\n\nFaite un choix. (Cliquez sur OK pour continuer)"))
	{
		if (confirm("1- Est-ce qu'il n'y a plus de disponibilité pour le Client ("+CustomerName+") ? \n\n(Cliquez Cancel pour passer à l'option 2)"))
		{
			//alert("1- La Réservation de : "+ CustomerName +" (Pour ID:"+CustomerID+" serait supprimée !)");
    		location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqValidateReservation&thisAction=DELETERESERVATIONNOAVAILABILITY&thisCustomerID="+CustomerID);
		} else {
    		if (confirm("2- Est-ce que le Client ("+CustomerName+") ne passe pas l'authorisation de Carte de Crédit ? "))
    		{
    			//alert("2- La Réservation de : "+ CustomerName +" (Pour ID:"+CustomerID+" serait supprimée !)");
        		location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqValidateReservation&thisAction=DELETERESERVATIONCC&thisCustomerID="+CustomerID);
    		}
        }
	}
}
//====================================================================================================
//====================================================================================================
function validateDropInvoice(InvoiceFileName, InvoiceNumber, CustomerName)
{
	if (confirm("Êtes-vous certain de vouloir supprimer la Facture Numéro: \" "+InvoiceNumber+" \" de "+ CustomerName +" ?"))
	{
		if (confirm("Êtes-vous ABSOLUMENT certain de vouloir supprimer la Facture Numéro: \" "+InvoiceNumber+" \" ?"))
		{
			//alert("La Facture Num.: "+InvoiceNumber+" de "+ CustomerName +" serait supprimée !)");
    		location.replace("../Script/DMAdminLogin.php?thisMenu=reqInvoicesList&thisMenu=reqInvoicesList&thisAction=DELETEINVOICE&thisInvoiceFileName="+InvoiceFileName);
		}
	}
}
//====================================================================================================
//====================================================================================================
function validateDropAppReservation(CustomerID, CustomerName)
{
	if (confirm("Êtes-vous certain de vouloir supprimer la Réservation de : "+CustomerName+" ? "))
	{
		if (confirm("Êtes-vous VRAIMENT certain de vouloir supprimer la Réservation de : "+CustomerName+" ? "))
		{
			//alert("La Réservation de : "+ CustomerName +" (Pour ID:"+CustomerID+" serait supprimée !)");
    		location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqUpComingReservation&thisAction=DELETEAPPROVEDRESERVATION&thisCustomerID="+CustomerID);
			//../Admin/PBAdmin.php?thisMenuOption=PBAddPicture&ProductID=$ProductID
		}
	}
}

//====================================================================================================
//====================================================================================================
function validateSaveReservation(CustomerID, CustomerName)
{
	if (confirm("Êtes-vous certain de vouloir valider la Réservation de : "+CustomerName+" ? "))
	{
		//alert("La Réservation de : "+ CustomerName +" (Pour ID:"+CustomerID+" serait validée !)");
		location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqValidateReservation&thisAction=VALIDATERESERVATION&thisCustomerID="+CustomerID);
		//../Admin/PBAdmin.php?thisMenuOption=PBAddPicture&ProductID=$ProductID
	}
}
//====================================================================================================
//====================================================================================================
function validateDropTestimonial(TestimonialID, CustomerName)
{
	if (confirm("Êtes-vous certain de vouloir supprimer le Témoignage de : "+CustomerName+" ? "))
	{
		if (confirm("Êtes-vous VRAIMENT certain de vouloir supprimer le Témoignage de : "+CustomerName+" ? "))
		{
			//alert("Le Témoignage de : "+ CustomerName +" (Pour ID:"+TestimonialID+" serait supprimée !)");
    		location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqValidateTestimonial&thisAction=DELETETESTIMONIAL&thisTestimonialID="+TestimonialID);
		}
	}
}

//====================================================================================================
//====================================================================================================
function validateSaveTestimonial(TestimonialID, CustomerName)
{
	if (confirm("Êtes-vous certain de vouloir valider le Témoignage de : "+CustomerName+" ? "))
	{
		//alert("La Réservation de : "+ CustomerName +" (Pour ID:"+CustomerID+" serait validée !)");
		location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqValidateTestimonial&thisAction=VALIDATETESTIMONIAL&thisTestimonialID="+TestimonialID);
		//../Admin/PBAdmin.php?thisMenuOption=PBAddPicture&ProductID=$ProductID
	}
}
//====================================================================================================
//====================================================================================================
function validateDropPicture(PictureName, PictureFolder, PictureFolderName)
{
	if (confirm("Êtes-vous certain de vouloir supprimer la photo de la Catégorie \" "+ PictureFolderName +" \" ? "))
	{
		if (confirm("Êtes-vous VRAIMENT certain de vouloir supprimer la photo de la Catégorie \" "+ PictureFolderName +" \" ? "))
		{
			//alert("La photo (Nom:"+PictureName+" dans le répertoire:"+PictureFolder+") serait supprimée !");
            location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqDeletePictures&thisAction=DELETEPICTURE&thisPictureName="+PictureName+"&thisPictureFolder="+PictureFolder);
		}
	}
}
//====================================================================================================
//====================================================================================================
function validateDropCategory(CategoryName, CategoryLinkID)
{
	if (confirm("Êtes-vous certain de vouloir supprimer la catégorie \""+CategoryName+"\" avec toutes ses Activitées ? "))
	{
		if (confirm("Êtes-vous VRAIMENT certain de vouloir supprimer la catégorie \""+CategoryName+"\" avec toutes ses Activitées ? "))
		{
			//alert("La catégorie (Nom:"+CategoryName+" ID:"+CategoryLinkID+") serait supprimée !");
            location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqDeleteCategory&thisAction=DELETECATEGORY&thisCategoryLinkID="+CategoryLinkID);
		}
	}
}
//====================================================================================================
//====================================================================================================
function validateDropActivity(ActivityName, ActivityUniqueID, CategoryLinkID)
{
	if (confirm("Êtes-vous certain de vouloir supprimer l'activitée \""+ActivityName+"\" ? "))
	{
		if (confirm("Êtes-vous VRAIMENT certain de vouloir supprimer l'activitée \""+ActivityName+"\" ? "))
		{
			//alert("L'activitée (Nom:"+ActivityName+" ActivityUniqueID:"+ActivityUniqueID+" CategoryID:"+CategoryLinkID+") serait supprimée !");
            location.replace("../Script/DMAdminLogin.php?thisLang=Fr&thisMenu=reqDeleteActivityWithCatLinkID&thisAction=DELETEACTIVITY&thisActivityUniqueID="+ActivityUniqueID+"&thisCatLinkID="+CategoryLinkID);
		}
	}
}

//====================================================================================================
// 14- Fonction pour valider un Email
//====================================================================================================
function ValidEmail(valueEmail)
{
	stringEmail = new String(valueEmail);
	EmailError=0;
	//validMail=/^[a-zA-Z0-9]+[a-zA-Z0-9\.-_]+@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	validMail=/(^[\-_\.a-zA-Z0-9]+)@((([0-9]{1,3}\.){3}([0-9]{1,3})((:[0-9])*))|(([a-zA-Z0-9\-]+)(\.[a-zA-Z]{2,})+(\.[a-zA-Z]{2})?((:[0-9])*)))/;

	stringEmail=stringEmail.replace(" ", "");
	testValid=validMail.test(stringEmail);
	if (!testValid) {
		return EmailError++;
	}
}


//====================================================================================================
// Encryptage du Password.
//====================================================================================================
//	pwdClear est le champ contenant la donnée à crypter.
//	pwdCrypted est le champ receptacle de la donnée encrypté, généralement un champ caché.
//----------------------------------------------------------------------------------------------------
function encryptPwd( pwdClear, pwdCrypted ) 
{
    if( pwdClear.value ) {
		
		pwdClearNoBlanks = pwdClear.value.replace(/ /gi, "");
		pwdClear.value = "";
		pwdCrypted.value = calcMD5( pwdClearNoBlanks );
	}
}

var sHex = "0123456789abcdef";
function hex(i){
	h = "";
	for(j = 0; j <= 3; j++)
	h += sHex.charAt((i>>(j*8+4))&0x0F)+sHex.charAt((i>>(j*8))&0x0F);
	return h;
}
function add(x, y){
	return ((x&0x7FFFFFFF) + (y&0x7FFFFFFF)) ^ (x&0x80000000) ^ (y&0x80000000);
}
function R1(A, B, C, D, X, S, T){
	q = add(add(A, (B & C) | ((~B) & D)), add(X, T));
	return add((q << S) | (q >>> (32 - S)), B);
}
function R2(A, B, C, D, X, S, T){
	q = add(add(A, (B & D) | (C & (~D))), add(X, T));
	return add((q << S) | (q >>> (32 - S)), B);
}
function R3(A, B, C, D, X, S, T){
	q = add(add(A, B ^ C ^ D), add(X, T));
	return add((q << S) | (q >>> (32 - S)), B);
}
function R4(A, B, C, D, X, S, T){
	q = add(add(A, C ^ (B | (~D))), add(X, T));
	return add((q << S) | (q >>> (32 - S)), B);
}

function calcMD5(sInp) {
	wLen = (((sInp.length + 8) >> 6) + 1) << 4;
	var X = new Array(wLen);
	j = 4;
	for (i = 0; (i * 4) < sInp.length; i++) {
  		X[i] = 0;
  		for (j = 0; (j < 4) && ((j + i * 4) < sInp.length); j++) {
      		X[i] += sInp.charCodeAt(j + i * 4) << (j * 8);
    	}
  	}
	if (j == 4) X[i++] = 0x80;
	else X[i - 1] += 0x80 << (j * 8);
	for(; i < wLen; i++) { X[i] = 0; }
	X[wLen - 2] = sInp.length * 8;
	a = 0x67452301; b = 0xefcdab89; c = 0x98badcfe; d = 0x10325476;

for (i=0; i<wLen; i+=16) {
	aO=a; bO=b; cO=c; dO=d;
	a=R1(a,b,c,d,X[i+ 0],7 ,0xd76aa478);
	d=R1(d,a,b,c,X[i+ 1],12,0xe8c7b756);
	c=R1(c,d,a,b,X[i+ 2],17,0x242070db);
	b=R1(b,c,d,a,X[i+ 3],22,0xc1bdceee);
	a=R1(a,b,c,d,X[i+ 4],7 ,0xf57c0faf);
	d=R1(d,a,b,c,X[i+ 5],12,0x4787c62a);
	c=R1(c,d,a,b,X[i+ 6],17,0xa8304613);
	b=R1(b,c,d,a,X[i+ 7],22,0xfd469501);
	a=R1(a,b,c,d,X[i+ 8],7 ,0x698098d8);
	d=R1(d,a,b,c,X[i+ 9],12,0x8b44f7af);
	c=R1(c,d,a,b,X[i+10],17,0xffff5bb1);
	b=R1(b,c,d,a,X[i+11],22,0x895cd7be);
	a=R1(a,b,c,d,X[i+12],7 ,0x6b901122);
	d=R1(d,a,b,c,X[i+13],12,0xfd987193);
	c=R1(c,d,a,b,X[i+14],17,0xa679438e);
	b=R1(b,c,d,a,X[i+15],22,0x49b40821);
	
	a=R2(a,b,c,d,X[i+ 1],5 ,0xf61e2562);
	d=R2(d,a,b,c,X[i+ 6],9 ,0xc040b340);
	c=R2(c,d,a,b,X[i+11],14,0x265e5a51);
	b=R2(b,c,d,a,X[i+ 0],20,0xe9b6c7aa);
	a=R2(a,b,c,d,X[i+ 5],5 ,0xd62f105d);
	d=R2(d,a,b,c,X[i+10],9 , 0x2441453);
	c=R2(c,d,a,b,X[i+15],14,0xd8a1e681);
	b=R2(b,c,d,a,X[i+ 4],20,0xe7d3fbc8);
	a=R2(a,b,c,d,X[i+ 9],5 ,0x21e1cde6);
	d=R2(d,a,b,c,X[i+14],9 ,0xc33707d6);
	c=R2(c,d,a,b,X[i+ 3],14,0xf4d50d87);
	b=R2(b,c,d,a,X[i+ 8],20,0x455a14ed);
	a=R2(a,b,c,d,X[i+13],5 ,0xa9e3e905);
	d=R2(d,a,b,c,X[i+ 2],9 ,0xfcefa3f8);
	c=R2(c,d,a,b,X[i+ 7],14,0x676f02d9);
	b=R2(b,c,d,a,X[i+12],20,0x8d2a4c8a);
	
	a=R3(a,b,c,d,X[i+ 5],4 ,0xfffa3942);
	d=R3(d,a,b,c,X[i+ 8],11,0x8771f681);
	c=R3(c,d,a,b,X[i+11],16,0x6d9d6122);
	b=R3(b,c,d,a,X[i+14],23,0xfde5380c);
	a=R3(a,b,c,d,X[i+ 1],4 ,0xa4beea44);
	d=R3(d,a,b,c,X[i+ 4],11,0x4bdecfa9);
	c=R3(c,d,a,b,X[i+ 7],16,0xf6bb4b60);
	b=R3(b,c,d,a,X[i+10],23,0xbebfbc70);
	a=R3(a,b,c,d,X[i+13],4 ,0x289b7ec6);
	d=R3(d,a,b,c,X[i+ 0],11,0xeaa127fa);
	c=R3(c,d,a,b,X[i+ 3],16,0xd4ef3085);
	b=R3(b,c,d,a,X[i+ 6],23, 0x4881d05);
	a=R3(a,b,c,d,X[i+ 9],4 ,0xd9d4d039);
	d=R3(d,a,b,c,X[i+12],11,0xe6db99e5);
	c=R3(c,d,a,b,X[i+15],16,0x1fa27cf8);
	b=R3(b,c,d,a,X[i+ 2],23,0xc4ac5665);
	
	a=R4(a,b,c,d,X[i+ 0],6 ,0xf4292244);
	d=R4(d,a,b,c,X[i+ 7],10,0x432aff97);
	c=R4(c,d,a,b,X[i+14],15,0xab9423a7);
	b=R4(b,c,d,a,X[i+ 5],21,0xfc93a039);
	a=R4(a,b,c,d,X[i+12],6 ,0x655b59c3);
	d=R4(d,a,b,c,X[i+ 3],10,0x8f0ccc92);
	c=R4(c,d,a,b,X[i+10],15,0xffeff47d);
	b=R4(b,c,d,a,X[i+ 1],21,0x85845dd1);
	a=R4(a,b,c,d,X[i+ 8],6 ,0x6fa87e4f);
	d=R4(d,a,b,c,X[i+15],10,0xfe2ce6e0);
	c=R4(c,d,a,b,X[i+ 6],15,0xa3014314);
	b=R4(b,c,d,a,X[i+13],21,0x4e0811a1);
	a=R4(a,b,c,d,X[i+ 4],6 ,0xf7537e82);
	d=R4(d,a,b,c,X[i+11],10,0xbd3af235);
	c=R4(c,d,a,b,X[i+ 2],15,0x2ad7d2bb);
	b=R4(b,c,d,a,X[i+ 9],21,0xeb86d391);
	
	a=add(a,aO); b=add(b,bO); c=add(c,cO); d=add(d,dO);
}
return hex(a)+hex(b)+hex(c)+hex(d);
}

//====================================================================================================
// 99- Section qui protege le site des Right Click et les Right Click sur les photos...
//====================================================================================================
/*****************************************************************************************************************/
var message="Sorry, this function is unavailable.";
//var clickmessage="Sorry, this function is unavailable."
var clickmessage="If you wish to get a Picture or an Image, Please send an email request to info@domainemontebello.com \nor use the \"Contact Us\" page.\nThank You !\n\nSi vous désirez avoir une Image ou bien une Photo, s.v.p. envoyer un courriel à info@domainemontebello.com \nou par la page \"Contactez Nous\"\nMerci !";
///////////////////////////////////
/*	function doPic(imgName) {
		imgOn = ("" + imgName);
		document.mainpic.src = imgOn;
 	}

	function imgSwap (imgName,swapSrc){
		document[imgName].src=swapSrc
	}

	function clickIE() {
		if (document.all) {
			(message);return false;
		}
	}
	
	function clickNS(e) {
		if (document.layers||(document.getElementById&&!document.all)) {
			if (e.which==2||e.which==3) {(message);return false;
			}
		}
	}

	if (document.layers) {
		document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;
	}
	else {
		document.onmouseup=clickNS;document.oncontextmenu=clickIE;
	}

	document.oncontextmenu=new Function("return false")

	function disableclick(e) {
		if (document.all) {
			if (event.button==2||event.button==3) {
				if (event.srcElement.tagName=="IMG"){
					alert(clickmessage);
					return false;
				}
			}
		}
		else if (document.layers) {
			if (e.which == 3) {
				alert(clickmessage);
				return false;
			}
		}
		else if (document.getElementById){
			if (e.which==3&&e.target.tagName=="IMG"){
				alert(clickmessage)
				return false
			}
		}
	}
	
	function associateimages(){
		for(i=0;i<document.images.length;i++) {
			document.images[i].onmousedown=disableclick;
		}
	}
	if (document.all)
		document.onmousedown=disableclick
	else if (document.getElementById)
		document.onmouseup=disableclick
	else if (document.layers)
		associateimages()
/*****************************************************************************************************************/
//====================================================================================================
//====================================================================================================
