$(document).ready(function() {
	$('a[rel="lightbox"]').fancybox({
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic'
	});

});


//usada en validaciones
var fecha_limites='';
/*
* Window Onload Manager (WOM) v1.0
* Author: Justin Barlow - www.netlobo.com
*/
// array que junta todas las funciones a ejecutar ONLOAD
var woms = new Array();
//ejecuta la funcion womGo en el evento ONLUAD
window.onload = womGo;

// ejecuta las funciones woms 
function womGo(){
  for(var i = 0;i < woms.length;i++)
    eval(woms[i]);
}
// Agregar funcion al array woms 
function womAdd(func){
  woms[woms.length] = func;
}

function getElementsByClassName(node, classname)
{
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

// @name      The Fade Anything Technique
// @namespace http://www.axentric.com/aside/fat/
// @version   1.0-RC1
// @author    Adam Michela
// permite degradado dinamico de colores de bloques
var Fat = {
	make_hex : function (r,g,b) 
	{
		r = r.toString(16); if (r.length == 1) r = '0' + r;
		g = g.toString(16); if (g.length == 1) g = '0' + g;
		b = b.toString(16); if (b.length == 1) b = '0' + b;
		return "#" + r + g + b;
	},
	fade_all : function ()
	{
		var a = document.getElementsByTagName("*");
		for (var i = 0; i < a.length; i++) 
		{
			var o = a[i];
			var r = /fade-?(\w{3,6})?/.exec(o.className);
			if (r)
			{
				if (!r[1]) r[1] = "";
				if (o.id) Fat.fade_element(o.id,null,null,"#"+r[1]);
			}
		}
	},
	fade_element : function (id, fps, duration, from, to) 
	{
		if (!fps) fps = 30;
		if (!duration) duration = 3000;
		if (!from || from=="#") from = "#FFFF33";
		if (!to) to = this.get_bgcolor(id);
		
		var frames = Math.round(fps * (duration / 1000));
		var interval = duration / frames;
		var delay = interval;
		var frame = 0;
		
		if (from.length < 7) from += from.substr(1,3);
		if (to.length < 7) to += to.substr(1,3);
		
		var rf = parseInt(from.substr(1,2),16);
		var gf = parseInt(from.substr(3,2),16);
		var bf = parseInt(from.substr(5,2),16);
		var rt = parseInt(to.substr(1,2),16);
		var gt = parseInt(to.substr(3,2),16);
		var bt = parseInt(to.substr(5,2),16);
		
		var r,g,b,h;
		while (frame < frames)
		{
			r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));
			g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));
			b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));
			h = this.make_hex(r,g,b);
		
			setTimeout("Fat.set_bgcolor('"+id+"','"+h+"')", delay);

			frame++;
			delay = interval * frame; 
		}
		setTimeout("Fat.set_bgcolor('"+id+"','"+to+"')", delay);
	},
	set_bgcolor : function (id, c)
	{
		var o = document.getElementById(id);
		o.style.backgroundColor = c;
	},
	get_bgcolor : function (id)
	{
		var o = document.getElementById(id);
		while(o)
		{
			var c;
			if (window.getComputedStyle) c = window.getComputedStyle(o,null).getPropertyValue("background-color");
			if (o.currentStyle) c = o.currentStyle.backgroundColor;
			if ((c != "" && c != "transparent") || o.tagName == "BODY") { break; }
			o = o.parentNode;
		}
		if (c == undefined || c == "" || c == "transparent") c = "#FFFFFF";
		var rgb = c.match(/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/);
		if (rgb) c = this.make_hex(parseInt(rgb[1]),parseInt(rgb[2]),parseInt(rgb[3]));
		return c;
	}
}
//utilizado para confirmar la eliminacion a través de links
function confirmarBorrar(){
	var respuesta = confirm (lang["confirmar_borrar"])
	if (respuesta) { return true; }
	else { return false; }
}

// agrega eventos a links del documento
function linksEventos(){
	if (document.getElementsByTagName){
		var anchors = document.getElementsByTagName("a");
		for (var i=0; i<anchors.length; i++) {
			var anchor = anchors[i];
			
			if (anchor.getAttribute("href") &&  anchor.getAttribute("rel") == "borrar"){
				anchor.title = lang["borrar_elemento"];
				anchor.onclick = confirmarBorrar;
			}
			
		}
	}
}


// muestra bloque Status en páginas
function mostrarStatus(id, texto, cerrar) {
	var elemento= document.getElementById(id);
	
	if (elemento) {
		elemento.style.display = 'block';
		if(texto != "") {
			elemento.innerHTML = texto;
		}
		Fat.fade_element(elemento.id);
		if (cerrar == "cerrar"){
			setTimeout("document.getElementById('" + elemento.id + "').style.display = 'none'", 5000);
		}
	}
}

