var W3CDOM = (document.createElement && document.getElementsByTagName);

document.getElementsByClassName = function(className, container){
	   var data = tags = [];
	   var obj = $("wrapper");
	   var node = aux = null;
//	   var pattern = new RegExp("(^|s)" + className + "(s|$)");
		var strClassName = className.replace(/\-/g, "\\-");
	    var pattern = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		if(container) node = (typeof(container) == "object") ? container : $(container);
		else node = (obj) ? obj : document;
		aux = node.getElementsByTagName("*");
		tags = (document.all) ? node.all : aux;
	   for(var i=0;i<tags.length;i++) { if(pattern.test(tags[i].className)) data.push(tags[i]);}
	   return data;
	}

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == "string") element = document.getElementById(element);
		if (arguments.length == 1) return element;
		elements.push(element);
	}
	return elements;
}


/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/
function XHConn(){
	var xmlhttp, bComplete = false;
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	catch (e) { try { xmlhttp = new XMLHttpRequest(); }
	catch (e) { xmlhttp = false; }}}
	if (!xmlhttp) return null;
	this.connect = function(sURL, sMethod, sVars, fnDone){
		if (!xmlhttp) return false;
		bComplete = false;
		sMethod = sMethod.toUpperCase();

		try {
			if (sMethod == "GET"){
				xmlhttp.open(sMethod, sURL+"?"+sVars, true);
				sVars = "";
			}else{
				xmlhttp.open(sMethod, sURL, true);
				xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
				xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			}
			xmlhttp.onreadystatechange = function(){
			if (xmlhttp.readyState == 4 && !bComplete){
				bComplete = true;
				fnDone(xmlhttp);
			}};
			xmlhttp.send(sVars);
		}
		catch(z) { return false; }
		return true;
	};
	return this;
}



var ajax={
	sendRecommend:function(){
		var NAME = $("r_name").value;
		var EMAIL = $("r_email").value;
		var FRIENDS = $("r_friends").value;
		var COMMENTS = $("r_comments").value;
		var URL = $("r_url").value;

		var PARAMS = "name="+NAME+"&email="+EMAIL+"&friends="+FRIENDS+"&comments="+COMMENTS+"&url="+URL;

		var myConn = new XHConn();
		if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
		var fnWhenDone = function (oXML) {
			if(oXML.responseText=='1'){

				$('r_formSuccess').getElementsByTagName('span')[0].innerHTML = $("r_friends").value.split(',').join(', ');
				$('r_formSuccess').style.display = "block";

					// volvemos a activar el submit
				$('recommend_btn').disabled = false;
					// borramos los campos
				$("r_name").value = "";
				$("r_email").value = "";
				$("r_friends").value = "";
				$("r_comments").value = "";
			}else{
				alert("error /xajax/tipafriend");
			}
		};

		var SITEACC = $("r_lang").value;
		myConn.connect("/"+SITEACC+"/xajax/tipafriend", "POST", PARAMS, fnWhenDone);
	},
	
	sendRecovery:function(){
		var EMAIL = $("recovery_email").value;
		var LANGUAGE = $("recovery_lang").value;
		var PARAMS = "email="+EMAIL+"&language="+LANGUAGE;
		
		var myConn = new XHConn();
		if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
		var fnWhenDone = function (oXML) {
			if(oXML.responseText=='1'){
					// mostramos mensaje de exito
					document.getElementsByClassName("formSuccess", "recovery")[0].style.display = "block";
					// volvemos a activar el submit
				$('recovery_button').disabled = false;
					// borramos los campos
				$("recovery_email").value = "";
			}else{
				alert("error /xajax/recovery");
			}
		};
		
		var SITEACC = $("recovery_lang").value;
		myConn.connect("/"+SITEACC+"/xajax/recovery", "POST", PARAMS, fnWhenDone);
	}
}


var e = {
	addEvent : function(obj, evType, fn, useCapture){
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		}else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}else {
			return false;
		}
	}
}

var actions={
	setEventLanguages:function(){
		var listElement = $("header").getElementsByTagName("ul")[0];
		var linkLanguage = listElement.getElementsByTagName("li")[3].firstChild;
		var listLanguages = $("languages");
		linkLanguage.onclick = function(){
			if(listLanguages.style.display == "none" || listLanguages.style.display == "" )
				listLanguages.style.display = "block";
			else listLanguages.style.display = "none";
			return false;
		}
	}
}

