//AUTOTABBING
var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) {
  var keyCode = (isNN) ? e.which : e.keyCode;
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
  if(input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  }

  function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele)
    found = true;
    else
    index++;
    return found;
  }

  function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
  }
  return true;
}

//LIMIT TEXT AREA
function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    }
}


//EMPTY
function validateEmpty(fld,errormsg) {
    var error = "";

    if (fld.value.length == 0) {
        fld.style.background = 'Yellow';
        //error = "The required field has not been filled in.\n"
        //error = " " + fld.name + ",";
        error = errormsg + "\n";
    } else {
        fld.style.background = 'White';
    }
   return error;
}


//EMAIL
function validateEmail(fld)
{
var error="";
with (fld)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (apos<1||dotpos-apos<2)
  {fld.style.background = 'Yellow';
   error = "Email Address Is Invalid!\n";}
else {fld.style.background = 'White';}
}
return error;
}


//DROP DOWN SELECTIONS
function validateDropdown(fld,errormsg) {
    var error = "";
    if (fld.selectedIndex == 0) {
       fld.style.background = 'Yellow';
       error = errormsg + "\n";
    } else {
       fld.style.background = 'White';
    }
    return error;
}



//RADIO BUTTONS and CHECKBOXES
function validateRadio(fld,errormsg) {
var error = "";
var myOption = -1;
for (i=fld.length-1; i > -1; i--) {
if (fld[i].checked) {
myOption = i; //i = -1;
}
}
if (myOption == -1) {
//fld.style.background = 'Yellow';
error = errormsg + "\n";
return error;
}
//fld.style.background = 'White';
return error;
}

function chkbx2inpt_toggle(obj1,obj2) {
//Enables INPUT if CHECKBOX is checked
//chkbx2inpt_toggle(this,'TargetFldID')
if(obj1.checked)
{
document.getElementById(obj2).disabled=false;
document.getElementById(obj2).focus();
}
else
{
document.getElementById(obj2).disabled=true;
document.getElementById(obj2).value='';
//document.getElementbyId(obj2).blur();
}
}

function inpt2chkbx_toggle(obj1,obj2) {
//Unchecks CHECKBOX if INPUT is empty when leaving it
//inpt2chkbx_toggle(this,'TargetFldID')
if(obj1.value=='')
{
obj1.disabled=true;
document.getElementById(obj2).checked = false;
//obj1.blur();
}
}


function enable_element(obj1) {
document.getElementById(obj1).disabled=false;
document.getElementById(obj1).focus();
}

function disable_element(obj1) {
document.getElementById(obj1).disabled=true;
document.getElementById(obj1).value='';
}