/* Implemented By Amir Saleh JS functions used by CFormInputsJavaScriptValidator in jsvalidator.class.php */ var errorWindow=''; var validationErrors=new Array(); var firstError=false; function fnGetObjectValueByName(objName,flagtest){ objects=document.getElementsByName(objName); if(objects.length<1) return null; obj=objects[0]; type=obj.tagName.toLowerCase(); if(type=="input") type=obj.type.toLowerCase(); if(flagtest) alert(type); switch(type){ case 'select': case 'text': case 'hidden': case 'password': return obj.value; break; case 'radio': for(a=0;a=': if(parseFloat(fnGetObjectValueByName(objName))>=values){ ret=true; } else { errorAdd=" Must be greater than "+values; ret=false; } break; case '==': if(fnGetObjectValueByName(objName)==values){ ret=true; } else { // errorAdd=" Must be greater than "+values; ret=false; } break; case 'length': if(document.getElementById(objName).value.trim().lengthparseInt(limit[1])){ errorAdd=" should be between: "+limit[0]+"-"+limit[1]; ret=false; } else { ret=true; } break; case 'COUNTCHECKED': if(fnGetObjectValueByName(objName)': if(fnGetObjectValueByName(objName)>values){ return true; } break; case '>=': if(fnGetObjectValueByName(objName)>=values){ return true; } break; case '&=': if(fnGetObjectValueByName(objName)&values){ return true; } break; case '=': if(fnGetObjectValueByName(objName)==values){ return true; } break; case '!=': if(fnGetObjectValueByName(objName)!=values){ return true; } break; case 'length': if(fnGetObjectValueByName(objName).length=values){ return true; } break; case 'notEmpty': if(fnGetObjectValueByName(objName)){ if(fnGetObjectValueByName(objName).length>0){ return true; } } break; default: alert('This Condition is not supported'); } return false; } function fnValidateReturnColor(object,arrValues,errorMessage,caller){ if(arrValues.indexOf(document.getElementById(object).value) == -1) { document.getElementById(object).style.backgroundColor='#ffffff'; // if($(object+'_error')){ // $(object+'_error').style.display='none'; // } return true; } else { return false; } } function fnIsEqual(object,svalue){ if(document.getElementById(object).value == svalue) { return true; } else { return false; } } function getElementsByClassName(className, tag, elm){ var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)"); var tag = tag || "*"; var elm = elm || document; var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag); var returnElements = []; var current; var length = elements.length; for(var i=0; i= 0; digitCounter--) { checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter)); digitCounter--; numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2)); for (var productDigitCounter = 0; productDigitCounter < numberProduct.length; productDigitCounter++) { checkSumTotal += parseInt(numberProduct.charAt(productDigitCounter)); } } isValid = (checkSumTotal % 10 == 0); } return isValid; } function switchDisplay(objId){ if($(objId).style.display==''){ $(objId).style.display='none'; } else { $(objId).style.display=''; } } /* KEYBOARD VALIDATOR ADDEDD BY Amir Saleh */ var keybYN = new keybEdit('yn','Valid values are \'Y\' or \'N\'.'); var keybNumeric = new keybEdit('01234567890','Numeric input only.'); var keybAlpha = new keybEdit('abcdefghijklmnopqurstuvwxyz ','Alpha input only.'); var keybAlphaNumeric = new keybEdit('abcdefghijklmnopqurstuvwxyz01234567890 ','Alpha-numeric input only.'); var keybDecimal = new keybEdit('01234567890.','Decimal input only.'); var keybDate = new keybEdit('01234567890/','Date input only');; var keybYNNM = new keybEdit('yn'); var keybNumericNM = new keybEdit('01234567890'); var keybAlphaNM = new keybEdit('abcdefghijklmnopqurstuvwxy'); var keybAlphaNumericNM = new keybEdit('abcdefghijklmnopqurstuvwxy01234567890'); var keybDecimalNM = new keybEdit('01234567890.'); var keybDateNM = new keybEdit('01234567890/');; function keybEdit(strValid, strMsg) { // Variables var reWork = new RegExp('[a-z]','gi'); // Regular expression\ // Properties if(reWork.test(strValid)) this.valid = strValid.toLowerCase() + strValid.toUpperCase(); else this.valid = strValid; if((strMsg == null) || (typeof(strMsg) == 'undefined')) this.message = ''; else this.message = strMsg; // Methods this.getValid = keybEditGetValid; this.getMessage = keybEditGetMessage; function keybEditGetValid() { return this.valid.toString(); } function keybEditGetMessage() { return this.message; } } function editKeyBoard(objForm, objKeyb,evt) { var ie=false; if(!evt) { ie=1; evt=window.event; } strWork = objKeyb.getValid(); strMsg = ''; // Error message blnValidChar = false; // Valid character flag var keycode=(evt.keyCode)?evt.keyCode:evt.charCode; // Part 1: Validate input if(!blnValidChar) for(i=0;i < strWork.length;i++) if(keycode == strWork.charCodeAt(i)) { blnValidChar = true; break; } // Part 2: Build error message if(!blnValidChar) { // if(objKeyb.getMessage().toString().length != 0) // alert('Error: ' + objKeyb.getMessage()); if(evt.keyCode) { evt.returnValue = false; // Clear invalid character } else { if(keycode!=8) evt.preventDefault() } objForm.focus(); // Set focus } } function stripHTML(oldString, object) { if(object.value.indexOf("<")!=-1 || object.value.indexOf(">")!=-1){ object.value=object.value.replace(//gi,""); } /* var newString = ""; var inTag = false; for(var i = 0; i < oldString.length; i++) { if(oldString.charAt(i) == '<') inTag = true; if(oldString.charAt(i) == '>') { if(oldString.charAt(i+1)=="<"){} else { inTag = false; i++; } } if(!inTag) newString += oldString.charAt(i); } if(oldString != newString) { object.value = newString; } */ } //Highlight form element- © Dynamic Drive (www.dynamicdrive.com) //For full source code, 100's more DHTML scripts, and TOS, //visit http://www.dynamicdrive.com var highlightcolor="lightyellow" var ns6=document.getElementById&&!document.all var previous='' var eventobj //Regular expression to highlight only form elements var intended=/INPUT|TEXTAREA|SELECT|OPTION/ //Function to check whether element clicked is form element function checkel(which){ if (which.style&&intended.test(which.tagName)){ if (ns6&&eventobj.nodeType==3) eventobj=eventobj.parentNode.parentNode return true } else return false } //Function to highlight form element function highlight(e){ eventobj=ns6? e.target : event.srcElement if (previous!=''){ if (checkel(previous)) previous.style.backgroundColor='' previous=eventobj if (checkel(eventobj)) eventobj.style.backgroundColor=highlightcolor } else{ if (checkel(eventobj)) eventobj.style.backgroundColor=highlightcolor previous=eventobj } } var Base64 = { // private property _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode : function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Base64._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); } return output; }, // public method for decoding decode : function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = Base64._utf8_decode(output); return output; }, // private method for UTF-8 encoding _utf8_encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, // private method for UTF-8 decoding _utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } } function is_ff(){ if(navigator.userAgent.indexOf('Firefox')!=-1){ return true; } else { return false; } } function is_opera(){ if(navigator.userAgent.indexOf('Opera')!=-1){ return true; } else { return false; } } function is_ie(){ if(navigator.userAgent.indexOf('MSIE')!=-1){ return true; } else { return false; } } function fnSetAutoComplete(objId,objAutoCompleteDivId,AJAXDataSource,strOnItemClick){ if(!document.getElementById(objId)){ return; } /** Created By Amir Saleh **/ $(objId).ACL_Time=null; $(objId).ACL_CurrentPlace=0; $(objId).ACL_NumberOfResults=0; $(objId).ACL_hold=0; $(objId).ACL_lastListedPart=''; $(objId).ACL_Blur=function(){ $(objId).ACL_Time=setTimeout("$('"+objId+"').ACL_TimeOut();",200); } $(objId).ACL_TimeOut=function(){$(objAutoCompleteDivId).hide();clearTimeout($(objId).ACL_Time);} $(objId).ACL_getListings = function(part,obj,event){ if(!event) {ie=1;event=window.event;} var keycode=((event.keyCode)?event.keyCode:event.charCode); if(!is_opera()){ if($(objId).updownArrow(keycode)){ return; } } if(keycode==13 || keycode==27){ $(objAutoCompleteDivId).hide(); return; } if($(objId).ACL_lastListedPart==part) return; $(objId).ACL_lastListedPart=part; if(part==''){ $(objAutoCompleteDivId).hide(); $(objId).ACL_NumberOfResults=0; $(objId).ACL_hold=0; return; } if($(objId).ACL_hold==1) return; $(objId).ACL_hold=1; new Ajax.Request(AJAXDataSource+part,{ method:'get', onSuccess: function(transport){ if(transport.responseText=='null'){ $(objAutoCompleteDivId).hide(); $(objId).ACL_NumberOfResults=0; $(objId).ACL_hold=0; return; } var x=eval(transport.responseText); $(objId).ACL_CurrentPlace=0; $(objId).ACL_NumberOfResults=x.length; var ht='
'; for(a=0;a' + x[a] +''; } ht+=''; $(objAutoCompleteDivId).update(ht); $(objAutoCompleteDivId).show(); $(objId).ACL_hold=0; } } ) }; $(objId).autoComplete_onMouseOverItem = function(i) { for(a=0;a<$(objAutoCompleteDivId).childNodes.length;a++){ if($(objAutoCompleteDivId).childNodes[a].id!='ACL_Title') $(objAutoCompleteDivId).childNodes[a].className='ACL_unselected' } $(objAutoCompleteDivId).childNodes[i].className='ACL_selected'; } $(objId).updownArrow = function(keyCode) { if((keyCode == 40 || keyCode == 38) && $(objId).ACL_NumberOfResults>0){ if(keyCode == 38){ // keyUp if($(objId).ACL_CurrentPlace == 1){ $(objId).ACL_CurrentPlace = $(objId).ACL_NumberOfResults; }else{ $(objId).ACL_CurrentPlace--; } } else { // keyDown if($(objId).ACL_CurrentPlace == $(objId).ACL_NumberOfResults){ $(objId).ACL_CurrentPlace = 1; }else { $(objId).ACL_CurrentPlace++; } } $(objId).autoComplete_onMouseOverItem($(objId).ACL_CurrentPlace) $(objId).value=$(objId+'ACL_Item'+($(objId).ACL_CurrentPlace-1)).innerHTML; return true; } else { // reset $(objId).ACL_CurrentPlace = -1; return false; } } var _onkeyup=$(objId).onkeyup; $(objId).onkeyup=function(event){ if(_onkeyup){ //_onkeyup(); } this.ACL_getListings(this.value,this,event); } $(objId).onblur=function(){ $(objId).ACL_Blur(); }; if(is_opera()){ _onkeypress=$(objId).onkeypress; $(objId).onkeypress=function(event){ if(!event) { ie=1; event=window.event; } var keycode=((event.keyCode)?event.keyCode:event.charCode); if($(objId).updownArrow(keycode)){ return; } if(_onkeypress){ _onkeypress(); } } } }