/***********************************************************************
Valid characters for name(Prefix/Last Name/Middle Initial/Suffix/Mother's maiden Name):

("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r",
"s","t","u","v","w","x","y","z","-",," ","'","é", "è", "à", "î", "ù", "ê",
"â", "ë", "ä", "ï", "ü", "ô", "ö", "ç","A","B","C","D","E","F","G","H",
"I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")

Valid characters for First Name:

("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r",
"s","t","u","v","w","x","y","z","-"," ","é", "è", "à", "î", "ù", "ê",
"â", "ë", "ä", "ï", "ü", "ô", "ö", "ç","A","B","C","D","E","F","G","H",
"I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")

Valid characters for address:

(" ","a","b","c","d","e","f","g","h","i","j","k","l","0","1","2","3","4","5",
"6","7","8","9","(",")","&","m","n","o","p","q","r","s","t","u","v","w",
"x","y","z","-",".",",","'","é", "è", "à", "î", "ù", "ê", "â", "ë", "ä","ï",
"ü", "ô", "ö", "ç","A","B","C","D","E","F","G","H","I","J","K","L","M",
"N","O","P","Q","R","S","T","U","V","W","X","Y","Z","'","-")

Valid characters for Forgot Password Answer:

("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r",
"s","t","u","v","w","x","y","z","é", "è", "à", "î", "ù", "ê", "â", "ë",
"ä", "ï", "ü", "ô", "ö", "ç","A","B","C","D","E","F","G","H","I","J","K",
"L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-","."," ","'")

Valid characters for phone/fax number:

(" ", "+", "0","1","2","3","4","5","6","7","8","9","(",")","&","-","@",",","/")

Valid characters for flat/house number:

(" ","0","1","2","3","4","5","6","7","8","9","(",")","&","-",",","/",
,".","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q",
"r","s","t","u","v","w","x","y","z","é", "è", "à", "î", "ù", "ê", "â", "ë",
"ä", "ï", "ü", "ô", "ö", "ç","A","B","C","D","E","F","G","H","I","J","K",
"L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")

Valid characters for City/County:

(" ","(",")","-",",","'","a","b","c","d","e","f","g","h","i","j","k","l",
"m","n","o","p","q","r","s","t","u","v","w","x","y","z","é", "è", "à", "î",
"ù", "ê", "â", "ë", "ä", "ï", "ü", "ô", "ö", "ç","A","B","C","D","E","F",
"G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X",
"Y","Z")

Valid characters for House Name:

(" ","(",")","-","'",".","a","b","c","d","e","f","g","h","i","j","k","l",
"m","n","o","p","q","r","s","t","u","v","w","x","y","z","é", "è", "à", "î",
"ù", "ê", "â", "ë","ä", "ï", "ü", "ô", "ö", "ç","A","B","C","D","E","F",
"G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X",
"Y","Z")

Valid characters for Postal Code:

(" ","0","1","2","3","4","5","6","7","8","9","(",")","-","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q",
"r","s","t","u","v","w","x","y","z","é", "è", "à", "î", "ù", "ê", "â", "ë",
"ä", "ï", "ü", "ô", "ö", "ç","A","B","C","D","E","F","G","H","I","J","K",
"L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")


Valid characters for Description:

(" ","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w",
"x","y","z","(",")","&","-",".",",","'","é", "è", "à", "î", "ù", "ê", "â", "ë", "ä","ï",
"ü", "ô", "ö", "ç","A","B","C","D","E","F","G","H","I","J","K","L","M",
"N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5",
"6","7","8","9")

************************************************************************/


