/* Funciones generales para el site (FRONT) */

var url_absoluta = "http://www.viajerosbarcelo.com/";
var totalPestanas = 5;
$(document).ready(function() {
    
    var totalItemsMenu = 0;
    var totalSubmenus = 0;
    var totalTools = 6;
   
    //Recojemos el número de items del menú
    $('#menu ul li').each(function(e) {
        totalItemsMenu++;
    });
	

/*    
    //Recojemos en número de submenus y ocultamos todos excepto el primero    
    $('.submenu').each(function(e) {
        if (this.id!="submenu_"+num_menu)
        {
            $(this).css('display', 'none');
        } else {
            $(this).css('display', 'block');
        }
        totalSubmenus++;
    });
    
    $('#menu ul li a').each(function(obj) {
        if (obj!=num_menu)
        {
            $(this).parent().removeClass('activo');
        }
        $(this).mouseover(function(e){
            $(this).parent().addClass('activo');
            for (i=0; i<totalSubmenus; i++)
            {
                if (i==obj)
                {
                    $('#submenu_'+i).css('display', 'block');
                } else {
                    $('#submenu_'+i).css('display', 'none');
                }
            }
        });
        $(this).mouseout(function(e){
            if (obj!=num_menu)
            {
                $(this).parent().removeClass('activo');
            }
            //for (i=0; i<totalSubmenus; i++)
            //{
            //    if (i==num_menu)
            //    {
            //        $('#submenu_'+i).css('display', 'block');
            //    } else {
            //        $('#submenu_'+i).css('display', 'none');
            //    }
            //}
        });
    });*/
    
  /*  $(".tab_content").hide();
    $("ul.tabs li:first").addClass("active").show();
    $(".tab_content:first").show();
    
    $("ul.tabs li").click(function()
    {
            $("ul.tabs li").removeClass("active");
            $(this).addClass("active");
            $(".tab_content").hide();
    
            var activeTab = $(this).find("a").attr("href");
            $(activeTab).fadeIn();
            
            /*if (location.hash) {
                tabs.each(function(i) {
                    if (this.hash == location.hash) {
                        settings.initial = i;
                        // prevent page scroll to fragment
                        if (($.browser.msie || $.browser.opera) && !settings.remote) {
                            var toShow = $(location.hash);
                            var toShowId = toShow.attr('id');
                            toShow.attr('id', '');
                            setTimeout(function() {
                                toShow.attr('id', toShowId); // restore id
                            }, 500);
                        }
                        unFocus();
                        return false; // break
                    }
                });
            }
            
            return false;
    });*/
    
    //Pestaña accesible mediante hash url
    $("ul.tabs li").each(function()
    {
        if (location.hash==$(this).find("a").attr("href")) {
            $(this).click();
        }
    });
    
    //Agregamos visibilidad o no para la lista de niños
    $('ul.listado_ninos li').each(function(obj)
    {
        if (obj>0)
        {
            $(this).css('display', 'none');
        }
    });
    $('#total_ninos').val('1');
    
    //Ocultamos todos los formularios excepto el primero
    for (i=1; i<=totalPestanas; i++)
    {
        if (i>1)
        {
            $('#form_content_'+i).css('display', 'block');
        }
    }
    
    //$('input:radio').each(function(e){
    //    if ($(this).attr('name')=='data[plan]')
    //    {
    //        $(this).click(function(e)
    //        {
    //            if ($(this).attr('ocultar')!=undefined)
    //            {
    //                var opciones = $(this).attr('ocultar').split(",");
    //                for (a in opciones)
    //                {
    //                    $('#opcion_'+opciones[a]).css('display', 'none');
    //                }
    //            }
    //        })
    //    }
    //});
    
    //$("#continente").bind("change", function() {
    //    $.post("refresh-countries", {pais: $(this).val(), type: "xml"}, function(xml){
    //      $("#pais").empty();
    //      $(xml).find("option").each(function(x,el) {
    //         $("#pais").append('<option value="'+$(el).attr("value")+'">' +$(el).text() + '</option>');
    //       });
    //    }, "xml");
    //});
    $("#continente").change(function(){
            $.post(url_absoluta+"destinos-old/refresh-countries",{ id:$(this).val() },function(data){$("#pais").html(data);})
    });
	
	
	$("#pais").change(function(){
		
		var pais_sel = $('#pais').val();
		
		if(pais_sel != "") {
			$('#tipo').attr('disabled', '');
		} else {
			$('#tipo').attr('disabled', 'disabled');
		}
	});
	
    
    
    $("#provincia_medida").change(function(){
            $.post(url_absoluta+"viaje-old/refresh-cities",{ id:$(this).val() },function(data){$("#ciudad_medida").html(data);})
    });
    
    //Preparamos las funcionalidades para los hover de ohtools de la HOME
    for(i=1; i<=totalTools; i++)
    {
        if (i>1)
        {
            $('#tools_'+i).css('display', 'none');
        }
    }
    $('#listado_ohtools ul li img').each(function(e)
    {
        $(this).css('cursor', 'pointer');
        this.id = eval(e)+1;
       $(this).hover(function(a)
        {
            for(i=1; i<=totalTools; i++)
            {
                if (i!=this.id)
                {
                    $('#tools_'+i).css('display', 'none');
                } else {
                    $('#tools_'+i).css('display', 'block');
                }
            }
        });
    });
    
    //Tracing para cada enlace externo, llamada a Google Analytics
    $('a').each(function()
    {
        if ($(this).attr('target')=='_blank')
        {
            //alert($(this).attr('href'));
            $(this).click(function(e)
            {
                concat = "?";
                if (String($(this).attr('href')).indexOf('?')!=-1)
                {
                    concat = "&";
                }
                pageTracker._trackPageview($(this).attr('href')+concat+'utm_souce=viajerosbarcelo&utm_medium=web');
            });
        }
    });
    
    var absolute_url = document.location.href;
    
    //if (absolute_url.indexOf('nuestros-viajes')!=-1)
    //{
    //    
    //}
    //$('#recaptcha_reload').attr('src', 'http://www.google.com/recaptcha/api/img/white/refresh.gif');
    //$('#recaptcha_switch_audio').attr('src', 'http://www.google.com/recaptcha/api/img/white/audio.gif');
    //$('#recaptcha_whatsthis').attr('src', 'http://www.google.com/recaptcha/api/img/white/text.gif')    

});

