function killErrors() {
	return true;
}
//window.onerror=killErrors;

function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}
var bsw=lib_bwcheck()

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {
	  if ((appName=="Netscape")&&(parseInt(appVersion)>=4)) {
	    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage;
	 }
	}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

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 MM_openBrWindow(theURL,winName,features) { 
  window.open(theURL,winName,features);
}

function Impression(){
  window.print();
//  setTimeout('window.close()',2000);
}
 
function rec(list) {
	self.location.href = list.options[list.selectedIndex].value
}
function redirect(dest) {
	self.location.href = dest
}

// Anti-spam
function emailProtect(adresse, dns, txt, classe, style){
	var name = adresse ;
	var domain = dns ;
	//var subject = "subject=Anti spam" ;
	//document.write('<a href=\"mailto:' + name + '@' + domain + ' ?' + subject + '\">') ;
	document.write('<a href=\"mailto:' + name + '@' + domain + '\"') ;
	if(classe != ""){
		document.write(' class=\"' + classe + '\"') ;
	}
	if(style != ""){
		document.write(' style=\"' + style + '\"') ;
	}
	document.write('>') ;
	if(txt != ""){
		document.write(txt + '</a>') ;
	}
	else{
		document.write(name + '@' + domain + '</a>') ;
	}
}

//Controle d'adresse email
function EmailCheck(EmailSaisi)
{
	var str = EmailSaisi
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(@\-)/; // not valid
	var reg2 = /^[a-zA-Z0-9\-\._!#\$%&\*\+=\^\{\}~]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	
	if (!reg1.test(str) && reg2.test(str))
	{ 
		return true;
	}
	return false;
}

function CheckForm(NomForm, langue)
{
	if(langue=="fr"){
		if (document.forms[NomForm].nom.value.length<2 || document.forms[NomForm].nom.value.indexOf("Prénom") > -1) // Control du champ Nom
		{
			alert ("Merci d'entrez votre nom et votre prénom.");
		}
		else if (!(EmailCheck(document.forms[NomForm].email.value)) || document.forms[NomForm].email.value == "mon.nom@monsite.com") // Control du champ Email
		{
			alert ("Merci d'entrez un E-mail valide.");
		}
		else
		{
			document.forms[NomForm].submit();
		}
	}
	else{
		if (document.forms[NomForm].nom.value.length<2 || document.forms[NomForm].nom.value.indexOf("Firstname") > -1) // Control du champ Nom
		{
			alert ("Please insert your surname and first name.");
		}
		else if (!(EmailCheck(document.forms[NomForm].email.value))) // Control du champ Email
		{
			alert ("Please insert a valid e-mail address.");
		}
		else
		{
			document.forms[NomForm].submit();
		}
	}
}

// FAVORIS
var bookmarkurl="http://www.o12-cannes.com"
var bookmarktitle="O'Douze - Appartements de Saisons"
function AjouterFavoris(language)
{
	if (document.all)
	{
		window.external.AddFavorite(bookmarkurl,bookmarktitle);
	}
	else
	{
		if(language=="fr") alert ("Cette action ne peut pas être automatisée sur votre navigateur,\nveuillez la réaliser manuellement.");
		else alert ("Your browser does not support this function,\nplease make it manually.");
	}
}

// Gestion des calques
function verifyCompatibleBrowser(){ 
    this.ver=navigator.appVersion 
    this.dom=document.getElementById?1:0 
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
    this.ie4=(document.all && !this.dom)?1:0; 
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
 
    this.ns4=(document.layers && !this.dom)?1:0; 
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) 
    return this 
} 
bw = new verifyCompatibleBrowser();

function showHide(div,nest){
	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 
	if(obj.visibility=='visible' || obj.visibility=='show'){
		obj.visibility='hidden';
		obj.display='none';
	}
	else{
		obj.visibility='visible';
		obj.display='block';
	}
}
//Shows the div
function show(div,nest){
	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 
	obj.visibility='visible';
	obj.display='block';
}
//Hides the div
function hide(div,nest){
	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 
	obj.visibility='hidden';
	obj.display='none';
}

function setVariables()
{
	if (navigator.appName == "Netscape")
	{
		v=".top=";
		dS="document.";
		sD="";
		y="window.pageYOffset";
	}
	else
	{
		v=".pixelTop=";
		dS="";
		sD=".style";
		y="document.body.scrollTop";
	}
}

function scrollMenu(debut, fin, idMenu, idClose, i){
	nbIterations = 10;
	
	div = document.getElementById(idMenu);
	div.style.visibility = "visible";
	div.style.display = "block";
	
	divClose = document.getElementById(idClose);
	divClose.style.visibility = "hidden";
	divClose.style.display = "none";
	
	if (i == null)
		i = 1;
	if (i == nbIterations){
		if(debut < fin){
			div.style.visibility = "hidden";
			div.style.display = "none";
			
			divClose.style.visibility = "visible";
			divClose.style.display = "block";
		}
		
		return true;
	}
	else
	{
		position = debut + (((fin - debut) / nbIterations) * i);
		div.style.top = (Math.round(position)) + "px";
		setTimeout("scrollMenu(" + debut + ", " + fin + ", '" + idMenu + "', '" + idClose + "', " + (i + 1) + ")", 50);	
	}
}

