﻿// JScript File
/*
Loan To Learn Version 3.0
Author: Rajasekhar Telugu Guvvala 
Last Modified: 05/23/2007
*/

var browserType = 'Netscape';
var browserVersion = '5';
var platform = 'Win2000'; 

function SubmitIt(action, validate)
{
    //alert("sss");
	var form = document.forms[0];
    if(validate==1)
    {
	  if ( validateForm(form) )
	  {
		form.action = action;
		form.submit();
	  }
    } 
    else 
    {
      form.action = action;
      form.submit();
	}
		
	return false;
}

function initFocus(elementObject)
{
  elementObject.focus();
  elementObject.select();
}

function oFormElement( elementLabel, elementName, elementType, elementTest, 
                        emptyOK, requiredFormat, defaultValue, dependencyElement, 
                        dependencyValue, fieldSum, beginrequiredFormatAlert, 
                        endrequiredFormatAlert, stripNum, cased ) 
{

  this.elementLabel = elementLabel;
  this.elementName = elementName;
  this.elementType = elementType;
  this.elementTest = elementTest;
  this.emptyOK = emptyOK; 
  this.requiredFormat = requiredFormat;
  this.defaultValue = defaultValue;
  this.dependencyElement = dependencyElement; 
  this.dependencyValue = dependencyValue; 
  this.fieldSum = fieldSum; 
  this.beginrequiredFormatAlert = beginrequiredFormatAlert;
  this.endrequiredFormatAlert = endrequiredFormatAlert;
  this.stripNum = stripNum; 
  this.cased = cased; 
}



function isEmpty(str)
{
  str = Trim(str)
  if (str.length < 1) { return true }
  return false;
}

function isNotEmpty(str)
{
  if (Trim(str) == '') { return false }
  return true;
}

function charBags(alphanum, alpha, num, phone, floater, money)
{
  this.alphanum = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';
  this.alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ';
  this.num = '0123456789';
  this.phone = '0123456789()- ';
  this.floater = '0123456789.';
  this.money = '0123456789$.,';
  this.wholemoney = '0123456789$,';
  this.alphahyphen = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-';
}
  
var oBag = new charBags();
  
function isInBag(str, bagType)
{
  for (var j = 0; j < str.length; j++)
    if ( eval('oBag.' + bagType + '.indexOf(str.charAt(j))') == -1 ) { return false }

  return true;
}


function isLength(str, l, op)
{
  if ( eval('str.length' + op + l) ) { return true }
  return false;
}




function stripNum( formObj, num, bag )
{ 
  var newNum = '';
  for (var j=0; j < num.length; j++)
  {
    if ( !(isInBag(num.charAt(j), bag)) )
    { 
      continue;
    } else {
      newNum = newNum + num.charAt(j);
    }
  }
  if ( formObj != null )
    formObj.value = newNum;
  return ( newNum );
}




function setCase(formObj, str, op)
{ 
  var newStr;
  
  if (op == 'l'){
    newStr = str.toLowerCase();
  }
  if (op == 'u')
    newStr = str.toUppercase();
  
  if ( formObj != null )
    formObj.value = newStr;
  return ( newStr );
}

function Trim(str)
  {
  if (str.length=="") return "";
  while (str.charAt(0) == " ") str = str.substr(1);
  while (str.charAt(str.length - 1) == " ") str = str.substr(0, str.length - 1);
  return str;
  }

   
