Kernel : Linux webm039.cluster003.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Disable function : _dyuweyrj4,_dyuweyrj4r,dl
Safe mode : OFF
Host : www.mehariclubdefrance.com | Server ip : 10.3.20.37 | Your ip : 3.144.127.26 | Time @ Server : 12 May 2025 16:04:06
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/meharicl/home2/meharicl/www/recensement2/

HOME about upload exec mass file domain root vuln newfile newfolder kill me

File Path : /home/meharicl/home2/meharicl/www/recensement2/Functions.js

//JS Functions @0-DB11AB67 var isNN = (navigator.appName.indexOf("Netscape") != -1); //var isIE = (navigator.appName.indexOf("Microsoft") != -1); var isIE = !!(window.attachEvent && !window.opera); // Internet Explorer var isO = !!window.opera; // Opera var isW = navigator.userAgent.indexOf('AppleWebKit/') > -1; // WebKit browsers i.e. Safari, Chrome var isG = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1; // Gecko var IEVersion = (isIE ? getIEVersion() : 0); var NNVersion = (isNN ? getNNVersion() : 0); var EditableGrid = false; var disableValidation = false; // Date formatting functions begin --------------------------------------------------- var arrayLocaleInfo = "fr|fr|FR|1;0;|2|,| |janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre|janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.|dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi|dim.;lun.;mar.;mer.;jeu.;ven.;sam.|dd/mm/yyyy|dddd d mmmm yyyy|HH:nn|HH:nn:ss|1||".split("|"); function getLocaleInfo(id) { switch (id) { case "LanguageAndCountry": return arrayLocaleInfo[0]; case "language": return arrayLocaleInfo[1]; case "country": return arrayLocaleInfo[2]; case "booleanFormat": return arrayLocaleInfo[3]; case "decimalDigits": return arrayLocaleInfo[4]; case "decimalSeparator": return arrayLocaleInfo[5]; case "groupSeparator": return arrayLocaleInfo[6]; case "monthNames": return arrayLocaleInfo[7]; case "monthShortNames": return arrayLocaleInfo[8]; case "weekdayNames": return arrayLocaleInfo[9]; case "weekdayShortNames": return arrayLocaleInfo[10]; case "shortDate": return arrayLocaleInfo[11]; case "longDate": return arrayLocaleInfo[12]; case "shortTime": return arrayLocaleInfo[13]; case "longTime": return arrayLocaleInfo[14]; case "firstWeekDay": return arrayLocaleInfo[15]; case "AMDesignator": return arrayLocaleInfo[16]; case "PMDesignator": return arrayLocaleInfo[17]; } return ""; } var listMonths = String(getLocaleInfo("monthNames")).split(";"); var listShortMonths = String(getLocaleInfo("monthShortNames")).split(";"); var firstWeekDay = getLocaleInfo("firstWeekDay"); var listWeekdays = String(getLocaleInfo("weekdayNames")).split(";"); var listShortWeekdays = String(getLocaleInfo("weekdayShortNames")).split(";"); firstWeekDay = listShortWeekdays[parseInt(firstWeekDay)]; function isInArray(strValue, arrArray) { var intResult = -1; for ( var j = 0; j < arrArray.length && (strValue != arrArray[j]); j++ ); if ( j != arrArray.length ) intResult = j; return intResult; } function parseDateFormat(strMask) { if (strMask=="LongDate") return parseDateFormat(getLocaleInfo("longDate")); else if (strMask=="LongTime") return parseDateFormat(getLocaleInfo("longTime")); else if (strMask=="ShortDate") return parseDateFormat(getLocaleInfo("shortDate")); else if (strMask=="ShortTime") return parseDateFormat(getLocaleInfo("shortTime")); else if (strMask=="GeneralDate") return parseDateFormat(getLocaleInfo("shortDate")+" "+getLocaleInfo("longTime")); var UNDEF; var arrResult = new Array(); if (strMask == "" || typeof(strMask) == "undefined") return arrResult; var arrMaskTokens = new Array( "d", "w", "m", "M", "q", "y", "h", "H", "n", "s", "dd", "ww", "mm", "MM", "yy", "hh", "HH", "nn", "ss", "S", "ddd", "mmm", "MMM", "A/P", "a/p", "dddd", "mmmm", "MMMM", "yyyy", "tt", "AM/PM", "am/pm", "LongDate", "LongTime", "ShortDate", "ShortTime", "GeneralDate"); var arrMaskTokensFirstLetters = new Array("d", "w", "m", "M", "q", "y", "h", "H", "n", "s", "A", "a", "L", "S", "G", "t"); var strMaskLength = strMask.length; var i = 0, intMaskPosition = 0; var arrMask = new Array(); var strToken = ""; while (i < strMaskLength) { if (strMask.charAt(i) == "\\") { strToken += strMask.charAt(++i); i ++; } else if (strMask.charAt(i) == "'") { i ++; while ((i < strMask.length) && (strMask.charAt(i) != "'")) strToken += strMask.charAt(i++); i ++; } else { var j = isInArray(strMask.charAt(i), arrMaskTokensFirstLetters); if ( j != -1 ) { var k; for (k = (arrMaskTokens.length - 1); k >= 0 && strMask.slice(i, i + arrMaskTokens[k].length) != arrMaskTokens[k]; k--); if (k != -1) { if (strToken.length > 0) { if ( isInArray(strToken, arrMaskTokens) == -1) arrMask[intMaskPosition ++] = strToken; else arrMask[intMaskPosition ++] = "\\" + strToken; strToken = ""; } arrMask[intMaskPosition ++] = arrMaskTokens[k]; i += arrMaskTokens[k].length; } else { strToken = strMask.charAt(i); i ++; } } else { strToken += strMask.charAt(i); i ++; } } } if (strToken.length > 0) { if ( isInArray(strToken, arrMaskTokens) == -1) arrMask[intMaskPosition ++] = strToken; else arrMask[intMaskPosition ++] = "\\" + strToken; strToken = ""; } arrResult = arrMask; return arrResult; } function parseParams(text,substitutions) { // replace the {0}, ... with corresponded substitution string and return the result var resString = text; if (resString!="" && substitutions!=null) { var array = (typeof(substitutions)!="object")?(new Array(substitutions)):substitutions; var icount = array.length; for (var i=0; i<icount; i++) resString = resString.replace("{"+i+"}", array[i]); delete array; array = null; } return resString; } function functionExists(functionName) { var exists = true; try{ exists = typeof(eval(functionName))=="function"; }catch(e){ exists = false; } return exists; } function ccsShowError(control, msg) { alert(msg); control.focus(); return false; } function getNNVersion() { var userAgent = window.navigator.userAgent; var isMajor = parseInt(window.navigator.appVersion); var isMinor = parseFloat(window.navigator.appVersion); if (isMajor == 2) return 2; if (isMajor == 3) return 3; if (isMajor == 4) return 4; if (isMajor == 5) { if (userAgent.toLowerCase().indexOf('netscape')!=-1) { isMajor = parseInt(userAgent.substr(userAgent.toLowerCase().indexOf('netscape')+9)); if (isMajor>0) return isMajor; } if (userAgent.toLowerCase().indexOf('firefox')!=-1) return 7; return 6; } return isMajor; } function getIEVersion() { var userAgent = window.navigator.userAgent; var MSIEPos = userAgent.indexOf("MSIE"); return (MSIEPos > 0 ? parseInt(userAgent.substring(MSIEPos+5, userAgent.indexOf(".", MSIEPos))) : 0); } function inputMasking(evt) { if (isIE && IEVersion > 4) { if (window.event.altKey) return false; if (window.event.ctrlKey) return false; if (typeof(this.ccsInputMask) == "string") { var mask = this.ccsInputMask; var keycode = window.event.keyCode; this.value = applyMask(keycode, mask, this.value); } return (window.event.keyCode==13?true:false); } else if (isNN && NNVersion<6) { if (evt.ALT_MASK) return false; if (evt.CONTROL_MASK) return false; if (typeof(this.ccsInputMask) == "string") { var mask = this.ccsInputMask; var keycode = evt.which; this.value = applyMask(keycode, mask, this.value); } return (evt.which==13?true:false); } else if (isNN && NNVersion==6) { if (evt.ctrlKey) return false; var cancelKey = evt.which < 32; if (typeof(this.ccsInputMask) == "string") { var mask = this.ccsInputMask; var keycode = evt.which; if (keycode >= 32) this.value = applyMask(keycode, mask, this.value); } return cancelKey; } else if (isNN && NNVersion==7) { if (evt.altKey) return false; if (evt.ctrlKey) return false; var cancelKey = evt.which==13; if (typeof(this.ccsInputMask) == "string") { var mask = this.ccsInputMask; var keycode = evt.which; cancelKey = keycode < 32; if (!cancelKey) this.value = applyMask(keycode, mask, this.value); } return cancelKey || evt.which==13; } else return true; } function applyMaskToValue(mask, value) { var oldValue = String(value); var newValue = ""; var icount = oldValue.length; for (var i=0; i<icount; i++) { newValue = applyMask(oldValue.charCodeAt(i), mask, newValue); } return newValue; } function applyMask(keycode, mask, value) { var digit = (keycode >= 48 && keycode <= 57); var plus = (keycode == 43); var dash = (keycode == 45); var space = (keycode == 32); var uletter = (keycode >= 65 && keycode <= 90); var lletter = (keycode >= 97 && keycode <= 122); var pos = value.length; switch(mask.charAt(pos)) { case "0": if (digit) value += String.fromCharCode(keycode); break; case "L": if (uletter || lletter) value += String.fromCharCode(keycode); break; default: var isMatchMask = (String.fromCharCode(keycode) == mask.charAt(pos)); while (pos < mask.length && mask.charAt(pos) != "0" && mask.charAt(pos) != "L") value += mask.charAt(pos++); if (!isMatchMask && pos < mask.length) value = applyMask(keycode, mask, value); } return value; } function validate_control(control) { /* ccsCaption - string ccsErrorMessage - string ccsRequired - boolean ccsMinLength - integer ccsMaxLength - integer ccsRegExp - string ccsValidator - validation function ccsInputMask - string */ if (disableValidation) return true; var errorMessage = control.ccsErrorMessage; var customErrorMessage = (typeof(errorMessage) != "undefined"); if (typeof(control.ccsRequired) == "boolean" && control.ccsRequired) if (control.value == "") return ccsShowError(control, customErrorMessage ? errorMessage : parseParams("La valeur du champ {0} est obligatoire.", control.ccsCaption)); if (typeof(control.ccsMinLength) == "number") if (control.value != "" && control.value.length < parseInt(control.ccsMinLength)) return ccsShowError(control, customErrorMessage ? errorMessage : parseParams("Le nombre de caractères dans le champ {0} ne peut pas être inférieur à {1}.", Array(control.ccsCaption,parseInt(control.ccsMinLength)))); if (typeof(control.ccsMaxLength) == "number") if (control.value != "" && control.value.length > parseInt(control.ccsMaxLength)) return ccsShowError(control, customErrorMessage ? errorMessage : parseParams("Le nombre de caractères dans le champ {0} ne peut pas être supérieur à {1}.", Array(control.ccsCaption,parseInt(control.ccsMaxLength)))); if (typeof(control.ccsInputMask) == "string") { var mask = control.ccsInputMask; var maskRE = new RegExp(stringToRegExp(mask).replace(/0/g,"\\d").replace(/L/g,"[A-Za-z]"), "i"); if (control.value != "" && (control.value.search(maskRE) == -1)) return ccsShowError(control, customErrorMessage ? errorMessage : parseParams("La valeur du champ {0} n'est pas valide.", control.ccsCaption)); } if (typeof(control.ccsRegExp) == "string") if (control.value != "" && (control.value.search(new RegExp(control.ccsRegExp, "i")) == -1)) return ccsShowError(control, customErrorMessage ? errorMessage : parseParams("La valeur du champ {0} n'est pas valide.", control.ccsCaption)); if (typeof(control.ccsDateFormat) == "string") { if (control.value != "" && !checkDate(control.value, parseDateFormat(control.ccsDateFormat).join(""))) return ccsShowError(control, customErrorMessage ? errorMessage : parseParams("La valeur du champ {0} n'est pas valide. Veuillez utiliser le format : {1}", Array(control.ccsCaption, parseDateFormat(control.ccsDateFormat).join("")))); } if (typeof(control.ccsValidator) == "function") if (!control.ccsValidator()) return ccsShowError(control, customErrorMessage ? errorMessage : parseParams("La valeur du champ {0} n'est pas valide.", control.ccsCaption)); return true; } function stringToRegExp(string, arg) { var str = String(string); str = str.replace(/\\/g,"\\\\"); str = str.replace(/\//g,"\\/"); str = str.replace(/\./g,"\\."); str = str.replace(/\(/g,"\\("); str = str.replace(/\)/g,"\\)"); str = str.replace(/\[/g,"\\["); str = str.replace(/\]/g,"\\]"); return str; } function checkDate(dateValue, dateFormat) { dateFormat = dateFormat.replace("AM/PM","f1").replace("A/P","f2").replace("am/pm","f3").replace("a/p","f4"); var DateMasks = new Array( new Array("MMMM", "[a-z]+"), new Array("mmmm", "[a-z]+"), new Array("yyyy", "[0-9]{4}"), new Array("MMM", "[a-z]+"), new Array("mmm", "[a-z]+"), new Array("HH", "([0-1][0-9]|2[0-4])"), new Array("hh", "(0[1-9]|1[0-2])"), new Array("dd", "([0-2][0-9]|3[0-1])"), new Array("MM", "(0[1-9]|1[0-2])"), new Array("mm", "(0[1-9]|1[0-2])"), new Array("yy", "[0-9]{2}"), new Array("nn", "[0-5][0-9]"), new Array("ss", "[0-5][0-9]"), new Array("w", "[1-7]"), new Array("d", "([1-9]|[1-2][0-9]|3[0-1])"), new Array("y", "([1-2][0-9]{0,2}|3([0-5][0-9]|6[0-5]))"), new Array("H", "(00|0?[1-9]|1[0-9]|2[0-4])"), new Array("h", "(0?[1-9]|1[0-2])"), new Array("M", "(0?[1-9]|1[0-2])"), new Array("m", "(0?[1-9]|1[0-2])"), new Array("n", "[0-5]?[0-9]"), new Array("s", "[0-5]?[0-9]"), new Array("q", "[1-4]"), new Array("tt", "("+getLocaleInfo("AMDesignator")+"|"+getLocaleInfo("PMDesignator")+")") ); var regExp = "^"+stringToRegExp(dateFormat)+"$"; var icount = DateMasks.length; for (var i=0; i<icount; i++) { regExp = regExp.replace(DateMasks[i][0], DateMasks[i][1]); } regExp=regExp.replace("f1","(AM|PM)").replace("f2","(A|P)").replace("f3","(am|fm)").replace("f4","(a|f)"); var regExp = new RegExp(regExp,"i"); return String(dateValue).search(regExp)!=-1; } function validate_row(rowId, form) { var result = true; var isInsert = false; if (disableValidation) return true; if(typeof(eval(form + "EmptyRows")) == "number") if(eval(form + "Elements").length - rowId <= eval(form + "EmptyRows")) isInsert = true; var icount = eval(form + "Elements")[rowId].length; for (var i = 0; i < icount && isInsert; i++) isInsert = GetValue(eval(form + "Elements")[rowId][i]) == ""; if(isInsert) return true; if(typeof(eval(form + "DeleteControl")) == "number") { var control = eval(form + "Elements")[rowId][eval(form + "DeleteControl")]; if(control.type == "checkbox") if(control.checked == true ) return true; if(control.type == "hidden") if(control.value != "" ) return true; } for (var i = 0; i < icount && (result = validate_control(eval(form + "Elements")[rowId][i])); i++); return result; } function GetValue(control) { if (typeof(control.value) == "string") { return control.value; } if (typeof(control.tagName) == "undefined" && typeof(control.length) == "number") { var j; var jcount = control.length; for (j=0; j < jcount; j++) { var inner = control[j]; if (typeof(inner.value) == "string" && (inner.type != "radio" || inner.status == true)) { return inner.value; } } } else { return GetValueRecursive(control); } return ""; } function GetValueRecursive(control) { if (typeof(control.value) == "string" && (control.type != "radio" || control.status == true)) { return control.value; } var i, val; var icount = control.children.length; for (i = 0; i<icount; i++) { val = GetValueRecursive(control.children[i]); if (val != "") return val; } return ""; } function validate_form(form) { var result = true; if (disableValidation) return true; if(typeof(form) == "object" && String(form.tagName).toLowerCase()!="form" && form.form!=null) form = form.form; if(typeof(form) == "object" && document.getElementById(form.name + "Elements")) { if (typeof(eval(form.name + "Elements")) == "object") { var jcount = eval(form.name + "Elements").length; for (var j = 0; j < jcount && result; j++) result = validate_row(j, form.name); }else { var icount = form.elements.length; for (var i = 0; i < icount && (result = validate_control(form.elements[i])); i++); } }else if(typeof(form) == "string" && document.getElementById(form.name + "Elements")) { if(typeof(eval(form + "Elements")) == "object"){ var jcount = eval(form + "Elements").length; for (var j = 0; j < jcount && result; j++) result = validate_row(j, form); } }else if (typeof(form) == "object") { var icount = form.elements.length; for (var i = 0; i < icount && (result = validate_control(form.elements[i])); i++); } else { var icount = document.forms[form].elements.length; for (var i = 0; i < icount && (result = validate_control(document.forms[form].elements[i])); i++); } return result; } function forms_onload() { var forms = document.forms; var i, j, elm, form; var icount = forms.length; var arrElementsOnLoad = new Array(); for(i = 0; i < icount; i++) { form = forms[i]; if (typeof(form.onLoad) == "function") form.onLoad(); var jcount = form.elements.length; for (j = 0; j < jcount; j++) { elm = form.elements[j]; if (typeof(elm.onLoad) == "function") arrElementsOnLoad[arrElementsOnLoad.length] = elm; } } for (i = 0; i < arrElementsOnLoad.length; i++) arrElementsOnLoad[i].onLoad(); return true; } function all_onload() { var element = null; var elements = new Array(); var all = document.all || document.getElementsByTagName("*"); var icount = all.length; for(var i = 0; i < icount; i++) { element = all[i] || (all.item && all.item(i)); if (typeof(element.onLoad) == "function") elements[elements.length] = element; } for (var i = 0; i < elements.length; i++) elements[i].onLoad(); return true; } // // If element exist than bind function func to element on event. // Example: check_and_bind('document.NewRecord1.Delete1','onclick',page_NewRecord1_Delete1_OnClick); // function check_and_bind(element,event,func,iterate_id) { if (iterate_id) { var i = 1; var next_element = null; do { var next_id = element + i; next_element = document.getElementById(next_id); if (next_element) check_and_bind("document.getElementById(\"" + next_id + "\")", event, func); i++; } while (next_element) return; } var htmlElement = eval(element); if (!htmlElement) { var index = element.lastIndexOf("."); var form = element.substr(0,index); var control = element.substr(index+1); var htmlForm = eval(form); if (htmlForm) { var list = document.getElementsByName(control); var icount = list.length; for (var i=0; i<icount; i++) { if (list[i].form && list[i].form.name==htmlForm.name) { eval("document.getElementsByName(\""+control+"\")["+i+'].'+event+'='+func); } } } }else{ if (htmlElement) { if (typeof(htmlElement)=="object" && !htmlElement.tagName && htmlElement.length > 0) { var icount = htmlElement.length; for (var i=0; i < icount; i++) eval(element+"["+i+'].'+event+'='+func); }else eval(element+'.'+event+'='+func); } } } function getElement(elementId, rowNumber, existingElement) { var control = document.getElementById(elementId); if (control == null) { control = document.getElementById(elementId + "_" + rowNumber); } if (control == null) { var controlName = elementId; if (existingElement && existingElement.form && existingElement.form.id && controlName.indexOf(existingElement.form.id) == 0) controlName = controlName.replace(existingElement.form.id, ""); var controls = document.getElementsByName(controlName); for (var i = 0; i < controls.length; i++) if (controls[i].checked == true) { control = controls[i]; break; } } return control; } function getRowFromId(elementId) { var lastUnderscore = elementId.lastIndexOf("_"); if (lastUnderscore != -1) { return elementId.substring(lastUnderscore + 1); } return null; } function getSameLevelCtl(elementName, existingElement) { var rowNumber = null; if (existingElement != null && existingElement['id'] != null) { rowNumber = getRowFromId(existingElement.id); } return getElement(elementName, rowNumber, existingElement); } var controlIds = null; function initControlIds() { if (controlIds) return; var tempAr = document.getElementsByTagName("*"); controlIds = []; var l = tempAr.length; for (var i = 0; i < l; i++) if (tempAr[i].id) controlIds.push(tempAr[i].id); controlIds.sort(); } addEventHandler.prototype.isOnLoad = false; function addEventHandler(elementId, event, handler) { initControlIds(); var loadCalled = false; addEventHandler.isOnLoad = true; var l = controlIds.length; var wereFound = false; var re = new RegExp("^" + elementId + "_\\d+$" ,""); for (var i = 0; i < l; i++) { var cId = controlIds[i]; re.lastIndex = 0; var element = (cId == elementId || re.test(cId)) ? document.findElementById(cId) : null; if (element) { wereFound = true; var handlerWithSender = function (evt) { var ret = true; if (window.event) { ret = handler.apply(window.event.srcElement, [window.event.srcElement]); window.event.returnValue = ret; } else { ret = handler.apply(this, [this]); if (typeof ret != "undefined" && evt && !ret) evt.preventDefault(); } return ret; }; if (event == "load") { handler.apply(element, [element]); loadCalled = true; } else { if (element.addEventListener) { element.addEventListener(event, handlerWithSender, false); } else if (element.attachEvent) { element.attachEvent("on" + event, handlerWithSender); } } } } addEventHandler.isOnLoad = false; if (event == "load" && loadCalled == false) { handler.apply(window, [window]); } } function addEventHandler2(element, event, handler) { if (typeof(element) == "string") { return bindEventHandler(element, event, handler); } if (element) { var oldHandler = (element['on'+event]) ? element['on'+event] : function () {}; element['on'+event] = function () { oldHandler.apply(element, [element]); handler.apply(element, [element]) }; return true; } return false; } function bindEventHandler(elementName, event, handler) { var element = getElement(elementName); if (event == 'load' && elementName == "") { //Page handler.apply(element, [element]); } if (element != null) { if (event != 'load') { addEventHandler(element, event, handler); } else { handler.apply(element, [element]); } } else { var currentRow = 1; while (element = getElement(elementName, currentRow)) { if (event != 'load') { addEventHandler(element, event, handler); } else { handler.apply(element, [element]); } currentRow++; } } } function CCGetParam(param) { if (!CCGetParam.params) { CCGetParam.params = ({}); var href = window.location.href; if (href.indexOf("?") == -1) return ""; if (href.indexOf("#") != -1) href = href.split("#")[0]; href = href.split("?")[1]; var pars = href.split("&"); for (var i = 0; i < pars.length; i++) { var p = pars[i]; if (p.indexOf("=") == -1) break; p = p.split("="); CCGetParam.params[unescape(p[0])] = unescape(p[1]); } } return CCGetParam.params[param] ? CCGetParam.params[param] : ""; } function CCGetCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function CCChangeSize(sender, formName, pageSize) { var currentElement = sender; while (!currentElement.filterId && currentElement != document) { currentElement = currentElement.parentNode; } var insidePanel = false; if (currentElement != document) { insidePanel = currentElement; } var oldLocation = null; if (insidePanel) { oldLocation = insidePanel.location; } else { oldLocation = location.href.toString(); } var newLocation = CCAddParam(oldLocation, formName + 'PageSize', sender.value); var newLocation = CCAddParam(newLocation, formName + 'Page', 1); if (insidePanel) { AjaxPanel.reload(insidePanel, newLocation); } else { window.open(newLocation, '_self'); } } function CCChangePage(sender, formName, pageSize) { var currentElement = sender; while (!currentElement.filterId && currentElement != document) { currentElement = currentElement.parentNode; } var insidePanel = false; if (currentElement != document) { insidePanel = currentElement; } var oldLocation = null; if (insidePanel) { oldLocation = insidePanel.location; } else { oldLocation = location.href.toString(); } var newLocation = CCAddParam(oldLocation, formName + 'Page', sender.previousSibling.value); if (insidePanel) { insidePanel.location = newLocation.replace(/\??ccsForm=\w+&?/g, "?").replace(/&?ccsForm=\w+/g, ""); AjaxPanel.reload(insidePanel); } else { window.open(newLocation, '_self'); } } function CCAddParam(location, paramName, paramValue) { if (location.indexOf('?') == -1) { return location + '?' + paramName + '=' + paramValue; } return location.replace(new RegExp(paramName + '=[^&]*[&]?', 'gi'), '') .replace(new RegExp('[&]?' + paramName + '=[^&]*', 'gi'), '') .replace(/\?/, '?' + paramName + '=' + paramValue + '&') .replace(/[&]+$/m, ''); } function isIncluded(href1, href2) { if (href1 == null || href2 == null) return href1 == href2; if (href1.indexOf("?") == -1 || href1.split("?")[1] == "") return href1.split("?")[0] == href2.split("?")[0]; if (href2.indexOf("?") == -1 || href2.split("?")[1] == "") return href1.replace("?","") == href2.replace("?",""); if (href1.split("?")[0] != href2.split("?")[0]) return false; var params = href1.split("?")[1]; params = params.split("&"); var i,par1,par2,nv; par1 = new Array(); for (i in params) { if (typeof(params[i]) == "function") continue; nv = params[i].split("="); if (nv[0]!="FormFilter") par1[nv[0]] = nv[1]; } params = href2.split("?")[1]; params = params.split("&"); par2 = new Array(); for (i in params) { if (typeof(params[i]) == "function") continue; nv = params[i].split("="); if (nv[0]!="FormFilter") par2[nv[0]] = nv[1]; } /*if (par1.length != par2.length) return false;*/ for (i in par1) if (par1[i]!=par2[i]) return false; return true; } function getKeycode(e) { if (isO || isW || isG) return e.which; else return window.event.keyCode; } function caret(element, begin, end) { if (typeof begin == 'number') { end = (typeof end == 'number') ? end : begin; if (element.setSelectionRange) { element.focus(); element.setSelectionRange(begin, end); } else if (element.createTextRange) { var range = element.createTextRange(); range.collapse(true); range.moveEnd('character', end); range.moveStart('character', begin); range.select(); } } else { if (element.setSelectionRange) { begin = element.selectionStart; end = element.selectionEnd; } else if (document.selection && document.selection.createRange) { var range = document.selection.createRange(); begin = 0 - range.duplicate().moveStart('character', -100000); end = begin + range.text.length; } return { begin: begin, end: end }; } } function inputMaskInitialize(control, placeholder) { function inputMask(e, sender) { function genSequence(str, times) { var res=''; for (var i=0; i<times; i++) res += str; return res; } function sType(c) { if (c.charAt(0).match(/[0-9]/g)) return '0'; if (c.charAt(0).match(/[a-zA-Z]/g)) return 'L'; if (c.charAt(0) == placeholder) return placeholder; return ''; } function getMask(val) { var i; var res = ''; for (i=0; i<val.length; i++) res += sType(val.charAt(i)); return res; } function getValueFromMaskedValue(val) { var res = ""; var i; for (i=0; i<val.length; i++) if (sType(val.charAt(i)) != '') res += val.charAt(i); return res; } function maskCanBeApplied(val, mask, result) { var i=0, j=0, res = ''; for (i=0; i<mask.length/* && j<val.length*/; i++) if (j < val.length && mask.charAt(i) == sType(val.charAt(j))) { res += val.charAt(j); j++; } else if (sType(mask.charAt(i)) == '') { res += mask.charAt(i); //if (j < val.length && sType(val.charAt(j)) == placeholder) // j++; } else if (sType(val.charAt(j)) == placeholder) { res += placeholder; j++; } else if (j >= val.length) { res += (sType(mask.charAt(i)) == '')?mask.charAt(i):placeholder; } else return {ans:false}; result = res; return {ans: true, result: res}; } function getTypedChar() { var keycode; if (isO || isW || isG) keycode = e.which; else keycode = window.event.keyCode; return (keycode < 32 && keycode != 8)?'':String.fromCharCode(keycode); } function getNextSymbolPosition(str, start) { for (var i=start; i<str.length; i++) if (sType(str.charAt(i))!='') return i + 1; return start+1; } function calculatedValue(control) { var keycode = getKeycode(e); var s = caret(control); var res; var mid = ''; if (keycode == 8) // backspace { mid = control.value.substring((s.end - s.begin == 0)?s.begin-1:s.begin, s.end).match(/[A-Za-z0-9_]/g); if (!mid) mid = ''; else mid = genSequence(placeholder, mid.length); res = control.value.substring(0, Math.max(0, (s.end - s.begin == 0)?s.begin-1:s.begin)) + mid + control.value.substr(s.end); } else if (keycode == 46) // del { mid = control.value.substring(s.begin, (s.end - s.begin == 0)?s.end+1:s.end).match(/[A-Za-z0-9_]/g); if (!mid) mid = ''; else mid = genSequence(placeholder, mid.length); res = control.value.substring(0, s.begin) + mid + control.value.substr(Math.min((s.end - s.begin == 0)?s.end+1:s.end, control.value.length)); } else { if (s.end - s.begin == 0) res = control.value.substring(0, s.begin) + String.fromCharCode(keycode) + control.value.substr(getNextSymbolPosition(control.value, s.end)); else { mid = control.value.substring(s.begin, s.end).match(/[A-Za-z0-9_]/g); if (!mid) mid = ''; else mid = genSequence(placeholder, mid.length - 1); res = control.value.substring(0, s.begin) + String.fromCharCode(keycode) + mid + control.value.substr(s.end); } } return res; } function getNewCaretPosition(control, keycode, newValue) { var res; var cur = caret(control); if (keycode == 8) { res = cur.begin; /*if (cur.begin >= newValue.length) return newValue.length;*/ if (cur.end - cur.begin > 0) return cur.begin; if (res !=0 && sType(newValue.charAt(res-1)) != '') return res - 1; for (var i=cur.begin-1; i>=0; i--) if (sType(newValue.charAt(i)) != '') return i + 1; return 0; } else if (keycode == 46) { res = cur.begin; for (var i=res; i<newValue.length; i++) if (sType(newValue.charAt(i)) != '') return i; return newValue.length; } else { res = cur.begin; if (res + 1 == newValue.length) return res + 1; if (sType(newValue.charAt(res)) != '') return res + 1; for (var i=res; i<newValue.length; i++) { if (sType(newValue.charAt(i)) != '') return i + 1; } } } var placeholder = sender.ccsPlaceholder; var keycode = getKeycode(e); if (keycode < 32 && keycode != 8) return true; if (!String.fromCharCode(keycode).match(/[a-zA-Z0-9]/g) && keycode != 8 && keycode != 46) return false; var newControlVal = calculatedValue(sender); var newVal = getValueFromMaskedValue(newControlVal); var newMaskedValue = maskCanBeApplied(newVal, sender.ccsInputMask, newMaskedValue); if (newMaskedValue.ans) { var cp = getNewCaretPosition(sender, keycode, newMaskedValue.result); sender.value = newMaskedValue.result; caret(sender, cp); } return false; } function inputMask_onkeypress(e) { return inputMask(e, this); } function inputMask_onkeydown(e) { var keycode = getKeycode(e); if (keycode == 8 && !isG || keycode == 46) return inputMask(e, this); } function inputMask_onfocus(e) { if (this.value == '') { this.value = this.blankValue; caret(this, this.blankValue.indexOf(this.ccsPlaceholder)); } } function inputMask_onblur(e) { if (this.value == this.blankValue) this.value = ''; } //control.ccsInputMask = mask; control.ccsPlaceholder = placeholder; var res = ''; for (var i=0; i<control.ccsInputMask.length; i++) if (control.ccsInputMask.charAt(i).match(/[0L]/gi)) res += control.ccsPlaceholder; else res += control.ccsInputMask.charAt(i); control.blankValue = res; control.onkeypress = inputMask_onkeypress; if (isW || isIE || isG) control.onkeydown = inputMask_onkeydown; control.onfocus = inputMask_onfocus; control.onblur = inputMask_onblur; } document.findElementById = function(elementId) { var element = document.getElementById(elementId); if (element && element.id && element.id != elementId && document.all) for (var i=0;i<document.all.length;i++) if (document.all[i].id && document.all[i].id == elementId) return document.all[i]; return element; } //End JS Functions