
function NewWindow(mypage, myname, w, h, scrolling, resizable) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scrolling+',resizable='+resizable+''
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}

function validar_contacto(f){
	//alert(f.email.value);
		result = isRequired(f.author,'Nombre') && 
		isMailAddress(f.email.value,'Email',true) && 
		isRequired(f.comment, 'Mensaje');
	return result;
}

function validar_registro(f){
	//alert(f.email.value);
		result = isRequired(f.author,'Nombre') && 
		isMailAddress(f.email.value,'Dirección de Correo Electrónico',true) && 
		isRequired(f.comment, 'Comentario');

	return result;
}


String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function trim(s) 
{
	var temp="";
  	for (var i=0; i<s.length; i++)
    {
	 	if (s.substring(i,i+1) == ' ')
			var o=0;	     
		else
		  temp = temp+s.substring(i,i+1);	 
	}
  	return temp;
}

function isRequired(FieldControl, fName) 
// Verifica que un campo (cualquiera que sea tipo Radio, Text, Select, etc) tenga alg?lor distinto de ""
//PARAM1 FieldControl: El nombre del campo HTML
//PARAM2 fName: El nombre del campo a validar. Este par?tro se utiliza para mostrar el mensaje de error
//@autor: Nelio
{	
	switch (FieldControl.type) {
		
		case "radio": 
						for(i=0;i<FieldControl.length;i++) {
							if(FieldControl[i].checked) return true;
						}
						alert("El campo " + fName + " es requerido");
						FieldControl.focus();
						return false;
						break;
		case "text":
		
		case "password":
		
		case "textarea":
		
		case "file":
						if (FieldControl.value.length==0 || !trim(FieldControl.value)) {
							alert("El campo " + fName + " es requerido");	
							FieldControl.value="";
							FieldControl.focus();
							return false;
						} 	
						break;
		case "hidden":
						if (FieldControl.value.length==0) {
							alert("El campo " + fName + " es requerido");	
							return false;
						}
						break;
		case "select-one":
		case "select-multiple":
						if (FieldControl[FieldControl.selectedIndex].value=="" || FieldControl.selectedIndex==-1) {
							FieldControl.focus();
							alert("El campo " + fName + " es requerido");	
							return false;
						}
						break;
	}
	return true;
}

function isMailAddress(sText, fName, fReq) 
// Verifica que una cadena sea una direcci??e correo electr??o v?da
//PARAM1 sText: El texto a validar
//PARAM2 fName: El nombre del campo a validar. Este par?tro se utiliza para mostrar el mensaje de error
//PARAM3 fReq: Se usa para indicar si un campo es requerido o no
//@autor: Nelio
{
	if(fReq && sText.length==0) {
		alert("El campo " + fName + " es requerido");
	  return false;
	} else {
		if(sText.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) {
			alert("El campo " + fName + " no contiene una dirección de correo electrónico válida");
			return false;
		}
	}
	return true;
}

