
// JavaScript Document

//Declaraciones-------------------------------
var navegador = detectBrowser();
var acordeon_activo = false;
var amper = "&";
//Detect browser version
var userAgent = navigator.userAgent.toLowerCase();
// Figure out what browser is being used
var browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
safari: /webkit/.test( userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};
var navegador_explorer=browser.msie;
var version_navegador=browser.version.toString();
//end browser detection



function desplegar_menu(nombre,sn)
{
obj = document.getElementById(nombre);
element = document.getElementById(nombre).style;
if (sn>0)
	 //acordeon(nombre)
	 obj.style.display = "inline";
     //Effect.BlindDown(nombre,{duration:1,afterFinish:function() {acordeon_activo=false;}});
else
	 obj.style.display = "none";
	 //Effect.BlindUp(nombre,{afterFinish:function() {acordeon_activo=false;}});
}



function acordeon(elemento)//Expande las listas
	{
	var elementodiv = "div_"+elemento;
	var elementoimg = "img_"+elemento;

	element = document.getElementById(elemento).style;
	if (acordeon_activo==false){
		acordeon_activo = true;
		if (element.display == 'none')
			{
			Effect.BlindDown(elemento,{duration:1,afterFinish:function() {acordeon_activo=false;}});
			//$(elementoimg).src='images/simbolo_expandir.gif';
			}
		else
			{
			Effect.BlindUp(elemento,{afterFinish:function() {acordeon_activo=false;}});
			//$(elementoimg).src='images/simbolo_contraer.gif';
			}
		}
	}

function acordeon_rapido(elemento)//Expande las listas
	{
	var elementodiv = "div_"+elemento;
	var elementoimg = "img_"+elemento;

	element = document.getElementById(elemento).style;
	if (acordeon_activo==false){
		acordeon_activo = true;
		if (element.display == 'none')
			{
			Effect.BlindDown(elemento,{duration:0.4,afterFinish:function() {acordeon_activo=false;}});
			//$(elementoimg).src='images/simbolo_expandir.gif';
			}
		else
			{
			Effect.BlindUp(elemento,{afterFinish:function() {acordeon_activo=false;}});
			//$(elementoimg).src='images/simbolo_contraer.gif';
			}
		}
	}

function acordeon2(elemento)//Expande las listas
	{
	var elementodiv = "div_"+elemento;
	var elementoimg = "img_"+elemento;

	element = document.getElementById(elemento).style;
	if (acordeon_activo==false){
		acordeon_activo = true;
		if (element.display == 'none')
			{
			Effect.Grow(elemento,{duration:0.6,afterFinish:function() {acordeon_activo=false;}});
			//$(elementoimg).src='images/simbolo_expandir.gif';
			}
		else
			{
			Effect.Shrink(elemento,{duration:0.6,afterFinish:function() {acordeon_activo=false;}});
			//$(elementoimg).src='images/simbolo_contraer.gif';
			}
		}
	}
	
//funcion para validar que es una imagen
function LimitAttach(tField,iType) { 
file=tField.value; 
if (iType==1) { 
extArray = new Array(".gif",".jpg",".png",".jpeg"); 
} 
if (iType==2) { 
extArray = new Array(".swf"); 
} 
if (iType==3) { 
extArray = new Array(".exe",".sit",".zip",".tar",".swf",".mov",".hqx",".ra",".wmf",".mp3",".qt",".med",".et");
 } 
if (iType==4) { 
extArray = new Array(".mov",".ra",".wmf",".mp3",".qt",".med",".et",".wav"); 
} 
if (iType==5) { 
extArray = new Array(".html",".htm",".shtml"); 
} 
if (iType==6) { 
extArray = new Array(".doc",".xls",".ppt"); 
} 
allowSubmit = false; 
if (!file) return; 
while (file.indexOf("\\") != -1) file = file.slice(file.indexOf("\\") + 1); 
ext = file.slice(file.indexOf(".")).toLowerCase(); 
for (var i = 0; i < extArray.length; i++) { 
if (extArray[i] == ext) { 
allowSubmit = true; 
break; 
} 
} 
if (allowSubmit) { 
} else { 

obj = document.getElementById('imagen');
var newobj = document.createElement('input');
newobj.type='file';
newobj.id=obj.id;
newobj.name=obj.name;
newobj.onchange=obj.onchange;
newobj.setAttribute("class",obj.getAttribute("class"));
obj.parentNode.replaceChild(newobj, obj); 

alert("Usted solo puede subir archivos con extensiones " + (extArray.join(" ")) + "\nPor favor seleccione un nuevo archivo");
 } 
}  

