// JavaScript Document
var fc_acutes_val = [ 225, 233, 237, 243, 250, 193, 201, 205, 211, 218, 209, 241 ];
var fc_acutes_idx = [ 'a','e','i','o','u','A','E','I','O','U','N','n' ];
var fc_acutes = fc_makeacutes();
function linkError(id)
{
	open("/error.asp?id="+id, "Error", "width=350, height=20, menubar=no");
}
var otrosrc;
function otherSelection(src, otrosrc, selind)
{
	if (src.selectedIndex == selind)
	{
		otrosrc.style.visibility = "visible";
	}
	else
	{
		otrosrc.style.visibility = "hidden";
	}
}
function taLimit() {
	var taObj = event.srcElement;
	var taObjLen = taObj.value.length;
	var taObjMaxLen = taObj.maxlen;
	if (taObjLen == taObjMaxLen) return false;
}

function taCount(visCnt) { 
	var taObj = event.srcElement;
	var taObjLen = taObj.value.length;
	var taObjMaxLen = taObj.maxlen;
	
	if (taObjLen > taObjMaxLen)
	{
		taObj.value = taObj.value.substring(0, taObjMaxLen);
	}
	
	if (visCnt)
	{
		visCnt.innerText = taObjMaxLen - taObjLen;
	}
}

function fc_makeacutes(acu) {
  var acu = new Array();
  for (var i=0; i<fc_acutes_idx.length;i++) {
      var idx = fc_acutes_idx[i];
      acu[idx]=String.fromCharCode(fc_acutes_val[i]);
  }
  return acu;
}


function fc_checkEmail(obj,msg,len,recheck) {

  //var re = /^(\s*|\W*)(\w+\@\w+)((\.\w+)+)(\s*|\W*)$/;
  var re = /^(\s*)(\w+\@\w+)((\.\w+)+)(\s*)$/;
  var str = "car"+fc_acutes['a']+"cteres v"+fc_acutes['a']+"lidos";
  var msg1 = "Debe ingresar una direcci"+fc_acutes['o']+"n\nv"+fc_acutes['a']+"lida para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas " + str + "\n(letras y/o digitos), para " + msg;

  return fc_checkField (obj,len,recheck,re,"$2$3",msg1,msg2);
}

function fc_checkWord (obj,msg,len,recheck) {

  var re = /^(\s*|\W*)(\w+)(\s*|\W*)$/;
  var msg1 = "Debe ingresar letras y/o digitos\n(sin espacios) para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas letras y/o digitos\n(sin espacios), para " + msg;

  return fc_checkField (obj,len,recheck,re,"$2",msg1,msg2);
}

function fc_checkURL (obj,msg,len,recheck) {
	var re = /[lL][iI][bB][rR][aA][rR][iI][uU][sS]/;
	if (re.test(obj.value)){
	alert("El sitio que usted recomienda no es aceptable. Presione aceptar para visitar un sitio mucho mejor.");
	window.open("http://www.astrea.com.ar", "Astrea", "");
	return false;
	}
	
	var re = /^([h][t][t][p][s]?\:\/\/){1}((\w|\-)+)((\.(\w|\-)+)+)(\/(\w|\-)+)*(\/|\.\w{2,4})?$/;
	  var msg1 = "Debe ingresar una dirección URL válida";
	  if (!re.test(obj.value)){
	   alert("Debe ingresar una dirección URL válida");
	   return false;
	  }
	return true;
}

function fc_checkString (obj,msg,len,recheck) {

  var re = /^(\s*|\W*)(\w+)((\s+\w+)*)(\s*|\W*)$/;
  var str = "car"+fc_acutes['a']+"cteres v"+fc_acutes['a']+"lidos";
  var msg1 = "Debe ingresar letras y/o digitos para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas " + str + "\n(letras y/o digitos), para " + msg;


  return fc_checkField (obj,len,recheck,re,"$2$3",msg1,msg2);
}

function fc_checkLatinString (obj,msg,len,recheck) {

  var re = /^(\s*|\W*)(.+)((\s+.+)*)(\s*|\W*)$/;
  var str = "car"+fc_acutes['a']+"cteres v"+fc_acutes['a']+"lidos";
  var msg1 = "Debe ingresar letras y/o digitos para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas " + str + "\n(letras y/o digitos), para " + msg;


  return fc_checkField (obj,len,recheck,re,"$2$3",msg1,msg2);
}

