/*
 * JAVASCRIPT FUNCTIONS FOR ARRELS
 * By Javier Usobiaga - www.javierusobiaga.com
 * Requires jQuery Library - www.jquery.com
 */
/*
 * =======================
 * Functions: declare
 * =======================
 */
function pausecomp(millis){
    var date = new Date();
    var curDate = null;
    
    do {
        curDate = new Date();
    }
    while (curDate - date < millis);
}


function animaMenu(target){
    if ($(target).length) {
        if (!$("#index").length) {
        
            $(target).hover(function(){
                if (!$(this).hasClass(".active")) {
                    $(this).find("a").animate({
                        "height": "23px",
                        "paddingTop": "50px",
                        "paddingBottom": "5px"
                    }, 500);
                }
                
            }, function(){
                if (!$(this).hasClass(".active")) {
                    $(this).find("a").stop(true, true).animate({
                        "height": "17px",
                        "paddingTop": "18px",
                        "paddingBottom": "8px"
                    }, 500);
                }
                
            });
        }
        
    }
}

/* Elementos del submenu animados en la carga de la pagina */
function animaSubMenu(target){
    if ($(target).length) {
        var elementos = $(target + " a");
        var cuantos = elementos.length - 1;       
        function despliegame(){
            if (cuantos >= -1) {
                setTimeout(function(){
                    $(elementos[cuantos]).animate({
                        "height": "23px",
                        "paddingTop": "50px",
                        "paddingBottom": "5px",
                        "opacity": "1"
                    }, 1000);
                    cuantos--;
                    despliegame();
                }, 200);
                
            }
        }
        despliegame();
    };
    }



function despliegaInfo(target, desplegable){
    if ($(target).length) {
        $(target).click(function(){
            $(desplegable).slideToggle("slow");
            if (!$("#precios").hasClass("invisible")) {
                $("#precios").addClass("invisible");
            }
        })
    }
}

function muestraInfo(target, desplegable){
    if ($(target).length) {
        $(target).click(function(){
            if ($(desplegable).hasClass("invisible")) {
                $(desplegable).removeClass("invisible");
            }
            else {
                $(desplegable).addClass("invisible");
            }
        })
    }
}

function galeria(target){
    if ($(target).length) {
        var idvisible = "img01";
        $(target + " a").click(function(){
            var idocultar = idvisible;
            idvisible = $(this).attr("rel");
            $("#" + idocultar).addClass("invisible");
            $("#" + idvisible).removeClass("invisible");
            $("#" + "span_" + idvisible).addClass("invisible");
            $("#" + "span_" + idocultar).removeClass("invisible");
            
        })
    }
}


/*validar formulario*/
function validaForm(target){
    if ($(target).length) {
		function errorForm(){
			$(".normalMessage").css("display", "none");
			$(".errorMessage").css("display", "block");
			  window.location = "#";
		}
		$(target).submit(function(){
            //form ok?
			var formOk = true;
			//required fields
			$(".required").each(function(){
				if($(this).val()==""){
					formOk = false;
				}
			});
			//aborts sending if required fields are empty
			if (formOk == false){
				errorForm();
				return false;
			}            
        })
    }
}


/*
 * =======================
 * Functions: call
 * =======================
 */
$(document).ready(function(){
    animaMenu("#nav li");
    despliegaInfo(".desplegar_info", "#informacion");
    muestraInfo(".desplegar_precios", "#precios");
    galeria("#miniaturas");
    animaSubMenu(".animable");
	validaForm("#contact");
});
