// misc.js

var defautStatusStr = "Bienvenue sur http://www.aucomptoirdesvacances.com, le site des locations vacances et locations saisonnières.";

/*function test()
{
	
	alert("test");
}*/

//***
//pour désactiver le double clic de IE
//***
function insertFlash(classid,str_src,dir_php,SHARED_DIR_PHP,sid,lgkey,int_h,int_w,pluginspage,type,codebase)//fswf,classId,codeBase,pluginsPage
{
   //var codeSwf =
//  document.write(classid);
   	document.write("<object classid="+classid+" codebase='"+codebase+"' height="+int_h+" width="+int_w+">");
	document.write("<param name='movie' value='../images/map/"+str_src+".swf?"+dir_php+"="+SHARED_DIR_PHP+"&sid="+sid+"&lgkey"+lgkey+"'>");
	document.write("<param name='quality' value='high'>");
	document.write("<PARAM NAME='wmode' VALUE='transparent'>");
	document.write("<embed ../images/map/src="+str_src+".swf height="+int_h+" width="+int_w+" quality='high' pluginspage="+pluginspage+" type="+type+" wmode='transparent'>");
	document.write("</embed>");
	document.write("</object>");
  // document.write(codeSwf);
   
 /*  document.write('<object type="application/x-shockwave-flash ');
   document.write('data="../images/map/france.swf?dir_php=php&sid=3a1e6244c72ca2414e2620fadfd102a7&lgkey=uk" ');
  // document.write('width="400" height="300">');
   document.write('	<param name="movie" value="../images/map/france.swf?dir_php=php&sid=3a1e6244c72ca2414e2620fadfd102a7&lgkey=uk" />');
   document.write('	<img src="noflash.gif" width="200" height="100" alt="Texte alternatif" />');
   document.write('	<img src="noflash.gif" width="200" height="100" alt="Texte alternatif" />');
   document.write('</object>');*/
}


/*
======
initWindow
======
*/
function initWindow(windowObj)
{
	var x = windowObj.screen.availWidth;
	var y = windowObj.screen.availHeight;
	windowObj.moveTo(0, 0);
	windowObj.resizeTo(x, y);
	windowObj.defaultStatus = defautStatusStr;
	return;
}

/*
======
setWindow
======
*/
function dimWindow(windowObj, w, h, xpos, ypos)
{
	windowObj.moveTo(xpos, ypos);
	windowObj.resizeTo(w, h);
	return;
}

/*
======
parseString

Coupe une chaîne en segments
Retourne un tableau de chaînes. Ce sont les sous-chaînes, extraites de str, en utilisant le caractère séparateur sep.
Si str ou sep sont vides ("", ''), parseString() retournera false.
Si str ne contient pas le caractère sep, parseString() retournera un tableau, contenant la chaîne str entière.
======
*/
function parseString(str, sep)
{
	var i = 0;
	var n = 0;
	var res = new Array();
	var first = last = 0;

	if (!str || !sep)
		return false;

	while (str.charAt(first) && str.charAt(first) == sep)
		first++;

	if (!str.charAt(first))
		return false;

	for(i = first; str.charAt(i); i++)
	{
		if (str.charAt(i) == sep)
		{
			res[n++] = str.slice(first, i);

			i++;
			while (str.charAt(i) && str.charAt(i) == sep)
				i++;

			first = i;
		}
	}

	if (str.charAt(first) && str.charAt(first) != sep)
		res[n] = str.slice(first);

	return res;
}

/*
======
getConvDate
======
*/
function getConvDate(date, sep)
{
	var arr = date.split(sep);
	return arr[2] + sep + arr[1] + sep + arr[0];
}

