function logedin(responseText) { if (responseText=='') { document.location="registration.php"; return; } } var W3CDOM = (document.createElement && document.getElementsByTagName); if(!Array.indexOf){ Array.prototype.indexOf = function(obj){ for(var i=0; i()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(2([0-4]\d|5[0-5])|1?\d{1,2})(\.(2([0-4]\d|5[0-5])|1?\d{1,2})){3} \])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ return regExp.test(text); break; case 'string-number': regExp = /^[ a-zA-Z\-0-9čćžšđČĆŽŠĐ]{1,}$/; return ((regExp.test(text)) && (text.length >= minLength) && (text.length <= maxLength)); break; } return ((text.length >= minLength) && (text.length <= maxLength)); } //VALIDATE CLIENT REGISTRATION function validateClientRegistration() { valid=true; document.getElementById('userNameHint').style.display='none'; document.getElementById('userIdHint').style.display='none'; //VALIDATE USERNAME if (!validateInput(document.getElementById('userName').value,'string-number', 3, 9999)) { document.getElementById('userNameHint').innerHTML='* Name is not valid! Must be at least 3 chars long.'; document.getElementById('userNameHint').style.display='inline'; if (valid) document.getElementById('userName').focus(); valid=false; } //VALIDATE E-MAIL if (!validateInput(document.getElementById('userId').value,'email')) { document.getElementById('userIdHint').innerHTML='* E-mail is not valid!'; document.getElementById('userIdHint').style.display='inline'; if (valid) document.getElementById('userId').focus(); valid=false; } //IF VALID, SUBMIT if (valid) document.forms.formClientRegistration.submit(); } //VALIDATE ADMIN LOGIN function validateAdminLogin() { valid=true; //VALIDATE USERNAME if (!validateInput(document.getElementById('userName').value,'string-number', 1, 9999)) { if (valid) document.getElementById('userName').focus(); valid=false; } //VALIDATE PASSWORD if (!validateInput(document.getElementById('userPass').value,'string-number', 1, 9999)) { if (valid) document.getElementById('userPass').focus(); valid=false; } //IF VALID, SUBMIT if (valid) document.forms.formAdminLogin.submit(); } //VALIDATE QUESTION function validateQuestion() { valid=true; document.getElementById('textHint').style.display='none'; //VALIDATE QUESTION TEXT if (!validateInput(document.getElementById('text').value,'', 10, 99999999)) { document.getElementById('textHint').innerHTML='* Question too short!'; document.getElementById('textHint').style.display='inline'; if (valid) document.getElementById('text').focus(); valid=false; } //IF VALID, SUBMIT if (valid) { document.forms.formQuestion.submit(); } } //UPDATE CLIENT QUESTIONS function updateClientQuestionBox() { //RESPONSE TO NEW CLIENT QUESTION AJAX newClientQuestionResponse = function() { if(ajax.readyState==4 && ajax.status==200 && elId!='' && typeof(document.getElementById(elId))!='undefined') { logedin(ajax.responseText); document.getElementById(elId).innerHTML=ajax.responseText; ajax.close; if (document.getElementById('text')!=null) { document.getElementById('text').focus(); getAjax('newQuestionTitleAjax', 'newQuestionTitleAjax.php'); } addFileUploadInput(); } } //RESPONSE TO UPDATE CLIENT QUESTION BOX AJAX updateClientQuestionBoxResponse = function() { if(ajax.readyState==4 && ajax.status==200 && elId!='' && typeof(document.getElementById(elId))!='undefined') { logedin(ajax.responseText); document.getElementById(elId).innerHTML=ajax.responseText; ajax.close; //IF NEW QUESTION IS NOT VISIBLE if (document.getElementById('text')==null || (document.getElementById('actionNewQuestion')!=null && document.getElementById('actionNewQuestion').getAttribute('action')=='refresh')) { getAjax('newQuestionTitleAjax', 'newQuestionTitleAjax.php'); getAjax('newQuestionAjax', 'newQuestionAjax.php', 'newClientQuestionResponse'); } else { getAjax('newQuestionTitleAjax', 'newQuestionTitleAjax.php'); } } } if (typeof(timer)!='undefined') clearTimeout(timer); timer = setTimeout("updateClientQuestionBox()", 900000); getAjax('questionBoxAjax', 'questionBoxAjax.php', 'updateClientQuestionBoxResponse'); if (document.getElementById('text')!=null) { document.getElementById('text').focus(); } } //UPDATE ADMIN QUESTION BOX function updateAdminQuestionBox() { //RESPONSE TO UPDATE ADMIN QUESTION BOX AJAX newQuestionTitleResponse = function() { if(ajax.readyState==4 && ajax.status==200) { document.title=ajax.responseText; } } updateAdminQuestionBoxResponse = function() { if(ajax.readyState==4 && ajax.status==200 && elId!='' && document.getElementById(elId)) { document.getElementById(elId).innerHTML=ajax.responseText; ajax.close; if (document.getElementById('selectedQuestion').innerHTML.length>0) { document.getElementById('text').focus(); } getAjax('', 'newQuestionTitleAjax.php', 'newQuestionTitleResponse'); } } fromDate=document.getElementById('fromDate').value; toDate=document.getElementById('toDate').value; fromGroup=document.getElementById('fromGroup').value; fromEmail=document.getElementById('fromEmail').value; queryString='?fromDate='+fromDate+'&toDate='+toDate+'&fromGroup='+fromGroup+'&fromEmail='+fromEmail; getAjax('questionBoxAjax', 'questionBoxAjax.php'+queryString, 'updateAdminQuestionBoxResponse'); if (typeof(timer)!='undefined') clearTimeout(timer); if (document.getElementById('selectedQuestion').innerHTML.length>0) document.getElementById('text').focus(); } //EDIT CLIENT REGISTRATION function editProfile() { document.forms.formEditProfile.submit(); } //EDIT CLIENT REGISTRATION function logOut() { document.forms.formLogOut.submit(); } //EDIT ADMIN LOGIN function editLogin() { document.forms.formEditLogin.submit(); } //GET SELECTED TEXT function getSelectedText() { if (window.getSelection) { return (window.getSelection()); } else if (document.selection) { // should come last; Opera! return (document.selection.createRange().text); } } //ON SELECT QUESTION function selectQuestion(questionId, answerText) { if (getSelectedText()=='') { document.getElementById('selectedQuestion').innerHTML=''; window.scroll(0,0); document.getElementById('answerBox').style.display='inline'; getAjax('selectedQuestion', 'selectedQuestionAjax.php?questionId='+questionId); document.getElementById('text').focus(); document.getElementById('text').value=unescape(decodeURI(answerText)); document.getElementById('questionId').value=questionId; document.getElementById('text').focus(); } } //ADD SIGNATURE TO ANSWER function addSignatureToAnswer() { alert('Please, set signature text in config file!'); } //VALIDATE ADMIN ANSWER function validateAnswer() { valid=true; document.getElementById('textHint').style.display='none'; //VALIDATE ANSWER TEXT if (!validateInput(document.getElementById('text').value,'', 1, 9999)) { document.getElementById('textHint').innerHTML='* Answer too short!'; document.getElementById('textHint').style.display='inline'; if (valid) document.getElementById('text').focus(); valid=false; } //IF VALID, SUBMIT if (valid) { document.forms.formAnswer.submit(); } } //GET ABSOLUTE TOP function absoluteOffsetTop(el) { var ot = el.offsetTop; while ( ( el = el.offsetParent ) != null ) { ot += el.offsetTop; } return ot; } //GET ABSOLUTE LEFT function absoluteOffsetLeft(el) { var ol = el.offsetLeft; while ( ( el = el.offsetParent ) != null ) { ol += el.offsetLeft; } return ol; } //SHOW GROUP DROP-DOWN BOX function showGroupBox(el) { selEl=el; getAjax('fromGroupBox','fromGroupAjax.php?selected='+el.value); document.getElementById('fromGroupBox').style.display='block'; document.getElementById('fromGroupBox').style.left=absoluteOffsetLeft(el); document.getElementById('fromGroupBox').style.top=absoluteOffsetTop(el) + el.offsetHeight + 1; document.all?document.attachEvent('onclick',checkGroupClick):document.addEventListener('click',checkGroupClick,false); } //SHOW EMAIL DROP-DOWN BOX function showEmailBox(el) { selEl=el; getAjax('fromEmailBox','fromEmailAjax.php?group='+document.getElementById('fromGroup').value+'&selected='+el.value); document.getElementById('fromEmailBox').style.display='block'; document.getElementById('fromEmailBox').style.left=absoluteOffsetLeft(el); document.getElementById('fromEmailBox').style.top=absoluteOffsetTop(el) + el.offsetHeight + 1; document.all?document.attachEvent('onclick',checkEmailClick):document.addEventListener('click',checkEmailClick,false); } //GET OBJECT function getObj(objID) { if (document.getElementById) {return document.getElementById(objID);} else if (document.all) {return document.all[objID];} else if (document.layers) {return document.layers[objID];} } //CHECK IF OBJECT IS CHILD OF ANOTHER OBJECT function isChild(s,d) { while(s) { if (s==d) return true; s=s.parentNode; } return false; } //CLOSE ADMIN GROUP BOX IF YOU CLICK OUTSIDE function checkGroupClick(e) { e?evt=e:evt=event; CSE=evt.target?evt.target:evt.srcElement; if (getObj('fromGroupBox')) if (!isChild(CSE,getObj('fromGroupBox'))) { hideGroupBox(); } } //CLOSE ADMIN EMAIL BOX IF YOU CLICK OUTSIDE function checkEmailClick(e) { e?evt=e:evt=event; CSE=evt.target?evt.target:evt.srcElement; if (getObj('fromEmailBox')) if (!isChild(CSE,getObj('fromEmailBox'))) { hideEmailBox(); } } //CLOSE ADMIN DATE BOX IF YOU CLICK OUTSIDE function checkDateClick(e) { e?evt=e:evt=event; CSE=evt.target?evt.target:evt.srcElement; if (getObj('calendarDiv')) if (!isChild(CSE,getObj('calendarDiv'))) { closeCalendar(); } } //CLICK ON ADMIN GROUP BOX function clickGroupBox(group) { selEl.value=group; hideGroupBox(); document.getElementById('fromEmail').value='All emails'; updateAdminQuestionBox(); } //CLOSE ADMIN GROUP BOX function hideGroupBox() { document.getElementById('fromGroupBox').style.display='none'; } //CLICK ON ADMIN E-MAIL BOX function clickEmailBox(email) { selEl.value=email; hideEmailBox(); updateAdminQuestionBox(); } //CLOSE ADMIN E-MAIL BOX function hideEmailBox() { document.getElementById('fromEmailBox').style.display='none'; } // VALIDATE ADMIN FROM-TO DATE AND E-MAIL function validateFromToDateFromEmail() { //SPLIT FROMDATE STRING TO GET YEAR, MONTH AND DAY fromDateArray = document.getElementById('fromDate').value.split('-'); var fromDate=new Date(); fromDate.setDate(fromDateArray[2]); fromDate.setMonth(fromDateArray[1]-1); fromDate.setFullYear(fromDateArray[0]); //SPLIT TODATE STRING TO GET YEAR, MONTH AND DAY toDateArray = document.getElementById('toDate').value.split('-'); var toDate=new Date(); toDate.setDate(toDateArray[2]); toDate.setMonth(toDateArray[1]-1); toDate.setFullYear(toDateArray[0]); //COMPARE FROM AND TO DATE if (fromDate > toDate) { oldFromDate=document.getElementById('fromDate').value; oldToDate=document.getElementById('toDate').value; //IF FROMDATE > TODATE, EXCHANGE DATES document.getElementById('fromDate').value=oldToDate; document.getElementById('toDate').value=oldFromDate; } updateAdminQuestionBox(); } //ADMIN DELETE QUESTION function deleteQuestion(questionId, questionText) { questionText=unescape(decodeURI(questionText)); if (questionText.length>1000) { questionText=questionText.substring(0, 1000)+'...'; } if (confirm('Are you sure you want to delete this question?\n\n'+questionText)) { document.getElementById('answerBox').style.display='none'; document.getElementById('selectedQuestion').innerHTML=''; getAjax('', 'deleteQuestionAjax.php?questionId='+questionId, 'updateAdminQuestionBox'); } }