var regularExpressions = {
	esMail:function(c){return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(c)},
	esTelefono:function(c){return /^[0-9\s\+\-)(]+$/.test(c)},
	esCodigoPostal:function(c){return /^[0-9\s\+\-)(]+$/.test(c)}
}

String.prototype.trim = function() { return this.replace(/^[\s]+|[\s]+$/g,'') }
String.prototype.numOfCharacters = function(character) {
	var rep = 0;
	for(var i=0; i<=this.length-1;i++) if(this.charAt(i) == character) rep++;
	return rep;
}

var valida = {
	removeUl:function(wform){
	var obj = document.getElementsByClassName("formErrors", wform)[0];
	var objLegends = $(wform).getElementsByTagName("label");
	obj.style.display ="none";

		for(var i=0; i < obj.childNodes.length; i++){
			if(obj.childNodes[i].tagName=="UL") obj.removeChild (obj.childNodes[i]);
		}

		for(var c=0; c < objLegends.length; c++){
			if(objLegends[c].tagName.toLowerCase().indexOf("label")!=-1)objLegends[c].style.color = "#4D3F1A";
		}
	},<!--removeUl-->

	setErrorBlock:function(txt, campo, form){

		var errorID;
		document.getElementsByClassName("formErrors", form)[0].style.display = "block";

		if (form=="recommend"){
			var obj = document.getElementsByClassName("formErrors", "recommend")[0];
			errorID = "error01";
			$('r_formSuccess').style.display = "none";
		}
		if (form=="bulletin"){
			var obj = document.getElementsByClassName("formErrors", "bulletin")[0];
			errorID = "error02";
		}

		if (form=="modify"){
			var obj = document.getElementsByClassName("formErrors", "modify")[0];
			errorID = "error03";
		}

		if (form=="login"){
			var obj = document.getElementsByClassName("formErrors", "login")[0];
			errorID = "error04";
		}

		if (form=="recovery"){
			var obj = document.getElementsByClassName("formErrors", "recovery")[0];
			errorID = "error05";
		}

		if (form=="resign"){
			var obj = document.getElementsByClassName("formErrors", "resign")[0];
			errorID = "error06";
		}

		if (form=="sendCV"){
			var obj = document.getElementsByClassName("formErrors", "sendCV")[0];
			errorID = "error07";
		}

		if (form=="reservation"){
			var obj = document.getElementsByClassName("formErrors", "reservation")[0];
			errorID = "error08";
		}

		if (form=="reserve"){
			var obj = document.getElementsByClassName("formErrors", "reserve")[0];
			errorID = "error09";
		}

		if (form=="newsletterMod"){
			var obj = document.getElementsByClassName("formErrors", "newsletterMod")[0];
			errorID = "error10";
		}

		if (form=="cancelMod"){
			var obj = document.getElementsByClassName("formErrors", "cancelMod")[0];
			errorID = "error11";
		}

		if (form=="modifyMod"){
			var obj = document.getElementsByClassName("formErrors", "cancelMod")[0];
			errorID = "error12";
		}
		
		if (form=="pressroomRegistration"){
			var obj = document.getElementsByClassName("formErrors", "pressroomRegistration")[0];
			errorID = "error13";
		}

		var errorElement = null;
		var errorUl = null;
		var errorLi = null;
		var createUl = false;

		if(txt!=""){
			errorElement = document.createElement("li");
			errorElement.appendChild(document.createTextNode(txt));
		}

		for(var i=0; i < obj.childNodes.length; i++){
			if(obj.childNodes[i].tagName=="UL") createUl=true;
		}

		if (createUl==false){
			errorUl = document.createElement("ul");
			errorUl.id = errorID;
			obj.appendChild(errorUl);
		}

		createUl = false;

		errorLi = document.getElementById(errorID);
		errorLi.appendChild(errorElement);

		if(campo!=""){
			var obj = $(form).getElementsByTagName("*");
			for(var i=0; i<obj.length; i++) {
				if(obj[i].id == campo) {
					if(obj[i].parentNode.tagName == "LABEL") {
						obj[i].parentNode.style.color = "#BD2E30";
					}
					if(obj[i].parentNode.tagName == "P") {
						var element = obj[i].parentNode.getElementsByTagName("label")[0];
						element.style.color = "#BD2E30";
					}
				}
			}
		}

	},<!--setErrorBlock-->

	recommend:function() {
		var v_form = $("recommend");
		var ok = okMailsAmigo = true;
		var aux = "";

		valida.removeUl("recommend");

		if (v_form.r_name.value == "") {
			valida.setErrorBlock(name_req, "r_name", "recommend");
			ok=false;
		}

		if (v_form.r_email.value == "") {
			valida.setErrorBlock(email_req, "r_email", "recommend");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.r_email.value)) {
				valida.setErrorBlock(email_inv, "r_email", "recommend");
				ok=false;
			}
		}

		if (v_form.r_friends.value=="") {
			valida.setErrorBlock(email02_req, "r_friends", "recommend");
			ok=false;
		}else {
			aux = v_form.r_friends.value.replace(","," ");
			var mailsAmigo = aux.trim().split(" ");
			for(i=0; i < mailsAmigo.length && okMailsAmigo; i++) {
				if(mailsAmigo[i].trim() == "") {
					okMailsAmigo=true;
					continue;
				}
				okMailsAmigo = regularExpressions.esMail(mailsAmigo[i]);
			}
			if(!okMailsAmigo) {
				valida.setErrorBlock(email02_inv, "r_friends", "recommend");
				ok=false;
			}else {
				if(aux.numOfCharacters("@") > 1 && v_form.r_friends.value.numOfCharacters(",") == 0) {
					valida.setErrorBlock(email02_sep, "r_friends", "recommend");
					ok=false;
				}
			}
		}

		// siempre "return false" porque el envío se realiza mediante ajax
		if(ok){
			$('recommend_btn').disabled = true;
			ajax.sendRecommend();
		}
		return false;
	},<!--recommend-->

	bulletin:function() {
		var v_form = $("bulletin");
		var ok = true;

		valida.removeUl("bulletin");

		if (v_form.email.value == "") {
			valida.setErrorBlock(email_req, "email", "bulletin");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.email.value)) {
				valida.setErrorBlock(email_inv, "email", "bulletin");
				ok=false;
			}
		}

		/*if (v_form.name.value == "") {
			valida.setErrorBlock(name_req, "name", "bulletin");
			ok=false;
		}*/

		if (v_form.language.selectedIndex == 0) {
			valida.setErrorBlock(language_sel, "language", "bulletin");
			ok=false;
		}

		/*if (v_form.password.value == "") {
			valida.setErrorBlock(password_req, "password", "bulletin");
			ok=false;
		}

		if (v_form.password02.value == "") {
			valida.setErrorBlock(password_rep, "password02", "bulletin");
			ok=false;
		}else {
			if(v_form.password02.value != v_form.password.value) {
				valida.setErrorBlock(password_dif, "password02", "bulletin");
				ok=false;
			}
		}*/

		if(ok) v_form.submit();
		else return false;
	},<!--bulletin-->

	modify:function() {
		var v_form = $("modify");
		var ok = true;

		valida.removeUl("modify");

		if (v_form.emaila.value == "") {
			valida.setErrorBlock(emaila_req, "emaila", "modify");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.emaila.value)) {
				valida.setErrorBlock(emaila_inv, "emaila", "modify");
				ok=false;
			}
		}

		if (v_form.email.value == "") {
			valida.setErrorBlock(email_req, "email", "modify");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.email.value)) {
				valida.setErrorBlock(email_inv, "email", "modify");
				ok=false;
			}
		}

		if (v_form.language.selectedIndex == 0) {
			valida.setErrorBlock(language_sel, "language", "modify");
			ok=false;
		}

		/*if (v_form.password.value == "") {
			valida.setErrorBlock(password_req, "password", "modify");
			ok=false;
		}*/

		if(ok) v_form.submit();
		else return false;
	},<!--modify-->

	login:function() {
		var v_form = $("login");
		var ok = true;

		valida.removeUl("login");

		if (v_form.l_email.value == "") {
			valida.setErrorBlock(email_req, "l_email", "login");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.l_email.value)) {
				valida.setErrorBlock(email_inv, "l_email", "login");
				ok=false;
			}
		}

		if (v_form.password.value == "") {
			valida.setErrorBlock(password_req, "password", "login");
			ok=false;
		}

		if(ok) v_form.submit();
		else return false;
	},<!--login-->

	recovery:function() {
		document.getElementsByClassName("formSuccess", "recovery")[0].style.display = "none";
		var v_form = $("recovery");
		var ok = true;
		
		valida.removeUl("recovery");

		if (v_form.recovery_email.value == "") {
			valida.setErrorBlock(email_req, "recovery_email", "recovery");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.recovery_email.value)) {
				valida.setErrorBlock(email_inv, "recovery_email", "recovery");
				ok=false;
			}
		}

		// siempre "return false" porque el envío se realiza mediante ajax
		if(ok){
			$('recovery_button').disabled = true;
			ajax.sendRecovery();
		}
		return false;
	},<!--recovery-->

	resign:function() {
		var v_form = $("resign");
		var ok = true;

		valida.removeUl("resign");

		if (v_form.email.value == "") {
			valida.setErrorBlock(email_req, "email", "resign");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.email.value)) {
				valida.setErrorBlock(email_inv, "email", "resign");
				ok=false;
			}
		}

		/*if (v_form.password.value == "") {
			valida.setErrorBlock(password_req, "password", "resign");
			ok=false;
		}*/

		if(ok) v_form.submit();
		else return false;
	},<!--resign-->

	sendCV:function() {
		var v_form = $("sendCV");
		var ok = true;

		valida.removeUl("sendCV");

		if (v_form.name.value == "") {
			valida.setErrorBlock(name_req, "name", "sendCV");
			ok=false;
		}

		if (v_form.lastName.value == "") {
			valida.setErrorBlock(lastName_req, "lastName", "sendCV");
			ok=false;
		}

		if (v_form.day.selectedIndex == 0 || v_form.month.selectedIndex == 0 || v_form.year.selectedIndex == 0) {
			valida.setErrorBlock(birthDate_req, "day", "sendCV");
			ok=false;
		}

		if (v_form.postCode.value == "") {
			valida.setErrorBlock(postCode_req, "postCode", "sendCV");
			ok=false;
		}else {
			if(!regularExpressions.esCodigoPostal(v_form.postCode.value) || v_form.postCode.value.length != 5) {
				valida.setErrorBlock(postCode_inv, "postCode", "sendCV");
				ok=false;
			}
		}

		if (v_form.town.value == "") {
			valida.setErrorBlock(town_req, "town", "sendCV");
			ok=false;
		}

		if (v_form.country.selectedIndex == 0) {
			valida.setErrorBlock(country_req, "country", "sendCV");
			ok=false;
		}

		if (v_form.phone01.value == "") {
			valida.setErrorBlock(phone01_req, "phone01", "sendCV");
			ok=false;
		}else {
			if(!regularExpressions.esTelefono(v_form.phone01.value) || v_form.phone01.value.length < 9) {
				valida.setErrorBlock(phone01_inv, "phone01", "sendCV");
				ok=false;
			}
		}

		if (v_form.phone02.value != "") {
			if(!regularExpressions.esTelefono(v_form.phone02.value) || v_form.phone02.value.length < 9) {
				valida.setErrorBlock(phone02_req, "phone02", "sendCV");
				ok=false;
			}
		}

		if (v_form.email.value == "") {
			valida.setErrorBlock(email_req, "email", "sendCV");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.email.value)) {
				valida.setErrorBlock(email_inv, "email", "sendCV");
				ok=false;
			}
		}

		if (v_form.job01.value == "") {
			valida.setErrorBlock(job01_req, "job01", "sendCV");
			ok=false;
		}

		if (v_form.sitePreference.value == "") {
			valida.setErrorBlock(sitePreference_req, "sitePreference", "sendCV");
			ok=false;
		}

		if (v_form.cv.value == "") {
			valida.setErrorBlock(cv_req, "cv", "sendCV");
			ok=false;
		}

		if(ok) v_form.submit();
		else return false;
	},<!--sendCV-->

	reservation:function() {
		var v_form = $("reservation");
		var ok = true;

		valida.removeUl("reservation");

		if (v_form.city.selectedIndex == 0) {
			valida.setErrorBlock(city_req, "city", "reservation");
			ok=false;
		}

		if (v_form.hotel.selectedIndex == 0) {
			valida.setErrorBlock(hotel_req, "hotel", "reservation");
			ok=false;
		}

		if (v_form.day.selectedIndex == 0) {
			valida.setErrorBlock(day_req, "day", "reservation");
			ok=false;
		}

		if (v_form.month.selectedIndex == 0) {
			valida.setErrorBlock(month_req, "month", "reservation");
			ok=false;
		}

		if (v_form.nights.selectedIndex == 0) {
			valida.setErrorBlock(nights_req, "nights", "reservation");
			ok=false;
		}

		/**/if(ok) {
			var mychainid = 'C00196';
			var myhotelid;
			var my = document.getElementById('month').value;
			var ns = document.getElementById('nights').value;
			var dy = document.getElementById('day').value;
			var ad = document.getElementById('adult').value;
			var ch = document.getElementById('child').value;

			var lg;
			var siteaccess = document.location.href.split("/")[3] ;

			// lg=1   ingles
			// lg=2   espanol
			// lg=3   frances
			// lg=4   italiano
			// lg=5   aleman
			if(siteaccess == 'es') lg = 2;
			else if(siteaccess=='fr') lg = 3;
			else if(siteaccess=='it') lg = 4;
			else if(siteaccess=='de') lg = 5;
			else lg = 1;  //ingles por defecto


			var promo = document.getElementById('code').value;

			if( document.getElementById('hotel').value < 1000 )
			myhotelid = "H00" + document.getElementById('hotel').value;
			else
			myhotelid = "H0" + document.getElementById('hotel').value;
			
			/*added*/
			if(document.getElementById('hotel').value == 038) {
				mychainid = 'C00146';
			}
			/*added*/

			var newlink = 'http://www.reservationpage.com/'+ mychainid+'/'+myhotelid+'/pickdateteaser.aspx?date1='+my+'&nightstay='+ns+'&day1='+dy+'&ddadults='+ad+'&ddchildren='+ch+'&lg='+lg+'&pc='+promo;

			if(myhotelid == "H00" || myhotelid == "H0"){
				if(v_form.city.selectedIndex != 0 && v_form.hotel.selectedIndex != 0) {
				window.location.href = v_form.hotel.options[v_form.hotel.selectedIndex].title;
				} else if(v_form.city.selectedIndex != 0) {
					window.location.href = v_form.city.options[v_form.city.selectedIndex].title;
				}//if
			}else if(document.getElementById('hotel').value == 1293) {//HOTEL BAUZA
				window.location.href = 'https://www.reservations-page.com/C00196/H01293/BE.ASHX';
			}else {
				window.location.href = newlink;
			}//if

			return false;
		}/**/
		else return false;
	},<!--reservation-->

	reservationSearch:function() {
		var v_form = $("reservation");
		var reservationSearch = $("reservationSearch");
		var ok = true;

		valida.removeUl("reservation");

		if (v_form.city.selectedIndex == 0) {
			valida.setErrorBlock(city_req, "city", "reservation");
			ok=false;
		}

		if(ok) {
			if(v_form.city.selectedIndex != 0 && v_form.hotel.selectedIndex != 0) {
				window.location.href = v_form.hotel.options[v_form.hotel.selectedIndex].title;
			}else if(v_form.city.selectedIndex != 0) {
				window.location.href = v_form.city.options[v_form.city.selectedIndex].title;
			}
		}
		else return false;
	},<!--reservationSearch-->

	reserve:function() {
		var v_form = $("reserve");
		var ok = true;

		valida.removeUl("reserve");


		if(document.getElementById("city")) {
			if (v_form.city.selectedIndex == 0) {
				valida.setErrorBlock(city_req, "city", "reserve");
				ok=false;
			}
		}//if form has "city"

		if(v_form.hotel.tagName == "SELECT") {
			if (v_form.hotel.selectedIndex == 0) {
				valida.setErrorBlock(hotel_req, "hotel", "reserve");
				ok=false;
			}
		}//if "hotel" is "select" tag


		if (v_form.day.selectedIndex == 0) {
			valida.setErrorBlock(day_req, "day", "reserve");
			ok=false;
		}

		if (v_form.month.selectedIndex == 0) {
			valida.setErrorBlock(month_req, "month", "reserve");
			ok=false;
		}

		if (v_form.nights.selectedIndex == 0) {
			valida.setErrorBlock(nights_req, "nights", "reserve");
			ok=false;
		}

		/**/if(ok) {
			var mychainid = 'C00196';
			var myhotelid;
			var my = document.getElementById('month').value;
			var ns = document.getElementById('nights').value;
			var dy = document.getElementById('day').value;
			var ad = document.getElementById('adult').value;
			var ch = document.getElementById('child').value;

			var lg;
			var siteaccess = document.location.href.split("/")[3] ;

			// lg=1   ingles
			// lg=2   espanol
			// lg=3   frances
			// lg=4   italiano
			// lg=5   aleman
			if(siteaccess == 'es') lg = 2;
			else if(siteaccess=='fr') lg = 3;
			else if(siteaccess=='it') lg = 4;
			else if(siteaccess=='de') lg = 5;
			else lg = 1;  //ingles por defecto


			var promo = document.getElementById('code').value;

			if( document.getElementById('hotel').value < 1000 )
			myhotelid = "H00" + document.getElementById('hotel').value;
			else
			myhotelid = "H0" + document.getElementById('hotel').value;
			
			
			/*added*/
			if(document.getElementById('hotel').value == 038) {
				mychainid = 'C00146';
			}
			/*added*/


			var newlink = 'http://www.reservationpage.com/'+ mychainid+'/'+myhotelid+'/pickdateteaser.aspx?date1='+my+'&nightstay='+ns+'&day1='+dy+'&ddadults='+ad+'&ddchildren='+ch+'&lg='+lg+'&pc='+promo;

			if(v_form.hotel.options[v_form.hotel.selectedIndex].value == "") {
				window.location.href = v_form.hotel.options[v_form.hotel.selectedIndex].title;
			}else if(document.getElementById('hotel').value == 1293) {//HOTEL BAUZA
				window.location.href = 'https://www.reservations-page.com/C00196/H01293/BE.ASHX';
			}else {
				window.location.href = newlink;
			}

			return false;
		}/**/
		else return false;
	},<!--reserve-->

	reservationSearchMod:function() {
		var v_form = $("reserve");
		var reservationSearchMod = $("reservationSearchMod");
		var ok = true;

		valida.removeUl("reserve");

		if (v_form.city.selectedIndex == 0) {
			valida.setErrorBlock(city_req, "city", "reserve");
			ok=false;
		}

		if(ok) {
			if(v_form.city.selectedIndex != 0 && v_form.hotel.selectedIndex != 0) {
				window.location.href = v_form.hotel.options[v_form.hotel.selectedIndex].title;
			}else if(v_form.city.selectedIndex != 0) {
				window.location.href = v_form.city.options[v_form.city.selectedIndex].title;
			}
		}
		else return false;
	},<!--reservationSearchMod-->

	newsletterMod:function() {
		var v_form = $("newsletterMod");
		var ok = true;

		valida.removeUl("newsletterMod");

		if (v_form.email.value == "") {
			valida.setErrorBlock(email_req, "email", "newsletterMod");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.email.value)) {
				valida.setErrorBlock(email_inv, "email", "newsletterMod");
				ok=false;
			}
		}

		if(ok) v_form.submit();
		else return false;
	},<!--newsletterMod-->

	cancelMod:function() {
		var v_form = $("cancelMod");
		var ok = true;

		valida.removeUl("cancelMod");

		if (v_form.hotel_cancel.selectedIndex == 0) {
			valida.setErrorBlock(hotel_req, "hotel_cancel", "cancelMod");
			ok=false;
		}

		if(ok) {
			var mychainid = 'C00196';
			var myhotelid;

			if( document.getElementById('hotel_cancel').value < 1000 )
			myhotelid = "H00" + document.getElementById('hotel_cancel').value;
			else
			myhotelid = "H0" + document.getElementById('hotel_cancel').value;

			var newlink = 'http://www.reservationpage.com/'+mychainid+'/'+myhotelid+'/cancelres.aspx';
			var newlink2 = 'https://www.reservations-page.com/C00196/H01293/BE.ASHX';
			
			/*HOTEL BAUZA*/if(document.getElementById('hotel_cancel').value == 1293) {
				window.location.href = newlink2;
			}else {
				v_form.action = newlink;
				v_form.submit();
			}/*HOTEL BAUZA*/
			
			return false;
			
		}
		else return false;
	},<!--cancelMod-->

	modifyMod:function() {
		var v_form = $("cancelMod");
		var ok = true;

		valida.removeUl("cancelMod");

		if (v_form.hotel_cancel.selectedIndex == 0) {
			valida.setErrorBlock(hotel_req, "hotel_cancel", "cancelMod");
			ok=false;
		}

		if(ok) {
			var mychainid = 'C00196';
			var myhotelid;

			if( document.getElementById('hotel_cancel').value < 1000 )
			myhotelid = "H00" + document.getElementById('hotel_cancel').value;
			else
			myhotelid = "H0" + document.getElementById('hotel_cancel').value;
			
			var newlink = 'http://www.reservationpage.com/'+mychainid+'/'+myhotelid+'/modifyres.aspx';
			var newlink2 = 'https://www.reservations-page.com/C00196/H01293/BE.ASHX';
			
			/*HOTEL BAUZA*/if(document.getElementById('hotel_cancel').value == 1293) {
				window.location.href = newlink2;
			}else {
				v_form.action = newlink;
				v_form.submit();
			}/*HOTEL BAUZA*/
			
			return false;
			
		}
		else return false;
	},<!--modifyMod-->
	
	pressroomRegistration:function() {
		var v_form = $("pressroomRegistration");
		var ok = true;

		valida.removeUl("pressroomRegistration");
		
		if (v_form.name.value == "") {
			valida.setErrorBlock(name_req, "name", "pressroomRegistration");
			ok=false;
		}
		
		if (v_form.lastName.value == "") {
			valida.setErrorBlock(lastName_req, "lastName", "pressroomRegistration");
			ok=false;
		}
		
		if (v_form.company.value == "") {
			valida.setErrorBlock(company_req, "company", "pressroomRegistration");
			ok=false;
		}

		if (v_form.email.value == "") {
			valida.setErrorBlock(email_req, "email", "pressroomRegistration");
			ok=false;
		}else {
			if(!regularExpressions.esMail(v_form.email.value)) {
				valida.setErrorBlock(email_inv, "email", "pressroomRegistration");
				ok=false;
			}
		}
		
		if (v_form.password.value == "") {
			valida.setErrorBlock(password_req, "password", "pressroomRegistration");
			ok=false;
		}

		if (v_form.password02.value == "") {
			valida.setErrorBlock(password_rep, "password02", "pressroomRegistration");
			ok=false;
		}else {
			if(v_form.password02.value != v_form.password.value) {
				valida.setErrorBlock(password_dif, "password02", "pressroomRegistration");
				ok=false;
			}
		}

		if(ok) v_form.submit();
		else return false;
	}<!--pressroomRegistration-->
}<!--valida-->