numberCharSet = "0123456789";
floatCharSet  = ".0123456789";
firstNameCharSet = " 'abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ-";
nameCharSet = " 'abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ-'";
addressCharSet = " abcdefghijkl0123456789()&mnopqrstuvwxyz-'.éèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ";
/*CR_9010 Starts here*/
passwordCharSet = " abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
/*CR_9010 Ends here*/
phoneCharSet = " 0123456789()&@,+/-";
houseNumCharSet = " 0123456789()#&-,/.abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ";
cityCharSet = " ()-'abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ";
postalCodeCharSet = " 0123456789()-abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ";
/*CR 27347 Changes starts here*/
redeemAdditionalCharSet = " 0123456789()-abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ_@.";
/*CR 27347 Changes ends here*/
/*BEGIN CR399*/
alphaNumericCharSet = " _0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/?'.";
/*END CR399*/
invoiceNumberCharSet = " -/0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
houseNameCharSet = " 0123456789abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ-'.()&,";
maidenNameCharSet = " abcdefghijklmnopqrstuvwxyzéèàîùêâëäïüôöçABCDEFGHIJKLMNOPQRSTUVWXYZ-'";
//++ PRJ_0226 NFB04 changes start here
/*BEGIN CR89*/
businessNameCharSet = firstNameCharSet+numberCharSet+"&.!)(-@'";
/*END CR89*/
//-- PRJ_0226 NFB04 changes end here

/*The following are the various characters allowed in the Description fields.*/
alphabets = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
frenchAlphabets = "éèàîùêâëäïüôöç";
numbers = "0123456789";
brackets = "{}[]()";
operators = "+-=<>/*";
currency = "$¢£¥";
others = "%^!#&.@,;_'?`~|¡¦¨©® ";
promoothers = "%^!#&.@,;_'?`~|¡¦¨©®: ";
descriptionCharSet = alphabets+frenchAlphabets+numbers+brackets+operators+currency+others;
promodescriptionCharSet = alphabets+frenchAlphabets+numbers+brackets+operators+currency+promoothers;
keywordCharSet = alphabets+frenchAlphabets+numbers+","+" ";

CARD_NUMBER_LENGTH = 11;
PASS_NUMBER_LENGTH = 4;
ACCOUNT_NUMBER_LENGTH = 8;
PASSWORD_LENGTH = 7;

/*The following is a list of possible formats of PO Box netered value during address standardisation*/
var poBoxArray = new Array("B O BOX","BPOX","G P O BOX",
                "G PO BOX","GPO BOX","P 0 BOX","P BOX","P O B OX","P O B0X ","P O BIX",
                "P O BO","P O BOOX","P O BOX","P O BOX NO","P O BOXX","P O BOZ","P O BPX","P O BX","P O BXO",
                "P O DRAW","P O DRAWER","P O DWR","P/O BOX","P/O/ BOX","P0","P0 BOX","P0 BOZ",
                "P0 BXO","P0B0X","P0BOX","P0BX","P0STOB0X","P0STOBOX","P0STOFFICEB0X","P0STOFFICEBOX",
                "PO B","PO BO","PO BOB","PO BOX","PO BOX DWR","PO BOX NO","PO BX","PO DRAWER",
                "PO DRWER","PO DRWR","POBOX","POST OFFICE BOX","X O BOX"); //"BX",

function isValidCardNum(field)
{
        if (fnTrimMiddleAll(field).length == CARD_NUMBER_LENGTH )

        return (true);

        else return (false);

}

function isValidPassNum(field)
{
        if (fnTrimMiddleAll(field).length == PASS_NUMBER_LENGTH )

        return (true);

        else return (false);

}
function isValidAcctNum(field)
{
        if (fnTrimMiddleAll(field).length == ACCOUNT_NUMBER_LENGTH )

        return (true);

        else return (false);

}
function isValidPswdLen(field)
{
        if (field.length >= PASSWORD_LENGTH )

        return (true);

        else return (false);

}
function isEmpty(obj)
{


        strValue = fnTrim(obj.value);
// return (true);
        if (strValue == "") return (true);
        else return (false);

}

function fnTrimMiddleToSingle(fieldValue)
{
        if (fieldValue == null) {
        return;
        }
        var cnt;
        var len;
        var str=fieldValue.toString();
        var strTrimmed = "";
        var chSelected= '';
        var blSpaceAdded = false;

        str  = fnTrim(str);
        len = str.length;

        for(cnt=0;cnt < len;cnt++)
        {

                chSelected=str.charAt(cnt);

                if (blSpaceAdded == false)
                {
                        strTrimmed+= chSelected;
                        if (chSelected == " ") blSpaceAdded = true;

                }

                else if (chSelected != " ")
                {
                        strTrimmed+= chSelected;
                        blSpaceAdded = false;

                }

        }



        return (strTrimmed);

}//end of fnTrimMiddleToSingle

