function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
	if (selObj.options[selObj.selectedIndex].value != 'Select One...'){
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	}
		if (restore) selObj.selectedIndex=0;

}

function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit){ // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		alert ('Has excedido el numero maximo de caracteres permitidos');
	}
	else
		cntfield.value = maxlimit - field.value.length;
}

function getValue(_elemento){
	var obj = getElement(_elemento);
	if(obj.tagName=='select'){
		var n = obj.selectedIndex;
		var val = obj[n].value;
		return val;
	}
	else{
		switch(obj.type){
		case 'checkbox':
			return obj.checked
			break;
		default:
			return obj.value;
			break;
		}
	}
}

function getElement(tag){
	return document.getElementById(tag);
}

function isEmail(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
		return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	if (str.indexOf(at,(lat+1))!=-1){
		return false
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	}

	if (str.indexOf(dot,(lat+2))==-1){
		return false
	}

	if (str.indexOf(" ")!=-1){
		return false
	}
	return true
}

function isAlphanumeric(alphane){
	if (alphane.length == 0) return false;
	var numaric = alphane;
	var bool = true;
	for(var j=0; j<numaric.length; j++){
		var alphaa = numaric.charAt(j);
		var hh = alphaa.charCodeAt(0);
		if(!((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123))){
			bool = bool && false;
		}
	}
	return bool;
}

function isNotEmpty(name){
	return name.length>0;
}

function validateCheckBox(name){
	return getValue(name);
}

function validateText(name){
	texto = getValue(name);
	return isNotEmpty(texto);
}

function validateUsuario(name){
	user = getValue(name);
	aux = isAlphanumeric(user);
	return aux;
}

function validateEmail(name){
	email = getValue(name);
	aux = isEmail(email);
	return aux;
}

function validateSelMen(name){
	sel = getValue(name);
	return sel != 0;
}

function validateContactar(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!validateText("nombreyap")){
		bool = false;
		cartel += "Persona de Contacto\n";
	}
	if (!validateEmail("email")){
		bool = false;
		cartel += "E-mail\n";
	}
	if (!validateText("mensaje")){
		bool = false;
		cartel += "Cuestiones\n";
	}
	if (!validateCheckBox("acepto")){
		bool = false;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (bool){
		submitForm('f_contacto');
   	}
	else{
		alert(cartel);
	}
}

function validateEnviarOpinion(){
	var errors = false;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!validateText("titulo")){
		errors = true;
		cartel += "Campo Titulo Incompleto\n";
	}
	if (!validateText("medio")){
		errors = true;
		cartel += "Campo Medio / Fuente Incompleto\n";
	}
	if (!validateText("fuente")){
		errors = true;
		cartel += "Campo Medio / Fuente Incompleto\n";
	}
	if (!validateText("noticia")){
		errors = true;
		cartel += "Campo Noticia Incompleto\n";
	}
	if (!validateCheckBox("acepto")){
		errors = true;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (errors){
		alert(cartel);
	}
	return bool;
}

function validateEnviarEnlace(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!validateText("nombre")){
		bool = false;
		cartel += "Campo Nombre Incompleto\n";
	}
	if (!validateText("url")){
		bool = false;
		cartel += "Campo Url Incompleto\n";
	}
	if (!validateSelMen("enlMen")){
		bool = false;
		cartel += "Seleccione una categoria\n";
	}
	if (!validateCheckBox("acepto")){
		bool = false;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (bool){
		submitForm('f_enviaenlace');
   	}
	else{
		alert(cartel);
	}
}

