/*
 Soluciona bugs ie6
*/
function bugsIE6(){
    if( $("body").height() < 650) $("body").height(650);
    if( $("#contenido").height() < 420) $("#contenido").height(420);
    if( $(".dpages").height() < 350) $(".dpages").height(350);
}

function bugLogoIE6(){
    if( isVersionFlash(8,0,0) ){$('#logoie6gif').hide();$('#logoie6flash').show();}
}
/*
 Funciones aulixiliares
*/
function getVersionFlash(){
    var version,axo,e;
    try { return  new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7").GetVariable("$version");
    }catch(e){}
    return -1;
}

function isVersionFlash(reqMajorVer, reqMinorVer, reqRevision){
    versionStr = getVersionFlash();
    if (versionStr == -1 ) { return false; }
    else if (versionStr != 0) {
        tempArray         = versionStr.split(" "); 	
        tempString        = tempArray[1];			
        versionArray      = tempString.split(",");	
        if (versionArray[0] > parseFloat(reqMajorVer)) { return true;}
        else if (versionArray[0] == parseFloat(reqMajorVer)) {
            if (versionArray[1] > parseFloat(reqMinorVer)) return true;
            else if (versionArray[1] == parseFloat(reqMinorVer)) {
                if (versionArray[2] >= parseFloat(reqRevision))return true;
            }
        }
	return false;
    }
    return true;
}


jQuery.fn.numeric =
function()
{
    return this.each(function()
    {
        $(this).keydown(function(e)
        {
            var key = e.charCode || e.keyCode || 0;
            // allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY
	    
            return (
                key == 8 || 
                key == 9 ||
                key == '.' || key == 190 || key == 188 || key==44 ||
                (key >= 37 && key <= 40) ||
                (key >= 48 && key <= 57) ||
                (key >= 96 && key <= 105));
        })
    })
};

/*
  Para cargar las páginas por ajax
*/
function loadPrettyGeneral(){
    var disparador;
    $('.loadPretty').click(function(){
        disparador = this;
        $('#ajax_container').fadeOut("slow", function() {
            changePage();
            $('#ajax_container').load($(disparador).attr('href'),null,function(){
                $('#ajax_container').fadeIn("slow");
            });
        });
    return false;
    });
}

function loadPrettyContainer(){
    $('#ajax_container .loadPretty').click(function(){
        changePage();
        $('#ajax_container').load($(this).attr('href'));
        return false;
    });
}

/*
  Llama a esta funcion cuando se sale de una página (debe ser sobreecribida y tener una condicion de entrada unica)
*/
function changePage(){}

/*
  Llama ha esta funcion cuando sale de la página de galeria
*/
function closeGaleria(){
    if( gallery ){
        gallery.gotoIndex(0,false,false);
        gallery = null; //garbage recollection
    }
}

/*
  Para cambiar el título de la página
*/
function changeTitle(title){
    document.title = title;
}

/*
 Poner calendario en español
*/
function calendarSPA(){
    jQuery.extend(DateInput.DEFAULT_OPTS, {
        month_names: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
        short_month_names: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
        short_day_names: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"]
    });
}
/*
    Poner calendario en galego
*/
function calendarGLG(){
    jQuery.extend(DateInput.DEFAULT_OPTS, {
        month_names: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"],
        short_month_names: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xuñ", "Xul", "Ago", "Set", "Out", "Nov", "Dec"],
        short_day_names: ["Dom", "Lun", "Mar", "Mer", "Xov", "Ven", "Sab"]
    });
}

/*
  Formato fecha para calendario javascript
*/
function formatDate(){
    jQuery.extend(DateInput.DEFAULT_OPTS, {
        stringToDate: function(string) {
                        var matches = string.match(/^(\d{4,4})-(\d{2,2})-(\d{2,2})$/);
                        if (matches) {
                            return new Date(matches[1], matches[2] - 1, matches[3]);
                        } else {
                            return null;
                        };
                        return null;
        },
        dateToString: function(date) {
                        var month = (date.getMonth() + 1).toString();
                        var dom = date.getDate().toString();
                        if (month.length == 1) month = "0" + month;
                        if (dom.length == 1) dom = "0" + dom;
                        return date.getFullYear() + "-" + month + "-" + dom;
        }
    });
}


/*
  Control de formulario reservar
*/
function openReservar(str){
    $("#ReservasFentrada").date_input();
    $("#ReservasFsalida").date_input();
    $('#ReservasReservarAjaxForm').ajaxForm( { beforeSubmit: function (formData, jqForm, options) { 
        for (var i=0; i < formData.length; i++) {
            if (!formData[i].value) {
                if( !(i==7 || i==8 || i==11 || i==12) ){
                    alert(str[0]);
                    existAll = false;
                    return false; 
                }
            } 
        }
        var sfentrada = $("#ReservasFentrada").attr('value').split('-');
        var sfsalida = $("#ReservasFsalida").attr('value').split('-');
        var fentrada = new Date(sfentrada[0],sfentrada[1],sfentrada[2],0,0,0,0);
        var fsalida = new Date(sfsalida[0],sfsalida[1],sfsalida[2],0,0,0,0);
        if( fentrada > fsalida ){
            alert(str[1]);
            existAll = false;
            return false;
        }
        var n = $("#ReservasNoches").attr('value');
        if( isNaN(parseInt(n)) ) {
            alert(str[2]);
            existAll = false;
            return false;
        }
        var n = $("#ReservasPersonas").attr('value');
        if( isNaN(parseInt(n)) ){
            alert(str[3]);
            existAll = false;
            return false;
        }
        
        if( $('#ReservasPoliticas:checked').val() == null  ){
            alert(str[4]);
            existAll = false;
            return false;
        }
        
        return true;
    } } );
   
    $('#ReservasReservarAjaxForm').submit( function() {
        if( !existAll ) {
            existAll = true;
            return false;
        }
        if( isSend ){
            alert(str[5]);
            return false;
        }
        isSend = true;
        $(this).ajaxSubmit({
            success: function(responseText, responseCode) {
                var msg = eval('(' + responseText + ')');
                alert(msg.info);
                if( msg.code == 0 ){
                    $('#ajax_container').load('/reservas/index');
		    return;
                }
                isSend = false;
            }
        }); 
        return false; 
    }); 
}


var lista_imagenes = new Array();
 
function preloadImage(ruta){
    img = new Image();
    img.src = ruta;
    lista_imagenes.push(img);
}