/*

======
dateCmp

Renvoie:
null	si parseString échoue
0  		si date1 == date2
-1		si date1 < date2
1		si date1 > date2
======
*/
function dateCmp(date1, date2, sep)	//NB: les dates doivent être au format yyyy/mm/dd
{
	var beg = new Array();
	var end = new Array();

	beg = parseString(date1, sep);
	end = parseString(date2, sep);

	if (!beg || !end)
		return null;


	if (beg[0] < end[0])
		return -1;
	else
	{
		if (beg[0] > end[0])
			return 1;
		else
		{
			if (beg[1] < end[1])
				return -1;
			else
			{
				if (beg[1] > end[1])
					return 1;
				else
				{
					if (beg[2] < end[2])
						return -1;
					else
					{
						if (beg[2] > end[2])
							return 1;
						else
							return 0;
					}
				}
			}
		}
	}
}

/*
======
checkDates

Renvoie
	true si d1 < d2,
	false si d1 >= d2, dateCmp échoue.
======
*/
function checkDates(selectObj1, selectObj2, sep)
{
	if (dateCmp(
			selectObj1.options(selectObj1.selectedIndex).value,
			selectObj2.options(selectObj2.selectedIndex).value,
			sep) == -1
		)
		return true;
	else
		return false;
}

/*
======
checkPrices
======
*/
function checkPrices(selectObj1, selectObj2, errstr1, errstr2)
{
	var i = 0;
	var j = 0;
	var l1 = selectObj1.options.length;
	var l2 = selectObj2.options.length;


	while (!selectObj1.options(i).selected)	i++;	//FIXME: utiliser selectedIndex
	while (!selectObj2.options(j).selected)	j++;

	var p1 = selectObj1.options(i).text;
	var p2 = selectObj2.options(j).text;

	if (!i) return true;
	else
	{
		if (i < l1 - 1)
		{
			if (!j || i < j) return true;
			else alert(errstr1);
		}
		else
		{
			if (!j) return true;
			else alert(errstr2);
		}
	}
	return false;
}

/*
===
onSubmitEvent
===
*/
function onSubmitEvent(
					docObj,
					dateName_b, dateName_e,
					priceName_min,
					priceName_max,
					errDate, errPrice1, errPrice2
				)
{
	//if ( checkDates(docObj.all(dateName_b), docObj.all(dateName_e), '/') )
	//{
		if ( checkPrices(document.all(priceName_min), document.all(priceName_max), errPrice1, errPrice2) )
			return true;
	//}
	//else
		//alert(errDate);

	return false;
}

/*
======
switchSelect
======
*/
function switchSelect(flag, selectObj)
{
	var i = 0;

	for (i = 0; i < selectObj.options.length; i++)
		selectObj.options(i).selected = flag;
	return;
}

/*
======
buildCPStr
======
*/
function buildCPStr(inputObj, selectObj)
{
	var cpStr = "";
	var length = selectObj.options.length;
	var first = -1;
	var i = 0;

	//alert('length= ' + length);


	while (i < length && first == -1)
	{
		if (selectObj.options(i).selected)
			first = i;

		i++;
	}

	//alert("first index= " + first);


	if (first == -1)
	{
		inputObj.value = "";
		return;
	}

	cpStr += selectObj.options(first).id.substr(0, 5);


	for(i = first + 1; i < length; i++)
		if (selectObj.options(i).selected)
		{
			cpStr += "_";
			cpStr += selectObj.options(i).id.substr(0, 5);
		}

	inputObj.value = cpStr;

	return;
}
function test()
{
	//alert(document.);
}
/*
======
submitBasketForm
======
*/
//in pour Input Name, iv pour Input Value
function submitBasketForm(
							formObj,
							in_updtype, iv_updtype,
							in_delstr, iv_delstr,
							in_agkey, iv_agkey,
							in_agname, iv_agname,
							in_agmail, iv_agmail,
							in_mailform, iv_mailform,
							in_idkey, iv_idkey,
							in_reflot, iv_reflot,
							in_type, iv_type,
							in_price, iv_price,
							in_acompte, iv_acompte,
							in_caution, iv_caution,
							dosubmit
							)
{
	document.getElementById(in_updtype).value = iv_updtype;
	document.getElementById(in_delstr).value = iv_delstr;
	document.getElementById(in_agkey).value = iv_agkey;
	document.getElementById(in_agname).value = iv_agname;
	document.getElementById(in_agmail).value = iv_agmail;
	document.getElementById(in_mailform).value = iv_mailform;
	document.getElementById(in_idkey).value = iv_idkey;
	document.getElementById(in_reflot).value = iv_reflot;
	document.getElementById(in_type).value = iv_type;
	document.getElementById(in_price).value = iv_price;
	document.getElementById(in_acompte).value = iv_acompte;
	document.getElementById(in_caution).value = iv_caution;


	if (dosubmit)
	{
		formObj.submit();
		
	}
	//return;
}

