function popup(url,barra,scroll,w,h) 
{
	vent=window.open(url,'','screenx=0,screeny=0,toolbar=' + barra + ',width=' + w + ',height=' + h +',directories=no,status=no,scrollbars=' + scroll + ',resize=yes,menubar=no,top=150,left=200');
	vent.focus();
}
////////////////////////////////////////
function showTarifa(formulario)
{
	formulario.valor.value = formulario.pais.value;
}
////////////////////////////////////////

function ValidateString(theField, checkOK)
{
  var checkStr = theField.value;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
	sMsg = "debe poseer caracteres válidos";
    return (false);
  }
  else
  {
    return (true);
  }
}


// valida cadenas vacias 
String.prototype.trim = _String_trim;

function _String_trim(){
 var tstr = this.toString();

 while(tstr.charAt(0) == " ")
 tstr = tstr.substring(1);

 while(tstr.charAt(tstr.length - 1) == " ")
 tstr = tstr.substring(0,tstr.length-2);
 
 return tstr;
}

// valida mail
var sMsg       = ""
var sAlpha     = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz- ";
var sAlphaExt  = "ÁÉÍÓÚÑÄËÏÖÜÂÊÎÔÛ áéíóúñäëïöüâêîôû";
var sAlphaMail = "@.-_";
var sNumeric   = "1234567890";
var sDot       = ".";
var sHyphen	   = "-";
var sAlphaOk = "@.-_,:;$!()|?";

function ValidateEmail(theField){
var checkOK = sAlpha + sNumeric + sAlphaMail;
var checkStr = theField.value;
var allValid = true;

for (i = 0;  i < checkStr.length;  i++)
{
  ch = checkStr.charAt(i);
  for (j = 0;  j < checkOK.length;  j++)
	if (ch == checkOK.charAt(j))
	  break;
  if (j == checkOK.length)
  {
	allValid = false;
	break;
  }
}

if (!allValid)
{
 sMsg = " contiene caracteres inválidos.";
  return (false);
}
else
{
  return (true);
}
}

function ValidateFEmail(theField)
{
var checkOK = sAlpha + sNumeric + sAlphaMail;
var checkOK2 = sAlpha + sNumeric + sDot + sHyphen
var checkStr = theField.value;

var ExisteAt = false;
var Existepoint = false;
var caracter= false;
var cont3 = 0;
var cont = 0;	
var cont2 = 0;
var largo = checkStr.length


for (i = 0;  i < checkStr.length;  i++)
{
   ch = checkStr.charAt(i);
   if (ch == "@") {
	  ExisteAt = true ;
	 cont=i;
  }
   if (ch == ".") {
	  Existepoint = true ;
	 cont2=i;
	 cont2=cont2 + 1;      	
  }

}

if (ExisteAt){
 for (z = cont;  z < checkStr.length;  z++){
	ch2 = checkStr.charAt(z);
	if (ch2 == "_") {
		caracter = true;
		ch3 = ch2 ;
	}
 }
}

if ((cont > cont2) || (!Existepoint) || (caracter) || (!ExisteAt) || (parseInt(cont2) == checkStr.length )) {
	 if (caracter){
	sMsg = " tiene el caracter '" + ch3 + "' inválido.";}
 else{
   sMsg = " debe tener el formato 'usuario@dominio'";
  }
  return (false);
}
else
{
  return (true);
}

}

