function validarinpt(a)
{
	//alert(a+document.getElementById(a).value)
	if(document.getElementById(a).value== '')
	{
		//alert('vacio')
		document.getElementById(a).value= '¡REQUERIDO!';
		document.getElementById(a).className = "invalido";
		//alert(input)
		return 1;
	}
	if(document.getElementById(a).value== '¡REQUERIDO!' || document.getElementById(a).value== '¡INVALIDO!')
	{
		//alert('Invalido')
		document.getElementById(a).value= '¡INVALIDO!';
		document.getElementById(a).className = "invalido";
		//alert(input)
		return 1;
	}
	else
	{
		return 0;
	}
}


function popup_galeria(url) 
{
	var width  = 800;
	var height = 500;
	var left   = (screen.width  - width)/2;
	var top    = (screen.height - height)/2;
	var params = 'width='+width+', height='+height;
	params += ', top='+top+', left='+left;
	params += ', directories=no';
	params += ', location=no';
	params += ', menubar=no';
	params += ', resizable=no';
	params += ', scrollbars=yes';
	params += ', status=no';
	params += ', toolbar=no';
	newwin=window.open(url,this.target, params);
	
	if(window.focus)
	{
		newwin.focus()
	}
	
	return false;
}

function Espacios (InputVal)
{
	var espacios = false;

  	if (InputVal.charAt(0) == " ")
    	espacios = true;
	return espacios;
}

function validarEmail(valor) {
	var Email = true;
	
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
    	Email = false;

    return Email;
}

function ireset(OBJ_R)
{
	if(OBJ_R.value == "\u00A1REQUERIDO!" || OBJ_R.value == "\u00A1INVALIDO!" || OBJ_R.className == "invalido")
	{
		OBJ_R.className = null;
		OBJ_R.value = "";
	}
}

function validar_I(){
	var Entrar = true;
	var Error = "Por favor, ingrese ó corrija:\n";
	
	if(document.ingreso.usuario.value == "" || Espacios(document.ingreso.usuario.value)){
		Entrar = false;
		Error += "\tUsuario\n";
		document.ingreso.usuario.className = "invalido";
	}
	if(document.ingreso.pass.value == "" || Espacios(document.ingreso.pass.value)){
		Entrar = false;
		Error += "\tContraseña\n";
		document.ingreso.pass.className = "invalido";
	}

	if(Entrar)
		document.ingreso.submit();
	else
		alert(Error);
}
function maxtext(textarea) {
		var intLimit = 400;
		var varValue = textarea.value;

		if (varValue.length > intLimit) {
			alert ("Máximo " + intLimit + " caracteres.");
			textarea.value = varValue.substring(0, intLimit);
		}
}

var nav4 = window.Event ? true : false;
function acceptNum(evt){	
	var key = nav4 ? evt.which : evt.keyCode;
	
	if(key <= 13 || key == 46 || (key >= 48 && key <= 57))
		return key;
	else{
		/*alert("Ingrese un valor numérico.");*/
		return false;
	}
}

function acceptNum2(evt){	
	var key = nav4 ? evt.which : evt.keyCode;
	
	if(key <= 13 || (key >= 48 && key <= 57))
		return key;
	else{
		/*alert("Ingrese un valor numérico.");*/
		return false;
	}
}

function acceptText(evt){	
	var key = nav4 ? evt.which : evt.keyCode;
	
	if(key <= 13 || key == 209 || key == 241 || (key >= 65 && key <= 122) || (key >= 48 && key <= 57))
		return key;
	else{
		alert("Ingrese solo letras o números.");
		return false;
	}
}