//Configuramos opciones del Captcha
var RecaptchaOptions = {
    theme : 'clean',
    lang: 'es'
};

function changeOffer(cual, total)
{
    for (i=0; i<=total; i++)
    {
        //console.log(i+" - "+cual);
        if (i==cual)
        {
            $('#oferta_'+i).css('display', 'block');
        } else {
            $('#oferta_'+i).css('display', 'none');
        }
    }
}

function verificaSeleccion()
{
    $('input:radio').each(function(e){
        if ($(this).attr('name')=='data[plan]')
        {
            if ($(this).attr('checked') && $(this).attr('ocultar')!=undefined)
            {
                for (i=1; i<=4; i++)
                {
                    $('#opcion_'+i).css('display', 'block');
                }
                var opciones = $(this).attr('ocultar').split(",");
                for (a in opciones)
                {
                    $('#opcion_'+opciones[a]).css('display', 'none');
                }
            }
        }
    });
}

function searchDestinyResults()
{
    //var continente = $('#continente').val();
    //var pais = $('#pais').val();
    //$.ajax({
    //    type: "POST",
    //    dataType: "html",
    //    url: "destinos/search_countries",
    //    data: "continente="+continente+"&pais="+pais,
    //    success: function(html){
    //        $("#dest_colL").append(html);
    //    }
    //});
    var formulario = document.search_destiny;
    var continente = $('#continente').val().toLowerCase();
    var pais = $('#pais').val().toLowerCase();
		var tipo = $('#tipo').val().toLowerCase();
	
	if (pais == "") {
		
		formulario.action = formulario.action+continente;
		
	} else {
		
			if(tipo != "") {
	
    			formulario.action = formulario.action+pais+'/'+tipo;
			
			} else {
				
				formulario.action = formulario.action+pais;
				
			}
	
	}
    document.search_destiny.submit();
}