function validaAddCartCircuito(id, maximo){
	elemento = document.getElementById(id);
	var aux = new Array()
	aux = id.split("_")
	idstatus = "status_" + aux[1]
	if(elemento.value > maximo){
		mostrarStatus(idstatus , "<strong>" + lang["error"] + ":</strong> " + lang["maximo_permitido"] + " " + maximo, "cerrar");
		elemento.style.color = '#f30';
		elemento.focus();
		return false;
	}
	else if(elemento.value == 0){
		mostrarStatus(idstatus , "<strong>" + lang["error"] + ":</strong> " + lang["cantidad_mayor_cero"], "cerrar");
		elemento.style.color = '#f30';
		return false;
	}
	else{
		return true;
	}
}

function validaAddCartTransfer(id){
	elemento = document.getElementById(id);
	var aux = new Array()
	aux = id.split("_")
	idstatus = "status_" + aux[1]
	if(elemento.value == 0){
		mostrarStatus(idstatus ,"<strong>" + lang["error"] + ":</strong> " + lang["cantidad_mayor_cero"], "cerrar");
		elemento.style.color = '#f30';
		return false;
	}
	else{
		return true;
	}
}

function validaAddCartCurso(id){
	elemento = document.getElementById(id);
	var aux = new Array()
	aux = id.split("_")
	idstatus = "status_" + aux[1]
	if(elemento.value == 0){
		mostrarStatus(idstatus ,"<strong>" + lang["error"] + ":</strong> " + lang["cantidad_mayor_cero"], "cerrar");
		elemento.style.color = '#f30';
		return false;
	}
	else{
		return true;
	}
}

function validaAddCartHotel(id){
	var elemento = document.getElementById(id);
	var aux = new Array()
	
	aux = id.split("_")

	var formulario = document.getElementById("formCarro_" + aux[1])
	idstatus = "status_" + aux[1]

	//validar cantidad mayor a cero
	if(elemento.value == 0){
		mostrarStatus(idstatus ,"<strong>" + lang["error"] + ":</strong> " + lang["cantidad_mayor_cero"], "cerrar")
		elemento.style.color = '#f30'
		return false
	}
	else{
		//buscar si se ha selecciondo una temporada
		var rad_val = 0
		if(formulario.idprecio.length){ //varios radio buttons
			for (var i=0; i < formulario.idprecio.length; i++)	{
				if (formulario.idprecio[i].checked){
					rad_val = formulario.idprecio[i].value;
				}
			}
		}
		else{ //solo un radio button
			if (formulario.idprecio.checked){
				rad_val = formulario.idprecio.value;
			}
		}
		if(rad_val == 0){
			mostrarStatus(idstatus ,"<strong>" + lang["error"] + ":</strong> " + lang["seleccionar_precio_temporada"], "cerrar")
			elemento.style.color = '#f30'
			return false
		}
	}
	

	//validar fecha dentro de los límites
	//validar cantidad mayor a cero
	if(formulario.fecha.value == ""){
		mostrarStatus(idstatus ,"<strong>" + lang["error"] + ":</strong> " + lang["cantidad_mayor_cero"], "cerrar")
		elemento.style.color = '#f30'
	}
	else{
		//extraemos dia, mes y ano desde las fechas las que vienen formateadas segun formatoFecha 
		var error_fecha = false
		aux = fecha_limites.split(" - ")
	
		var fecha_inicio = aux[0].split("/")
		var fecha_fin = aux[1].split("/")
		var fecha = formulario.fecha.value.split("/")
		
		var fecha_inicio_obj = new Date(parseInt(fecha_inicio[posicion_yyyy]), parseInt(fecha_inicio[posicion_mm]) -1 , parseInt(fecha_inicio[posicion_dd]))
		var fecha_fin_obj = new Date(parseInt(fecha_fin[posicion_yyyy]), parseInt(fecha_fin[posicion_mm]) -1 , parseInt(fecha_fin[posicion_dd]))
		var fecha_obj = new Date(parseInt(fecha[posicion_yyyy]), parseInt(fecha[posicion_mm]) -1 , parseInt(fecha[posicion_dd]))
		
		var fecha_inicio_milli = fecha_inicio_obj.getTime()
		var fecha_fin_milli = fecha_fin_obj.getTime()
		var fecha_milli = fecha_obj.getTime()
		
		if(fecha_milli < fecha_inicio_milli){
			error_fecha = true;
		}
		if(fecha_milli > fecha_fin_milli){
			error_fecha = true;
		}
		//comparamos
		if (error_fecha){
			mostrarStatus(idstatus ,"<strong>" + lang["error"] + ":</strong> " + lang["fecha_error"], "cerrar")
			elemento.style.color = '#f30'
			return false
		}
		else{
			return true
		}
	}

}

function validaAddCartAuto(id){
	elemento = document.getElementById(id);
	var aux = new Array()
	aux = id.split("_")
	idstatus = "status_" + aux[1]
	if(elemento.value == 0){
		mostrarStatus(idstatus ,"<strong>" + lang["error"] + ":</strong> " + lang["cantidad_mayor_cero"], "cerrar");
		elemento.style.color = '#f30';
		return false;
	}
	else{
		return true;
	}
}