var pageOptions = {
	init:function() {
		var obj01 = $("pageOptions").getElementsByTagName("a")[1];
		var obj02 = $("pageOptions").getElementsByTagName("div")[0];

		if(obj01 != null && obj02 != null) {
			var obj03 = obj02.getElementsByTagName("a")[0];

			obj01.href = "javascript:void(null)";
			obj03.href = "javascript:void(null)";
			obj01.onclick = function() { obj02.style.display = "block" };
			obj03.onclick = function() { obj02.style.display = "none" };
		}
	}
}

var showFormRecovery = {
	init:function() {
		var obj01 = $("showFormRecovery");
		var obj02 = $("formRecovery");

		if(obj01 != null && obj02 != null) {
			obj01.href = "#passwordRecovery";
			obj01.onclick = function() { obj02.style.display = "block"; obj01.parentNode.style.display = "none"; return false; };
		}
	}
}

var extra = {
	hinted:function() {
		var hinteds = document.getElementsByClassName("hinted", "extra");

		for(var i=0; i<hinteds.length; i++) {
			hinteds[i].getElementsByTagName("span")[0].style.display = "none";
		}

		for(var i=0; i<hinteds.length; i++) {
			hinteds[i].onmouseover = function() { extra.showText(this); };
			hinteds[i].onmouseout = function() { extra.showImage(this); };
		}
	},
	showText:function(obj) {
		var v_image = obj.getElementsByTagName("img")[0];
		var v_hint = obj.getElementsByTagName("span")[0];

		v_image.style.display = "none";
		v_hint.style.display = "block";
	},
	showImage:function(obj) {
		var v_image = obj.getElementsByTagName("img")[0];
		var v_hint = obj.getElementsByTagName("span")[0];

		v_hint.style.display = "none";
		v_image.style.display = "block";
	}
}

