/*
.........................
:: Javascript a medida. ::
.........................
*/
function eventAssign(obj,event,func){
	if( obj.addEventListener ) {
		obj.addEventListener(event,func,false);
	}else if (obj.attachEvent) {
		obj['e'+event+func]=func;
		obj[event+func]=function(){
		    obj['e'+event+func]( window.event );
		}
		obj.attachEvent('on'+event,obj[event+func]);
	}else {
		alert('Este navegador no es soportado!!');
	}
}

/*
...........................
:: Igualar columnas texto ::
...........................
*/
function igualarColumnas() {
    if($("contenedor")) {
        var columnas = document.getElementsByClassName("columnaEstructural");
        var alturaMaxima = 0;
        for (i = 0; i < columnas.length; i++) {
            columnas[i].style.height = "auto";
            if (columnas[i].getHeight() > alturaMaxima) {
                alturaMaxima = columnas[i].getHeight();
            }
        }
        for (i = 0; i < columnas.length; i++) {
            columnas[i].style.height = alturaMaxima + "px";
        }
    }
}

eventAssign(window, "load", igualarColumnas);

function animacion(objeto, propiedad, puntoPartida, puntoFinal, fijarColumnas) {
    var avance = 1; // Inicializa la animación (no cambiar)
    var pasos = 20; // Número de pasos de la animación
    new PeriodicalExecuter(function(periodica) {
        var distancia = puntoFinal - puntoPartida;
        var pos = Math.easeInOutQuint(avance, puntoPartida, distancia, pasos) + "px";
        objeto.style[propiedad] = pos;
        avance++;
        if (avance > pasos) {
            periodica.stop();
            if (!fijarColumnas) {
                igualarColumnas();
            }
            flagDesplegable = false;
        }
    }, 0.05);
}

/*
.....................
:: Desplegar hijos ::
.....................
*/
flagDesplegable = false;
function desplegable(oBoton) {
    if (!flagDesplegable) {
        flagDesplegable = true;
        // Al pinchar un elemento que llame a esta función se plegará o desplegará el siguiente elemento que tenga className = "desplegable"
        // Buscamos los objetos pertinentes en el DOM
        var oDesplegable = oBoton.nextSibling;
        while (oDesplegable.className != "desplegable") {
            oDesplegable = oDesplegable.nextSibling;
        }
        var oHijo = oDesplegable.firstChild;
        while (!oHijo.innerHTML) {
            oHijo = oHijo.nextSibling;
        }
        // Averiguamos si el desplegable está mostrado u oculto y actuamos en consecuencia
        $("columnaCentral").style.height = "auto";
        if (oDesplegable.offsetHeight) {
			oBoton.className = "inactivo";
            animacion (oDesplegable, "height", oHijo.offsetHeight + 12, 0);
        } else {
			oBoton.className = "activo";
            animacion (oDesplegable, "height", 0, oHijo.offsetHeight + 12);
        }
    }
}

/*
...................
:: AJAX buscador ::
...................
*/
function cambiarParametrosBuscador(scriptLlamado) {
    new Ajax.Updater("findYourHome",
                     scriptLlamado,
                     {
                       method: 'get',
                       parameters: {recarga: 1,
                                    idRegion: $('search').idRegion.value,
                                    idCiudad: $('search').idCiudad.value
                                   }
                     }
                    );
}

/*
..................
:: Ampliar Mapa ::
..................
*/
function ampliarMapa(oLinkPinchado) {
    oPadre = oLinkPinchado.parentNode;
    while (oPadre.tagName != "LI") {
        oPadre = oPadre.parentNode;
    }
    oImagenAmpliar = oPadre.getElementsByTagName("DIV")[0];
    if (oImagenAmpliar.style.display == "block"){
        oImagenAmpliar.style.display = "none";
    } else {
        oImagenAmpliar.style.display = "block";
    }
    return false;
}


/*
.......................
:: Proceso de compra ::
.......................
*/

var posicionActual = [0, 0];

var flagCompra = false;
function iniciarAniProceso(matrizH, matrizV) { // H va de 1 a 3 y V de 1 a 9
    if (!flagCompra) {
        var puntoH = -(matrizH - 1)* 771;
        var puntoV;
        var tabla = $$('table')[0];
        var lapsoEspera = 850;


        if (posicionActual[0] != puntoH) {
            flagCompra = true;
            var listaBotones = $$('#selectorAcciones a');
            for (i = 0; i < listaBotones.length; i++) {
                if (i + 1 == matrizH) {
                    listaBotones[i].className = "activo";
                } else {
                    listaBotones[i].className = "";
                }
            }

            animacion(tabla, 'left', posicionActual[0], puntoH, true);
            posicionActual[0] = puntoH;
        } else {
            lapsoEspera = 50;
        }


        if (matrizV) {
            if (posicionActual[1] != puntoV) {
                flagCompra = true;

                // Activar el elemento del menu apropiado
                var listaBotones = $$('#lineaTemporal li');
                for (i = 0; i < listaBotones.length; i++) {
                    if (i + 1 == matrizV) {
                        listaBotones[i].className = "activo";
                    } else {
                        listaBotones[i].className = "";
                    }
                }

                setTimeout(function() {
                    puntoV = -(matrizV - 1) * 285;
                    animacion(tabla, 'top', posicionActual[1], puntoV, true);
                    posicionActual[1] = puntoV;
                    setTimeout("flagCompra = false", 1000);
                }, lapsoEspera)
            }
        } else {
            setTimeout("flagCompra = false", 1000);
        }
        return false;
    }
}


var flagTabla = true;

/*
*****************************
*****Tween made in alex*****
***************************
*/

function fundido(val) {	
  //  for (a=1;a<=12;a++) {
        document.getElementById('tween_info_1').style.display="none";
 //   }
    document.getElementById('tween_info_2').style.opacity=val;
    document.getElementById('tween_info_2').style.filter= 'alpha(opacity='+val*100+')';
    document.getElementById('tween_info_2').style.display="block";
 
    if(val>=1){
        cambiandoFlag=0;
    }else{
        val=val+0.05;
        val=Math.round(val*100)/100;
        setTimeout('fundido('+val+')',5);
    }
}

function backColorOver(a) {		
	document.getElementById(a).style.background="#F5CD70 url(../img/pestanya_promociones.gif) no-repeat scroll 100% 0";
}

function backColorOut(a) {	
	document.getElementById(a).style.background="#FCEFCF url(../img/pestanya_promo.gif) no-repeat scroll 100% 0";
}