function scrollSousMenu(debut, fin, idMenu, idClose, i){
	nbIterations = 10;
	
	divOpen = document.getElementById(idMenu);
	divOpen.style.visibility = "visible";
	divOpen.style.display = "block";
	
	divClose = document.getElementById(idClose);
	divClose.style.visibility = "hidden";
	divClose.style.display = "none";
	
	if (i == null)
		i = 1;
	if (i == nbIterations){
		if(debut < fin){
			divOpen.style.visibility = "hidden";
			divOpen.style.display = "none";
			
			divClose.style.visibility = "visible";
			divClose.style.display = "block";
		}
		
		return true;
	}
	else
	{
		position = debut - (((fin + debut) / nbIterations) * i);
		divOpen.style.top = (Math.round(position)) + "px";
		setTimeout("scrollMenu(" + debut + ", " + fin + ", '" + idMenu + "', '" + idClose + "', " + (i + 1) + ")", 50);
	}
	//alert(debut + ' ' + (fin + debut)  + ' ' + Math.round(position));
}

function showDiv(calque){
	nbCalque = 5;
	
	for(var i = 1; i <= nbCalque; i++)
	{
		// bouton titres
		bouton = "d" + i;
		obj = bw.dom?document.getElementById(bouton):bw.ie4?document.all[bouton]:bw.ns4?nest?document[nest].document[bouton]:document[bouton]:0;
		// span titres
		elem = "b" + i;
		obj1 = bw.dom?document.getElementById(elem):bw.ie4?document.all[elem]:bw.ns4?nest?document[nest].document[elem]:document[elem]:0;
		// div textes
		div = "txt" + i;
		obj2 = bw.dom?document.getElementById(div):bw.ie4?document.all[div]:bw.ns4?nest?document[nest].document[div]:document[div]:0;
		if(i == calque){
			obj.className = "boutonVisite";
			obj1.className = "titre";
			//obj1.class = "titre";
			obj2.className = "textesVisite";
			//obj2.class = "textesVisite";
		}
		else{
			obj.className = "boutonVisiteOff";
			obj1.className = "titreOff";
			obj2.className = "textesVisiteOff";
		}
	}
}

function showFlash(calque, numRub, langue){
	// calque correspond en fait à l'ordre des apparts en bdd
	// numRub n'est pas utilisé pour l'instant
	nbCalque = 6;
	
	for(var i = 1; i <= nbCalque; i++)
	{
		// bouton titres
		bouton = "flash" + i;
		obj = bw.dom?document.getElementById(bouton):bw.ie4?document.all[bouton]:bw.ns4?nest?document[nest].document[bouton]:document[bouton]:0;
		// flash
		anim = "amb" + i;
		obj2 = bw.dom?document.getElementById(anim):bw.ie4?document.all[anim]:bw.ns4?nest?document[nest].document[anim]:document[anim]:0;
		// liste
		list = "visio";
		obj3 = bw.dom?document.getElementById(list):bw.ie4?document.all[list]:bw.ns4?nest?document[nest].document[list]:document[list]:0;
		if(i == calque){
			obj.className = "boutonFlashOn";
			obj2.style.display = "block";
			obj3.selectedIndex = i-1;
			//var pageSrc1 = "flashes.asp?langue=" + langue + "&pos=left&rubId=" + calque;
			var pageSrc2 = "flashes.asp?langue=" + langue + "&numRub=" + numRub + "&rubId=" + calque;
			// rafraichir les flashes
			//getPage(pageSrc1, "flash", false);
			getPage(pageSrc2, "visit_photos", false);
		}
		else{
			obj.className = "boutonFlashOff";
			obj2.style.display = "none";
		}
	}
}

// Ajax connection
function createXHR() {
	var xhr; 
	try {
		xhr = new ActiveXObject('Msxml2.XMLHTTP');
	}
	catch (e) {
		try {
			xhr = new ActiveXObject('Microsoft.XMLHTTP');
		}
		catch (e2) {
			try {
				xhr = new XMLHttpRequest();
			}
			catch (e3) {
				xhr = false;
			}
		}
	}
	return xhr;
}

/**
Searches for body, extracts and return the content
New version contributed by users
*/
function getBody(content)
{
	//content = content.toLowerCase();    // to eliminate case sensitivity
	var x = content.indexOf("<body");
	if(x == -1) return "";
	
	x = content.indexOf(">", x);
	if(x == -1) return "";
	
	var y = content.lastIndexOf("</body>");
	if(y == -1) y = content.lastIndexOf("</html>");
	if(y == -1) y = content.length;    // If no html then just grab everything till end
	
	var z = content.slice(x + 1, y);   //make sure we grab the original content
	return z;
}