var siteMapShadow = {
	init:function() {
		var obj = $("siteMapShadow");
		var siteMapTop = document.createElement("img");
		var siteMapBottom = document.createElement("img");

		siteMapTop.src = "/design/common/images/bck/bck_siteMapTop.gif";
		siteMapBottom.src = "/design/common/images/bck/bck_siteMapBottom.gif";

		siteMapTop.width = siteMapBottom.width= "453";
		siteMapTop.height = siteMapBottom.height= "4";

		siteMapTop.className = "siteMapTop";
		siteMapBottom.className = "siteMapBottom";

		obj.appendChild(siteMapTop);
		obj.appendChild(siteMapBottom);
	}
}

var hide = {
	recommend:function() {
		var target = $("pageOptions").getElementsByTagName("div")[0];
		target.style.display = "none";
	},
	recovery:function() {
		var target = $("formRecovery");
		target.style.display = "none";
	}
}


var languages = {
	hide:function(obj) {
		obj.style.display = "none";
	},//hide

	show:function(obj) {
		obj.style.display = "block";
	},//show

	init:function() {
		var aLanguages = $("aLanguages");;
		var bLanguages = $("bLanguages");

		aLanguages.href = "javascript:void(null)";
		languages.hide(bLanguages);

		aLanguages.onclick = function() {
			if(bLanguages.style.display == 'none') {
				languages.show(bLanguages);
			}else {
				languages.hide(bLanguages);
			}
		};
	}//init
}


