/*
Funciones básicas comunes para todo el entorno de la web corporativa
*/

function trim(str) {
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}


// Para devolver cadenas internacionalizadas
// el objeto i18n (que es un array) se ha cargado antes según el idioma
// Source: http://24ways.org/2007/javascript-internationalisation
function _(s) {
	if (typeof(i18n)!='undefined' && i18n[s]) { return i18n[s];}
	return s;
}



function gId(element) {
	return document.getElementById(element);
}


function toggle(element) {
	if(typeof(element) == 'string') {element = gId(element);}

	if(element) {element.style.display = (element.style.display != 'block') ? 'block' : 'none';}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		};
	}
}


// Oculta uno y muestra otro
function f_show_a_hide_b(a, b) {
	document.getElementById(b).style.display='none';
	document.getElementById(a).style.display='block';
}


/* Esta función que WTF?! es? */
/*
function getElementsByClassName(classname) {
	if (document.getElementsByClassName)
		return document.getElementsByClassName(classname);
	else {
		return Array();
		var a = [];
		var re = new RegExp('\b' + classname + '\b');
		var els = document.all?document.all:document.getElementsByTagName("*");
		for(var i=0,j=els.length; i<j; i++)
			if(els[i].className && re.test(els[i].className)) alert('MATCH'); //a.push(els[i]);
		if(els[i].className) alert(els[i].className); //a.push(els[i]);
		return a;
	}
}
*/


function changeOpacitity(id, opacEnd, millisec) { 
	opacStart = gId(id).style.opacity;
	if(opacStart == opacEnd) return;
	if(isNaN(opacStart)) opacStart = 0;
  
	var opacStart = opacStart*100;
	var speed = Math.round(millisec / 25);
	var timer = 0;

	if(opacStart > opacEnd)
		for(i = opacStart; i >= opacEnd; Math.max(i=i-4, opacEnd)) 
			setTimeout("opacity('" + id + "', " + i + ")", ((timer++) * speed));
	else
		for(i = opacStart; i <= opacEnd; Math.min(i=i+4, opacEnd)) 
			setTimeout("opacity('" + id + "', " + i + ")", ((timer++) * speed));
}

function opacity(id, opacity) { 
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100); 
	object.MozOpacity = (opacity / 100); 
	object.KhtmlOpacity = (opacity / 100); 
	object.filter = "alpha(opacity=" + opacity + ")"; 
}


function accountLogin() {
	// Se desactiva el botón
	var but=gId('formButton');
	but.value=txSending;
	but.disabled=true;

	// Se codifica el pass en SHA256 y MD5
	var passField=gId('passfield');
	gId('password').value=SHA256(SHA256(passField.value)+hash);
	gId('password2').value=MD5(MD5('NaCl'+passField.value)+hash);
	passField.value="";
	
	document.f1.submit();
}

function channelChangeData() {
	var but=gId('formButton');
	but.value=txSending;
	but.disabled=true;
	var passField=gId('currentpass');
	gId('password').value=SHA256(SHA256(passField.value)+hash);
	gId('password2').value=MD5(MD5('NaCl'+passField.value)+hash);
	passField.value="";
	document.f1.submit();  
}

function sendContactForm() {
	var but=gId('formButton');
	but.value=txSending;
	but.disabled=true;
	document.f1.submit();
}

function reservationInfoLogin() {
	var but=gId('formButton');
	but.value=txSending;
	but.disabled=true;
	document.f1.submit();
}



// Muestra el mensaje de error, en los formularios
function f_errMsg(as_texto) {
	obj=gId('errMsg');
	obj.innerHTML="<span>"+as_texto+"</span>";
	obj.style.display='block';
}

// Crea una ventana con un contenido para imprimir
function f_popup(as_content, al_ancho) {
	var wancho=700;
	if (al_ancho) wancho=al_ancho;
	var walto = (screen.height - 200);
	var wleft = (screen.width - wancho) / 2;
	var wtop = (screen.height - walto) / 2;
	newwindow=window.open(as_content, 'o2cpopwindow', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width='+wancho+',height='+walto+',left='+wleft+',top='+wtop);
}





// Funciones para la ayuda del canal


function fillWidgetCode() {
	var wCodeFinal = "";
	var d= gId('AccountId').value-0;
	var wCodeIni=d.toString(16);
	var wCodeIni = "0"+wCodeIni;
	while (wCodeIni.length <= 8) {
		wCodeIni = "0" + wCodeIni;
	}
	
	for (counter=1;counter<=8;counter=counter+1) {
		var charAt=wCodeIni.charAt(counter);
		switch (counter) {
			case 5: { wCodeFinal= charAt+"/"+wCodeFinal; break }
			case 7: { wCodeFinal= charAt+"/"+wCodeFinal; break }	    
			default: {wCodeFinal= charAt+wCodeFinal; break }
		}
	}
	gId("widgetCode").value=wCodeFinal+"/"+gId("HotelId").value;
}


function openWindow(URL) {
   eval("o2cWindow = window.open(URL, 'o2cWindow', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=750,height=440,left = 200,top = 100');");
} 




$(document).ready(function(){
	//La pulsación del botón de logout
	$("li.ML-logout").click(function(){
		return confirm(_('Closing session: Are you sure?'));
	});
});
