function maskInput(strInput,strMask){var strMasked,strTmp,LenStr,LenMsk,blnReverse;strMasked='';LenStr=strInput.length;LenMsk=strMask.length;if(LenStr==0)return('');if(LenMsk==0)return(strInput);if(LenMsk>1){if((strMask.charAt(LenMsk)=='\\')&&(strMask.charAt(LenMsk-1)!='\\'))strMask=strMask.substring(0,LenMsk-1);}
blnReverse=false;if(strMask.charAt(0)=='~'){if(LenMsk==1)return(strInput);strMask=strMask.substring(1,LenMsk);LenMsk=strMask.length;if(LenStr>LenMsk)return(strInput.substring(0,LenMsk));strMask=reverseString(strMask);strInput=reverseString(strInput);blnReverse=true;}else if(strMask.charAt(0)=='^'){if(LenMsk==1)return(strInput);strMasked='';for(i=0;i<LenStr;i++){strMasked=strMasked+strMask.charAt(1);}
return(strMasked);}else if(strMask.charAt(0)=='*'){if(LenMsk==1)return(strInput);var multiChar,i;multiChar=strMask.charAt(1);if(!isMaskChar(multiChar))return(strInput);strMask=''
for(i=0;i<=LenStr;i++){strMask=strMask+multiChar;}
LenMsk=strMask.length;}else if(strMask.charAt(0)=='@'){if(LenMsk==1)return(strInput);var zeroNum,i;zeroNum=strMask.substring(1,LenMsk);if(isNaN(zeroNum))return(strInput);strMask='';var i;for(i=0;i<zeroNum;i++){strMask=strMask+'9';}
for(i=0;i<LenStr;i++){if(isNumberChar(strInput.charAt(i)))strMasked=strMasked+strInput.charAt(i);}
i=0;while(strMasked.charAt(i)=='0')i++;if(i>0)strMasked=strMasked.substring(i,LenStr);strMasked=strMasked.substring(0,zeroNum);LenStr=strMasked.length;if(LenStr<zeroNum){for(i=LenStr;i<zeroNum;i++)strMasked='0'+strMasked;}
return(strMasked);}
var MskOffset,Count,SubStr,Mask,newChar,newCharLen;MskOffset=0;for(Count=0;Count<LenStr;Count++){SubStr=strInput.charAt(Count);if(MskOffset<LenMsk){newChar='';Mask=strMask.substring(MskOffset,LenMsk);newChar=checkMask(Mask,SubStr);newCharLen=newChar.length;if(newCharLen!=0)strMasked=strMasked+newChar;if(Mask.charAt(0)=='\\')MskOffset++;MskOffset=MskOffset+newCharLen;}}
if(blnReverse)return(reverseString(strMasked));return(strMasked);}
function unMaskInput(strMaskedInput,strUnMask){var strUnMasked,LenStr,LenMsk,blnReverse;strUnMasked='';LenStr=strMaskedInput.length;LenMsk=strUnMask.length;if(LenStr==0)return('');if(LenMsk==0)return(strMaskedInput);if(LenMsk>1){if((strUnMask.charAt(LenMsk)=='\\')&&(strUnMask.charAt(LenMsk-1)!='\\'))strUnMask=strUnMask.substring(0,LenMsk-1);}
if(strUnMask.charAt(0)=='~'){if(LenMsk==1)return(strMaskedInput);strUnMask=strUnMask.substring(1,LenMsk);LenMsk=strUnMask.length;if(LenStr>LenMsk)return(strMaskedInput.substring(0,LenMsk));strUnMask=reverseString(strUnMask);strMaskedInput=reverseString(strMaskedInput);blnReverse=true;}else if(strUnMask.charAt(0)=='^'){return(strMaskedInput);}else if(strUnMask.charAt(0)=='*'){if(LenMsk==1)return(strMaskedInput);var multiChar;multiChar=strUnMask.charAt(1);if(!isMaskChar(multiChar))return(strMaskedInput);strUnMask='';var i;for(i=0;i<LenStr;i++){strUnMask=strUnMask+multiChar;}
LenMsk=strUnMask.length;}else if(strUnMask.charAt(0)=='@'){var i;i=0;while(strMaskedInput.charAt(i)=='0')i++;strUnMasked=strMaskedInput.substring(i,LenStr);return(strUnMasked);}
var MskOffset,Count,SubStr;MskOffset=0;for(Count=0;Count<LenStr;Count++){SubStr=strMaskedInput.charAt(Count);if(MskOffset<LenMsk){if(isMaskChar(strUnMask.charAt(MskOffset))){strUnMasked=strUnMasked+SubStr;MskOffset++;}else if(strUnMask.charAt(MskOffset++)=='\\')MskOffset++;}}
if(blnReverse)return(reverseString(strUnMasked));return(strUnMasked);}
function checkMask(strCheckMask,strInpChar){var strOut;strOut=strCheckMask.charAt(0);switch(strOut){case'\\':strOut=strCheckMask.charAt(1);if(strOut!='\\'){if((strCheckMask.length>2)&&(strOut!=strInpChar)){strOut=strOut+checkMask(strCheckMask.substring(2,strCheckMask.length),strInpChar);}}else{if((strCheckMask.length>3)&&(strOut!=strInpChar)){strOut='\\'+checkMask(strCheckMask.substring(3,strCheckMask.length),strInpChar);}}
return(strOut);brake;case'#':if(isNumericChar(strInpChar))return(strInpChar);return('');brake;case'9':if(isNumberChar(strInpChar))return(strInpChar);return('');brake;case'>':if(isAlphabeticChar(strInpChar))return(strInpChar.toLowerCase());return(strInpChar);brake;case'<':if(isAlphabeticChar(strInpChar))return(strInpChar.toUpperCase());return(strInpChar);brake;case'A':if(isAlphabeticChar(strInpChar))return(strInpChar);return('');brake;case'!':if(isAlphabeticChar(strInpChar))return(strInpChar.toUpperCase());return('');brake;case'E':if(isEmailChar(strInpChar))return(strInpChar);return('');brake;case'U':if(isUrlChar(strInpChar))return(strInpChar);return('');brake;case'?':if(isNumOrChar(strInpChar))return(strInpChar);return('');brake;default:if((strCheckMask.length>1)&&(strOut!=strInpChar)){strOut=strOut+checkMask(strCheckMask.substring(1,strCheckMask.length),strInpChar);}
return(strOut);brake;}}
function isMaskChar(InString){if(InString.length!=1)return(false);var RefString;RefString="#9><A?E!";if(RefString.indexOf(InString,0)==-1)return(false);return(true);}
function isAlphabeticChar(InString){if(InString.length!=1)return(false);var RefString;InString=InString.toLowerCase();RefString="abcdefghijklmnopqrstuvwxyz ";if(RefString.indexOf(InString.toLowerCase(),0)==-1)return(false);return(true);}
function isNumberChar(InString){if(InString.length!=1)return(false);var RefString;RefString="1234567890";if(RefString.indexOf(InString,0)==-1)return(false);return(true);}
function isNumericChar(InString){if(InString.length!=1)return(false);var RefString;RefString=".,-1234567890";if(RefString.indexOf(InString,0)==-1)return(false);return(true);}
function isNumOrChar(InString){if(InString.length!=1)return(false);var RefString;InString=InString.toLowerCase();RefString="1234567890abcdefghijklmnopqrstuvwxyz ";if(RefString.indexOf(InString,0)==-1)return(false);return(true);}
function isEmailChar(InString){if(InString.length!=1)return(false);var RefString;InString=InString.toLowerCase();RefString="._+-@1234567890abcdefghijklmnopqrstuvwxyz";if(RefString.indexOf(InString,0)==-1)return(false);return(true);}
function isUrlChar(InString){if(InString.length!=1)return(false);var RefString;InString=InString.toLowerCase();RefString="/:.-1234567890abcdefghijklmnopqrstuvwxyz";if(RefString.indexOf(InString,0)==-1)return(false);return(true);}
function reverseString(string){if(string=='')return(string);var strTemp;strTemp='';for(i=string.length;i>=0;i--){strTemp=strTemp+string.charAt(i-1);}
return(strTemp)}
function comparePasswords(verify_field,password,idshow)
{idtoshow=document.getElementById(idshow);display_="none";if(verify_field.value!=verify_field.parentNode.parentNode.parentNode[password].value){verify_field.value='';verify_field.parentNode.parentNode.parentNode[password].value='';display_="block";}
idtoshow.style.display=display_;}
function confirmDelete(del_button){if(confirm("Are you sure that you want to delete this client?")){theform=del_button.parentNode.parentNode.parentNode;del_button.parentNode.innerHTML=del_button.parentNode.innerHTML+"<input type='hidden' name='type' value='Delete' />";theform.submit();return true;}
return false;}
function confirmDeleteAFF(del_button){if(confirm("Are you sure that you want to delete this Affiliate?")){theform=del_button.parentNode.parentNode.parentNode;del_button.parentNode.innerHTML=del_button.parentNode.innerHTML+"<input type='hidden' name='type' value='Delete' />";theform.submit();return true;}
return false;}
