var oRegAmount=/^\d*[0-9]\d*(\.\d+)?$/
var oRegEmail=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/
var oRegDate=/(0[1-9]|1[012])[/.](0[1-9]|[12][0-9]|3[01])[/.](19|20)\d\d/
var oRegUSPhone=/^\d{10}$/
var oRegNum=/\d/
var oRegOtherPhone=/^\d{15}$/
var oRegUSZip=/(^\d{5}-\d{4}$)|(^\d{5}$)/
var oRegCanadaZip=/(?:([A-Za-z0-9]{3}[ ][A-Za-z0-9]{3}))/
var oRegTime=/^(20|21|22|23|[01]\d|\d)(([:][0-5]\d){1,2})$/
var oRegTrim=/^\s*(\S+(\s+\S+)*)\s*$/
var oRegRightTrim=/^\s*(\S+(\s+\S+)*)\s*$/
var strBlockListName="~,|,\",^,%,$,#,+,=,},{,],[,],?,>,<,!"
var strBlockListPassword="?,>,<,&,\",',"
var strBlockListNameSearch="~,|,',\",^,$,@,#,+,=,},{,],[,],?,>,<,!"
var strBlockListNameLic="~,|,\",^,%,$,=,{,},[,],?,>,<,!"
var strBlockListNameLicSearch="~,|,\",^,$,=,{,},[,],?,>,<,!"
var strBlockListMultipleSearch="~,\",^,$,@,#,+,=,},{,],[,],?,>,<,!"
var strBlockListAddress="~,|,\",^,%,$,?,>,<,!"
var strBlockListComments="~,|,\",^"
var strBlockListMultipleCommentsSearch="~,\",^"
var strBlockListCity="~,|,\",^,%,$,?,<,>,!,`,&,-,_,\\,;,:,\/,',@,#,+,=,{,},[,],(,),,"
var asciiNumberZero=48
function checkForSpecialChars(obj,mode,dependentValue,charsNotToBeBlocked,eve){
var result=true
var strValue=trim(obj.value)
if(strValue.length==0){
obj.value=trim(obj.value)
return true}
var blockList=""
if(mode=="I"){
result=oRegNum.test(obj.value)}
else if(mode=="S"){
for(var j=0;j<strValue.length;j++){
if(!((strValue.charCodeAt(j)>=asciiA&&strValue.charCodeAt(j)<=asciiZ)||(strValue.charCodeAt(j)>=asciiSmallA&&strValue.charCodeAt(j)<=asciiSmallZ)||(strValue.charCodeAt(j)==asciiBlankSpace))){
alert("Only Characters are allowed.")
result=false
break}}
}else if(mode=="P"){
for(var j=0;j<strValue.length;j++){
if(!((strValue.charCodeAt(j)>=asciiA&&strValue.charCodeAt(j)<=asciiZ)||(strValue.charCodeAt(j)>=asciiSmallA&&strValue.charCodeAt(j)<=asciiSmallZ)||(strValue.charCodeAt(j)>=asciiNumberZero&&strValue.charCodeAt(j)<=asciiNumberNine))){
alert("Only Alpha-Numeric values are allowed.")
result=false
break}}}
else if(mode=="OZ"){
for(var j=0;j<strValue.length;j++){
if(!((strValue.charCodeAt(j)>=asciiA&&strValue.charCodeAt(j)<=asciiZ)||(strValue.charCodeAt(j)>=asciiSmallA&&strValue.charCodeAt(j)<=asciiSmallZ)||(strValue.charCodeAt(j)>=asciiNumberZero&&strValue.charCodeAt(j)<=asciiNumberNine))){
if(dependentValue!='undefined'&&(dependentValue==null || dependentValue.length==0))
alert("Zip format is not valid.")
else
alert("Zip format is not valid for the selected country.")
result=false
break}}}
else if(mode=="MI"){
for(var j=0;j<strValue.length;j++){
if(strValue.charCodeAt(j)<asciiNumberZero || strValue.charCodeAt(j)>asciiNumberNine){
if(strValue.charCodeAt(j)!=asciiPipe){
alert("Only Numeric values (0-9) are allowed.")
result=false
break}}}}
else if(mode=="OP" || mode=="OF"){
if(!oRegOtherPhone.test(strValue)){
if(mode=="OP"){
if(dependentValue!='undefined'&&(dependentValue==null || dependentValue.length==0))
alert("Phone format is not valid..")
else
alert("Phone format is not valid for the selected country.")}
else{
if(dependentValue!='undefined'&&(dependentValue==null || dependentValue.length==0))
alert("Fax format is not valid..")
else
alert("Fax format is not valid for the selected country.")}
result=false}}
else if(mode=="E"){
if(!oRegEmail.test(strValue)){
alert("Email provided is not in a recognized format. Please provide a valid email address.")
result=false}}
else if(mode=="D")
{if(obj.value=="MM/DD/YYYY"){
obj.value=''
result=true}
if(!isDate(strValue)){
alert("Please enter valid date.")
result=false}
}else if(mode=="B"){
if(!oRegAmount.test(strValue)){
alert("Please enter valid amount.")
result=false}}
else if(mode=="UCP" || mode=="UCF"){
if(obj.value=="###-###-####"){
obj.value=''
result=true}
else{
if(!oRegUSPhone.test(strValue)){
if(mode=="UCP")
alert("Phone format is not valid for the selected country. Enter 10 digit number.")
else
alert("Fax format is not valid for the selected country. Enter 10 digit number.")
result=false}}}
else if(mode=="UZ"){
if(obj.value=="#####-####"){
obj.value=''
result=true}
else{
if(!oRegUSZip.test(strValue)){
alert("Zip format is not valid for the selected country")
result=false}}}
else if(mode=="CZ"){
if(obj.value=="### ###"){
obj.value=''
result=true}
else{
if(!oRegCanadaZip.test(strValue)){
alert("Zip format is not valid for the selected country")
result=false}}}
else if(mode=="FS"){
for(var j=0;j<strValue.length;j++){
if(strValue.charCodeAt(j)<asciiNumberZero || strValue.charCodeAt(j)>asciiNumberNine){
if(strValue.charCodeAt(j)!=asciiHyphen){
alert("Only Numeric values (0-9) and - are allowed.")
result=false
break}}}}
else{
if(mode=="N")
blockList=strBlockListName
else if(mode=="PWD")
blockList=strBlockListPassword
else if(mode=="NS")
blockList=strBlockListNameSearch
else if(mode=="NL")
blockList=strBlockListNameLic
else if(mode=="NLS")
blockList=strBlockListNameLicSearch
else if(mode=="A")
blockList=strBlockListAddress
else if(mode=="C"){
blockList=strBlockListComments}
else if(mode=="MS")
blockList=strBlockListMultipleSearch
else if(mode=="MCS")
blockList=strBlockListMultipleCommentsSearch
else if(mode=="T")
blockList=strBlockListCity
if(charsNotToBeBlocked!='undefined'&&charsNotToBeBlocked!=null&&charsNotToBeBlocked.length>0){
blockList=blockList.replace(new RegExp(',','ig'),'')
charsNotToBeBlocked="/["+charsNotToBeBlocked.replace(new RegExp(',','ig'),'')+']/ig'
blockList=blockList.replace(eval(charsNotToBeBlocked),'')
blockList=blockList.split("*").join(",")}
for(var pos=0;pos<blockList.length;pos++){
var charIndex=strValue.indexOf(blockList.charAt(pos))
if(charIndex>-1){
if(mode !="C"){
obj.value=''}
alert("These special characters ("+blockList+") are not allowed.")
result=false
break}
pos=pos+1}
if(mode=="C"){
oRegCom=/<(\S+)/g
if(oRegCom.test(obj.value)){
obj.value=obj.value.replace(new RegExp('<[\\s]','ig'),'<')
obj.value=obj.value.replace(new RegExp('<','ig'),'< ')
strValue=obj.value}}}
if(!result){
obj.value=''
cancelEvent(eve)
obj.focus()
obj.select()
return false}
else{
obj.value=trim(obj.value)}
return result}
function validateCommentsLength(obj){
var maxLength=obj.getAttribute("maxlength")
if(obj.value.length>maxLength){
obj.focus()
alert('Only '+maxLength+' characters are allowed.')
return false}
return true}
function rightTrim(strValue){
if(oRegRightTrim.test(strValue)){
strValue=strValue.replace(oRegRightTrim,'$1')}
return strValue}
function trim(strValue){
var match=strValue.match(oRegTrim)
return(match==null)? '' : match[1]}
function isDate(dtStr){
if(!oRegDate.test(dtStr))
return false
var itemIndex=0
var arrTemp=dtStr.split(dtCh)
var month=arrTemp[itemIndex]
var day=arrTemp[++itemIndex]
var year=arrTemp[++itemIndex]
var testDate=new Date(new Date(year,month,1)-1)
if(day<1 || day>testDate.getDate()){
return false}
if(year<minYear || year>maxYear){
return false}
return true}
function doKeypress(control,e){
maxLength=control.attributes["maxlength"].value
value=control.value
if(maxLength&&value.length>maxLength-1){
if(document.selection.createRange().text.length<maxLength){
e.keyCode=0
cancelEvent(e)
maxLength=parseInt(maxLength)}}}
function doBeforePaste(control,e){
var maxLength=control.attributes["maxlength"].value
if(maxLength){
cancelEvent(e)}}
function doPaste(control,e){
var maxLength=control.attributes["maxlength"].value
value=control.value
if(maxLength){
cancelEvent(e)
maxLength=parseInt(maxLength)
var oTR=control.document.selection.createRange()
var insertLength=maxLength-value.length+oTR.text.length
var sData=window.clipboardData.getData("Text").substr(0,insertLength)
oTR.text=sData}}
function OpenMenuPage(strURL){
if(trackChangedForm()){
setBusyCursor()
window.location=strURL}}
function GetScrollPosition(){
var val
if(self.pageYOffset){
val=self.pageYOffset}
else if(document.documentElement&&document.documentElement.scrollTop){
val=document.documentElement.scrollTop}
else if(document.body){
val=document.body.scrollTop}
return val}
function DisableControl(controlId){
document.getElementById(controlId).disabled=true}
function DisableControl_SetTimeout(controlId,interval){
setTimeout("DisableControl('"+controlId+"')",interval)}
function btnSave_Click(control){
DisableControl_SetTimeout(control.id,10)}
var strUserAgent=navigator.userAgent.toLowerCase()
var isIE=strUserAgent.indexOf("msie")>-1
var isNS6=strUserAgent.indexOf("netscape6")>-1
var isNS4=!isIE&&!isNS6&&parseFloat(navigator.appVersion)<5
var isNS5=strUserAgent.indexOf("mozilla/5")>-1
var reKeyboardChars=/[\x00\x03\x08\x0D\x16\x18\x1A]/
var reClipboardChars=/[cvxz]/i
function checkreKeyboardChars(objEvent,strKey){
if(isIE){
return objEvent.ctrlKey}
else{
return reKeyboardChars.test(strKey)}}
function checkClipboardCode(objEvent,strKey){
if(isNS6 || isNS5){
return objEvent.ctrlKey&&reClipboardChars.test(strKey)}
else
return false}
function checkMask(obj,maskType,e){
var keyCode,strKey
if(isIE){
keyCode=e.keyCode
}else{
keyCode=e.which}
strKey=String.fromCharCode(keyCode)
if(keyCode==18)
return false
if(keyCode==17){
return true}
var isCtrlFunction=!checkreKeyboardChars(e,strKey)&&!checkClipboardCode(e,strKey)
if(keyCode==22){
return true}
var reValidChars
var isShift
if(e.shiftKey)
isShift=true
else
isShift=false
if((keyCode==8)||(keyCode==12)||(keyCode==13)||(keyCode==27)||(keyCode==45)||(keyCode==46)||(keyCode==9)||(keyCode==16)||(keyCode>=33&&keyCode<=40)||(keyCode>=112&&keyCode<=123)){
event.returnValue=true}
else{
switch(maskType){
case "I" :
if((oRegNum.test(strKey)||(keyCode>=96&&keyCode<=105))&&!isShift){
event.returnValue=true}
else{
return !isCtrlFunction}
break
case "UZ" :
if(((keyCode>=48&&keyCode<=57&&!isShift)||(keyCode>=96&&keyCode<=105))&&!isShift){
if(keyCode!=189&&obj.value.length==6&&obj.value.indexOf("-")==-1){
obj.value=obj.value.substring(0,5)+"-"+obj.value.substring(obj.value.length-1,obj.value.length)
event.returnValue=true}
else{
event.returnValue=true}}
else if((keyCode==189)&&(obj.value.length==5)&&obj.value.indexOf("-")==-1){
event.returnValue=true}
else{
cancelEvent(e)}
break
case "CZ" :
if((keyCode>=48&&keyCode<=57&&!isShift)||(keyCode>=97&&keyCode<=122)||(keyCode>=65&&keyCode<=90)||(keyCode==32)){
if((keyCode==32)&&(obj.value.length<3 || obj.value.indexOf(" ")!=-1)){
cancelEvent(e)}
else if((keyCode!=32)&&(obj.value.length==3)){
obj.value+=" "
event.returnValue=true}
else{
event.returnValue=true}}
else{
cancelEvent(e)}
break
case "B" :
if((keyCode==190 || keyCode==110)&&(obj.value.indexOf('.')>-1)){
cancelEvent(e)}
else if((((keyCode>=48&&keyCode<=57)|| keyCode==190 || keyCode==110 ||(keyCode>=96&&keyCode<=105))&&!isShift)){
if(obj.value.length==7&&obj.value.indexOf('.')==-1&&keyCode!=190&&keyCode!=110){
obj.value+="."
event.returnValue=true}}
else{
cancelEvent(e)}
break
case "D" :
if((keyCode>=48&&keyCode<=57&&!isShift)|| keyCode==189 || keyCode==109 || keyCode==191 || keyCode==111 ||((keyCode>=96&&keyCode<=105)&&!isShift)){
if(((obj.value.length==0 || obj.value.length==3)&&(keyCode==189 || keyCode==191 || keyCode==111 || keyCode==109))||((obj.value.length==4 || obj.value.length==5)&&((obj.value.indexOf('/')==2&&(keyCode==189 || keyCode==109))||(obj.value.indexOf('-')==2&&(keyCode==191 || keyCode==111))))){
cancelEvent(e)}
else if(obj.value.length>5){
if(keyCode==189 || keyCode==109){
if((obj.value.indexOf("-")==2&&obj.value.substring(3,obj.value.length).indexOf("-")==2)||(obj.value.indexOf("/")==2&&obj.value.substring(3,obj.value.length).indexOf("/")==2)){
cancelEvent(e)}
else{}}
else if(keyCode==191 || keyCode==111)
if((obj.value.indexOf("-")==2&&obj.value.substring(3,obj.value.length).indexOf("-")==2)||(obj.value.indexOf("/")==2&&obj.value.substring(3,obj.value.length).indexOf("/")==2)){
cancelEvent(e)}
else{}}
else{
if((obj.value.length==1)&&(keyCode==189 || keyCode==191 || keyCode==111 || keyCode==109))
obj.value="0"+obj.value
else if(obj.value.length==2&&obj.value.indexOf('/')==-1&&obj.value.indexOf('-')==-1&&(keyCode!=189&&keyCode!=109)&&(keyCode!=191&&keyCode!=111))
obj.value+="/"
else if((obj.value.length==4)&&(keyCode==189 || keyCode==191 || keyCode==111 || keyCode==109))
obj.value=obj.value.substring(0,3)+"0"+obj.value.substring(3,4)
else if(obj.value.length==5&&(obj.value.indexOf('/')==2 || obj.value.indexOf('-')==2)&&(keyCode!=189&&keyCode!=109)&&(keyCode!=191&&keyCode!=111))
obj.value+=obj.value.substring(2,3)
event.returnValue=true}}
else{
cancelEvent(e)}
break
case "DT" :
if((keyCode>=48&&keyCode<=57&&!isShift)||(keyCode==186&&isShift)|| keyCode==189 || keyCode==109 || keyCode==191 || keyCode==111 ||((keyCode>=96&&keyCode<=105)&&!isShift)){
if((obj.value.length==1)&&(keyCode==186)){
obj.value="0"+obj.value+":"
cancelEvent(e)}
if((obj.value.length==2)&&(keyCode==186)){
obj.value=obj.value+":"
cancelEvent(e)}
else if((obj.value.length!=2)&&(keyCode==186)){
cancelEvent(e)}
else if(obj.value.length==2&&keyCode!=186){
obj.value+=":"
event.returnValue=true}}
else{
cancelEvent(e)}
break
case "UCP" :
if((keyCode>=48&&keyCode<=57)||(keyCode>=96&&keyCode<=105)&&!isShift){
event.returnValue=true}
else if(keyCode==189&&(obj.value.length==3 || obj.value.length==7)){
event.returnValue=true}
else{
cancelEvent(e)}
break
case "UCF" :
if((keyCode>=48&&keyCode<=57)||(keyCode>=96&&keyCode<=105)&&!isShift){
event.returnValue=true}
else if(keyCode==189&&(obj.value.length==3 || obj.value.length==7)){
event.returnValue=true}
else{
cancelEvent(e)}
break}}
return true}
function cancelEvent(e){
if(!e)
if(window.event)
e=window.event
else
return
if(e.cancelBubble !=null)
e.cancelBubble=true
if(e.stopPropagation)
e.stopPropagation()
if(e.preventDefault)
e.preventDefault()
if(window.event)
e.returnValue=false
if(e.cancel !=null)
e.cancel=true
return false}
function GetElementByID(id){
return document.getElementById(id)}
function setBusyCursor(){
var divBusy=document.getElementById('loading1')
if(divBusy !=null){
divBusy.style.visibility='visible'
document.getElementById('imgBusy').src='/files/busy.gif'}
self.document.body.style.cursor='wait'}
function resetBusyCursor(){
var divBusy=document.getElementById('loading1')
if(divBusy !=null){
divBusy.style.visibility='hidden'}
document.body.style.cursor='default'}
function alertRemove(){
var a=confirm('This will remove the product from cart. Do you wish to continue? ')
if(a){}
else{return false;}}
function EnabledDisabledField(feild,enable){
if(document.getElementById(feild)){
if(document.getElementById(feild).readOnly){
document.getElementById(feild).readOnly=!enable}
else{
document.getElementById(feild).disabled=!enable}
var className=document.getElementById(feild).className.replace(' inputDisableSection','')
if(enable)
document.getElementById(feild).className=className
else
document.getElementById(feild).className=className+' inputDisableSection'}}
function GetAmountToDisplay(val){
var value='$'+roundNumber(val,2)
if((value!='')&&(value.indexOf('.')==-1)&&(value.length<=13)){
value+=".00"}
else if((value.indexOf('.')==0)&&(value.length==2)){
value="0"+value+"0"}
else if(((value.length)-(value.indexOf('.')))==2){
value=value+"0"}
else if((value!='')&&((value.length)-(value.indexOf('.')))==1){
value=value+"00"}
else if((value.indexOf('.')==0)&&(value.length==1)){
value="0"+value+"00"}
else if((value.indexOf('.')==0)&&(value.length>=1)){
value="0"+value}
return value}
function roundNumber(rnum,rlength){
var newnumber=Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength)
return newnumber}
function OpenPanel(elemID){
if(document.getElementById(elemID).style.visibility=='visible'){
document.getElementById(elemID).style.visibility='hidden'
document.getElementById(elemID).style.display="none"}
else{
document.getElementById(elemID).style.visibility='visible'
document.getElementById(elemID).style.display="block"}
return false}
var gCurrentSize=0
function ValidateCommentTextBoxLength(withbar,idfrom){
var maxLength=idfrom.attributes["maxlength"].value
var x=maxLength-idfrom.value.length
if(x<0){
if(idfrom){
len=idfrom.value.length
idfrom.value=idfrom.value.substring(0,len+x)}
x=0
le=maxLength}
return true}
function ShowCCImage(imgcccard,cardtype){
var cardtype=document.getElementById(cardtype)
var imgccard=document.getElementById(imgcccard)
if(cardtype.value=="American Express")
imgccard.src="Styles/Images/credit-card-amex-cvv2.jpg"
else
imgccard.src="Styles/Images/cc3digit.gif"
return false}