/*
======
buildDelStr
======
*/
function buildDelStr(delformObj, formObj)
{
	var first = -1;

	var i = 0;
	var length = delformObj.elements.length;

	while (i < length && first == -1)
	{
		if (delformObj.elements(i).checked)
			first = i;

		i++;
	}

	//alert("first index= " + first);

	if (first == -1)
		return false;


	formObj.elements("delstr").value += delformObj.elements(first).name;

	for (i = first + 1; i < length; i++)
	{
		if (delformObj.elements(i).checked)
			formObj.elements("delstr").value += ("_" + delformObj.elements(i).name);
	}

	//alert(formObj.elements("delstr").value);

	return true;
}

/*
======
showHideCriteria
======
*/
function showHideCriteria(docObj, trName, imgName)
{
	if (docObj.all(trName).style.display == 'none')
	{
		docObj.all(trName).style.display = 'inline';
		docObj.all(imgName).src = '../images/icon_roll.gif';
		docObj.cookie = imgName + '=1';
	}
	else
	{
		docObj.all(trName).style.display = 'none';
		docObj.all(imgName).src = '../images/icon_unroll.gif';
		docObj.cookie = imgName + '=0';;
	}
}

/*
======
setCookie
======
*/
function setCookie(name, arr)
{
	if (!name || !bg_arrLength(arr))
		return;

	var i;
	var s = "";

	for(key in arr)
	{
		i = 0;
		//alert(key);
		if (key == 'enddate')
		{
			key = '';
		}
		else
		{
			while (!document.all(key).options(i).selected) i++;
			s += '/' + key + ':' + document.all(key).options(i).id;
		}
	}
	s = s.substr(1);
	document.cookie = name + '=' + s;
	//alert(document.cookie);
	return;
}

/*
======
setCookieCrit
======
*/
function setCookieCrit(name, arr)
{
	if (!name || !bg_arrLength(arr))
		return;

	var i;
	var s = "";

	for(key in arr)
	{
		i = 0;
		//alert(key);
		if (key == 'enddate')
		{
			key = '';
		}
		else
		{
			while (!document.all(key).options(i).selected) i++;
			s += '/' + key + ':' + 'true';//document.all(key).options(i).id;
		}
	}
	s = s.substr(1);
	document.cookie = name + '=' + s;
	//alert(document.cookie);
	return;
}

/*
======
parseCookie
======
*/
function parseCookie(cook, resArr, mainSep, subSep)
{
	if (cook == '')
			return false;
		else
		{
			var eachCook = cook.split(mainSep);

			var res = eachCook[0].split(subSep);
			if (res.length == 2)
				resArr[res[0]] = res[1];

			for (var i = 1; i < eachCook.length; i++)
			{
				res = eachCook[i].split(subSep);
				if (res.length == 2) resArr[res[0]] = res[1];
				
			}
			return true;
		}
}

/*
======
bg_arrLength
======
*/
function bg_arrLength(arr)
{
	if (typeof(arr) == 'object')

	{
		var i = 0;
		for (value in arr) i++;
		return i;
	}
	return -1;
}

/*
======
bg_printArray
======
*/
function bg_printArray(arr)
{
	var s = "";
	for(key in arr)
		s += 'arr["' + key + '"]=' + arr[key] + '\n';
	alert(s);
	return;
}