function addBoy()
{
    var contador = 0;
    $('ul.listado_ninos li').each(function(obj)
    {
        if ($(this).css('display')=='none' && contador==0)
        {
            $(this).css('display', 'list-item');
            contador++;
            valor_temp = $('#total_ninos').val();
            valor_total = eval(valor_temp)+1;
            $('#total_ninos').val(valor_total);
        }
    });
    
    return false;
}


function validateForm(cual)
{
    var valido = true;
    var texto = "";
    var totalPlanes = 11;
    var contadorPlanes = 0;
    
    var mensajeEsp = false;
    
    $('input').each(function(obj){
        //texto += "\n"+$(this).attr('name')+" - "+$(this).attr('required');
        if (cual=='1')
        {
            if ($(this).attr('name')=='data[plan]')
            {
                if (!$(this).attr('checked'))
                {
                    contadorPlanes++;
                }
            }
        }
        //Por último miramos los campos, normalmente input text, que estén vacíos
        if ($(this).attr('required'+cual)=='1')
        {
            //alert($(this).attr('name')+" - "+$(this).val().length);
            if ($(this).val().length>0 && valido)
            {
                $(this).css('border','1px solid #55bbe3');
                valido = true;
            } else {
                $(this).css('border','1px solid red');
                valido = false;
            }
        }
    });
    
    $('textarea').each(function(obj){
        if ($(this).attr('required'+cual)=='1')
        {
            if ($(this).val().length>0 && valido)
            {
                $(this).css('border','1px solid #55bbe3');
                valido = true;
            } else {
                $(this).css('border','1px solid red');
                valido = false;
            }
        }
    });

    //Mostramos mensajes especificos
    if (contadorPlanes==totalPlanes)
    {
        alert('Seleccione al menos una de las opciones de "Mi plan es".');
        mensajeEsp = true;
        valido = false;
    }
    
    //Ejecutamos funciones según la pestaña
    if (cual==1)
    {
        verificaSeleccion();
    }
    if (cual==3)
    {
        if (!verifyEmail($('input[name=data[email]]').val()))
        {
            alert("La dirección de e-mail es incorrecta.");
            $('input[name=data[email]]').css('border', '1px solid red');
            mensajeEsp = true;
            valido = false;
        }
        if ($('select[name=data[ciudad]] option:selected').val()=="")
        {
            alert("Debe seleccionar una población obligatoriamente.");
            mensajeEsp = true;
            valido = false;
        }
        if ($('#legal').attr('checked') != true)
        {
            alert("Es obligatorio aceptar las condiciones legales.");
            mensajeEsp = true;
            valido = false;
        }
    }
    
    //Validamos segun el paso
    //switch(cual)
    //{
    //    case 1:
    //        texto = "";
    //        break;
    //}
    if (valido)
    {
        //Mostramos la pestaña correcta si ha validado
        for (i=1; i<=totalPestanas; i++)
        {
            if (i==(eval(cual)+1))
            {
				document.forms.viaje_medida.submit();
            } else {
               document.forms.viaje_medida.submit();
            }
        }
        if (cual==3)
        {
            //document.forms.viaje_medida.submit();
            sendDataATuMedida();
        }
    } else {
        if (!mensajeEsp)
        {
            alert("Por favor, revise los campos obligatorios (*).");
        }
    }
}