function fnTrimMiddleAll(fieldValue)
{


        if (fieldValue == null) {
        return;
        }
        var cnt;
        var iCountTrim=0;
        var len;
        var fVal=fieldValue.toString();
        var strTrimmed = "";
        var str = fVal;
        var chSelected= '';
        len = fVal.length;

        for(cnt=0;cnt < len;cnt++) {
           chSelected=str.charAt(cnt);
           if (chSelected != " ")
           {
                strTrimmed+= chSelected;
                iCountTrim++;
           }


        }

        return (strTrimmed);



}//end of fnTrimMiddleAll


function fnTrim(fieldValue)
{
          var cnt;
          var len;
          if (fieldValue == null) {
                return;
          }
          var fVal=fieldValue.toString();

          // Obtain the length and the string
          len = fVal.length;
          str = fVal;

          //Obtain the index at which the string begins
          begin = -1;
          for(cnt=0;cnt < len;cnt++)
          {
           if (str.charAt(cnt) == " ")
            begin = cnt;
           else
            break;
          }

          // Extract the entire length of the string from the last leading space
          str = str.substring(begin+1,len);
          len = str.length;
          end = len;

          // Locate the first trailing space

          for(cnt=len-1;cnt>=0;cnt--)
          {
           if (str.charAt(cnt) == " ")
            end = cnt;
           else
            break;
          }
          // Extract the actual string
          str = str.substring(0,end);
          return str;

 }//end of fnTrim



function validateNumber(fieldValue)
{
        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (numberCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);
} //end of validateNumber

function validateFloat(fieldValue)
{
        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (floatCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);
} //end of validateFloat

function validateDecimal(fieldValue) {
        var allValid = true;
        if ((fieldValue*100) > 99999999999) {
                alert("There can only be a maximum of 9 digits prior to the decimal point.\r\t    Please enter a different value.");
                allValid = false;
                return(allValid);
        }
        return(allValid);
}