function ValidateContactenos(formulario)
{
    if (formulario.nombre.value.trim() == "") {
         formulario.nombre.focus();
         alert("Por favor ingrese su nombre.");
         return false;
    } 
	  if (ValidateString(formulario.nombre, sAlphaExt+sAlpha)== false) {
           formulario.nombre.focus();
           alert("El nombre ingresado contiene caracteres no válidos.");
           return false;
      } 

    if (formulario.apellido.value.trim() == "") {
         formulario.apellido.focus();
         alert("Por favor ingrese su apellido.");
         return false;
    } 
	  if (ValidateString(formulario.apellido, sAlphaExt+sAlpha)== false) {
           formulario.apellido.focus();
           alert("El apellido ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.telefono, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.telefono.focus();
           alert("El telefono ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.domcomercial, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.domcomercial.focus();
           alert("El Domicilio Comercial ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.dompersonal, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.dompersonal.focus();
           alert("El Domicilio ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.ciudad, sAlphaExt+sAlpha)== false) {
           formulario.ciudad.focus();
           alert("La ciudad ingresada contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.provincia, sAlphaExt+sAlpha)== false) {
           formulario.provincia.focus();
           alert("La provincia ingresada contiene caracteres no válidos.");
           return false;
      } 

	  /*if (ValidateString(formulario.coment, sAlphaExt+sAlpha+sAlphaOk+sNumeric)== false) {
           formulario.coment.focus();
           alert("El comentario ingresado contiene caracteres no válidos.");
           return false;
      } 
		*/
	 if (formulario.email.value.trim() != "") {
		if (!ValidateEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
		if (!ValidateFEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
	 }
	 else {
		formulario.email.focus();
		alert("Por favor ingrese su email.");
		return false;
	 }
     return true;
}

function ValidateAdmin(formulario)
{
    if (formulario.nombre.value.trim() == "") {
         formulario.nombre.focus();
         alert("Por favor ingrese su nombre.");
         return false;
    } 
	  if (ValidateString(formulario.nombre, sAlphaExt+sAlpha)== false) {
           formulario.nombre.focus();
           alert("El nombre ingresado contiene caracteres no válidos.");
           return false;
      } 

    if (formulario.apellido.value.trim() == "") {
         formulario.apellido.focus();
         alert("Por favor ingrese su apellido.");
         return false;
    } 
	  if (ValidateString(formulario.apellido, sAlphaExt+sAlpha)== false) {
           formulario.apellido.focus();
           alert("El apellido ingresado contiene caracteres no válidos.");
           return false;
      } 
	 if (formulario.email.value.trim() != "") {
		if (!ValidateEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
		if (!ValidateFEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
	 }
	 else {
		formulario.email.focus();
		alert("Por favor ingrese su email.");
		return false;
	 }

	if(formulario.dia.value != "")
	{
		if (ValidateString(formulario.dia, sNumeric)== false) {
			alert("El Día contiene caracteres no válidos.");
			formulario.dia.focus();
			return false;
		}		
		if(formulario.dia.value > 31)
		{
			alert("El día no es válido.");
			formulario.dia.focus();
			return false;
		}		
	}

    if(formulario.mes.value != "")
	{
		if (ValidateString(formulario.mes, sNumeric)== false) {
			alert("El Mes contiene caracteres no válidos.");
			formulario.mes.focus();
			return false;
		}
		if(formulario.mes.value > 12)
		{
			alert("El Mes no es válido.");
			formulario.mes.focus();
			return false;
		}		
	}		

    if(formulario.ano.value != "")
	{
		if (ValidateString(formulario.ano, sNumeric)== false) {
			alert("El Año contiene caracteres no válidos.");
			formulario.ano.focus();
			return false;
		}
	}

	return true;
}


function ValidateBusqueda(formulario)
{
    if ((formulario.nombre.value.trim() == "") && (formulario.empresa.value.trim() == "")) {
         formulario.nombre.focus();
         alert("Por favor ingrese el nombre o la empresa a buscar.");
         return false;
    } else {
	    if (formulario.nombre.value.trim() != "") {
			if (ValidateString(formulario.nombre, sAlphaExt+sAlpha)== false) {
				formulario.nombre.focus();
				alert("El nombre ingresado contiene caracteres no válidos.");
				return false;
			} 
			if (formulario.nombre.value.length < 3) {
				formulario.nombre.focus();
				alert("El nombre ingresado para la búsqueda debe tener más de 3 caracteres.");
				return false;
			} 

		} 
	    if (formulario.empresa.value.trim() != "") {
			if (ValidateString(formulario.empresa, sAlphaExt+sAlpha+sDot+sNumeric)== false) {
				formulario.empresa.focus();
				alert("La empresa ingresada contiene caracteres no válidos.");
				return false;
			} 
			if (formulario.empresa.value.length < 3) {
				formulario.empresa.focus();
				alert("La empresa ingresada para la búsqueda debe tener más de 3 caracteres.");
				return false;
			} 

		} 
    }
}

function ValidatePassword(formulario){
    if (formulario.actual.value.trim() == "") {
         formulario.actual.focus();
         alert("Por favor ingrese su Password Actual.");
         return false;
    } 
	  if (ValidateString(formulario.actual, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.actual.focus();
           alert("El Password Actual ingresado contiene caracteres no válidos.");
           return false;
      } 
    if (formulario.npasswd.value.trim() == "") {
         formulario.npasswd.focus();
         alert("Por favor ingrese su Nueva Password.");
         return false;
    } 
	  if (ValidateString(formulario.npasswd, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.npasswd.focus();
           alert("La Nueva Password ingresado contiene caracteres no válidos.");
           return false;
      } 
    if (formulario.rpasswd.value.trim() == "") {
         formulario.rpasswd.focus();
         alert("Por favor Reingrese ingrese su Nueva Password.");
         return false;
    } 
	  if (ValidateString(formulario.rpasswd, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.rpasswd.focus();
           alert("La Nueva Password ingresado contiene caracteres no válidos.");
           return false;
      } 
    if (formulario.rpasswd.value.trim() != formulario.npasswd.value.trim()) {
         formulario.rpasswd.focus();
         alert("Las Passwords Ingresadas son distintas.");
         return false;
    } 
    return true;

}

function ValidateSoporte(formulario)
{
    if (formulario.nombre.value.trim() == "") {
         formulario.nombre.focus();
         alert("Por favor ingrese su nombre.");
         return false;
    } 
	  if (ValidateString(formulario.nombre, sAlphaExt+sAlpha)== false) {
           formulario.nombre.focus();
           alert("El nombre ingresado contiene caracteres no válidos.");
           return false;
      } 

    if (formulario.apellido.value.trim() == "") {
         formulario.apellido.focus();
         alert("Por favor ingrese su apellido.");
         return false;
    } 
	  if (ValidateString(formulario.apellido, sAlphaExt+sAlpha)== false) {
           formulario.apellido.focus();
           alert("El apellido ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.telefono, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.telefono.focus();
           alert("El telefono ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.coment, sAlphaExt+sAlpha+sAlphaOk+sNumeric)== false) {
           formulario.coment.focus();
           alert("El comentario ingresado contiene caracteres no válidos.");
           return false;
      } 

	 if (datos.email.value.trim() != "") {
		if (!ValidateEmail( datos.email)) {
		   datos.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
		if (!ValidateFEmail( datos.email)) {
		   datos.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
	 }
	 else {
		datos.email.focus();
		alert("Por favor ingrese su email.");
		return false;
	 }
     return true;
}

function ValidateMisDatos(formulario)
{
    if (formulario.nombre.value.trim() == "") {
         formulario.nombre.focus();
         alert("Por favor ingrese su nombre.");
         return false;
    } 
	  if (ValidateString(formulario.nombre, sAlphaExt+sAlpha)== false) {
           formulario.nombre.focus();
           alert("El nombre ingresado contiene caracteres no válidos.");
           return false;
      } 

    if (formulario.apellido.value.trim() == "") {
         formulario.apellido.focus();
         alert("Por favor ingrese su apellido.");
         return false;
    } 
	  if (ValidateString(formulario.apellido, sAlphaExt+sAlpha)== false) {
           formulario.apellido.focus();
           alert("El apellido ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (ValidateString(formulario.telefono, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.telefono.focus();
           alert("El telefono ingresado contiene caracteres no válidos.");
           return false;
      } 

	 if (formulario.email.value.trim() != "") {
		if (!ValidateEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
		if (!ValidateFEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
	 }
	 else {
		formulario.email.focus();
		alert("Por favor ingrese su email.");
		return false;
	 }
     return true;
}

function ValidateRegistresePasoUno(formulario){
  Cumple= false;
  for (i = 0;  i < formulario.selectplan.length;  i++)
  {
    if(formulario.selectplan[i].checked) Cumple= true;
  }
  if (!Cumple) {
       alert("Por favor Seleccione un Plan.");
       return false;
  } 
}

function ValRegPasoTres(formulario, Num) {
  CumpleTarjeta= false;
  for (i = 0;  i < formulario.tarjeta.length;  i++)
  {
    if(formulario.tarjeta[i].checked) CumpleTarjeta= true;
  }

  if (!CumpleTarjeta) {
       alert("Por favor Seleccione una Tarjeta.");
       return false;
  } 

  if (Num == 1) {
		CumpleNumeracion= false;
  	for (i = 0;  i < formulario.numeracion.length;  i++)
  	{
    	if(formulario.numeracion[i].checked) CumpleNumeracion= true;
  	}

	  if (!CumpleNumeracion) {
  	    alert("Por favor Seleccione la Numeración.");
       return false;
  	} 
  }

}

function ValidateRegistresePasoCuatro(formulario){
  Cumple= false;
  for (i = 0;  i < formulario.terminales.length;  i++)
  {
    if(formulario.terminales[i].checked) {
			Cumple= true;
		}
  }
  if (!Cumple) {
       alert("Por favor Seleccione una Terminal.");
       return false;
  } else {
	  for (j = 0;  j < 5;  j++)
	  {
  	  if(formulario.terminales[j].checked) {
	  	  if(formulario.mac.value.trim() == "") {
         formulario.mac.focus();
         alert("Por favor ingrese una MAC. La misma se encuentra en el dorso de la su respectiva caja.");
         return false;
				}
	  	  if(formulario.mac.value.length != 12) {
         formulario.mac.focus();
         alert("La MAC ingresada debe poseer 12 caracteres.");
         return false;
				}
			}
	  }
	}
}

function chequeoMac(formulario){

	if(formulario.mac.value.trim() == "") {
     formulario.mac.focus();
     alert("Por favor ingrese una MAC. La misma se encuentra en el dorso de la su respectiva caja.");
     return false;
	}
  if(formulario.mac.value.length != 12) {
     formulario.mac.focus();
     alert("La MAC ingresada debe poseer 12 caracteres.");
     return false;
	}
  return true;
}

function ValidateRegistrese(formulario)
{
    if (formulario.nombre.value.trim() == "") {
         formulario.nombre.focus();
         alert("Por favor ingrese su nombre.");
         return false;
    } 
	  if (ValidateString(formulario.nombre, sAlphaExt+sAlpha)== false) {
           formulario.nombre.focus();
           alert("El nombre ingresado contiene caracteres no válidos.");
           return false;
      } 

    if (formulario.apellido.value.trim() == "") {
         formulario.apellido.focus();
         alert("Por favor ingrese su apellido.");
         return false;
    } 
	  if (ValidateString(formulario.apellido, sAlphaExt+sAlpha)== false) {
           formulario.apellido.focus();
           alert("El apellido ingresado contiene caracteres no válidos.");
           return false;
      } 
    if (formulario.dni.value.trim() == "") {
         formulario.dni.focus();
         alert("Por favor ingrese su DNI.");
         return false;
    } 
	  if (ValidateString(formulario.dni, sNumeric)== false) {
           formulario.dni.focus();
           alert("El DNI ingresado contiene caracteres no válidos.");
           return false;
      } 
      
	  if (ValidateString(formulario.telefono, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.telefono.focus();
           alert("El telefono ingresado contiene caracteres no válidos.");
           return false;
      } 

	 if (formulario.email.value.trim() != "") {
		if (!ValidateEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
		if (!ValidateFEmail( formulario.email)) {
		   formulario.email.focus();
		   alert("Por favor verifique el email ingresado, ya que"+ sMsg);
		   return false;
		}
	 }
	 else {
		formulario.email.focus();
		alert("Por favor ingrese su email.");
		return false;
	 }
    return true;
}

function ValidatePago(formulario, fechacalc)
{
	fecha = new Date(fechacalc);
	calcmes= fecha.getMonth() + 1;
	calcano= fecha.getYear();

    if (formulario.nrotarejeta.value.trim() == "") {
         formulario.nrotarejeta.focus();
         alert("Por favor ingrese su Número de Tarjeta.");
         return false;
    } 
	  if (ValidateString(formulario.nrotarejeta, sNumeric)== false) {
           formulario.nrotarejeta.focus();
           alert("El Número de Tarjeta ingresado contiene caracteres no válidos.");
           return false;
      } 

    if (formulario.nombre.value.trim() == "") {
         formulario.nombre.focus();
         alert("Por favor ingrese su Nombre tal como figura en la Tarjeta.");
         return false;
    } 
	  if (ValidateString(formulario.nombre, sAlphaExt+sAlpha)== false) {
           formulario.nombre.focus();
           alert("El Nombre ingresado contiene caracteres no válidos.");
           return false;
      } 
    // Validaciones Fechas
    
	Cumple= false;
    if (parseInt(formulario.ano.value) > parseInt(calcano)) {
	     Cumple= true;
    } else {
	    if (parseInt(formulario.ano.value) == parseInt(calcano)) {
		    if (parseInt(formulario.mes.value) >= parseInt(calcmes)) {
				Cumple= true;
			} else {
				Cumple= false;
			}
		} else {
			Cumple= false;
		}
    }
    
    if (!Cumple) {
	     formulario.mes.focus();
         alert("La fecha de Vencimiento debe ser mayor o igual a la Fecha Actual.");
         return false;
    } 

    if (formulario.seguridad.value.trim() == "") {
         formulario.seguridad.focus();
         alert("Por favor ingrese su Código de Seguridad.");
         return false;
    } 
	  if (ValidateString(formulario.seguridad, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.seguridad.focus();
           alert("El Código de Seguridad ingresado contiene caracteres no válidos.");
           return false;
      } 
	  if (!formulario.lei.checked) {
           alert("Debe leer las condiciones del Contrato previamente.");
           return false;
      } 

  return true;
}


function ValidateLogin(formulario)
{
    if (formulario.usuario.value.trim() == "") {
         formulario.usuario.focus();
         alert("Por favor ingrese su usuario.");
         return false;
    } 
	  if (ValidateString(formulario.usuario, sNumeric)== false) {
           formulario.usuario.focus();
           alert("El usuario ingresado contiene caracteres no válidos. Unicamente numericos.");
           return false;
      } 

    if (formulario.passwd.value.trim() == "") {
         formulario.passwd.focus();
         alert("Por favor ingrese su Password.");
         return false;
    } 
	  if (ValidateString(formulario.passwd, sAlphaExt+sAlpha+sNumeric)== false) {
           formulario.passwd.focus();
           alert("El password ingresado contiene caracteres no válidos.");
           return false;
      } 
		return true;
}


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_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])?args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

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];}}
}
