// =================================== // Ask a Lawyer // =================================== /** * * @param * @return */ function QAnswer_API() { var self = this; this.url = "http://www.freeadvice.com/includes/qa/qa.php"; this.obj_InputElements = { "Question_Title":{"InputValue":"","tag":"text","validation":{"required":false,"maxlength":200},"reference":{}}, "Question_Details":{"InputValue":"","tag":"text","validation":{}}, "Question_for_Email":{"InputValue":"","tag":"text","validation":{"required":false,"email":false,"maxlength":255},"reference":{}}, "Question_for_Email_Confirm":{"InputValue":"","tag":"text","validation":{"required":false,"email":false,"maxlength":255},"reference":{}}, "Question_for_Zip":{"InputValue":"","tag":"text","validation":{"required":false,"numeric":false,"maxlength":5,"minlength":5},"reference":{}}, "Question_Topic_ID":{"InputValue":"","tag":"select","validation":{"required":false,"not_equal_to":"9999"},"reference":{}}, "captcha_response":{"InputValue":"","tag":"text","validation":{"required":false,"maxlength":5,"minlength":5},"reference":{}}, "Question_API_Key":{"InputValue":"","tag":"text","validation":{}}, "Question_Sess":{"InputValue":"","tag":"text","validation":{}}, "v":{"InputValue":"","tag":"hidden","validation":{}}, "tos_agree":{"InputValue":false,"tag":"checkbox","validation":{"required":false,"checked":false},"reference":{}} }; } QAnswer_API.prototype._save = function() { if (openForm() === false){return false;} var current_Obj = {}; var obj_Failures = {}; var failedValidation = false; var request_variables = "Question_POST=_save"; if (document.getElementById("id-Messages") !== null) { var obj_Messages = document.getElementById("id-Messages"); obj_Messages.style.display='none'; obj_Messages.innerHTML=''; } // Loop over the Input Elements. for(var InputElement in this.obj_InputElements) { if (InputElement == "toJSONString") { continue; } //console.log(InputElement); if (document.getElementById("id-"+InputElement) !== null) { // =================================== // Set the Error. // =================================== if (document.getElementById("id-Error-"+InputElement) !== null) { document.getElementById("id-Error-"+InputElement).style.fontWeight= "normal"; document.getElementById("id-Error-"+InputElement).style.color= "#363636"; } if (document.getElementById("id-Err-"+InputElement) !== null) { document.getElementById("id-Err-"+InputElement).innerHTML = ''; document.getElementById("id-Err-"+InputElement).style.display = "none"; } // =================================== // Get the Object. // =================================== this.obj_InputElements[InputElement].reference = document.getElementById("id-"+InputElement); current_Obj = this.obj_InputElements[InputElement].reference; // =================================== // Get the value. // =================================== if (this.obj_InputElements[InputElement].tag === "text" || this.obj_InputElements[InputElement].tag === "hidden") { this.obj_InputElements[InputElement].InputValue = current_Obj.value; } else if (this.obj_InputElements[InputElement].tag === "select") { this.obj_InputElements[InputElement].InputValue = current_Obj.options[current_Obj.selectedIndex].value; } else if (this.obj_InputElements[InputElement].tag === "checkbox") { this.obj_InputElements[InputElement].InputValue = current_Obj.checked ? 'Y' : 'N'; } // =================================== // Set the value // =================================== if (InputElement === "Question_Details" && this.obj_InputElements[InputElement].InputValue === q2Default) { this.obj_InputElements[InputElement].InputValue = ''; } request_variables += "&"+InputElement+"="+encodeData(this.obj_InputElements[InputElement].InputValue); // =================================== // Validate the value // =================================== for (var ValidationType in this.obj_InputElements[InputElement].validation) { if (ValidationType === "required" && this.obj_InputElements[InputElement].InputValue.length === 0) { obj_Failures[InputElement]=ValidationType;failedValidation=true;break; } else if (ValidationType === "maxlength" && this.obj_InputElements[InputElement].InputValue.length > this.obj_InputElements[InputElement].validation.maxlength) { obj_Failures[InputElement]=ValidationType;failedValidation=true;break; } else if (ValidationType === "minlength" && this.obj_InputElements[InputElement].InputValue.length < this.obj_InputElements[InputElement].validation.minlength) { obj_Failures[InputElement]=ValidationType;failedValidation=true;break; } else if (ValidationType === "email" && validate_email(this.obj_InputElements[InputElement].InputValue) === false) { obj_Failures[InputElement]=ValidationType;failedValidation=true;break; } else if (ValidationType === "numeric") { var n_len = this.obj_InputElements[InputElement].InputValue.length; var isNotAN = false; for(var i=0;i"+itemTitle+" : "+this._errorMessage(obj_Failures[BadElement])+""; if (document.getElementById("id-Error-"+BadElement) !== null) { document.getElementById("id-Error-"+BadElement).style.fontWeight= "bold"; document.getElementById("id-Error-"+BadElement).style.color= "#AF0000"; } } if (s_errorMessage.length > 0) { obj_Messages.style.display='block'; obj_Messages.innerHTML="
There were some problems:
"+s_errorMessage+"
"; } } } // =================================== // Run Query // =================================== else if (failedValidation === false) { AJAX_makeHttpRequest("POST", this.url, request_variables, "QAnswer_API_saveResult", false); } }; QAnswer_API.prototype._errorMessage = function(ValidationType) { var errorMessage = ''; if (ValidationType === "required") {errorMessage = "Value required";} else if (ValidationType === "maxlength") {errorMessage = "Value too long";} else if (ValidationType === "minlength") {errorMessage = "Value too short";} else if (ValidationType === "email") {errorMessage = "Invalid email address";} else if (ValidationType === "numeric") {errorMessage = "Numbers only";} else if (ValidationType === "not_equal_to") {errorMessage = "Invalid value";} else if (ValidationType === "email_confirm") {errorMessage = "Emails do not match";} else if (ValidationType === "checked") {errorMessage = "Not Selected";} return errorMessage; }; QAnswer_API.prototype._notifyOpen = function(Question_ID) { if (document.getElementById('id-notify'+Question_ID+'-ui') !== null) { var obj_notify = document.getElementById('id-notify'+Question_ID+'-ui'); var s_emailID = 'id-notify'+Question_ID+'-email'; if (obj_notify.style.display==="none") { if (document.getElementById(s_emailID) !== null) { var obj_email = document.getElementById(s_emailID); if (obj_email.value.length===0) { obj_email.value = 'Your Email Address'; obj_email.style.color = '#c0c0c0'; } } } else { if (document.getElementById(s_emailID) !== null) { var obj_email = document.getElementById(s_emailID); if (obj_email.value==='Your Email Address') { obj_email.value = ''; obj_email.style.color = '#000000'; } } } obj_notify.style.display=(obj_notify.style.display==="block"?'none':'block'); } }; QAnswer_API.prototype._notifyclear = function(Question_ID) { var s_emailID = 'id-notify'+Question_ID+'-email'; if (document.getElementById(s_emailID) !== null) { var obj_email = document.getElementById(s_emailID); if (obj_email.value==='Your Email Address') { obj_email.value = ''; obj_email.style.color = '#000000'; } } }; QAnswer_API.prototype._notifyHandler = function(Question_ID) { if (document.getElementById('id-notify'+Question_ID+'-email') !== null) { var email_address = document.getElementById('id-notify'+Question_ID+'-email').value; if (email_address.length===0) { alert("Please insert your email address."); return false; } else if (validate_email(email_address) === false) { alert("Invalid email address."); return false; } else { var request_variables = "_POST_Action=_save_Notify"; request_variables += "&QID="+encodeData(Question_ID); request_variables += "&email="+encodeData(email_address); request_variables += "&k="+encodeData(document.getElementById('id-key-'+Question_ID).value); request_variables += "&out="+document.getElementById('id-out-'+Question_ID).value; AJAX_makeHttpRequest("POST", this.url, request_variables, "QAnswer_API_saveResult", false); } } }; QAnswer_API.prototype._flag = function(dataType, Question_ID, Answer_ID) { var request_variables = "_POST_Action=_save_Flag"; request_variables += "&flag="+encodeData(dataType); request_variables += "&qid="+encodeData(Question_ID); if (Answer_ID !== null) { request_variables += "&aid="+encodeData(Answer_ID); } else { request_variables += "&aid=NULL"; } request_variables += "&k="+encodeData(document.getElementById('id-key-'+Question_ID).value); request_variables += "&out="+document.getElementById('id-out-'+Question_ID).value; AJAX_makeHttpRequest("POST", this.url, request_variables, "QAnswer_API_saveResult", false); }; QAnswer_API.prototype._answerRate_Open = function(Answer_ID) { if (document.getElementById('id-rating'+Answer_ID+'-ui') !== null) { var obj_rate = document.getElementById('id-rating'+Answer_ID+'-ui'); obj_rate.style.display=(obj_rate.style.display==="block"?'none':'block'); } }; QAnswer_API.prototype._answerRate_Handler = function(Question_ID, Answer_ID, rating) { // Make sure we have an answer of this value. if (document.getElementById('id-rating'+Answer_ID+'-ui') === null) { //alert("Please insert your Answer_ID."); return false; } // Make sure we have a rating of this value. if (document.getElementById('id-rating'+Answer_ID+'-option'+rating) === null) { //alert("Please insert your rating."); return false; } // Close the Panel. //this._answerRate_Open(Answer_ID); var request_variables = "_POST_Action=_save_Rate"; request_variables += "&i="+encodeData(Answer_ID); request_variables += "&r="+encodeData(rating); request_variables += "&k="+encodeData(document.getElementById('id-key-'+Question_ID).value); request_variables += "&out="+document.getElementById('id-out-'+Question_ID).value; AJAX_makeHttpRequest("POST", this.url, request_variables, "QAnswer_API_saveResult", false); }; QAnswer_API.prototype._answerRate_MOut = function(Answer_ID, rating) { var colA_id = 'id-rating'+Answer_ID+'-colA'+rating; var colB_id = 'id-rating'+Answer_ID+'-colB'+rating; if (document.getElementById(colA_id) !== null && document.getElementById(colB_id) !== null) { document.getElementById(colA_id).style.backgroundColor='#ffffff'; document.getElementById(colB_id).style.backgroundColor='#ffffff'; //document.getElementById(colA_id).style.cursor='default'; //document.getElementById(colB_id).style.cursor='default'; } }; QAnswer_API.prototype._answerRate_Click = function(Question_ID, Answer_ID, rating) { var radio_button = 'id-rating'+Answer_ID+'-option'+rating; if (document.getElementById(radio_button) !== null) { var obj_radio_button = document.getElementById(radio_button); if (obj_radio_button.checked===false) { obj_radio_button.checked=(obj_radio_button.checked===true?false:true); //this._answerRate_Handler(Question_ID, Answer_ID, rating); } else { } } }; QAnswer_API.prototype._answerRate_MOver = function(Answer_ID, rating) { var colA_id = 'id-rating'+Answer_ID+'-colA'+rating; var colB_id = 'id-rating'+Answer_ID+'-colB'+rating; //console.log(document.getElementById(item_id).style.backgroundColor); //console.log(item_id); if (document.getElementById(colA_id) !== null && document.getElementById(colB_id) !== null) { document.getElementById(colA_id).style.backgroundColor='#EFF9FF'; document.getElementById(colB_id).style.backgroundColor='#EFF9FF'; //document.getElementById(colA_id).style.cursor='pointer'; //document.getElementById(colB_id).style.cursor='pointer'; } }; QAnswer_API.prototype._answerVStatus = function(Question_ID, status) { //console.log(status); if (v_statusLoaded === false) { _DOM_loadFile("https://secure.attorneypages.com/__js/_lib_GUI_HoverMenu.js", "js"); } var request_variables = "_POST_Action=_getStatus"; request_variables += "&s="+encodeData(status); request_variables += "&q="+encodeData(Question_ID); request_variables += "&k="+encodeData(document.getElementById('id-key-'+Question_ID).value); request_variables += "&out="+document.getElementById('id-out-'+Question_ID).value; AJAX_makeHttpRequest("POST", this.url, request_variables, "QAnswer_API_saveResult", false); }; QAnswer_API.prototype._linkHandler = function(item_id, item_state) { if (document.getElementById(item_id) !== null) { if (item_state === 'over') { document.getElementById(item_id).className='APA_Link_Hover'; } else if (item_state === 'out') { document.getElementById(item_id).className='APA_Link'; } } }; QAnswer_API_saveResult = function(responseMsg) { if (responseMsg.length > 0) { // Evaluate the JSON Code. var myObject = JSON.parse(responseMsg); /* console.log(myObject.action); console.log(myObject.s_Output); console.log(myObject.AID); console.log(myObject.hasError); */ if (myObject.action) { if (myObject.action==='notify') { var Question_ID = myObject.QID; if (document.getElementById('id-notify'+Question_ID+'-container') !== null) { if (myObject.hasError===false) { document.getElementById('id-notify'+Question_ID+'-container').className='APA_Result'; document.getElementById('id-notify'+Question_ID+'-container').innerHTML=myObject.s_Output; return; } else { } } } else if (myObject.action==='flag') { var Answer_ID = myObject.AID; var Question_ID = myObject.qid; if (document.getElementById('id-flag'+Answer_ID) !== null) { if (myObject.hasError===false) { document.getElementById('id-flag'+Answer_ID).className='APA_Result'; document.getElementById('id-flag'+Answer_ID).innerHTML=myObject.s_Output; return; } else { document.getElementById('id-flag'+Answer_ID).innerHTML+=" failed"; } } else if (document.getElementById('id-flag'+Question_ID) !== null) { if (myObject.hasError===false) { document.getElementById('id-flag'+Question_ID).className='APA_Result'; document.getElementById('id-flag'+Question_ID).innerHTML=myObject.s_Output; document.getElementById('id-flag'+Question_ID).onclick=null; document.getElementById('id-flag'+Question_ID).onmouseover=null; document.getElementById('id-flag'+Question_ID).onmouseout=null; return; } else { document.getElementById('id-flag'+Question_ID).innerHTML+=" failed"; } } } else if (myObject.action==='rate') { var Answer_ID = myObject.AID; if (document.getElementById('id-rate'+Answer_ID+'-li') !== null) { var obj_QAnswerInternal = new QAnswer_API(); // Close the Panel. obj_QAnswerInternal._answerRate_Open(Answer_ID); if (myObject.hasError===false) { var Average_Rating = myObject.avg; var Star_Images = myObject.img; // Update the Rating Link. var obj_ratelink = document.getElementById('id-rate'+Answer_ID+'-link'); obj_ratelink.innerHTML = myObject.s_Output; obj_ratelink.onclick = null; obj_ratelink.onmouseover = null; obj_ratelink.onmouseout = null; //obj_ratelink.className = 'APA_Result'; obj_ratelink.onclick = function() { return false; }; document.getElementById('id-rating'+Answer_ID+'-stars').innerHTML = Star_Images; return; } else { //document.getElementById('id-flag'+Answer_ID).innerHTML+=" failed"; } } } else if (myObject.action==='status') { var status = myObject.s; var Question_ID = myObject.q; var childID = 'id-Status_Container-'+status; var obj_Question_ID =document.getElementById('id-notify'+Question_ID+'-container'); var HTML_DOM =document.createElement('p'); HTML_DOM.setAttribute('id', childID); HTML_DOM.innerHTML = myObject.HTML; obj_Question_ID.appendChild(HTML_DOM); /* //formDescription = subOutput[m].tag; formDescriptionDOM = document.createElement('p'); formDescriptionDOM.innerHTML = formDescription; //Container_cellName.appendChild(formDescription); var rowDescription = document.createElement("tr"); cellDescription.appendChild(formDescriptionDOM); cellDescription.setAttribute('colspan', '2'); rowDescription.appendChild(cellDescription); tbody.appendChild(rowDescription); */ //document.getElementById('id-notify'+Question_ID+'-container').className='APA_Result'; // id="id-notify853-container" //document.getElementById('id-flag'+Question_ID).innerHTML+=" failed"; overlayDoOpen_Replace(childID); } } } }; function validate_email(str_address) { var str=str_address; var at="@"; var dot="."; var lat=str.indexOf(at); var lstr=str.length; var ldot=str.indexOf(dot); if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){return false;}// @ exists, not first or last. if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){return false;}// . exists, not first or last. if (str.indexOf(at,(lat+1))!=-1){return false;} if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){return false;} if (str.indexOf(dot,(lat+2))==-1){return false;} if (str.indexOf(" ")!=-1){return false;} return true } function _DOM_loadFile(src, ftype) { var newElement=null; if (ftype==="js") { newElement=document.createElement("script"); newElement.src=src; newElement.type='text/javascript'; } else if (ftype==="css") { newElement=document.createElement("link"); newElement.href=src; newElement.type='text/css'; newElement.rel='stylesheet'; newElement.media='screen'; } head = document.getElementsByTagName( "head" )[0]; head.appendChild(newElement); } function loadExternalFiles() { _DOM_loadFile("https://secure.attorneypages.com/__js/_lib_Net_AJAX.js", "js"); _DOM_loadFile("https://secure.attorneypages.com/__js/_lib_Net_JSON_08.js", "js"); } // Namespace. var obj_QAnswer = {}; loadExternalFiles(); //showQuestion(); obj_QAnswer = new QAnswer_API(); var v_statusLoaded = false; var v_statusOpened = false; function overlayDoOpen_Replace(childId, opt_position) { if (document.getElementById && document.getElementById(childId) != null) { var obj_child = document.getElementById(childId); var obj_parent = window.document; // Toggle Display. obj_child.style.display = "block"; console.log(obj_child.innerHTML); //document.getElementById(replaceTo_ID).innerHTML = document.getElementById(replaceFrom_ID).innerHTML.replace(/{PANEL_UNIQUE_ID}/g,sid); // X Coordinate. //var xpos = getposOffset(obj_parent, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1) ? -(obj_child.offsetWidth-obj_parent.offsetWidth) : 0) ; // Y Coordinate. //var ypos = getposOffset(obj_parent, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1) ? obj_parent.offsetHeight : 0); //var winX = (document.all)?window.screenLeft:window.screenX; //var winY = (document.all)?window.screenTop:window.screenY; //window.innerWidth // X Coordinate. var xpos = window.innerWidth / 4; // Y Coordinate. var ypos = window.innerHeight / 4; //console.log(xpos); obj_child.style.left = xpos+"px"; obj_child.style.top = (ypos-1)+"px"; return false; } else return true; } /** * Hide the overlay() Panel. */ function overlayClose_Replace(subobjstr, isSub) { document.getElementById(subobjstr).style.display ="none"; /* isOpen=false; openID=null; if (isDeep === false || hoverStack.length === 0) { return; } if (!e) var e = window.event; // Pointer to HTML Tag we have just entered. // window.event object exists if browser is IE. var tg = (window.event) ? e.srcElement : e.target; if (tg.className.substr(0,10) != 'hoverLayer' && ((tg.nodeName) && (tg.nodeName != 'TD' || tg.nodeName != 'DIV'))) return; var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; while (reltg != tg && reltg.nodeName != 'BODY') { reltg= reltg.parentNode } if (reltg == tg) return; subStack(subobjstr); */ }