/*
======
readCookie
======
*/
function readCookie(name)
{
	if (document.cookie == '')
		return false;
	else
	{
		var firstChar, lastChar;
		var theBigCookie = document.cookie;
		firstChar = theBigCookie.indexOf(name);

		if(firstChar != -1)
		{
			firstChar += name.length + 1;
			lastChar = theBigCookie.indexOf(';', firstChar);
			if(lastChar == -1) lastChar = theBigCookie.length;
			return unescape(theBigCookie.substring(firstChar, lastChar));

		}
		else return false;
	}
}

/*
======
bg_ltrim
======
*/
function bg_ltrim(str)
{
	if (!str)
		return "";
	else
	{
		var first = 0;

		while (str.charAt(first) && str.charAt(first) == ' ')
			first++;

		if (str.charAt(first))
			return str.substr(first);
		else return "";
	}
}

/*
======
checkEMail
======
*/
function checkEMail(emailAddr)
{
	if(emailAddr.search(/^[a-zA-Z0-9_\-\.]{1,}@[a-zA-Z0-9_\-\.]{2,}\.[a-zA-Z]{2,4}$/) == -1)
		return false;
	else
		return true;
}

/*
======
checkMailForm
======
*/
function checkMailForm(formObj, errArr)
{
	/*
	0	: Mr, Mme, ...
	1..6: civilité
	7	: préfixe tél domicile
	8	: tél domicile
	9	: préfixe tél bureau
	10	: tél bureau
	11	: préfixe tél portable
	12	: tél portable
	13	: email
	14	: objet
	15	: commentaires
	*/

	if (formObj.elements(1).value != '')

	{
		if (formObj.elements(2).value != '')
		{
			if (formObj.elements(13).value != '')
			{
				if (checkEMail(formObj.elements(13).value))
					return true;
				else
					alert(errArr[8]);
			}
			else
				alert(errArr[7]);
		}
		else
			alert(errArr[1]);
	}
	else
		alert(errArr[0]);

	return false;
}

/*
======
checkMailForm2 //pour la page avec dates
======
*/
function checkMailForm2(formObj, errArr)
{
	/*formObj.elements:
	0	: Mr, Mme, ...
	1..6: civilité (champ obligatoires)
	7	: date deb
	8	: datefin
	9	: préfixe tél domicile
	10	: tél domicile
	11	: préfixe tél bureau
	12	: tél bureau
	13	: préfixe tél portable
	14	: tél portable
	15	: email (champ obligatoire)
	16	: objet
	17	: commentaires
	*/

	for (var i = 1; i < 3; i++)
	{
		if (formObj.elements(i).value == '')
		{
			alert(errArr[i - 1]);
			return false;
		}
	}

	if (formObj.elements(10).value || formObj.elements(12).value || formObj.elements(14).value)
	{
		if (formObj.elements(15).value)
		{
			if (checkEMail(formObj.elements(15).value))
				return true;
			else alert(errArr[8]);
		}
		else alert(errArr[7]);
	}
	else alert(errArr[6]);
	return false;
}

/*
======
showHideDiv
======
*/
function showHideDiv(divObj)
{
	if (divObj.style.display == 'inline') divObj.style.display = 'none';
	else divObj.style.display = 'inline';
	return;
}

/*
======
setIdSel
======
*/
function setIdSel(formObj, inputName, selectObj)
{
	var i = 0;
	while (!selectObj.options(i).selected) i++;
	formObj.elements(inputName).value = selectObj.options(i).id;
	return;
}

/*
======
setAbleCritcmb
======
*/
function setAbleCritcmb(selectName, fontName, n, state)
{
	
	var i;
	
	

	for (i = 1; i <= n; i++)
	{
		if (i != 3 && i != 4 && i != 6 && i != 7 && i != 9)
			document.all(selectName + i).disabled = state;
	}

	if (state)
	{
		for (i = 1; i <= n; i++)
		{
			if (i != 3 && i != 4 && i != 6 && i != 7 && i != 9)
				document.all(fontName + i).innerText = ' ';
		}
	}
	return;
}

