
//<![CDATA[

// Ponemos en marcha on load window el script principal

AttachEvent(window,"load",formatearElementos);

//AttachEvent(window,"load",verificarCalendario);

function prueba() {
alert("si");
}


// ----------------------------------
// Funcion formatearElementos
// ----------------------------------

function formatearElementos() {

	// Con esta función definimos que eventos asignamos a cada elemento.
	// Igualmente almacenamos en etiquetas los valores a utilizar en la ejeción
	// de dichos eventos dada la imposibilidad de pasar parámetros a las funciones
	// con addEventListener y attachEvent y la imposibilidad de IE para reconocer
	// con "this" el elemento que ha ejecutado el evento.

	var objetos;

	//
	// Objetos tipo "input"
	//---------------------

	objetos = document.getElementsByTagName("input");

	for(var no=0;no<objetos.length;no++){

		objetos[no].className = objetos[no].type + " " + objetos[no].className;
	
		// Navegadores diferentes a FF no interpretan clases separadas por espacios 
		// como clases diferentes asociadas al elemento (si en CSS). Hay que splitearlas.
		
		var classes = objetos[no].className;
	
		var class_array = classes.split(" ");
		
		for(var i=0;i<class_array.length;i++) {

			switch (class_array[i]) {
				case "text":
					//AttachEvent(objetos[no],"focus",FocusDivField);
					//AttachEvent(objetos[no],"blur",BlurDivField);
				break;

				case "submit":
				
					AttachEvent(objetos[no],"click",EncontrarFormulario);

					objetos[no].onclick = function() {return false;};
				
				break;

				case "button":

				break;
			} // end switch

		} // end for
		
	} // end for

	//
	// Objetos tipo "a"
	//-------------------
	
	objetos = document.getElementsByTagName("a");

	for(var no=0;no<objetos.length;no++){

		switch (objetos[no].parentNode.parentNode.className) {
		
		case "mini":
						
			AttachEvent(objetos[no],"click",AbrirEnAmpliacion);
		
		break;
		
		} // end switch	

	
	} // end for


}



// ----------------------------------
// Funcion enviarFormulario
// ----------------------------------

function enviarFormulario() {

	// accionar solo si existe el formulario de contacto

	if (document.getElementById("formulario-contacto")) {
	
		ValidarFormulario();

	}

}

// ----------------------------------------------------------------
// Funcion AbrirEnAmpliacion
//	Para su uso con galerías de imágenes (abrir en ampliación la mini)
// ----------------------------------------------------------------

function AbrirEnAmpliacion(evt) {
	// Con este código obtenemos la referencia al elemento
	// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

	// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	// Por alguna extraña razón el elemento capturado es el "IMG" en lugar del "A".
	var url_imagen_mini;
	var url_imagen;
	
	url_imagen_mini = elemento.src;
	
	url_imagen = url_imagen_mini.replace("/mini","");

	// vamos subiendo por la estructura del DOM hasta que encontramos un elemento con className "galeria"

	var varnodeClass = "";
	var varparentNode = "";
	var div_galeria;
	var div_ampliacion;
	var imagen_ampliacion;

	while(varnodeClass != "galeria") {

	varparentNode = varparentNode + ".parentNode"; 

	varnodeClass = eval("elemento" + varparentNode + ".className;"); //alert ("objetos[no]" + varparentNode + ".tagName;" + "-" + eval("objetos[no]" + varparentNode + ".tagName;"));
	
	}
		
	div_galeria = eval("elemento" + varparentNode);
	
	// Ahora buscamos a uno de sus hijos con className "ampliacion"
	
	for (i=0;i<div_galeria.childNodes.length;i++) {

		for (i=0;i<div_galeria.childNodes.length;i++) {

			//alert(div_temp.childNodes[j].className);

			if (div_galeria.childNodes[i].className == "ampliacion") {

				div_ampliacion = div_galeria.childNodes[i];

			}

		}
		
	}
	
	// Ahora buscamos a uno de sus hijos con tagName "IMG"
	
	for (i=0;i<div_ampliacion.childNodes.length;i++) {
	
		if (div_ampliacion.childNodes[i].tagName == "IMG") {
		
			imagen_ampliacion = div_ampliacion.childNodes[i];
		
		}
	
	}
	
	imagen_ampliacion.src = url_imagen;

}


// ----------------------------------------------------------------------------------
// Funcion EncontrarFormulario
//
// Esta funcion recorre el DOM hasta encontrar un formulario que integre al elemento
// ----------------------------------------------------------------------------------

function EncontrarFormulario(evt) {

	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	// vamos subiendo por la estructura del DOM hasta que encontramos un elemento con tagName "FORM"

	var varnodeName = "";
	var varparentNode = "";
	var nombreFormulario = "";

	while(varnodeName != "FORM") {

	varparentNode = varparentNode + ".parentNode"; 

	varnodeName = eval("elemento" + varparentNode + ".tagName;"); //alert ("objetos[no]" + varparentNode + ".tagName;" + "-" + eval("objetos[no]" + varparentNode + ".tagName;"));

	}
	
	if (ValidarFormulario(eval("elemento" + varparentNode))) {
		eval("elemento" + varparentNode + ".submit()");
	}
	

}

// ----------------------------------------------------------------
// Funcion AttachEvent
//	Para agregar en IE y otros navegadores un evento a un elemento
// ----------------------------------------------------------------

function AttachEvent(elementObj, eventName, eventHandlerFunctionName)
{
  if (elementObj.addEventListener)
  { // Non-IE browsers
    elementObj.addEventListener(eventName, eventHandlerFunctionName, false);
  }
  else if (elementObj.attachEvent)
  { // IE 6+
   elementObj.attachEvent('on' + eventName, eventHandlerFunctionName);
  }
  else
  { // Older browsers
    var currentEventHandler = elementObj['on' + eventName];
    if (currentEventHandler == null)
    {
      elementObj['on' + eventName] = eventHandlerFunctionName;
    }
    else
    {
      elementObj['on' + eventName] = function(e) { currentEventHandler(e); eventHandlerFunctionName(e); }
    }
  }
}

// -----------------------------------------
// Funcion mouseoutear (evento on mouse out)
// -----------------------------------------

function mouseoutear(evt) {

	if(evt) {

		// Con este código obtenemos la referencia al elemento
		// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

		// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
		var ie_var = "srcElement";
		var moz_var = "target";

		var elemento;
		evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

		// Por alguna extraña razón el elemento capturado es el "td" dentro del "tr"
		// sobre el que hacemos onmouseover. Tenemos por tanto que referirnos a su "padre".
		var classonmouseout;
		classonmouseout = elemento.parentNode["classonmouseout"];

		elemento.parentNode.className=classonmouseout;
	
	}
}


//]]>