//Inicio Captcha
function RefreshImage(valImageId) {
	var objImage = document.images[valImageId];
	var objImage2 = document.images['imgCaptcha2'];
	if (objImage == undefined) {
		return;
	}
	var now = new Date();
	//alert(objImage.src);
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
	if (objImage2 != undefined) {
		objImage2.src = objImage.src;
	}
}


function validar_env(){
	$('tapa_mensaje_error').show();

		if(campos_obligatorios_formulario('form','nombre,apellidos,email,grupo_principal,captchacode','Para poder realizar el envío es necesario rellenar los siguientes datos: \n - Nombre. \n - Apellidos. \n - Email. \n - Grupo 1ª Preferencia (solo si hay varias opciones). \n - Código de seguridad.') && validar_email('document.form.email.value','El campo email es incorrecto'))
		{corregir_campos_formulario('form','nombre,apellidos,organizacion,campo,cargo,email,observaciones');return true;}
		else{
			$('tapa_mensaje_error').style.display='none';
			return false;}

}

function campos_obligatorios_formulario (formulario,lista_campos,texto){
	devolver="true";
	array_lista_campos = lista_campos.split(',');
	for (var i=0;i<array_lista_campos.length;i++){
			//alert(eval("document.crea_usu."+(array_lista_campos[i])+".value"))
			if (eval("document."+formulario+"."+(array_lista_campos[i])+".value")=='')
			{
			devolver="false";
			}
			//alert(devolver);
		} 

	if (devolver=="false")
	{
		if (texto!='') {alert(texto);} else {alert('Ha de rellenar los campos indicados con un *')}
	return false;
	}
	else
	{
	return true;
	}
}

function validar_email (campo,texto){
	if (eval(campo) != ""){
		
	if( !(/^[A-Za-z][A-Za-z0-9_\-\.]*@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-.]+[A-za-z]$/.test(eval(campo))) )
	{
	alert(texto);
	return false;
	}
	else
	{
	return true;
	}
	}
	else{return true;}
}


function campos_numericos_formulario (formulario,lista_campos,texto){
	devolver="true";
	array_lista_campos = lista_campos.split(',');
	for (var i=0;i<array_lista_campos.length;i++){
			//alert(eval("document.crea_usu."+(array_lista_campos[i])+".value"))
			if (isNaN(eval("document."+formulario+"."+(array_lista_campos[i])+".value")))
			{
			devolver="false";
			}
			//alert(devolver);
		} 

	if (devolver=="false")
	{
		if (texto!='') {alert(texto);} else {alert('Revise los campos numericos del formulario')}
	return false;
	}
	else
	{
	return true;
	}
}

function corregir_campos_formulario (formulario,lista_campos){
	array_lista_campos = lista_campos.split(',');
	for (var i=0;i<array_lista_campos.length;i++){
			campo=eval("document."+formulario+"."+(array_lista_campos[i])+".value");
			$(array_lista_campos[i]).value=reemplazar(campo)
			//alert(campo)
		} 

}

function corregir_campos_formulario_con_etiqueta (formulario,lista_campos){
	array_lista_campos = lista_campos.split(',');
	for (var i=0;i<array_lista_campos.length;i++){
			campo=eval("document."+formulario+"."+(array_lista_campos[i])+".value");
			$(array_lista_campos[i]).value=reemplazar_con_etiquetas(campo)
			//alert(campo)
		} 

}

