//Trome Technologies, Inc.
//Standars
    //functon names:
    //Load info         --> ld<name>
    
//Tools for webpages

//Add Months, Day & Year to Combo
    // Parameters: cboMonths (Combo object), len = 1:Spanish | 2:English


var xbanners = new Array(
	//'ads/ad001.gif',		//Auto Accessories Mexico
	'ads/ad002.gif',		//Trome Technologies, Inc.
	//'ads/ad003.gif',		//Magic Ink, Inc
	'ads/ad004.gif'		//Queso Campesino
	//'ads/ad005.gif',		//Latinos Auto Glass	//'ads/ad006.gif',		//Preferred Stucco	//'ads/ad007.gif',		//Hepari	//'ads/ad008.gif',		//Automaericalatino.com	//'ads/ad009.gif',		//Nolberto's Restaurant	//'ads/ad010.gif'		//Antartica, Inc
	);		

var xlinks	= new Array(
	//'1',								//Auto Accesories Mexico, Inc.
	'http://www.trometech.com',			//Trome Technologies, Inc.
	//'3',								//Magic Ink, Inc.
	'http://www.quesocampesino.com'	//Queso Campesino, Inc.
	//'5',	//'6',								//Preferred stuccoc.com	//'7',								//Hepari	//'8',								//Auto america latino	//'9',								//Nolberto's Restaurant	//'10'
	);							

var old = 0;
var current = 0;

function startban() 
{

	if (!document.images) return
	
	while (current == old)
	{
		current = Math.floor(Math.random()*xbanners.length);
	}
	
	old = current;
	document.images['banner'].src = xbanners[current];
	setTimeout('startban()',8000);

}
    
function sendpage()
{
	var webpage = xlinks[current];
	
	
	if (webpage.substr(0,4) == 'http')
			window.open(webpage,'','');

		//location.href = xlinks[current];
}


function AddMonth_to_Combo(frmname,cbomonths,len) {

    var arrmn = new Array();
    this.formobj = document.forms[frmname];
    var cboobj = this.formobj[cbomonths];


    if(!cboobj)
	{
	  alert("BUG: Couldnot get the input object named: "+cboobj.name);
		return;
	}

    if (len==1) {

        arrmn[0] = "Enero";
        arrmn[1] = "Febrero";
        arrmn[2] = "Marzo";
        arrmn[3] = "Abril";
        arrmn[4] = "Mayo";
        arrmn[5] = "Junio";
        arrmn[6] = "Julio";
        arrmn[7] = "Agosto";
        arrmn[8] = "Septiembre";
        arrmn[9] = "Octubre";
        arrmn[10] = "Noviembre";
        arrmn[11] = "Diciembre";
    }
    else {
        arrmn[0] = "January";
        arrmn[1] = "Febrary";
        arrmn[2] = "March";
        arrmn[3] = "April";
        arrmn[4] = "May";
        arrmn[5] = "June";
        arrmn[6] = "July";
        arrmn[7] = "August";
        arrmn[8] = "September";
        arrmn[9] = "October";
        arrmn[10] = "November";
        arrmn[11] = "December";
    }


    cboobj.options.length = 12;

    for (n=0;n<=11;n++) {
        cboobj[n].value = (n+1);
        cboobj[n].text = arrmn[n];
    }

    cboobj.selectedIndex = 0;

    return;
}

