// Secure this javascript from being called and executed on behalf of outside websites. var d = new Array("www.traveltst.ca", "secure.traveltst.ca"); var domaincheck = document.location.href; //retrieve the current URL of user browser var accepted_ok = false; //set acess to false by default if(domaincheck.indexOf("http") != -1 || domaincheck.indexOf("https") != -1) { // If this is an http or https request. for(r = 0; r < d.length; r++) { if(domaincheck.indexOf(d[r]) != -1) { //if a match is found accepted_ok = true; //set access to true, and break out of loop break; } } } else { accepted_ok = true; } if(!accepted_ok) { alert("You're not allowed to directly link to this .js file on our server!"); history.back(-1); } var global_url = ""; var global_location = "/modustpl/_secureXMLReq.php"; function send_to_a_friend(a, b) { if(a) { //div_wait_Hide(); divShowWaitStop(); if(b == "0") { // blacklisted IP address, blacklisted words or phrases, missing, invalid or maxlength fields var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; var error_field = req.responseXML.getElementsByTagName("error_field")[0].firstChild.data; alert(error_message); document.getElementById(error_field).focus(); document.getElementById("stf_submit").disabled = false; } else if(b == "1") { // success document.getElementById("div_send_to_a_friend").style.display = "none"; document.getElementById("div_wait_mask").style.display = "none"; document.getElementById("div_iframe").style.display = "none"; divShowIsShown = false; divShowName = null; alert("Email has been sent."); document.getElementById("stf_submit").disabled = false; } else if(b == "2") { // to (email) failed, requires confirmation var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; var error_field = req.responseXML.getElementsByTagName("error_field")[0].firstChild.data; var yes = confirm(error_message); if(yes) { divShowWaitStart(); var url_tmp = global_url + "&email_verify=1"; lXML(global_location, url_tmp); } else { divShowName = null; document.getElementById(error_field).focus(); document.getElementById("stf_submit").disabled = false; } } else if(b == "3") { // from (email) failed, requires confirmation var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; var error_field = req.responseXML.getElementsByTagName("error_field")[0].firstChild.data; var yes = confirm(error_message); if(yes) { divShowWaitStart(); var url_tmp = global_url + "&email_verify=2"; lXML(global_location, url_tmp); } else { document.getElementById(error_field).focus(); document.getElementById("stf_submit").disabled = false; } } } else { document.getElementById("stf_submit").disabled = true; var url = "pid=2"; var return_flag = true; var focus_flag = true; var error_message = "A problem with the fields listed below was encountered:\n\n"; if(document.getElementById("stf_email_to").value.length > 0) { if((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,7})+$/.test(document.getElementById("stf_email_to").value))) { url += "&stf_email_to=" + encodeURIComponent(document.getElementById("stf_email_to").value); } else { if(focus_flag) { focus_flag = false; document.getElementById("stf_email_to").focus(); } error_message += "'To (Email)' field invalid.\n"; return_flag = false; } } else { if(focus_flag) { focus_flag = false; document.getElementById("stf_email_to").focus(); } error_message += "'To (Email)' field missing content.\n"; return_flag = false; } if(document.getElementById("stf_email_from").value.length > 0) { if((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,7})+$/.test(document.getElementById("stf_email_from").value))) { url += "&stf_email_from=" + encodeURIComponent(document.getElementById("stf_email_from").value); } else { if(focus_flag) { focus_flag = false; document.getElementById("stf_email_from").focus(); } error_message += "'From (Email)' field invalid.\n"; return_flag = false; } } else { if(focus_flag) { focus_flag = false; document.getElementById("stf_email_from").focus(); } error_message += "'From (Email)' field missing content.\n"; return_flag = false; } if(ismaxlength(document.getElementById("stf_comment").value, 2048)){ url += "&stf_comment=" + encodeURIComponent(document.getElementById("stf_comment").value); } else { if(focus_flag) { focus_flag = false; document.getElementById("stf_comment").focus(); } error_message += "'Comments' content has exceeded the maximun number of 2048 characters.\n"; return_flag = false; } if(!return_flag) { document.getElementById("stf_submit").disabled = false; alert(error_message); return(false); } else { url += "&stf_name_to=" + encodeURIComponent(document.getElementById("stf_name_to").value); url += "&stf_name_from=" + encodeURIComponent(document.getElementById("stf_name_from").value); global_url = url; var url_tmp = url + "&email_verify=0"; divShowWaitStart(); lXML(global_location, url_tmp); } } }