// email kireol at yahoo.com
// autoMask - an adaption of anyMask
// <input type=text name=ssn onkeypress="return autoMask(this,event, '###-##-####');">
// this will force #'s, not allowing alphas where the #'s are, and auto add -'s

function autoMask(field, event, sMask)
{
	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
   	var KeyTyped = (isNN) ? String.fromCharCode(event.which) : String.fromCharCode(event.keyCode); 
   	var targ = getTarget(event);
   	var asciCode;
   	if(event.which == undefined || event.which == 'undefined')//for IE 
   	 	asciCode = window.event.keyCode;
   	 else	
   	  asciCode = event.which; //firefox	
	if((asciCode >=0 && asciCode<32))return true;
	if((asciCode ==32))return false;

   	var keyCount = targ.value.length;

   	if(keyCount == sMask.length) 
    {
 		if (isNumeric(KeyTyped) && !isSpecChar(KeyTyped))
        {
        	return true;
     	}
	 	else 
        {
            return false; // ***********true
        }                    
	}


    switch (sMask.charAt(keyCount))
	{           
   		case '*':
		            if ((sMask.charAt(keyCount+1) != '#') && (sMask.charAt(keyCount+1) != 'A' ) )
                  	{
		          		field.value = field.value + KeyTyped + sMask.charAt(keyCount+1);
		               	return false;
		         	}
		            return true;

		            break;

 

            case '#':

           

            if (isNumeric(KeyTyped))

            {

                if ((sMask.charAt(keyCount+1) != '#') && (sMask.charAt(keyCount+1) != 'A' ) )

                      {

                            insertAtCursor(field, KeyTyped);

                            //field.value = field.value + KeyTyped + sMask.charAt(keyCount+1);

                            field.value = field.value + sMask.charAt(keyCount+1);

                            return false;

                      }

                

                return true;

            } 

            else 

            {

                if (isAlpha(KeyTyped))

                {

                    return false;

                } 

                else if(isSpecChar(KeyTyped))

                {
//                    targ.value='';
                    return false;

                }

                else return true;

            }

            break;

 

            case 'A':

            

            if (isAlpha(Keytyped))

            {

                 if ((sMask.charAt(keyCount+1) != '#') && (sMask.charAt(keyCount+1) != 'A' ) )

                      {

                         field.value = field.value + KeyTyped + sMask.charAt(keyCount+1);

                         return false;

                      }

                return true;

            } else {

                return false;

            }

            break;

 

            default:

                if (KeyTyped.charCodeAt(0) < 32) return true;

                break;

    }

 

    if (KeyTyped.charCodeAt(0) < 32) return true;

    return false;

}

 

function checkAsPerFormat(field,sMask)

{

    var strArray=new Array(8);

    var i=0;

    var x=0;

    var strVal=field.value;

    

    if(strVal=='null'||trim(strVal)=='')

    {

        return true;

    } 

    if(strVal.length!=sMask.length)

    {

        return false;

    }

    //checking length of mask and identifying / or -

    //checking if # then there must be number

    for(i=0;i<sMask.length;i++)

    {

        if(sMask.charAt(i)!='#')

        {

            if(strVal.charAt(i)!=sMask.charAt(i))

            {

                return false;

            }

    

        }

        else

        {

            if(isNumeric(strVal.charAt(i)))

            {                   

            }

            else

            {

                return false ;

            }

        }

    }

    return true ;

    

}

 

 

 function getTarget(e) {

  // IE5

   if (e.srcElement) {

        return e.srcElement;

   }

    if (e.target) {

        return e.target;

   }

 }

 

  function getKeyCode(e) {

 //IE5

 if (e.srcElement) {

    

        return e.keyCode;

 }

  // NC5

  if (e.target) {

   return e.which;

  }

 }

 

function isNumeric(c)

{

        var sNumbers = "0123456789";

        if (sNumbers.indexOf(c) == -1)

                return false;

        else return true;

 

}

 

function isAlpha(c)

{

        var lCode = c.charCodeAt(0);

        if (lCode >= 65 && lCode <= 90 ||lCode >= 97 && lCode <= 122 )

        {

            return true;

        }

        else

        return false;

}

 

function isPunct(c)

{

        var lCode = c.charCodeAt(0);

        if (lCode >= 32 && lCode <= 47 )

          {

                return true;

         }

        else

        return false;

}

 

function insertAtCursor(myField, myValue) {

      //IE support

      if (document.selection) 

    {

        myField.focus();

        sel = document.selection.createRange();

        var fieldText=myField.value;

        myField.value+=myValue;

     }

            //MOZILLA/NETSCAPE support

      else if (myField.selectionStart || myField.selectionStart == '0')

    {

        var startPos = myField.selectionStart;

            var endPos = myField.selectionEnd;

            myField.value = myField.value.substring(0, startPos)

            + myValue

            + myField.value.substring(endPos, myField.value.length);

      } 

    else 

    {

            myField.value += myValue;

      }

}

 

/*

    Added for only numeric  check

    By Sushil on 21 Jun, 2006

*/

 