function AddDay_to_Combo(frmname,cbomonths,cboyears,cbodays) {

    var arrmn = new Array();
    var esbisiesto = false;
    var numdias = 0;
    var posmes = 0;
    var posdia = 0;
    this.formobj = document.forms[frmname];
    var cboobj = this.formobj[cbodays];
    var cboobjy = this.formobj[cboyears];
    var cboobjm = this.formobj[cbomonths];

    if(!cboobj)
	{
	  alert("BUG: Couldnot get the input object named: "+cbodays);
		return;
	}

    if(!cboobjm)
	{
	  alert("BUG: Couldnot get the input object named: "+cbomonths);
		return;
	}

    if(!cboobjy)
	{
	  alert("BUG: Couldnot get the input object named: "+cboyears);
		return;
	}

    //Check Leap Year
        year = cboobjy.value;
        
        esbisiesto = false;
        
        if (((year % 4==0)&& (year % 100 !=0)||(year % 400==0))) esbisiesto = true;
        
        posmes = cboobjm.value;
 
        switch (posmes){
//          case "1","3","5","7","9","10","12":
          case "1":
            numdias = 31;
            break;
          case "3":
            numdias = 31;
            break;
          case "5":
            numdias = 31;
            break;
          case "7":
            numdias = 31;
            break;
          case "9":
            numdias = 31;
            break;
          case "10":
            numdias = 31;
            break;
          case "12":
            numdias = 31;
            break;
          case "2":
            //Bisesto check
            if (esbisiesto) numdias=29; else numdias = 28;
            break;
//          case "4","6","9","11":
          case "4":
            numdias = 30;
            break;
          case "6":
            numdias = 30;
            break;
          case "9":
            numdias = 30;
            break;
          case "11":
            numdias = 30;
            break;
        }
        
    cboobj.options.length = numdias;
    posdia = cboobj.value;
    
    for (n=0;n<=(numdias-1);n++) {
        cboobj[n].value = (n+1);
        cboobj[n].text = (n+1);
    }

    //Save the last position on the combo days.
    if (posdia == 0) posdia = 0;
    if (posdia > numdias) ((posdia = numdias)-1);
    if (posdia <=numdias && posdia!=0) --posdia;
    
    cboobj.selectedIndex = posdia;

    return;
}

function AddYear_to_Combo(frmname,cboobj1) {

    var arrmn = new Array();
    var myDate  = new Date;
    var objform = document.forms[frmname];
    var cboobj = objform[cboobj1];

    if(!cboobj)
	{
	  alert("BUG: Couldnot get the input object named: "+cboobj.name);
		return;
	}

    startyear = (myDate.getFullYear()-18);
    cboobj.options.length = 60;
    m = 0;
    for (n=startyear;n>=(startyear-59);n--) {

        cboobj[m].value = n;
        cboobj[m].text = n;
        m++
        
    }

    cboobj.selectedIndex = 0;

    return;
}

function ldStates(objfrm1,objcbo1){

    var objfrm = document.forms[objfrm1];
    var objcbo  = objfrm[objcbo1]


}