function FormatNumber(fld, milSep, decSep, e) {
  var sep = 0;
  var key = '';
  var i = j = 0;
  var len = len2 = 0;
  var strCheck = '0123456789';
  var aux = aux2 = '';
  var whichCode = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) return true;  // Enter
  if (whichCode == 8) return true;  // Delete
  key = String.fromCharCode(whichCode);  // Get key value from key code
  if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
  len = fld.value.length;
  for(i = 0; i < len; i++)
  if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
  aux = '';
  for(; i < len; i++)
  if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
  aux += key;
  len = aux.length;
  if (len == 0) fld.value = '';
  if (len == 1) fld.value = '0'+ decSep + '0' + aux;
  if (len == 2) fld.value = '0'+ decSep + aux;
  if (len > 2) {
    aux2 = '';
    for (j = 0, i = len - 3; i >= 0; i--) {
      if (j == 3) {
        aux2 += milSep;
        j = 0;
      }
      aux2 += aux.charAt(i);
      j++;
    }
    fld.value = '';
    len2 = aux2.length;
    for (i = len2 - 1; i >= 0; i--)
    fld.value += aux2.charAt(i);
    fld.value += decSep + aux.substr(len - 2, len);
  }
  return false;
}
function irpag(ir, queryS){
	Pag = document.getElementById(ir).value - 1;
	if(Pag >= 0)
		document.location = "index.php?paginaN="+Pag+queryS;
}
function validarinpt(a)
{
	//alert(a+document.getElementById(a).value)
	if(document.getElementById(a).value== '')
	{
		//alert('vacio')
		document.getElementById(a).value= '\u00A1REQUERIDO!';
		document.getElementById(a).className = "invalido";
		//alert(input)
		return 1;
	}
	if(document.getElementById(a).value== '\u00A1REQUERIDO!' || document.getElementById(a).value== '\u00A1INVALIDO!')
	{
		//alert('Invalido')
		document.getElementById(a).value= '\u00A1INVALIDO!';
		document.getElementById(a).className = "invalido";
		//alert(input)
		return 1;
	}
	else
	{
		return 0;
	}
}
function validar_P()
{
	var val = 0;
	if(document.getElementById('co_agencia').value == 0)
	{
		val = 1;
		document.getElementById('co_agencia').className="error";
	}
	if(document.getElementById('co_agencia_destino').value == 0)
	{
		val = 1;
		document.getElementById('co_agencia_destino').className="error";
	}
	if(document.getElementById('co_tipo_servicio').value == 0)
	{
		val = 1;
		document.getElementById('co_tipo_servicio').className="error";
	}
	if(document.getElementById('co_modalidad').value == 0)
	{
		val = 1;
		document.getElementById('co_modalidad').className="error";
	}
	if(document.getElementById('co_modalidad').value == 3)
	{
		val = validarinpt('cod_dest');
	}
	if(document.getElementById('co_tipo_envio').value == 0)
	{
		val = 1;
		document.getElementById('co_tipo_envio').className="error";
	}
	if(document.getElementById('co_forma_pago').value == 0)
	{
		val = 1;
		document.getElementById('co_forma_pago').className="error";
	}	
	val = validarinpt('kilos');
	if(document.getElementById('valorseguro').style.display == "block")
	{
		val = validarinpt('val_decla');
	}
	if(val == 0)
	{
		return true;
	}
	else
	{
		document.getElementById('msj_err').style.display="block";
		return false;
	}
	
}
function pagos(valor)
{
	//alert(valor)
	if(valor == 3)
	{
		document.getElementById('cod_dest_input').style.display="block";
	}
	else
	{
		document.getElementById('cod_dest_input').style.display="none";
	}
}
function asegurar()
{
	//alert(valor)
	if(document.getElementById('valorseguro').style.display == "block")
	{
		document.getElementById('valorseguro').style.display="none";
	}
	else
	{
		document.getElementById('valorseguro').style.display="block";
	}
}

function emailCheck(emailStr){
	//var eMail = true;
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	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){
		return false;
	}

	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++){
		if (user.charCodeAt(i)>127){
			return false;
   		}
	}
	
	for (i=0; i<domain.length; i++){
		if (domain.charCodeAt(i)>127){
			return false;
   		}
	}

	if (user.match(userPat)==null){
		return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null){
		for (var i=1;i<=4;i++){
			if (IPArray[i]>255){
				return false;
		   	}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	
	for (i=0;i<len;i++){
		if (domArr[i].search(atomPat)==-1){
			return false;
   		}
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1){
		return false;
	}

	if (len<2){
		return false;
	}

	return true;
}