function fc_checkHexColor (obj,msg,len,recheck) {

  var re = /^#?(\d|\w){6}$/;
  var str = "car"+fc_acutes['a']+"cteres v"+fc_acutes['a']+"lidos";
  var msg1 = "Debe un color hexagesimal válido para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas " + str + "\n(letras y/o digitos), para " + msg;


  return fc_checkField (obj,len,recheck,re,"$2$3",msg1,msg2);
}

function fc_checkPhoneNumber (obj,msg,len,recheck) {

  var re = /^(\s*|\W*)(\d+(\-\d+)*)(\s*|\W*)$/;
  var msg1 = "Debe ingresar solo digitos o guiones (sin espacios) para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas digitos (sin espacios), para " + msg;

  return fc_checkField (obj,len,recheck,re,"$2",msg1,msg2);

}

function fc_checkDotNumber (obj,msg,len,recheck) {

  var re = /^(\s*|\W*)(\d+(\.\d+)*)(\s*|\W*)$/;
  var msg1 = "Debe ingresar solo digitos o puntos (sin espacios) para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas digitos (sin espacios), para " + msg;

  return fc_checkField (obj,len,recheck,re,"$2",msg1,msg2);

}


function fc_checkNumber (obj,msg,len,recheck) {

  var re = /^(\s*|\W*)(\d+)(\s*|\W*)$/;
  var msg1 = "Debe ingresar solo digitos para " + msg;
  var msg2 = "Debe ingresar " + len + " o mas digitos,\npara " + msg;

  return fc_checkField (obj,len,recheck,re,"$2",msg1,msg2);

}


function fc_checkSelect (obj,msg,index) {

  var val = obj.options[obj.selectedIndex].value;
  if (obj.selectedIndex==index) {
      alert("Debe seleccionar un valor para "+msg);
      obj.focus();
      return false;
  }
  return true;
}


function fc_removeCRLF (val) {
    var i;
    var ns="";

    val = fc_trim(val);
    for (i=0;i<val.length;i++) {
        if (val.charCodeAt(i)<32) ns += " ";
        else if (val.charAt(i)=="'") ns += "´";
        //else if (val.charAt(i)=="´") ns += '`';
        else if (val.charAt(i)=="<") ns += " ";
        else if (val.charAt(i)==">") ns += " ";
        else ns += val.charAt(i);
    }

    return ns;
}


function fc_trim (val) {
    var i,j;
    var ns="";

    i=0;
    while (val.charCodeAt(i)<=32) i++;
    j=val.length-1;
    while (val.charCodeAt(j)<=32) j--;
    ns = val.substr(i,j+1);
    return ns;
}


function fc_checkField (obj,len,recheck,re,place,msg1,msg2) {

  var str = fc_removeCRLF (obj.value);

  if (str.length==0) {
      if (len==0) {
          obj.value="";
          return true;
      } else {
          alert(msg2);
          obj.focus();
          return false;
      }
  }

  str = str.replace(re, place);

  if (str.search(re)==-1) {
      alert(msg1);
      obj.focus();
      return false;
  }
  if (str.length<len) {
      alert(msg2);
      obj.focus();
      return false;
  }
  if (recheck) {
      val = prompt ("Reingrese " + msg + " para confirmar", "");
      if (val!=obj.value) {
          alert ("No coincide " + msg + ",\nintente nuevamente");
          obj.focus();
          return false;
      }
  }

  obj.value = str;
  return true;
}

function AgregarLink(frm) {

  //var frm = document.forms[0];

  if (!fc_checkLatinString(frm.sitio,"el nombre del sitio",2,false)) return;
  if (!fc_checkURL(frm.url,"el email",10,false)) return;
  if (frm.idioma.selectedIndex == 3 && frm.idioma2.value.length < 3)
  {
	  alert("Debe especificar el idioma");
	  return;
  }
  if (!fc_checkLatinString(frm.descripcion,"la descripción del sitio",2,false)) return;
  if (!fc_checkLatinString(frm.keywords,"las palabras clave para el buscador",2,false)) return;
  frm.submit();
}