function getPage(getPage, storage, toEval)
{
	var AjaxCaching = false;
	var page = getPage;
	if(!page)
		page = 'promo.asp';
	//alert(page);
	/*if(!storage)
		storage = 'actus';*/
	var xhr = createXHR();
	
	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200){
				//content = getBody(xhr.responseText);
				if(toEval == true)
					content = eval(getBody(xhr.responseText));
				else
					content = getBody(xhr.responseText);
				
				document.getElementById(storage).innerHTML=content;
				//alert(getBody(xhr.responseText));
			}
			else
			{
				//content = "Error code: " + xhr.status;
				document.getElementById(storage).innerHTML="Error code: " + xhr.status;
			}
		}
		/*else
		{
			// chargement
		}*/
	}
		
	if(AjaxCaching == false)
	{
		if(page.indexOf("?")>-1)
			page = page + "&nocache=" + Math.random();
		else
			page = page + "?nocache=" + Math.random();
	}
	xhr.open("GET", page,  true);
	xhr.send(null);
	/*
	xhr.open("POST", page, true);		
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send(data);
	*/
}

function refreshList(selectMonth, storage, langue)
{
	var pageSrc = "weeks_listing.asp?langue=" + langue + "&selectMonth=" + selectMonth;
	// rafraichir la liste
	getPage(pageSrc, storage, true);
}

function refreshAppart(selectEvent, selectAppart, storage, langue)
{
	var pageSrc = "apparts_listing.asp?langue=" + langue + "&selectWeek=" + selectEvent + "&selectAppart=" + selectAppart;
	// rafraichir la liste
	getPage(pageSrc, storage, false);
}

function bookAppart(selectAppart)
{
	document.getElementById('idAppart').value = selectAppart;
	document.forms['reservation'].submit();
}

function addResa()
{
	document.getElementById('etape').value = 2;
	document.forms['reservation'].submit();
}

function updateResaPeople(idAppart, nbrCouchage, idTotalPeople, idTotal, prix, coef)
{
	prixAppart = parseInt(document.getElementById('tarifAppart_'+idAppart).value);
	prixPeople = parseInt(prix);
	totalPeople = parseInt(document.getElementById(idTotalPeople).innerHTML);
	total1 = parseInt(document.getElementById(idTotal).innerHTML);
	total2 = parseInt(document.getElementById('totalResa').innerHTML);
	coef = parseInt(coef);
	nbrCouchage = parseInt(nbrCouchage);
	
	//alert("TEST 1 : " + coef + " " + nbrCouchage + " " + prixPeople);
		
	if(coef > nbrCouchage)
	{
		//alert("TEST 2 : " + coef + " " + nbrCouchage + " " + prixPeople);
		if(total1 > prixAppart)
		{
			total1 = total1 - totalPeople;
			total2 = total2 - totalPeople;
		}

		document.getElementById(idTotalPeople).innerHTML = prixPeople * (coef - nbrCouchage);
		total1 = total1 + prixPeople * (coef - nbrCouchage);
		total2 = total2 + prixPeople * (coef - nbrCouchage);
	}
	else
	{
		//alert("TEST 3 : " + coef + " " + nbrCouchage + " " + prixPeople);
		if(total1 > prixAppart)
		{
			total1 = total1 - totalPeople;
			total2 = total2 - totalPeople;
			document.getElementById(idTotalPeople).innerHTML = 0;
		}
	}
	
	document.getElementById(idTotal).innerHTML = total1;
	document.getElementById('totalResa').innerHTML = total2;
}

function updateResaServ(idAppart, idCheckBox, idTotalServ, idTotal, prix, coef)
{
	prixAppart = parseInt(document.getElementById('tarifAppart_'+idAppart).value);
	prixService = parseInt(prix);
	totalService = parseInt(document.getElementById(idTotalServ).innerHTML);
	total1 = parseInt(document.getElementById(idTotal).innerHTML);
	total2 = parseInt(document.getElementById('totalResa').innerHTML);
	
	if(document.getElementById(idCheckBox).checked == true)
	{
		if(total1 > prixAppart)
		{
			total1 = total1 - totalService;
			total2 = total2 - totalService;
		}

		document.getElementById(idTotalServ).innerHTML = prixService * coef;
		total1 = total1 + prixService * coef;
		total2 = total2 + prixService * coef;
	}
	else
	{
		if(total1 > prixAppart)
		{
			total1 = total1 - totalService;
			total2 = total2 - totalService;
			document.getElementById(idTotalServ).innerHTML = 0;
		}
	}
	
	document.getElementById(idTotal).innerHTML = total1;
	document.getElementById('totalResa').innerHTML = total2;
}

function validateResa(langue)
{
	if(document.getElementById('cgv').checked == true)
	{
		document.getElementById('etape').value = 4;
		document.forms['reservation'].submit();
	}
	else
	{
		if(langue == "fr")
			alert("Vous devez accepter les conditions générales de vente.");
		else
			alert("You have to accept the booking terms.");
	}
}