function validateEnviarNoticia(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
		if (!validateText("nombre")){
		bool = false;
		cartel += "Campo Nombre Incompleto\n";
	}
	if (!validateEmail("email")){
		bool = false;
		cartel += "E-mail\n";
	}
	if (!validateText("telefono")){
		bool = false;
		cartel += "Campo Tel. Incompleto\n";
	}
	if (!validateText("mediofuente")){
		bool = false;
		cartel += "Campo Medio/Fuente Incompleto\n";
	}
	if (!validateSelMen("noticiaText")){
		bool = false;
		cartel += "Campo Noticia Incompleto\n";
	}
	if (!validateCheckBox("acepto")){
		bool = false;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (bool){
		submitForm('f_cuentenos');
   	}
	else{
		alert(cartel);
	}
}

function validateCommentNoticia(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!validateText("usuario")){
		bool = false;
		cartel += "Campo Nombre Incompleto\n";
	}
	if (!validateEmail("email")){
		bool = false;
		cartel += "E-mail\n";
	}
	if (!validateText("commentText")){
		bool = false;
		cartel += "Campo Comentarios Incompleto\n";
	}
	if (!validateCheckBox("acepto")){
		bool = false;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (bool){
		submitForm('f_comentar');
   	}
	else{
		alert(cartel);
	}
}

function validateEnviarAmigo(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!validateText("tunombre")){
		bool = false;
		cartel += "Campo Tu Nombre Incompleto\n";
	}
	if (!validateEmail("tuemail")){
		bool = false;
		cartel += "Tu E-mail\n";
	}
	if (!validateText("nombreamigo")){
		bool = false;
		cartel += "Campo Nombre Amigo Incompleto\n";
	}
	if (!validateEmail("emailamigo")){
		bool = false;
		cartel += "E-mail Amigo\n";
	}
	if (!validateCheckBox("acepto")){
		bool = false;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (bool){
		submitForm('f_enviaramigo');
   	}
	else{
		alert(cartel);
	}
}

function lengthText(name, numero){
	texto = getValue(name);
	return texto.length >= numero;
}

function validateBuscador(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!lengthText("searchString", 3)){
		bool = false;
		cartel += "Campo Que? debe tener al menos 3 caracteres\n";
	}
	if (!(validateCheckBox("chk_donde") || validateCheckBox("chk_google"))){
		bool = false;
		cartel += "Debe Marcar Campo Donde?\n";
	}
 	if (bool){
		submitForm('f_buscador');
   	}
	else{
		alert(cartel);
	}
}

function submitForm(f){
	var formName = getElement(f);
	formName.submit();
}

function changeDonde(){
	var chkDonde = getElement('chk_donde');
	var selectDonde = getElement('s_donde');
	selectDonde.disabled = !chkDonde.checked;
}

function validateInstalacion(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!validateText("empresa")){
		bool = false;
		cartel += "Campo Empresa Incompleto\n";
	}
	if (!validateEmail("email")){
		bool = false;
		cartel += "Campo E-mail Incorrecto\n";
	}
	if (!validateText("telefono")){
		bool = false;
		cartel += "Campo Telefono Incompleto\n";
	}
	if (!validateSelMen("provincia")){
		bool = false;
		cartel += "Seleccione una provincia\n";
	}
	if (!validateCheckBox("acepto")){
		bool = false;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (bool){
		submitForm('frmInstalacion');
   	}
	else{
		alert(cartel);
	}
}

function validateAnuncios(){
	var bool = true;
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	if (!validateText("usuario")){
		bool = false;
		cartel += "Campo Nombre Incompleto\n";
	}
	if (!validateEmail("email")){
		bool = false;
		cartel += "Campo E-mail Incorrecto\n";
	}
	if (!validateText("telefono")){
		bool = false;
		cartel += "Campo Telefono Incompleto\n";
	}
	if (!validateSelMen("tablon")){
		bool = false;
		cartel += "Seleccione un tablon para el anuncio\n";
	}
	if (!validateText("titulo")){
		bool = false;
		cartel += "Campo Titulo Anuncio Incompleto\n";
	}
	if (!validateText("anuncio")){
		bool = false;
		cartel += "Campo Anuncio Incompleto\n";
	}
	if (!validateCheckBox("acepto")){
		bool = false;
		cartel += "Marcar 'Leo y acepto las condiciones de uso'\n";
	}
 	if (bool){
		submitForm('frmAnuncio');
   	}
	else{
		alert(cartel);
	}
}

function validateFormRegistro(){
	var cartel = "Ud. tiene errores. Por favor corrija los siguientes campos: \n";
	var errors = '';
	var type = getRequiredFieldsRegisterForm('type');
	var required_fields = getRequiredFieldsRegisterForm('required_fields');
	switch (type) {
		case 'ambos':
		case 'boletin':
			checkPass = true;
		break;
		case 'impresa':
			checkPass = false;
		break;
	}

	var f = document.getElementById('form-table');
	var rows = f.getElementsByTagName('input');
	if( rows ){
		for( i=0 ; i<rows.length ; i++ ){
			if( required_fields.indexOf('|'+rows[i].name+'|')!=-1 && rows[i].value=='' )
				errors += rows[i].parentNode.parentNode.childNodes[1].innerHTML + '\n';
		}
	}
	if( checkPass && document.forms['f_registro'].elements['Password'].value!=document.forms['f_registro'].elements['ConfirmPassword'].value )
		errors += 'Contraseña y Confirmar Contraseña deben coincidir\n';
	if( !document.forms['f_registro'].elements['acepto'].checked )
		errors += "Marcar 'Leo y acepto las condiciones de uso'\n";

	if( errors!='' ) {
		alert(cartel+errors);
		return false;
	}
	return true;
}

