var escoma      = ",";
var esrc	= "\r\n"
var esnumero       = "0123456789";
//var esletra      = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-ÑñáéíóúüÁÉÍÓÚÜ&";
var esletra        = " -.'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzàÀáÁâÂãÃäÄåÅæÆçÇèÈéÉêÊëËìÌíÍîÎïÏðÐñÑòÒóÓôÔõÕöÖøØùÙúÚûÛüÜýÝþÞÿß";
var esidloginpoint = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var esidlogin      = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var esletranumero  = esnumero + esletra;
var esletranumerocoma  = esnumero + esletra + escoma + esrc;
function openwindow(direccion, name, cadena)
{
  var winf = window.open(direccion,name,cadena);
  winf.focus();
}

function ouvrirfenetre(varHttp, lenX, lenY, bScroll) {
    var winf = open(varHttp, null, "width=" + lenX + ",height=" + lenY + ",status=no,menubar=no,scrollbars=" + bScroll + ",resizable=no");
    winf.focus();
}

function GoToAuxWin(n, page){
numero = n;
page = "/pl/" + page;
listin = open(page, "", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=320,height=300");
if(navigator.appName == "Netscape")
listin.focus();
}

function NumFields(formu,name){
        for(n = 0;n < eval("document."+formu+".elements.length");n ++) {
            if(eval("document."+formu+".elements[n].name") == name) {
                return n;
            }
        }
}

function isLetter(cadena)
{
   lg = cadena.length;
   if (lg == 0) {return 1};
   for (i=0;i<cadena.length;i++)
         if (esletra.indexOf(cadena.charAt(i))==-1){return false}
   return true;
}

function isNumber(cadena,lg)
{
    if (lg != cadena.length)  {return false;}
    for (i=0;i<cadena.length;i++)
       if (esnumero.indexOf(cadena.charAt(i))==-1){return false}
    return true;
}

function isNumber(cadena)
{
    for (i=0;i<cadena.length;i++)
       if (esnumero.indexOf(cadena.charAt(i))==-1){return false}
    return true;
}
function isLetterNumber(cadena)
{
   lg = cadena.length;
   if (lg == 0) {return 1};
   for (i=0;i<cadena.length;i++)
         if (esletranumero.indexOf(cadena.charAt(i))==-1){return false}
   return true;
}

function isAddress(cadena)
{
   lg = cadena.length;
   if (lg == 0) {return 1};
   for (i=0;i<cadena.length;i++)
         if (esletranumerocoma.indexOf(cadena.charAt(i))==-1){return false}
   return true;
}

function isIdLoginPoint(cadena)
{
   lg = cadena.length;
   if (lg == 0) {return false};
/* valid all iso except @
          if (cadena.indexOf("@")!=-1){return false} */
   /* for (i=0;i<cadena.length;i++)
        if (esidloginpoint.indexOf(cadena.charAt(i))==-1){return false} */
   return true;
}

function isIdLogin(cadena)
{
   lg = cadena.length;
   if (lg == 0) {return 1};
   for (i=0;i<cadena.length;i++)
         if (esidlogin.indexOf(cadena.charAt(i))==-1){return false}
   return true;
}


function el(name_form,n) {
   return (eval("document."+name_form+".elements["+n+"]"));
}


function isValidDateCard(scard_ini)
{
 var scard = "" + scard_ini.value;
 var scard_length = scard.length;
 if ( (scard_length != 4 && scard_length != 5 && scard_length != 6 && scard_length != 7)  || (scard.charAt(2) != ' ' && scard.charAt(2) != '-' && scard.charAt(2) != '/' && isNaN(scard.charAt(2))) )
  {
    return false;
  }
 else {
        var s1 = scard.substring(0,2);
        var s2 = scard.substring(scard_length-2,scard_length);
        var s3 = scard.substring(3,scard_length);
	if (scard_length == 4 || scard_length == 6 )
         s3 = scard.substring(2,scard_length);

        if(isNaN(s1) || isNaN(s2))
        {
          return false;
        }
        else
        {
            scard_ini.value = s1+"/"+s2; /* Amadeus format mm/yy */
            return isValidDate(s1,s3);
        }

 }

}

function isEmptyString(s) {
  return  ( s == null || (typeof s == "string" && /^\s*$/.test(s)) );
}

function badField(field, msg) {
        alert(msg);
        switch (field.type) {
        case 'text': case 'password': case 'textarea':
                field.select();
        }
        field.focus();
        return false;
}

function IsAlpha(car)
{
        car = car.toUpperCase();
        return  (car>='A' && car<='Z') ;
}
function EMailOk(s_email)
{
        if (isEmptyString(s_email)) {
            return false;
        }

        var car;
        var arroba=0;
        var poin =0;
        var pos_endpoint =0;
        s_length =s_email.length;
        for (var i=0;i<s_length ;i++)
        {
                car=s_email.charAt(i);
                if (car==' ')
                        return false;
                if ( !(IsAlpha(car) ||
                       car=='@' ||
                       car=='.' ||
                       car=='~' ||
                       car=='_' ||
                       car=='-' ||
                       (car>='0' && car<='9')) )
                        return false;
                if (car=='@')
                        if (arroba>0)
                                return false;
                        else
                                arroba=i;
                else
                  if (car=='.')
                      poin=i;

        }
        pos_endpoint = s_email.lastIndexOf('.');
        return (arroba>0 && poin >0 && car!='.' && pos_endpoint > arroba && s_email.charAt(arroba -1) != '.' && s_email.charAt(arroba + 1) != '.' && s_email.length >= 4 && s_email.length <= 128);
}

/** Delete spaces at the begining and at the end. **/
function Trim(cad)
{
   var aux="";
   var i,lg = cad.length;
   for (;lg>0 && cad.charAt(lg-1)==' ';lg--);
   for (i=0;i<lg && cad.charAt(i)==' ';i++);
   for (;i<lg;i++)
	aux = aux + cad.charAt(i);
   return aux;
}

function checkSize(field,min,max,name) {
    return ((field.value.length >= min && field.value.length <= max) ||
             badField(field, name + ' <%=Configuration.translate(session,"ALERT_doit avoir la longueur dans intervalle")%> ' + min + '-' + max + '.\n'));
}

function checkAlpha(field,name) {
    return (isLetter(field.value.toLowerCase()) ||
             badField(field, name + ' <%=Configuration.translate(session,"ALERT_seulement il doit contenir lettres")%>.\n'));
}

function sendRegister(val_pas)
{
   with(document.register){

        if(user.value == "")
        {
                alert("Le champ d'identifiant ne peut pas être vide.");
                user.focus();
                return false;
        }
        else
        {
                user.value = user.value.toLowerCase();
                if(!isIdLoginPoint(user.value))
                {
                        alert("Veuillez renseigner les champs: -Identifiant incorrect.");
                        user.focus();
                        return false;
                }
                if(password.value == "")
                {
                         alert("Veuillez renseigner votre mot de passe.");
                         password.focus();
                         return false;
                }
                else
                {
                	      password.value = password.value.toLowerCase();
                        
                        var dire = window.location.href;
                        if (dire.indexOf("#")!=-1)
                        {
                            dire=dire.substring(0,dire.indexOf("#"));
                        }
                        
                        //if not secured before login, then secure the url
                        dire=dire.replace("http:","https:");
		                        
		        //for (i=0,msg="";i<elements.length-1;i++)
		                //msg=msg+i+elements[i].name+"->"+elements[i].value+"\n";
		        //alert (msg);
                        if ( 1*val_pas == 1) {
                        	 document.LinkForm.user.value = user.value;
                        	 document.LinkForm.password.value = password.value;
			 	                   document.LinkForm.action=dire;
				    
                          	document.LinkForm.submit();
			                   } 
                  			else if( 1*val_pas == 2)
                  			{
                              // document.register.action="BookTripPlan.jsp";
                               document.register.submit();
                  			}
                  			else
                  			{
                               document.register.action=dire;
                               document.register.submit();
                  			}			
                }
        }
        return false;
   }
}

function blockKeys(e,t) {
    var keyCode = e.keyCode;
    switch (t) {
        case 'N':
            if ((keyCode < 48 || keyCode > 57) && keyCode!=8 && keyCode!=16 && keyCode!=17 && keyCode!=18 && keyCode!=22 && keyCode!=3) {
  	            return false;
            }
            break;

        default:
            return true;
    }
}

function isDayValid(s) {
	if (s == null || s.length == 0) return false;
  
  var exp = new RegExp("^[0-9]{1,2}$","g");
  if (!exp.test(s)) return false;
  
  if (s > 31) return false;
  
  return true;
}

function isMonthValid(s) {
	if (s == null || s.length == 0) return false;
  
  var exp = new RegExp("^[0-9]{1,2}$","g");
  if (!exp.test(s)) return false;
  
  if (s > 12) return false;
  
  return true;
}

function isYearValid(s) {
	if (s == null || s.length == 0) return false;
  
  var exp = new RegExp("^[0-9]{4}$","g");
  if (!exp.test(s)) return false;
  
  if ((new Date()).getFullYear() - s > 120) return false;
  
  return true;
}

// util.js version 1.5