/*
======
getPhotoSize
======
*/
function getPhotoSize(filename)
{
	//NB: si filename n'existe pas, les propriétés width/height sont valent les dimensions de l'image par défaut (petite croix 28x30 sur Internet Explorer)
	var photo = new Image();
	var s = '';
	var i = 0;

	photo.src = filename;

	while ( (!photo.height || !photo.width) && i < 10000)
		i++;

	if (photo.height && photo.width)
		s = photo.height + ';' + photo.width;
	else
		s = '480;640';

	return s;
}

var photo = new Image();
var photoalt = '';
var mousex = 0;
var mousey = 0;

photo.onload = printPhoto;

/*
======
urlencode
======
*/
function urlencode(s)
{
   s = s.replace(/[ ]/g, "+");
   return escape(s);
}


/*
======
printPhoto
======
*/
function printPhoto()
{
	var photox, photoy;

	photox = mousex - photo.width / 2;
	photoy = mousey - photo.height / 2;

	if (photox < 0) photox = 0;
	if (photoy < 0) photoy = 0;

	window.open('onephoto.php?filename='+ urlencode(photo.src) + '&alt=' + photoalt + '&mousex=' + mousex + '&mousey=' + mousey, '', 'fullscreen=0,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,channelmode=0,height=' + photo.height + ',width=' + photo.width + ',top=' + photoy + ',left=' + photox, true);
	return;
}

/*
======
loadPhoto
======
*/
function loadPhoto(filename, alt, x, y)
{
	photoalt = alt;
	mousex = x;
	mousey = y;
	photo.src = filename;	//chargement asynchrone
	return
}

/*
======
dateinbar
======
*/
function dateinbar()
{
	var d = new Date();
	var mon = d.getMonth() + 1;
	var year = d.getFullYear();
	var date = d.getDate();
	var h = d.getHours();
	var m = d.getMinutes();
	var s = d.getSeconds();
	//var ms = d.getMilliseconds();

	if (s < 10) s = '0' + s;
	if (m < 10) m = '0' + m;
	defaultStatus = date + '/' + mon + '/' + year + ', ' + h + 'h ' + m + 'm ' + s + 's ';
	setTimeout('dateinbar()', 100);
}


/*
===
gbook_check
===
*/
function gbook_check(gbook_form, email_name, text_name, err)
{
	if (gbook_form.elements(email_name).value)
	{
		if (checkEMail(gbook_form.elements(email_name).value))
		{
			if (gbook_form.elements(text_name).value)
			{
				if (gbook_form.elements(text_name).value.length <= 500)
					return true;
				else
					alert(err[3]);
			}
			else
				alert(err[2]);
		}
		else
			alert(err[1]);
	}
	else
		alert(err[0]);

	return false;
}

//***
//getCookieInfo --> lit le cookie stocké sur le pc
//***
function getCookieInfo(dataName,nb_delStr)
{
     var cookieLen = dataName.length;
     var cookieData = document.cookie;
     var allcookieLen = cookieData.length;

     var i = 0;
     var cookieEnd;

     while(i < allcookieLen)
     {
          var j = i + cookieLen;
          if (cookieData.substring(i,j) == dataName)
          {
               cookieEnd = cookieData.indexOf(";", j);
               if (cookieEnd == -1)
               {
                    cookieEnd = cookieData.length;
               }
           
			  idObj = new Object;
			  idObj = unescape(cookieData.substring(j+1, cookieEnd));
			  nbOfObj = idObj.substring(nb_delStr,idObj.length);
				
				if(dataName == 'typecmb' || dataName == 'ctypecmb')
				{
					nbOfObj = (nbOfObj/2);
				}
			 
			 return nbOfObj;
         }
         i++;
     }
return "Echec : cookie non cree ?";
}