function autoMaskForInt(field, event) {

   // alert("here1");

   var isNN = (navigator.appName.indexOf("Netscape")!=-1);

   var KeyTyped = (isNN) ? String.fromCharCode(event.which) : String.fromCharCode(event.keyCode); 

   var targ = getTarget(event);

   keyCount = targ.value.length;

   if ((isNumeric(KeyTyped) && !isSpecChar(KeyTyped)&& !isAlpha(KeyTyped)) || (KeyTyped.charCodeAt(0) < 32)) 

    {        

       return true;

     } else {        

        targ.value = '';

        return false;

     }            

}

/* Adding for Licensence  */



function autoMaskForAlphaInt(field, event) {

   // alert("Try");

   var isNN = (navigator.appName.indexOf("Netscape")!=-1);

   var KeyTyped = (isNN) ? String.fromCharCode(event.which) : String.fromCharCode(event.keyCode); 

   var targ = getTarget(event);

   keyCount = targ.value.length;

   if ((isNumeric(KeyTyped) || isAlpha(KeyTyped))   || ((KeyTyped.charCodeAt(0) < 32) || ((KeyTyped.charCodeAt(0) >= 65) && (KeyTyped.charCodeAt(0) <= 90))||((KeyTyped.charCodeAt(0) >= 97) && (KeyTyped.charCodeAt(0) <= 122)))) 

    {        

       return true;

     } else {        

      //  targ.value = '';

        return false;

     }            

}
 



  


 

function isSpecChar(c)

{

    var sNumbers = "-!@#$%^&*()_-=+?/>.<,}]{[|`~;:'";

        if (sNumbers.indexOf(c) == -1)

        {

               return false;

         }

        else 

        {

                 return true;

         }

}

 

/*

    Added for setting textarea maxlength

    By Sushil on 22 Jun, 2006

    call : onKeyPress ='return setMaxLength(this,15,event)'

*/

 

function setMaxLength(Object, MaxLen,event)

{

   var isNN = (navigator.appName.indexOf("Netscape")!=-1);

   var KeyTyped = (isNN) ? String.fromCharCode(event.which) : String.fromCharCode(event.keyCode); 

   var targ = getTarget(event);   

   if(!(KeyTyped.charCodeAt(0)< 32) || KeyTyped.charCodeAt(0)==13)

   {

        if(Object.value.length >= MaxLen-2)

        {

            Object.value = targ.value.substring(0,MaxLen-2); 

            //return (Object.value.length <= (MaxLen-1)); 

        }   

    }   

}

 

function isSSN(formValue)

{

    var formName;

    var ssnFont;

    var ssnText;

    var validChars = "0123456789-"; 

    

    if(formValue == '1')

    {

        formName = "personalForm";

        ssnText = "sssBox";

        ssnFont = "ssnTd";

    }

    if(formValue == '2')

    {

        formName = "houseKeepingForm";

        ssnText = "sssBox";

        ssnFont = "ssnTdH";

    }

    

    var phone = document.forms[getNetuiTagName(formName,this)][getNetuiTagName(ssnText,this)];

    var returnVal = true;

    if(phone != undefined)

    {

        var ph = phone.value;

        

        for( i=0; i<ph.length; i++)

        {

            if(validChars.indexOf(ph.charAt(i)) < 0)

            {

                (document.getElementById(ssnFont)).className="font_level_6_red_class";      //turn label red

                returnVal= false;

                break;

            }

         }

    }

    return returnVal;

}

 
/*
function isPhoneNumber(formValue)

{
    var phoneFont;

    var validChars = "0123456789-"; 

    var formName;

    if(formValue == '1')

    {

        formName = "callmeForm";

        phoneFont = "phoneNumber1";

    }

    if(formValue == '2')

    {

        formName = "appOnline";

        phoneFont = "phoneNumber2";

    }

    if(formValue == '3')

    {

        formName = "thankyouForm";

        phoneFont = "phoneNumber3";

    }

    var ph =  document.getElementById("phoneNumber").value;//document.forms[getNetuiTagName(this)][getNetuiTagName("phoneNumber",this)].value;

    var returnVal = 'true';

    for( i=0; i<ph.length; i++)

    {

        if(validChars.indexOf(ph.charAt(i)) < 0)

        {

            (document.getElementById(phoneFont)).className="font_level_6_red_class";      //turn label red

            returnVal= false;

            break;

        }

        

    }

    if(returnVal=='true')

    {

        phoneBackToedit();

    }

    return returnVal;

}
*/

 

function phoneBackToedit()

{

    if((!document.getElementById("phoneEdit")=='null')&&(!document.getElementById("phoneEdit")=='undefined'))

    {

        document.getElementById("phoneEdit").style.display="none";

        document.getElementById("phoneSave").style.display="block";

        document.getElementById("imageEdit").src="/portalAppWeb/resources/images/IMG - App Finish.jpg";

        document.forms[0].action="tocheckDetails.do";

        document.forms[0].submit();

    }

}