/* ASIGNACION DE EVENTOS */
var load={
	existeId:function(cid){
		if(document.getElementById(cid)) return true;
		return false;
	},
	existeClass:function(className){
		var content = document.getElementById("wrapper");
		var existsClass = false;
		if(content){
			if(content.className.indexOf(className) != -1) existsClass = true;
		}
		return existsClass;

	},
	setEvents:function(){
		//if(load.existeId("bLanguages")) languages.init();
		if(load.existeId("languages")) actions.setEventLanguages();
		if(load.existeId("extra")) extra.hinted();
		if(load.existeId("recommend")) {
			hide.recommend();
			$("recommend").onsubmit = valida.recommend;
		}
		if(load.existeId("bulletin")) {
			$("bulletin").onsubmit = valida.bulletin;
		}
		if(load.existeId("modify")) {
			$("modify").onsubmit = valida.modify;
		}
		if(load.existeId("login")) {
			$("login").onsubmit = valida.login;
		}
		if(load.existeId("recovery")) {
			hide.recovery();
			$("recovery").onsubmit = valida.recovery;
		}
		if(load.existeId("sendCV")) {
			$("sendCV").onsubmit = valida.sendCV;
		}
		if(load.existeId("resign")) {
			$("resign").onsubmit = valida.resign;
		}
		if(load.existeId("reservation")) {
			$("reservation").onsubmit = valida.reservation;
		}
		if(load.existeId("reservationSearch")) {
			$("reservationSearch").onclick = valida.reservationSearch;
		}
		if(load.existeId("reserve")) {
			$("reserve").onsubmit = valida.reserve;
		}
		if(load.existeId("reservationSearchMod")) {
			$("reservationSearchMod").onclick = valida.reservationSearchMod;
		}
		if(load.existeId("newsletterMod")) {
			$("newsletterMod").onsubmit = valida.newsletterMod;
		}
		if(load.existeId("pressroomRegistration")) {
			$("pressroomRegistration").onsubmit = valida.pressroomRegistration;
		}
		if(load.existeId("cancelButton")) {
			$("cancelButton").onclick = valida.cancelMod;
		}
		if(load.existeId("modifyButton")) {
			$("modifyButton").onclick = valida.modifyMod;
		}
		if(load.existeId("pageOptions")) pageOptions.init();
		if(load.existeId("showFormRecovery")) showFormRecovery.init();
		if(load.existeId("siteMapShadow")) siteMapShadow.init();

		if(load.existeId("gmap")) initGmap("gmap");

	}
}