//***
//getCookieInfo_checkbox
//***
function getCookieInfo_checkbox(dataName)
{
   	 var cookieLen = dataName.length;
     var cookieData = document.cookie;
     var allcookieLen = cookieData.length;

     var i = 0;
     var cookieEnd;

     while(i < allcookieLen)
     {
          var j = i + cookieLen;
          if (cookieData.substring(i,j) == dataName)
          {
               cookieEnd = cookieData.indexOf(";", j);
               if (cookieEnd == -1)
               {
                    cookieEnd = cookieData.length;
               }
			  // alert(cookieData.substring(j+1, cookieEnd))
              return unescape(cookieData.substring(j+1, cookieEnd))
         }
         i++;
     }
return "Echec : cookie non cree ?";
}

//***
//insertCookieInfo --> insert les données du formulaire dans le cookie
//***
function insertCookieInfo(selectObj,selectName,nbOptions)
{
	var expire = new Date();
	var unAn = (expire.getTime() + (365*24*60*60*1000));
	expire.setTime(unAn);
	
	if(selectName == 'typecmb')
	{
		nbOptions = (nbOptions/2);
	}
	
	for(i=0;i<nbOptions;i++)
	{
		
		if(selectObj.options[i].selected)
		{
			//document.cookie = "test1=test2; expires=" + expire.toGMTString();//alert(selectObj.options[i].value);
			document.cookie = selectName+"="+selectObj.options[i].id+"; expires=" + expire.toGMTString();//alert(selectObj.options[i].value);
		}
		
		
	}
}

//***
//insertCookieInfo_checkBox
//***
function insertCookieInfo_checkBox(checkBox,checkboxName)
{
	var expire = new Date();
	var unAn = (expire.getTime() + (365*24*60*60*1000));
	expire.setTime(unAn);
	
	if(checkBox.checked == true)
	{
		document.cookie = checkboxName+"=checked; expires=" + expire.toGMTString();//alert(selectObj.options[i].value);
	}
	else
	{
		document.cookie = checkboxName+"=unchecked; expires=" + expire.toGMTString();//alert(selectObj.options[i].value);
	}
}

//***
//issetCookie
//***
function issetCookie()
{
	var expire = new Date();
	var unAn = (expire.getTime() + (365*24*60*60*1000));
	expire.setTime(unAn);
	
	//on vérifie si le cookies deja, sinon non l'initialise avec les valeurs par défauts
	if(document.cookie.length == 0)
	{
		document.cookie = "typecmb=typecmb_op0; expires=" + expire.toGMTString();
		document.cookie = "begindate=begindate_op0; expires=" + expire.toGMTString();
		document.cookie = "duration=duration_op0; expires=" + expire.toGMTString();
		document.cookie = "minnbedcmb=minnbedcmb_op0; expires=" + expire.toGMTString();
		document.cookie = "minnroomcmb=minnroomcmb_op0; expires=" + expire.toGMTString();
		document.cookie = "minpricecmb=minpricecmb_op0; expires=" + expire.toGMTString();
		document.cookie = "maxpricecmb=maxpricecmb_op0; expires=" + expire.toGMTString();
		document.cookie = "ctypecmb=ctypecmb_op0; expires=" + expire.toGMTString();
		defautCritCmb(); // --> les checkbox
	}
}

//***
//defautCritCmb
//***
function defautCritCmb()
{
		var expire = new Date();
		var unAn = (expire.getTime() + (365*24*60*60*1000));
		expire.setTime(unAn);
		
		document.cookie = "critcmb3=unchecked; expires=" + expire.toGMTString();
		document.cookie = "critcmb4=unchecked; expires=" + expire.toGMTString();
		document.cookie = "critcmb6=unchecked; expires=" + expire.toGMTString();
		document.cookie = "critcmb7=unchecked; expires=" + expire.toGMTString();
		document.cookie = "critcmb9=unchecked; expires=" + expire.toGMTString();
}