function validateForm(form)
{       


var beginAlertForEmptyText = "Please enter ";
var beginRequestAlertGeneric = "Please indicate ";
var endRequestAlert = ".";
var beginInvalidAlert = " is not an acceptable ";
var endInvalidAlert = ".";

  var elementName = "", formObj = "", formObjIE3 = "", str = "";
  var toSum, elementLabel = "", fieldIndex, fieldLabel = "", truncLabel = ""
  var concatStr = "", alertText = "", firstMissingElt = null;
  var hardReturn = "\r\n";
  var atLeastOne = false; 
  var emptyFields = 0;    
  for (var i=0; i < elementArray.length; i++) {

    elementName = elementArray[i].elementName;
    formObj = eval("form." + elementName);
    formObjIE3 = eval("document.forms[0]." + elementName);
    elementLabel = elementArray[i].elementLabel;

    if (elementArray[i].elementType == "text") {
      str = formObj.value;

      if ( elementArray[i].dependencyElement != null ){
        if ( elementArray[i].dependencyElement.indexOf('$') == -1 ){
          if ( eval("form." + elementArray[i].dependencyElement + ".value") == '' ){
            continue;
          }
        } else {
          var dependencyElement = elementArray[i].dependencyElement.split( '$' );
          if ( !(eval("form." + dependencyElement[0] + elementArray[i].dependencyValue + ".checked")) ){
            continue;
          }
        }
      } 

      if (elementArray[i].fieldSum != null){
        truncLabel="";
        concatStr="";
        fieldLabel = elementArray[i].elementName;
        fieldIndex = parseInt(elementArray[i].fieldSum);
        for (j=0; j>fieldLabel.length - 1; j++){
          truncLabel = truncLabel + fieldLabel.charAt(j);
        }
        for (k=1; k < fieldIndex + 1; k++){
          concatStr = concatStr + eval("form." + (truncLabel+k) + ".value") 
        }
        str = concatStr;
      }


      if (eval(elementArray[i].elementTest)){

        if (elementArray[i].stripNum != null)
          str = stripNum( formObj, str, elementArray[i].stripNum );

        continue;
      }

      if (str == ""){ 

        if (parseInt(elementArray[i].emptyOK)==1){ 
          continue;
        } else {
          if (!atLeastOne){ 
              alertText = beginAlertForEmptyText + elementLabel + endRequestAlert + hardReturn;
              alert(alertText);
          } else {

	      if (atLeastOne){ emptyFields += 1 } 
          
          }
        }

      } else {
        if (str != ""){ 
          if (elementName.slice(0,8) == "Password"){
            alertText = 'This' + beginInvalidAlert + elementLabel + endInvalidAlert + hardReturn;
          } else {
            alertText = str + beginInvalidAlert + elementLabel + endInvalidAlert + hardReturn;
          }

	      if (elementArray[i].requiredFormat != null) {
	        alertText += elementArray[i].beginrequiredFormatAlert + elementArray[i].requiredFormat + elementArray[i].endrequiredFormatAlert + hardReturn;
          }

            alert(alertText);
        } 
      }

    } else { 

      if (elementArray[i].dependencyElement != null)
        if (!eval("form." + elementArray[i].dependencyElement + elementArray[i].dependencyValue + ".checked")) continue;

      if (eval(elementArray[i].elementTest)) continue;

      alertText = beginRequestAlertGeneric + elementLabel + endRequestAlert + hardReturn;
      alert(alertText);
     }

    if ((atLeastOne) && ((emptyFields == elementArray.length)||(emptyFields == elementArray.length-1))){
      alertText = 'Please provide at least two of the three requested items.';
      alert(alertText);
      var goToObj = document.forms[0].elements[0];
      initFocus(goToObj);
    } else if( !( browserType.indexOf('IE') != -1 && platform.indexOf('Mac') != -1) ) { 

      if (formObj.focus)
        formObj.focus();
      if (formObj.select)
        formObj.select();
    }
 

    if (alertText != "") {
      return false;  
    } 


  }


  return true;
}

function clearForm()
{
  var form = document.forms[0];
  var firstText = 0, focusElement;
  for (i=0; i < elementArray.length; i++){
    if (elementArray[i].elementType=='select'){
      selectObj = eval('form.' + elementArray[i].elementName);
      if (selectObj.selectedIndex!=0){
        selectObj.selectedIndex=0;
      } 
    } else {
        if (elementArray[i].elementType=='text'){
          textObj = eval('form.' + elementArray[i].elementName);
          textObj.value='';
	
			if (firstText == 0){
				focusElement = eval('form.' + elementArray[i].elementName);
				firstText = 1;
			}
		}
    }
  }
  initFocus(focusElement);
  return false; 

}



var UserName = new oFormElement ( 'user name', 'UserName', 'text', 'isUserName(str)', null, ' check it', null, null, null, null, 'Please', ' and try again.', null, 'l' );
var Password = new oFormElement( 'password', 'Password', 'text', 'isPassword(str)', null, null, null, null, null, null, null, null, null, 'l' );


var elementArray = new Array( UserName, Password );


function isUserName(str) 
{
  if ( isEmpty(str) ) { return false } 
  if ( !(isInBag(str, 'alphanum')) ) { return false }
  if ( isLength(str, 6, '<') || isLength(str, 20, '>') ) { return false }
  return true;
}


function isPassword(str)  {
  if ( isEmpty(str) ) { return false } 
  if ( !(isInBag(str, 'alphanum')) ) { return false }
  if ( isLength(str, 6, '<') || isLength(str, 20, '>') ) { return false }
  return true;

}


       function Listening(netscape_event)
       {
        	var real_event = (netscape_event) ? netscape_event : window.event;
        	var real_ascii = (netscape_event) ? real_event.which : real_event.keyCode;
        	if(real_ascii == '13'){
            return SubmitIt('/cardsite_fiserv/Application/Pages/loginenroll/LogonPassphrase.asp',1);}
        }