if(W3CDOM) e.addEvent(window, "load", load.setEvents, false);

function newsletterFormValidation(form,lang) {
	var errNoMail = "";
	var errInvalidMail = "";
	var errName = ""; 
	if (lang == "fr")  {
		errNoMail = "Veuillez entrer un courriel.";
		errInvalidMail = "Veuillez entrer un courriel valide.";
		errName = "Veuillez entrer votre nom.";
	}
	else {
		errNoMail = "Please enter an e-mail";
		errInvalidMail = "Please enter a valid e-mail.";
		errName = "Please enter your name.";
	}
	var valid = true;
	if(form.name.value == "")
	{
		document.getElementById('msg_nom').innerHTML = errName;
		document.getElementById('name').style.borderColor = "#FF0000";
		valid = false;
	}
	else
	{
		document.getElementById('msg_nom').innerHTML = "";
		document.getElementById('name').style.borderColor = "#000000";
	}
	
	
	if(form.courriel.value == "")
	{
		document.getElementById('courriel_Erreur').innerHTML = errNoMail;
		document.getElementById('courriel').style.borderColor = "#FF0000";
		valid = false;
	}
	else if(isValidEmail(form.courriel.value) == false)
	{
		document.getElementById('courriel_Erreur').innerHTML = errInvalidMail;
		document.getElementById('courriel').style.borderColor = "#FF0000";	
		valid = false;
	}
	else
	{
		document.getElementById('courriel_Erreur').innerHTML = "";
		document.getElementById('courriel').style.borderColor = "#000000";
	}
	return valid;	
}
function isValidEmail(email)
{
	if (email.search(/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/) != -1) return true;
	else return false;
}
