function hesk_insertTag(tag) { var text_to_insert = '%%'+tag+'%%'; hesk_insertAtCursor(document.form1.msg, text_to_insert); document.form1.message.focus(); } function hesk_insertAtCursor(myField, myValue) { if (document.selection) { myField.focus(); sel = document.selection.createRange(); sel.text = myValue; } 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; } } function hesk_changeAll(myID) { var d = document.form1; var setTo = myID.checked ? true : false; for (var i = 0; i < d.elements.length; i++) { if(d.elements[i].type == 'checkbox' && d.elements[i].name != 'checkall') { d.elements[i].checked = setTo; } } } function hesk_attach_disable(ids) { for($i=0;$i 3) && (heskKBquery != q || heskKBfailed == true)) { element.style.display = 'block'; var params = "p=1&" + "q=" + encodeURIComponent(q); heskKBquery = q; xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { return; } xmlHttp.open('POST','suggest_articles.php',true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { element.innerHTML = xmlHttp.responseText; heskKBfailed = false; } else { heskKBfailed = true; } } xmlHttp.send(params); } setTimeout('hesk_suggestKB();', 2000); } function hesk_suggestKBsearch(isAdmin) { var d = document.searchform; var s = d.search.value; var element = document.getElementById('kb_suggestions'); if (isAdmin) { var path = 'admin_suggest_articles.php'; } else { var path = 'suggest_articles.php'; } if (s != '' && (heskKBquery != s || heskKBfailed == true) ) { element.style.display = 'block'; var params = "q=" + encodeURIComponent( s ); heskKBquery = s; xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { return; } xmlHttp.open('POST', path, true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { element.innerHTML = unescape(xmlHttp.responseText); heskKBfailed = false; } else { heskKBfailed = true; } } xmlHttp.send(params); } setTimeout('hesk_suggestKBsearch('+isAdmin+');', 2000); } function hesk_suggestEmail(isAdmin) { var email = document.form1.email.value; var element = document.getElementById('email_suggestions'); if (isAdmin) { var path = '../suggest_email.php'; } else { var path = 'suggest_email.php'; } if (email != '') { var params = "e=" + encodeURIComponent( email ); xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { return; } xmlHttp.open('POST', path, true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { element.innerHTML = unescape(xmlHttp.responseText); element.style.display = 'block'; } } xmlHttp.send(params); } } function hesk_btn(Elem, myClass) { Elem.className = myClass; } function hesk_checkPassword(password) { var numbers = "0123456789"; var lowercase = "abcdefghijklmnopqrstuvwxyz"; var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var punctuation = "!.@$#*()%~<>{}[]"; var combinations = 0; if (hesk_contains(password, numbers) > 0) { combinations += 10; } if (hesk_contains(password, lowercase) > 0) { combinations += 26; } if (hesk_contains(password, uppercase) > 0) { combinations += 26; } if (hesk_contains(password, punctuation) > 0) { combinations += punctuation.length; } var totalCombinations = Math.pow(combinations, password.length); var timeInSeconds = (totalCombinations / 200) / 2; var timeInDays = timeInSeconds / 86400 var lifetime = 365000; var percentage = timeInDays / lifetime; var friendlyPercentage = hesk_cap(Math.round(percentage * 100), 98); if (friendlyPercentage < (password.length * 5)) { friendlyPercentage += password.length * 5; } var friendlyPercentage = hesk_cap(friendlyPercentage, 98); var progressBar = document.getElementById("progressBar"); progressBar.style.width = friendlyPercentage + "%"; if (percentage > 1) { // strong password progressBar.style.backgroundColor = "#3bce08"; return; } if (percentage > 0.5) { // reasonable password progressBar.style.backgroundColor = "#ffd801"; return; } if (percentage > 0.10) { // weak password progressBar.style.backgroundColor = "orange"; return; } if (percentage <= 0.10) { // very weak password progressBar.style.backgroundColor = "red"; return; } } function hesk_cap(number, max) { if (number > max) { return max; } else { return number; } } function hesk_contains(password, validChars) { count = 0; for (i = 0; i < password.length; i++) { var char = password.charAt(i); if (validChars.indexOf(char) > -1) { count++; } } return count; } function setCookie(name, value, expires, path, domain, secure) { document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else { begin += 2; } var end = document.cookie.indexOf(";", begin); if (end == -1) { end = dc.length; } return unescape(dc.substring(begin + prefix.length, end)); } function deleteCookie(name, path, domain) { if (getCookie(name)) { document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; } }