function validateAlphaNumeric(fieldValue)
{

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (alphaNumericCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateAlphaNumeric

function validatePassword(fieldValue)
{

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (alphaNumericCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validatePassword

/* LMUKRPCS
function validatePasswordForgotPasswdQn(fieldValue)
{

        var allValid = true;
        var temp;
        var question = "?";

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (question.indexOf(temp) == "-1")
                {
                
                        allValid = true;
                        
                }else{
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validatePassword

LMUKRPCS */

// Added for Rewards.
function validateKeywordCharSet(fieldValue)
{

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (keywordCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

} // end of validateKeywordCharSet

function validateInvoiceNumber(fieldValue)
{

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (invoiceNumberCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateInvoiceNumber



function validatePasswordForSpace(fieldValue)
{


        var allValid = true;
        var temp;
        var space = " ";

        for (var i=0; i<fieldValue.length; i++)

        {
        

                temp = "" + fieldValue.substring(i, i+1);
                if (space.indexOf(temp) != "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validatePassword


function validateAddress(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (addressCharSet.indexOf(temp) == "-1")
                {
                
                        allValid = false;
                        
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateAddress

function validateName(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (nameCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateName



function validateFirstName(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (firstNameCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateFirstName

/*BEGIN CR89*/
function validateBusinessName(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (businessNameCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateBusinessName
/*END CR89*/


function validateMaidenName(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (maidenNameCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateMaidenName


function validateHouseName(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (houseNameCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateHouseName


function validatePhone(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (phoneCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);


}//end of validatePhone





function validateHouseNum(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (houseNumCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateHouseNum




function validateCity(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (cityCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validateCity



function validatePostalCode(fieldValue)
{

        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (postalCodeCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);

}//end of validatePostalCode
function validateDescription(fieldValue) {

fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (descriptionCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);
}// end of validateDescription

function promovalidateDescription(fieldValue) {

fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++)

        {

                temp = "" + fieldValue.substring(i, i+1);

                if (promodescriptionCharSet.indexOf(temp) == "-1")
                {
                        allValid = false;
                        return(allValid);
                }

        }

        return(allValid);
}// end of promovalidateDescription


function fnSeparateAngleBrackets(obj){

        if (isEmpty(obj)) {
                return(true);
        }

        var newValue = "";
        var strValue = obj.value;
        var iLength = strValue.length;
        for (var iCount =0 ;iCount <iLength;iCount++) {
                if (strValue.charAt(iCount) == '<' || strValue.charAt(iCount) == '&'){
                        newValue += strValue.charAt(iCount)+" ";
                }else {
                        newValue += strValue.charAt(iCount);
                }
        }
        obj.value = fnTrimMiddleToSingle(newValue);

} //end of fnSeparateAngleBrackets

/*This function checks for special character in the input field.
and pops up suitable message if special characters are found.
*/
function chkSpecialCharacter(inputString){

      var inputVal = fnTrim(inputString.value);
      if(inputVal.search(/[^a-z.A-Z*0-9_\-]/) >= 0)
      {
              alert ('Please enter only valid characters for this field(A-Z,0-9,_,.,-)');
              //inputString.focus();
              return false;
      }
      return true;
}
/*This function will check if there are any POBox elements
in any of the address lines.If present,it will alert a message saying PO Box values are not allowed.
*/
function chkPOBoxElement(inputString){
        var inputVal = fnTrim(inputString.value).toUpperCase();
        for( var iCount=0;iCount<poBoxArray.length;iCount++){
                if(inputVal.search(poBoxArray[iCount]) >=0){
                        alert('Plese remove the PO Box value and try again.');
                        inputString.focus();
                        return false;
                }
        }
        return true;
}
/*This function will check if there are any POBox elements
in any of the address lines.If present,it will alert a message saying PO Box values are not allowed.
*/
function chkPOBox(formName){
        var inputVal1 = fnTrim(formName.Address1.value).toUpperCase();
        var inputVal2 = fnTrim(formName.Address2.value).toUpperCase();
        var inputVal3 = fnTrim(formName.Address3.value).toUpperCase();
        for( var iCount=0;iCount<poBoxArray.length;iCount++){
                if(inputVal1.search(poBoxArray[iCount]) >=0){
                        alert('Plese remove the PO Box value and try again.');
                        formName.Address1.focus();
                        return false;
                }
                if(inputVal2.search(poBoxArray[iCount]) >=0){
                        alert('Plese remove the PO Box value and try again.');
                        formName.Address2.focus();
                        return false;
                }
                if(inputVal3.search(poBoxArray[iCount]) >=0){
                        alert('Plese remove the PO Box value and try again.');
                        formName.Address3.focus();
                        return false;
                }
        }
        return true;
}

/*This function will check if there are any POBox elements
in any of the address lines.If present,it will alert a message saying PO Box values are not allowed.
*/
function chkPOBoxCSI(formName){
        var inputVal1 = fnTrim(formName.address1.value).toUpperCase();
        var inputVal2 = fnTrim(formName.address2.value).toUpperCase();
        var inputVal3 = fnTrim(formName.address3.value).toUpperCase();
        for( var iCount=0;iCount<poBoxArray.length;iCount++){
                if(inputVal1.search(poBoxArray[iCount]) >=0){
                        alert('Plese remove the POBox value and try again.');
                        formName.address1.focus();
                        return false;
                }
                if(inputVal2.search(poBoxArray[iCount]) >=0){
                        alert('Plese remove the POBox value and try again.');
                        formName.address2.focus();
                        return false;
                }
                if(inputVal3.search(poBoxArray[iCount]) >=0){
                        alert('Plese remove the POBox value and try again.');
                        formName.address3.focus();
                        return false;
                }
        }
        return true;
}


function lookForNewInstanceOfBrowser()
{
        
        
        if(getCookie("lastValue")!=document.CSRSTATICFORM.lastValue.value)
        {
                
                trapMouseClick();
                
        }
        else
        {
                
                document.CSRSTATICFORM.lastValue.value=Math.random();
                setCookie("lastValue",document.CSRSTATICFORM.lastValue.value);
                setTimeout(lookForNewInstanceOfBrowser,200);
                
        }
                
}


function trapMouseClick ()
{

        document.onmousedown = mouseDown
        document.onmousemove = mouseMove
        document.onmouseup = mouseUp
        document.onkeydown=mouseDown
        document.onkeyup=mouseUp
        window.onunload=unloadWindow
        

}

function unloadWindow()
{
        denyRefresh();
        window.history.clear();
        return false;
}


function denyRefresh()
{
         
        
        document.write("<html><head><title>Collector</title></head> <body bgcolor='#C7D6EE' ><table width='100%' height='100%' border='0' >  <tr align='left' valign='top'>   <td  class='errorMsg' valign='center' align='center'><h2>Please operate on the new window <br><h5>     </td>  </tr>      </TABLE></BODY></HTML>");
        

}

function mouseDown(e)
{

        alert("This window has been duplicated; Please Operate on the new window");
        return false;
}
function mouseMove(e)
{

        return false;
}
function mouseUp(e)
{

        return false;
}


function setCookie(NameOfCookie, value, expiredays)
{
        var ExpireDate = new Date ();
        ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
        document.cookie = NameOfCookie + "=" + escape(value) +  ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}

function getCookie(NameOfCookie)
{

        if (document.cookie.length > 0)
        {

                begin = document.cookie.indexOf(NameOfCookie+"=");
                if (begin != -1)
                {
                        begin += NameOfCookie.length+1;
                        end = document.cookie.indexOf(";", begin);
                        if (end == -1) end = document.cookie.length;
                        return unescape(document.cookie.substring(begin, end));
                }


        }
        return null;
}



// added for date validation
function chkDOB(objName) {
//function chkdate(objName) {
//var strDatestyle = "US"; //United States date style
var strDatestyle = "EU";  //European date style
var strDate="";
var strDateArray;
var strDay ="";
var strMonth ="";
var strYear="";
var intday="";
var intMonth="";
var intYear="";
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";

/* Ensure that the Date is not an EMPTY field */
strDate = datefield;
if (strDate.indexOf("/") != -1 || strDate.indexOf(".") != -1 || strDate.indexOf("-") != -1) {
        strDate = fnTrimMiddleAll(strDate);
} else {
        strDate = fnTrimMiddleToSingle(strDate);
}

if (strDate.length < 1) {
        return true;
}

for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
        if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
                strDateArray = strDate.split(strSeparatorArray[intElementNr]);
                if (strDateArray.length != 3) {
                        err = 1;
                        return false;
                } else {
                        strDay = strDateArray[0];
                        strMonth = strDateArray[1];
                        strYear = strDateArray[2];
                }
                booFound = true;
        }
}
if (booFound == false) {

        if (strDate.length>5) {
                strDay = strDate.substring(0, 2);
                strMonth = strDate.substring(2, 2);
                strYear = strDate.substring(4);
        }
}
if (!validateNumber(strYear) || !validateNumber(strDay)) {
        return (false);
}
if (strYear.length > 4) {
        return(false);
}

var parsedYear  = parseInt(strYear,10);
if(parsedYear<100)
{
        parsedYear += 2000;
        strYear = new String(parsedYear);
}

// US style
if (strDatestyle == "US") {
        strTemp = strDay;
        strDay = strMonth;
        strMonth = strTemp;
}

intday = parseInt(strDay, 10);

if (isNaN(intday)) {
        err = 2;
        return false;
}

intMonth = parseInt(strMonth, 10);

if (isNaN(intMonth)) {
        for (i = 0;i<12;i++) {
                if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
                        intMonth = i+1;
                        strMonth = strMonthArray[i];
                        i = 12;
                }
        }

        if (isNaN(intMonth)) {
                err = 3;
                return false;
        }
}

intYear = parseInt(strYear, 10);

if (isNaN(intYear)) {
        err = 4;
        return false;
}

if (intMonth>12 || intMonth<1) {
        err = 5;
        return false;
}

if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
        err = 6;
        return false;
}

if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
        err = 7;
        return false;
}

if (intMonth == 2) {
        
        if (intday < 1) {
                err = 8;
                return false;
        }
        
        if (LeapYear(intYear) == true) {
                if (intday > 29) {
                        err = 9;
                        return false;
                }
        } else {
                if (intday > 28) {
                err = 10;
                return false;
        }

}

}

if (strDatestyle == "US") {
        datefield = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
} else {
        datefield = intday + "/" + intMonth + "/" + strYear;
}

return true;

} //end of chkdate

//function to select the date object on click

function dateSelect(curobj)
    {
    curobj.select();
    return true;
    }
    
// function for Auto Tab 

var excludedKeyCodes =  new Array(0,8,9,16,17,18,37,38,39,40,46);
   
function autoTab(prevObj,curObj,nextObj)
   {
      len=2;
          fld = curObj;
      var keyCode = event.keyCode; 
      if(fld.value.length >= len && !excludedKey(keyCode)) 
      {
         fld.value = fld.value.slice(0, len);   
                 nextObj.focus();       
                 nextObj.select();      
      }
      return true;
   }
   
 function excludedKey(Kcode) 
   {
      var found = false;
      var i = 0;
      while(!found && i < excludedKeyCodes.length)
      if(excludedKeyCodes[i] == Kcode)
         found = true;
      else
         i++;
         
      return found;
   }
   
   
function isAlphaNumeric(emailch)
{
   var email_char=emailch;
   if(((email_char >= "0")&&(email_char <= "9" ))||((email_char >= "A")&&(email_char <= "Z" ))||((email_char >= "a")&&(email_char <= "z" )))
   {
        return true;
   }
   else
   {
        return false;
   }


}

function LeapYear(intYear) {

        if (intYear % 100 == 0) {
                if (intYear % 400 == 0) { return true; }
        } else {
                if ((intYear % 4) == 0) { return true; }
        }
        return false;
}

function trimUrl(url){

var temp;
var quote="\"";
var result="";
var boolFlag = 0;
var incre = 0;

for (var i=0; i<url.length; i++)

        {

                temp = "" + url.substring(i, i+1);
        if (quote.indexOf(temp) == "-1")
                { 
                     
                } else {
                
                  if(incre == 1){
                    boolFlag=0; 
                  }
                
                }
       
         if(boolFlag==1){
                  
                  result = result + temp;
                  
              }
         
                if (quote.indexOf(temp) == "-1")
                { 
                     
                } else {
                              
                 
                           boolFlag = 1;
                           incre = incre + 1;
                           
                           if(incre == 2){
                           
                            break;
                           }
                
                           }

        }
        
if (result == ""){
 result = url;

}
        
        
 return result;

}




function openWin(loc){
        storePopupWindow=window.open(loc,'FindHomeStore','width=800,height=500,left=60,top=60,menubar=yes,toolbar=yes,scrollbars=yes' );
}
//++ AMITSMILE CR 70 Changes Begin
function fnGetBusCategories(form)
{
   
    servletUrlRefresh = trimUrl(servletUrlRefresh);
    form.action = servletUrlRefresh;
    form.submit();
    
}
//-- AMITSMILE CR 70 Changes End
 


/*CR_9010 Starts here*/
function validatePasswordCharacters(fieldValue)
{
	var allValid = true;
	var temp;
	for (var i=0; i<fieldValue.length; i++)
	{
		temp = "" + fieldValue.substring(i, i+1);
		if (passwordCharSet.indexOf(temp) == "-1")
		{
		          	allValid = false;
			 		alert(temp +" is not a valid character for password");
			 		return(allValid);
		      
		}
	}

	return(allValid);
}

/*CR_9010 Ends here*/ 

/*CR14111 start here*/
function fnIsChecked(radioObject)
{
	var flag = true;
	 for (var i = 0; i < radioObject.length; i++){


		   if(radioObject[i].checked == true)
		     flag = false;
	      	    }
	      	    return flag;
}
/*CR14111 ends here*/