function IsNumeric(strString){
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;
	for (u = 0; u < strString.length && blnResult == true; u++){
		strChar = strString.charAt(u);
		if (strValidChars.indexOf(strChar) == -1){
			blnResult = false;
		}
	}
	return blnResult;
}

function validateContactForm( fName ){
	f = getElement(fName);
	var result = validateForm( f );
	if (result){
		if (validateEmail('e_email')){
			var valTel = getValue('e_tel');
			if (valTel.length>=6 && IsNumeric(valTel)){
				if( !f.elements['acepto'].checked ) {
					alert('Debe aceptar las condiciones de uso');
				}
				else{
					submitForm(fName);
				}
			}
			else{
				alert('Teléfono debe ser minimo 6 digitos y numerico');
			}
		}
		else{
			alert('Email debe tener formato correcto');
		}
	}
}


function validateForm ( f ) {
	var fields;
	var errors = '';
	if ( !f ) return false;
	//alert( navigator.userAgent + ' ' + navigator.appVersion );
	if( navigator.userAgent.indexOf('MSIE')!=-1 )
		idxName = 0;
	else
		idxName = 1;
	fields = f.getElementsByTagName('input');
	for( i=0 ; i<fields.length ; i++ ){
		if( fields[i].className.indexOf('required')!=-1 ){
			switch( fields[i].type ){
				case 'text':
				case 'textarea':
					if( fields[i].value=='' )
						errors += 'Debe completar el campo ' + fields[i].parentNode.parentNode.childNodes[idxName].innerHTML.replace(/<[^>]*>/gi,'').replace(/[\n\s]/gi,' ') + '\n';
					break;
				case 'checkbox':
					if( !fields[i].checked )
						errors += 'Debe marcar el campo ' + fields[i].parentNode.parentNode.childNodes[idxName].innerHTML.replace(/<[^>]*>/gi,'').replace(/[\n\s]/gi,' ') + '\n';
					break;
				case 'radio':
					// TODO implementar
					break;
			}
		}

	}
	fields = f.getElementsByTagName('textarea');
	for( i=0 ; i<fields.length ; i++ ){
		if( fields[i].className.indexOf('required')!=-1 ){
			if( fields[i].value=='' )
				errors += 'Debe completar el campo ' + fields[i].parentNode.parentNode.childNodes[idxName].innerHTML.replace(/<[^>]*>/gi,'').replace(/[\n\s]/gi,' ') + '\n';
		}

	}
	fields = f.getElementsByTagName('select');
	for( i=0 ; i<fields.length ; i++ ){
		if( fields[i].className.indexOf('required')!=-1 ){
			if( fields[i].options[ fields[i].selectedIndex ].value=='' )
				errors += 'Debe seleccionar una opción del campo ' + fields[i].parentNode.parentNode.childNodes[idxName].innerHTML.replace(/<[^>]*>/gi,'').replace(/[\n\s]/gi,' ') + '\n';
		}

	}

	if( errors!='' ) {
		alert(errors);
		return false;
	}
	return true;
}

function validateFormRegistro( f ) {
	var result = validateForm( f );
	if( result ){
		var errors = '';
		if( f.elements['clave1'].value!=f.elements['clave2'].value || f.elements['clave1'].value.length<6 )
			errors += 'Los campos Contraseña y Repita Contraseña deben coincidir y tener 6 o mas letras\n';
		if( f.elements['recibirsms'].checked && f.elements['movil'].value=='' )
			errors += 'si desea recibir mensajes sms debe ingresar el número de su movil\n';
		if( errors!='' ){
			result=false;
			alert(errors);
		}
	}
	return result;
}

function getAgenda(){
	var targ = 'top';
	mesDrop = getElement('mes');
	anioDrop = getElement('fecha');
	eval("top.location='agenda.php?mes="+mesDrop.options[mesDrop.selectedIndex].value+"&anio="+anioDrop.options[anioDrop.selectedIndex].value+"'");
}


function realizarBusqueda(){
	var b = getElement('buscar');
	if (b.value!=''){
		submitForm('f_busqueda');
	}
}
