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_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_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 validaCheckEncuesta() {
var hayAlMenosUno = false
for (var i=0;i<document.encuesta.elements.length;i++)
    {
var e = document.encuesta.elements[i];
if (e.name == 'Alternativa' && e.checked == true)
      hayAlMenosUno = true
    }
	if (hayAlMenosUno == false) {alert('Debe seleccionar al menos una alternativa para votar.');return false;}
  }



function ValidaLogin() {
if(document.login.usuario.value=='') {alert('Por favor ingrese su nombre de usuario'); document.login.usuario.focus();return false;}
if(document.login.clave.value=='') {alert('Por favor ingrese su clave'); document.login.clave.focus();return false;}
return true;
}

function ValidaBuscar() {
if(document.login.keyword.value=='') {alert('Por favor ingrese una o varias palabras claves separadas por coma(,)'); document.login.keyword.focus();return false;}
return true;
}

function winBRopen(theURL, Name, popW, popH, scroll,resizable) { // V 1.0
var winleft = (screen.width - popW) / 2;
var winUp = (screen.height - popH) / 2;
winProp = 'width='+popW+',height='+popH+',left='+winleft+',top='+winUp+',scrollbars='+scroll+',resizable='+resizable
Win = window.open(theURL, Name, winProp)
if (parseInt(navigator.appVersion) >= 4) { Win.window.focus(); }

}

function EsFecha(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "-";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
	if (DateValue.substr(4,2)< 20) {	
      	DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2);
				}
	else
				{
	DateValue = DateValue.substr(0,4) + '19' + DateValue.substr(4,2);
				}
 }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert("Fecha incorrecta!\nPor favor ingrese fecha en formato dd/mm/aa o dd/mm/aaaa.");
      DateField.select();
	  DateField.focus();
	  return false;
   }
}


// CAMBIA A TEXTO CAPITAL
function changeCase(frmObj) {
var index;
var tmpStr;
var tmpChar;
var preString;
var postString;
var strlen;
tmpStr = frmObj.value.toLowerCase();
strLen = tmpStr.length;
if (strLen > 0)  {
//alert (tmpStr)
for (index = 0; index < strLen; index++)  {
if (index == 0)  {
tmpChar = tmpStr.substring(0,1).toUpperCase();
//alert(tmpChar);
postString = tmpStr.substring(1,strLen);
tmpStr = tmpChar + postString;
}
else {
tmpChar = tmpStr.substring(index, index+1);
if (tmpChar == " " && index < (strLen-1))  {
tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
preString = tmpStr.substring(0, index+1);
postString = tmpStr.substring(index+2,strLen);
tmpStr = preString + tmpChar + postString;
         }
      }
   }
}
frmObj.value = tmpStr;
}
//******************************************
// Lleva texto a mayúscula
function mayuscula(frmObj) {
frmObj.value = frmObj.value.toUpperCase();
}

function minuscula(frmObj) {
frmObj.value = frmObj.value.toLowerCase();
}
//***********************************************************
//agrega puntos a un numero
function Comma(valor) {
var number;
var output;
output = ''

number = valor.value;
number = '' + number;
//sacamos todas las comas
for (i=0 ; i < number.length ; i++) {
	temp = number.substring(i,i+1)
	if ( temp!= ',') { output += temp;}
	}
//volvemos a agregar comas
number = output
if (number.length > 3) {
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0))
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
else
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
//return (output);
valor.value = output
}
else 
//return number;
valor.value = number;
}
//***********************************************************
//valida email

function emailCheck (emailStr) {
if (emailStr =='') { return true;}
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	alert("Dirección de correo inválida (chequee @ y .'s)")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]


if (user.match(userPat)==null) {

    alert("Dirección de correo inválida (chequee @ y .'s)")
    return false
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Dirección de correo inválida (chequee @ y .'s)")
		return false
	    }
    }
    return true
}


var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("Dirección de correo inválida (chequee @ y .'s)")
    return false
}


var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>4) {

   alert("El correo debe terminar con las tres letras del dominio o las dos letras del país.")
   return false
}


if (len<2) {
   var errStr="Dirección de correo inválida (chequee @ y .'s)"
   alert(errStr)
   return false
}
return true;
}

function showBlank(field, obj) {
msg = "Se ha omitido un campo requerido.\n" + field + " se dejó en blanco.\n";
alert(msg)
obj.focus();
}

function showError(showmsg, obj) {
alert(showmsg)
obj.focus();
}
//Función para calendario
function calendar_open(campo)
{
var newWindow;
var urlstring = 'Calendar/Calendar.asp?campo='+ campo
//newWindow = window.open(urlstring,'','height=200,width=270,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no')

newWindow = winBRopen(urlstring,'','260','200','no','no')
}
//deshabilita botones de form cuando hace submit
function disableForm(form1) {
if (document.all || document.getElementById) {
for (i = 0; i < form1.length; i++) {
var tempobj = form1.elements[i];
if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset" || tempobj.type.toLowerCase() == "button")
//tempobj.disabled = true;
tempobj.style.visibility = "hidden";
}
return true;
}
}

function focusLanguage(obj) {
	obj.style.backgroundColor = "#ECF8FF"
}

function blurLanguage(obj) {
	obj.style.backgroundColor = ""
}		

function confirma(txt) {
if(!confirm(txt)==true) {return false};
}