function AcceptBox(objb,chkbox){

    if (chkbox.checked)
        objb.disabled = false;
    else
        objb.disabled = true;
    
    
}
//Validation
function validateEmailv2(email)
{

// a very simple email validation checking.
// you can add more complex email checking if it helps
    if(email.length <= 0)
	{
	  return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null)
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function ValidateData(objform1,objValue1,strValidateStr,strError)
{
    var epos = strValidateStr.search("=");
    var  command  = "";
    var  cmdvalue = "";
    var objform = document.forms[objform1];
    var objValue = objform[objValue1];
    
    if(epos >= 0)
    {
     command  = strValidateStr.substring(0,epos);
     cmdvalue = strValidateStr.substr(epos+1);
    }
    else
    {
     command = strValidateStr;
    }
    switch(command)
    {
        case "req":
        case "required":
         {
           if(eval(objValue.value.length) == 0)
           {
              if(!strError || strError.length ==0)
              {
                strError = objValue.name + " : Required Field";
              }//if
              alert(strError);
                objValue.focus();
              return false;
           }//if
           break;
         }//case required
        case "maxlength":
        case "maxlen":
          {
             if(eval(objValue.value.length) >  eval(cmdvalue))
             {
               if(!strError || strError.length ==0)
               {
                 strError = objValue.name + " : "+cmdvalue+" characters maximum ";
               }//if
               //alert(strError + "\n[Current length = " + objValue.value.length + " ]");
               return false;
             }//if
             break;
          }//case maxlen
        case "minlength":
        case "minlen":
           {
             if(eval(objValue.value.length) <  eval(cmdvalue))
             {
               if(!strError || strError.length ==0)
               {
                 strError = objValue.name + " : " + cmdvalue + " characters minimum  ";
               }//if
               //alert(strError + "\n[Current length = " + objValue.value.length + " ]");
               return false;
             }//if
             break;
            }//case minlen
        case "alnum":
        case "alphanumeric":
           {
              var charpos = objValue.value.search("[^A-Za-z0-9]");
              if(objValue.value.length > 0 &&  charpos >= 0)
              {
               if(!strError || strError.length ==0)
                {
                  strError = objValue.name+": Only alpha-numeric characters allowed ";
                }//if
                //alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
                return false;
              }//if
              break;
           }//case alphanumeric
        case "num":
        case "numeric":
           {
              var charpos = objValue.value.search("[^0-9]");
              if(objValue.value.length > 0 &&  charpos >= 0)
              {
                if(!strError || strError.length ==0)
                {
                  strError = objValue.name+": Only digits allowed ";
                }//if
                //alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
                return false;
              }//if
              break;
           }//numeric
        case "alphabetic":
        case "alpha":
           {
              var charpos = objValue.value.search("[^A-Za-z ]");
              if(objValue.value.length > 0 &&  charpos >= 0)
              {
                  if(!strError || strError.length ==0)
                {
                  strError = objValue.name+": Only alphabetic characters allowed ";
                }//if
                //alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
                return false;
              }//if
              break;
           }//alpha
		case "alnumhyphen":
			{
              var charpos = objValue.value.search("[^A-Za-z0-9\-_]");
              if(objValue.value.length > 0 &&  charpos >= 0)
              {
                  if(!strError || strError.length ==0)
                {
                  strError = objValue.name+": caracteres permitidos son: A-Z,a-z,0-9,- and _";
                }//if
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
                return false;
              }//if
			break;
			}
        case "email":
          {
               if(!validateEmailv2(objValue.value))
               {
                 if(!strError || strError.length ==0)
                 {
                    strError = objValue.name+": Ingrese un email valido";
                 }//if
                 alert(strError);
                 return false;
               }//if
           break;
          }//case email
        case "lt":
        case "lessthan":
         {
            if(isNaN(objValue.value))
            {
              alert(objValue.name+": debera ser un numero ");
              return false;
            }//if
            if(eval(objValue.value) >=  eval(cmdvalue))
            {
              if(!strError || strError.length ==0)
              {
                strError = objValue.name + " : valor debe ser menor que "+ cmdvalue;
              }//if
              alert(strError);
              return false;
             }//if
            break;
         }//case lessthan
        case "gt":
        case "greaterthan":
         {
            if(isNaN(objValue.value))
            {
              alert(objValue.name+": debera ser un numero ");
              return false;
            }//if
             if(eval(objValue.value) <=  eval(cmdvalue))
             {
               if(!strError || strError.length ==0)
               {
                 strError = objValue.name + " : valor debe ser mayor que "+ cmdvalue;
               }//if
               alert(strError);
               return false;
             }//if
            break;
         }//case greaterthan
        case "regexp":
         {
		 	if(objValue.value.length > 0)
			{
	            if(!objValue.value.match(cmdvalue))
	            {
	              if(!strError || strError.length ==0)
	              {
	                strError = objValue.name+": contiene caracteres invalidos ";
	              }//if
	              alert(strError);
	              return false;
	            }//if
			}
           break;
         }//case regexp
        case "dontselect":
         {
            if(objValue.selectedIndex == null)
            {
              alert("BUG: dontselect command for non-select Item");
              return false;
            }
            if(objValue.selectedIndex == eval(cmdvalue))
            {
             if(!strError || strError.length ==0)
              {
              strError = objValue.name+": Por favor seleccione uno ";
              }//if
              alert(strError);
              return false;
             }
             break;
         }//case dontselect

    }//switch
    return true;
}