function validaBoxBuscar(){
	elemento = document.getElementById("texto");
	var aux = new Array()
	if(elemento.value == 0){
		alert (lang["no_texto_busqueda"])
		elemento.focus()
		return false;
	}
	else{
		return true;
	}
}

function validaFormContactoPais(){
	form = document.getElementById("form_contacto_pais");
	var aux = new Array()
	var msg = ""
	
	
	if( form.nombre.value == '' ||
	    form.apellido.value == '' ||
		form.pais_contacto.value == '' ||
		form.direccion.value == '' ||
		form.fono.value == '' ||
		form.email.value == '' ||
		form.consulta.value == ''    
	   
	   ){
		msg += "<li>" + lang["completar_campos_obligatorios"] + "</li>";
	}
	
	if (
		form.email.value != '' && 
		( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test( form.email.value ) == false )
		){
		msg +=  "<li>" + lang["no_email_valido"] + "</li>";
	}
	
	if(msg != ''){
		msg = lang["errores_detectados"] +  ":" + "<ul>" + msg + "</ul>";
		mostrarStatus("status", msg, "nocerrar");
		return false;
	}
	else{
		return true;
	}
}

function validaFormNewsletter(){
	form = document.getElementById("form_newsletter");
	var aux = new Array()
	var msg = ""
	
	
	if(form.nombre.value == ''){
		msg += "<li>" + lang["no_nombre"] + "</li>"
	}
	
	if (form.email.value == ''){
		msg +=  "<li>" + lang["no_email"] + "</li>"
	}
	else if( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test( form.email.value ) == false ){
		msg +=  "<li>" + lang["no_email_valido"] + "</li>"
	}
	
	if(msg != ''){
		msg = lang["errores_detectados"] +  ":" + "<ul>" + msg + "</ul>"
		mostrarStatus("status", msg, "nocerrar")
		return false;
	}
	else{
		return true;
	}
}

function validaFormLogin(){
	form = document.getElementById("loginform");
	var aux = new Array()
	var msg = ""
	
	
	if(form.login_user.value == ''){
		msg += "<li>" + lang["no_usuario"] + "</li>"
	}
	
	if (form.login_pass.value == ''){
		msg +=  "<li>" + lang["no_contrasena"] + "</li>"
	}
	
	
	if(msg != ''){
		msg = lang["errores_detectados"] +  ":" + "<ul>" + msg + "</ul>"
		mostrarStatus("status", msg, "nocerrar")
		return false;
	}
	else{
		return true;
	}
}

function validaFormPasssword(){
	form = document.getElementById("passwordform");
	var aux = new Array()
	var msg = ""
	
	if (form.recuperar_email.value == ''){
		msg +=  "<li>" + lang["no_email"] + "</li>"
	}
	else if( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test( form.recuperar_email.value ) == false ){
		msg +=  "<li>" + lang["no_email_valido"] + "</li>"
	}
		
	if(msg != ''){
		msg = lang["errores_detectados"] +  ":" + "<ul>" + msg + "</ul>"
		mostrarStatus("statuspassword", msg, "nocerrar")
		return false;
	}
	else{
		return true;
	}
}

function validaFormPedidoDatos(){
	form = document.getElementById("form_pedido_datos");
	var aux = new Array()
	var msg = ""
	
	if(form.nombre.value == ''){
		msg += "<li>" + lang["no_nombre"] + "</li>"
	}
	
	if (form.email.value == ''){
		msg +=  "<li>" + lang["no_email"] + "</li>"
	}
	else if( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test( form.email.value ) == false ){
		msg +=  "<li>" + lang["no_email_valido"] + "</li>"
	}
	
	if(form.fono.value == ''){
		msg += "<li>" + lang["no_fono"] + "</li>"
	}
	
	if(msg != ''){
		msg = lang["errores_detectados"] +  ":" + "<ul>" + msg + "</ul>"
		mostrarStatus("status", msg, "nocerrar")
		return false;
	}
	else{
		return true;
	}
}

function SetFechaLimites(valor){
	fecha_limites = valor
}


// muestra errores onLoad
function mostrarStatusOnLoad() {
	mostrarStatus("erroronload", "", "nocerrar")
}

function addAumentarImagen(){
	var nodo = document.getElementById("content");

	var lista = getElementsByClassName(nodo, "fotos");
	
	for(i = 0; i < lista.length; i++) {
		var hijos = lista[i].getElementsByTagName("LI")
		for(j = 0; j < hijos.length; j++) {
			var imagenes = hijos[j].getElementsByTagName("IMG")
			hijos[j].appendChild(document.createElement('SPAN'))
		}
	} 

}



womAdd('linksEventos()');
womAdd('initLightbox()');
womAdd('mostrarStatusOnLoad()');
womAdd('addAumentarImagen()');