function validateForm_2(cual)
{
    var valido = true;
    var texto = "";
    var totalPlanes = 11;
    var contadorPlanes = 0;
    
    var mensajeEsp = false;
    
    $('input').each(function(obj){
        //texto += "\n"+$(this).attr('name')+" - "+$(this).attr('required');
        if (cual=='1')
        {
            if ($(this).attr('name')=='data[plan]')
            {
                if (!$(this).attr('checked'))
                {
                    contadorPlanes++;
                }
            }
        }
        //Por último miramos los campos, normalmente input text, que estén vacíos
        if ($(this).attr('required'+cual)=='3')
        {
            //alert($(this).attr('name')+" - "+$(this).val().length);
            if ($(this).val().length>0 && valido)
            {
                $(this).css('border','1px solid #55bbe3');
                valido = true;
            } else {
                $(this).css('border','1px solid red');
                valido = false;
            }
        }
    });
    
    $('textarea').each(function(obj){
        if ($(this).attr('required'+cual)=='2')
        {
            if ($(this).val().length>0 && valido)
            {
                $(this).css('border','1px solid #55bbe3');
                valido = true;
            } else {
                $(this).css('border','1px solid red');
                valido = false;
            }
        }
    });

    //Mostramos mensajes especificos
    if (contadorPlanes==totalPlanes)
    {
        alert('Debe seleccionar una opción de viaje en "Mi plan es".');
        mensajeEsp = true;
        valido = false;
    }
    
    //Ejecutamos funciones según la pestaña
    if (cual==1)
    {
        verificaSeleccion();
    }
    if (cual==5)
    {
        if (!verifyEmail($('input[name=data[email]]').val()))
        {
            alert("La dirección de e-mail es incorrecta.");
            $('input[name=data[email]]').css('border', '1px solid red');
            mensajeEsp = true;
            valido = false;
        }
        if ($('select[name=data[ciudad]] option:selected').val()=="")
        {
            alert("Debe seleccionar una población obligatoriamente.");
            mensajeEsp = true;
            valido = false;
        }
    }
    
    //Validamos segun el paso
    //switch(cual)
    //{
    //    case 1:
    //        texto = "";
    //        break;
    //}
    if (valido)
    {
        //Mostramos la pestaña correcta si ha validado
        for (i=1; i<=totalPestanas; i++)
        {
            if (i==(eval(cual)+1))
            {
                $('#form_content_'+i).css('display', 'block');
            } else {
                $('#form_content_'+i).css('display', 'none');
            }
        }
        if (cual==3)
        {
            //document.forms.viaje_medida.submit();
            sendDataATuMedida();
        }
    } else {
        if (!mensajeEsp)
        {
            alert("Por favor, revise los campos obligatorios (*).");
        }
    }
}

//Función para 'volver' atrás en el formulario de a tu medida
function backForm(cual)
{
    //Mostramos la pestaña correcta si ha validado
    for (i=1; i<=totalPestanas; i++)
    {
        if (i==eval(cual))
        {
            $('#form_content_'+i).css('display', 'block');
        } else {
            $('#form_content_'+i).css('display', 'none');
        }
    }
}

//Función para validar email
function verifyEmail(str){
   if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)){
      return true;
      //document.form.email.focus();
   } else {
        return false;
   }
}

//Función para enviar los datos del formulario a BBDD y por email
function sendDataATuMedida()
{
    var formulario = $('form[name=viaje_medida]');
    $.ajax({
        type: "POST",
        dataType: "html",
        url: "saveform",
        data: formulario.serialize(),
        success: function(texto){
            //alert(texto);
            if (texto.indexOf('ok')!=-1)
            {
                var html = '<p style="position:absolute;float:left;top:35px;left:-55px;"><img src="http://www.viajerosbarcelo.com/img/ok_tip.gif" alt="OK" title="OK" /></p><p><h1>Petición realizada con éxito.</h1></p><p>Viajero, gracias por haber confiado en nosotros tu proyecto de viaje a medida. En un plazo máximo de 72 horas a partir de este momento, recibirás tu presupuesto personalizado.<br />¡Continúa viajando en <a href="http://www.barceloviajes.com/viajeros">www.barceloviajes.com/viajeros</a>!</p>';
            } else {
                var html = '<p><h1>Ha ocurrido un error al enviarse los datos. Por favor, inténtelo más tarde. Disculpe las molestias.</h1></p>';
            }
            $("#resultado").replaceWith(html);
        },
        error: function(){
            alert("ERROR");
        }
    });
    return false;
}

function openHelp(theURL) { window.open(theURL,'ayuda','scrollbars=yes,width=568,height=600');}