function reemplazar(cadena)
{
	var cadena_final = cadena;
	
	cadena_final = cadena_final.replace(/&/g,"&amp;");
	cadena_final = cadena_final.replace(/'/g,"\"");
	cadena_final = cadena_final.replace(/\“/g,"&quot;");
	cadena_final = cadena_final.replace(/\”/g,"&quot;");
	cadena_final = cadena_final.replace(/\"/g,"&quot;");
	cadena_final = cadena_final.replace(/\n/g,'<br />');
	cadena_final = cadena_final.replace(/</g,"< ");
	cadena_final = cadena_final.replace(/>/g," >");
	cadena_final = cadena_final.replace(/<  /g,"< ");
	cadena_final = cadena_final.replace(/  >/g," >");
	cadena_final = cadena_final.replace(/< br \/ >/g,"<br />");
	cadena_final = cadena_final.replace(/< b >/g,"<b>");
	cadena_final = cadena_final.replace(/< \/b >/g,"</b>");
	cadena_final = cadena_final.replace(/< em >/g,"<em>");
	cadena_final = cadena_final.replace(/< \/em >/g,"</em>");
	cadena_final = cadena_final.replace(/< span/g,"<span");
	cadena_final = cadena_final.replace(/< \/span >/g,"</span>");
	
	return cadena_final;
}

function validarEmail(valor)
	{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
		{
		return (true);
		}
	else 
		{
		return (false);
		}
	}



function validar_contacto(formulario) //Valida el formulario de envío de contacto
	{
	if (formulario == "form_contacto")
		{
		if (($(formulario).nombre.value == "") || ($(formulario).nombre.value == "persona de contacto*"))
			{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - El nombre de la persona de contacto no puede estar vacio, es un campo obligatorio</div>');
			//new Effect.Highlight('persona', {startcolor : '#C00000'});
			return false;
			}
		else{
			if (($(formulario).email.value == "") || ($(formulario).email.value == "correo electronico*") || (validarEmail($(formulario).email.value) == false))
				{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - Debe introducir un email correcto, es un campo obligatorio</div>');
				//new Effect.Highlight('email', {startcolor : '#C00000'});
				return false;
				}
			else
				{
					if (($(formulario).personas.value == "") || ($(formulario).personas.value == "descripcion del proyecto*"))
						{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - El campo número de personas nos indica las personas de la reserva, es un campo obligatorio</div>');
						//new Effect.Highlight('consulta', {startcolor : '#C00000'});
						return false;
						}
					else
						{return true}	
				}	
			}
		}
	if (formulario == "form_registro")
		{
		if (($(formulario).empresa.value == "") || ($(formulario).empresa.value == "optica/centro*"))
			{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - El nombre del centro no puede estar vacio, es un campo obligatorio</div>');
			new Effect.Highlight('empresa', {startcolor : '#C00000'});
			return false;
			}
		else{
			if (($(formulario).persona.value == "") || ($(formulario).persona.value == "persona de contacto*"))
				{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - El nombre de la persona de contacto no puede estar vacio, es un campo obligatorio</div>');
				new Effect.Highlight('persona', {startcolor : '#C00000'});
				return false;
				}
			else{
				if (($(formulario).email.value == "") || ($(formulario).email.value == "correo electronico*") || (validarEmail($(formulario).email.value) == false))
					{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - Debe introducir un email correcto, es un campo obligatorio</div>');
					new Effect.Highlight('email', {startcolor : '#C00000'});
					return false;
					}
				else
					{
					if (($(formulario).telefono.value == "") || ($(formulario).telefono.value == "telefono*"))
					{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - El telefono de contacto no puede estar vacio, es un campo obligatorio</div>');
					new Effect.Highlight('telefono', {startcolor : '#C00000'});
					return false;
						}
					else
						{
						if (($(formulario).direccion.value == "") || ($(formulario).direccion.value == "direccion*"))
						{Element.update('form_contact', '<div style="width:100%; background-color:#C30; color:#FFF; font-size:14px; font-weight:bolder; text-align:center">Error - La direccion no puede estar vacia, es un campo obligatorio</div>');
						new Effect.Highlight('direccion', {startcolor : '#C00000'});
						return false;
							}
						else
							{
								return true	
							}
						}
					}	
				}
			}

		}
	}


function envia_contacto(formulario) //envia un formulario de contacto
	{

var aleatorio=Math.random(); 
	var direccion_final;
	var parametros;
	Element.update('form_contact', '<img src="images/loading2.gif" width="220" height="19" alt="Validando formulario" />');
	if (validar_contacto(formulario))
		{
		direccion_final = $(formulario).action + '?nocache=' + aleatorio;
		parametros = $(formulario).serialize();
		//Element.update('columna_derch' + idioma_actual, eval('mensaje_carga_pag' + idioma_actual));
		new Ajax.Request(direccion_final,
						{
						method: 'post', 
						parameters:parametros,
						onSuccess: function(transport) 
							{
							Element.update('form_contact', transport.responseText);
							},
						onFailure: function(failure)
							{
							//Element.update('columna_derch' + idioma_actual, failure.responseText);
							}
						});
		}
	return false;
	}


/*ESPECÍFICAS*/
function preCarga() { 
if (!document.images) return; 
var ar = new Array(); 
var arguments = preload.arguments; 
for (var i = 0; i < arguments.length; i++) { 
ar[i] = new Image(); 
ar[i].src = arguments[i]; 
} 
} 

function resetear_formulario(id_formulario){
	document.location.href='http://www.misecameficiente.org/index.asp?pagina=inscribete&id_formulario=' + id_formulario;
	}
