// 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); } function getCookie(c_name) { if(document.cookie.length > 0) { c_start = document.cookie.indexOf(c_name + "="); if(c_start != -1) { c_start = c_start + c_name.length + 1; c_end = document.cookie.indexOf(";", c_start); if(c_end == -1) c_end = document.cookie.length; return unescape(document.cookie.substring(c_start, c_end)); } } return ""; } var global_location = "/modustpl/_secureXMLReq.php"; var global_url = ""; function sv_package_list(a, b) { if(a) { //divShowWaitStop(); if(b == "0") { // 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(); } else if(b == "1") { // success document.getElementById("sv_addparser_packages_div").innerHTML = req.responseXML.getElementsByTagName("data")[0].firstChild.data; } } else { document.getElementById("sv_addparser_packages_div").innerHTML = '
\ Loading One moment please, building list of packages from this city... \
\
'; // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { sv_package_list.apply(); }, 500); return; } var url = "pid=6"; var return_flag = true; var focus_flag = true; var errMessage = "A problem with the fields listed below was encountered:\n\n"; if(document.getElementById("select_package_gateway").options[document.getElementById("select_package_gateway").selectedIndex].value.length > 0) { url += "&sv_package_gateway=" + document.getElementById("select_package_gateway").options[document.getElementById("select_package_gateway").selectedIndex].value; } else { if(focus_flag) { focus_flag = false; document.getElementById("select_package_gateway").focus(); } errMessage += "Gateway city not selected for Packages field.\n"; return_flag = false; } if(!return_flag) { alert(errMessage); return(false); } else { global_url = url; var url_post = url; //divShowWaitStart(); lXML(global_location, url_post); } } } function sv_package_dest_list(a, b, c) { if(a) { //divShowWaitStop(); if(b == "0") { // 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(); } else if(b == "1") { // success document.getElementById("sv_addparser_packages_div").innerHTML = req.responseXML.getElementsByTagName("data")[0].firstChild.data; } } else { document.getElementById("sv_addparser_packages_div").innerHTML = '
\ Loading One moment please, building list of packages from this city... \
\
'; // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { sv_package_list.apply(); }, 500); return; } var url = "pid=12"; var return_flag = true; var focus_flag = true; var errMessage = "A problem with the fields listed below was encountered:\n\n"; if(document.getElementById("select_package_gateway").options[document.getElementById("select_package_gateway").selectedIndex].value.length > 0) { url += "&sv_package_gateway=" + document.getElementById("select_package_gateway").options[document.getElementById("select_package_gateway").selectedIndex].value; url += "&dest=" + c; } else { if(focus_flag) { focus_flag = false; document.getElementById("select_package_gateway").focus(); } errMessage += "Gateway city not selected for Packages field.\n"; return_flag = false; } if(!return_flag) { alert(errMessage); return(false); } else { global_url = url; var url_post = url; //divShowWaitStart(); lXML(global_location, url_post); } } } function sv_packages_detailsTpl_list(a, b, c, d) { // a=req, b=success fail flag, c=gateway code if any, d=destination code if any. if(a) { //divShowWaitStop(); if(b == "0") { // missing, invalid or maxlength fields var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; alert(error_message); } else if(b == "1") { // success document.getElementById("sv_addparser_packages_div").innerHTML = req.responseXML.getElementsByTagName("data")[0].firstChild.data; } } else { this.a = a; this.b = b; this.c = c; this.d = d; // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { sv_packages_detailsTpl_list.call(this, a, b, c, d); }, 500); return; } if(c != "" && d == "") { // Specific gateway with no specific destination, like the home page. document.getElementById("sv_addparser_packages_header").style.display = "block"; var url = "pid=11"; url += "&sv_package_gateway=" + c; } else if(c != "" && d != "") { document.getElementById("sv_addparser_packages_header").style.display = "block"; var url = "pid=15"; url += "&sv_package_gateway=" + c; url += "&sv_destination_code=" + d; } else { return; } global_url = url; var url_post = url; //divShowWaitStart(); loadXML(global_location, url_post); } } function sv_package_details(a, b, c, d) { // req, status, SV ID, SV gateway code if(a) { //divShowWaitStop(); if(b == "0") { // missing, invalid or maxlength fields var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; alert(error_message); } else if(b == "1") { // no package details found var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; alert(error_message); document.getElementById("sv" + c).style.display = "none"; } else if(b == "2") { // success vlng = getCookie('vlng'); document.getElementById("sv" + c + "detailsDiv").onclick = function(){sv_package_details_close(c, d);} document.getElementById("svImg" + c).innerHTML = ' Close Details'; document.getElementById("svDetails" + c).innerHTML = req.responseXML.getElementsByTagName("data")[0].firstChild.data; document.getElementById("svDetails" + c).style.display = "block"; } } else { this.a = a; this.b = b; this.c = c; this.d = d; // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { sv_load_mini_form_content.call(this, a, b, c, d); }, 500); return; } /* // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { sv_package_details.apply(); }, 500); return; } */ // if content already exists then show it if(document.getElementById("svDetails" + c).innerHTML != "") { document.getElementById("sv" + c + "detailsDiv").onclick = function(){sv_package_details_close(c, d);} document.getElementById("svImg" + c).innerHTML = ' Close Details'; document.getElementById("svDetails" + c).style.display = "block"; } else { var url = "pid=7"; var return_flag = true; var focus_flag = true; var errMessage = "A problem with the fields listed below was encountered:\n\n"; if(c > 0) { url += "&id=" + c; } else { errMessage += "Softvoyage package ID not specified.\n"; return_flag = false; } if(d != "") { url += "&sv_package_gateway=" + d; } else { errMessage += "Softvoyage gateway code not specified.\n"; return_flag = false; } if(!return_flag) { alert(errMessage); return(false); } else { global_url = url; var url_post = url; //divShowWaitStart(); //alert(url_post); lXML(global_location, url_post); } } } } function sv_package_details_close(a, b) { // SV ID, SV gateway code document.getElementById("sv" + a + "detailsDiv").onclick = function(){sv_package_details('', '', a, b);} document.getElementById("svImg" + a).innerHTML = ' Open Details'; document.getElementById("svDetails" + a).style.display = "none"; } function sv_flight_list(a, b) { if(a) { //divShowWaitStop(); if(b == "0") { // 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(); } else if(b == "1") { // success document.getElementById("sv_addparser_flights_div").innerHTML = req.responseXML.getElementsByTagName("data")[0].firstChild.data; } } else { document.getElementById("sv_addparser_flights_div").innerHTML = '
\ Loading One moment please, building list of flights from this city... \
\
'; // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { sv_flight_list.apply(); }, 500); return; } var url = "pid=8"; var return_flag = true; var focus_flag = true; var errMessage = "A problem with the fields listed below was encountered:\n\n"; if(document.getElementById("select_flight_gateway").options[document.getElementById("select_flight_gateway").selectedIndex].value.length > 0) { url += "&sv_flight_gateway=" + document.getElementById("select_flight_gateway").options[document.getElementById("select_flight_gateway").selectedIndex].value; } else { if(focus_flag) { focus_flag = false; document.getElementById("select_flight_gateway").focus(); } errMessage += "Gateway city not selected for Flights field.\n"; return_flag = false; } if(!return_flag) { alert(errMessage); return(false); } else { global_url = url; var url_post = url; //divShowWaitStart(); lXML(global_location, url_post); } } } function sv_flights_detailsTpl_list(a, b, c, d) { // a=req, b=success fail flag, c=gateway code if any, d=destination code if any. if(a) { //divShowWaitStop(); if(b == "0") { // missing, invalid or maxlength fields var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; alert(error_message); document.getElementById(error_field).focus(); } else if(b == "1") { // success document.getElementById("sv_addparser_flights_div").innerHTML = req.responseXML.getElementsByTagName("data")[0].firstChild.data; } } else { this.a = a; this.b = b; this.c = c; this.d = d; // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { //sv_flights_detailsTpl_list.apply(this, arguments); sv_flights_detailsTpl_list.call(this, a, b, c, d); }, 500); return; } if(c != "" && d == "") { // Specific gateway with no specific destination, like the home page. document.getElementById("sv_addparser_flights_header").style.display = "block"; var url = "pid=9"; url += "&sv_flight_gateway=" + c; } else if(c != "" && d != "") { document.getElementById("sv_addparser_flights_header").style.display = "block"; var url = "pid=16"; url += "&sv_flight_gateway=" + c; url += "&sv_destination_code=" + d; } else { return; } global_url = url; var url_post = url; //divShowWaitStart(); lXML(global_location, url_post); } } function sv_flight_details(a, b, c, d) { // req, status, SV ID, SV gateway code if(a) { //divShowWaitStop(); if(b == "0") { // missing, invalid or maxlength fields var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; alert(error_message); } else if(b == "1") { // no flight details found var error_message = req.responseXML.getElementsByTagName("error_message")[0].firstChild.data; alert(error_message); document.getElementById("sv" + c).style.display = "none"; } else if(b == "2") { // success vlng = getCookie('vlng'); document.getElementById("sv" + c + "detailsDiv").onclick = function(){sv_flight_details_close(c, d);} document.getElementById("svImg" + c).innerHTML = ' Close Details'; document.getElementById("svDetails" + c).innerHTML = req.responseXML.getElementsByTagName("data")[0].firstChild.data; document.getElementById("svDetails" + c).style.display = "block"; } } else { // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { sv_flight_details.apply(); }, 500); return; } // if content already exists then show it if(document.getElementById("svDetails" + c).innerHTML != "") { document.getElementById("sv" + c + "detailsDiv").onclick = function(){sv_flight_details_close(c, d);} document.getElementById("svImg" + c).innerHTML = ' Close Details'; document.getElementById("svDetails" + c).style.display = "block"; } else { var url = "pid=9"; var return_flag = true; var focus_flag = true; var errMessage = "A problem with the fields listed below was encountered:\n\n"; if(c > 0) { url += "&id=" + c; } else { errMessage += "Softvoyage flight ID not specified.\n"; return_flag = false; } if(d != "") { url += "&sv_flight_gateway=" + d; } else { errMessage += "Softvoyage gateway code not specified.\n"; return_flag = false; } if(!return_flag) { alert(errMessage); return(false); } else { global_url = url; var url_post = url; //divShowWaitStart(); //alert(url_post); lXML(global_location, url_post); } } } } function sv_flight_details_close(a, b) { // SV ID, SV gateway code document.getElementById("sv" + a + "detailsDiv").onclick = function(){sv_flight_details('', '', a, b);} document.getElementById("svImg" + a).innerHTML = ' Open Details'; document.getElementById("svDetails" + a).style.display = "none"; } function sv_mini_form_tab_select(menu_id) { for(i = 1; i<=3 ; i++) { document.getElementById("sv_mini_" + i).style.display = "none"; } if(document.getElementById("sv_mini_" + menu_id).innerHTML == "") { sv_load_mini_form_content(null, '', menu_id); } document.getElementById("sv_mini_" + menu_id).style.display = "block"; // Set all tabs back to the defauld off position. for(i = 1; i<=3 ; i++) { document.getElementById("sv_mini_" + i + "s").style.color = "rgb(79, 79, 79)"; document.getElementById("sv_mini_" + i + "s").style.fontWeight = "normal"; } // Set the selected tab as live. document.getElementById("sv_mini_" + menu_id + "s").style.color = "rgb(255, 255, 255)"; document.getElementById("sv_mini_" + menu_id + "s").style.fontWeight = "bold"; } function sv_load_mini_form_content(req, b, menu_id) { if(req) { if(b == "0") { // missing, invalid or maxlength fields alert("Missing or invalid data provide in the 'menu_id' field of your post."); } else if(b == "1") { // success var data = req.responseXML.getElementsByTagName("data")[0].firstChild.data; document.getElementById("sv_mini_" + menu_id).innerHTML = data; if(menu_id == "1") { retrieveFormCookies("packages", "mandatory_promo_id|all_inclusive|beach|kitchenette|golf"); initializeGateways("packages", "gateway_dep", ""); retrieveFormCookies("packages","mandatory_promo_id|all_inclusive|beach|kitchenette|golf"); initializeDestinations("packages", "gateway_dep", "dest_dep"); retrieveFormCookies("packages","mandatory_promo_id|all_inclusive|beach|kitchenette|golf"); initializeHotels("packages", "dest_dep", "no_hotel"); retrieveFormCookies("packages","mandatory_promo_id|all_inclusive|beach|kitchenette|golf"); checkHotelStay("packages", "dest_dep", "duration"); retrieveFormCookies("packages","mandatory_promo_id|all_inclusive|beach|kitchenette|golf"); build_calendar("packagesCalendar1"); } if(menu_id == "2") { retrieveFormCookies("softvoyage_flight"); build_calendar("flightsCalendar1"); build_calendar("flightsCalendar2"); } if(menu_id == "3") { initializeGateways("lastMinute", "gateway_dep", ""); retrieveFormCookies("lastMinute"); initializeDestinations("lastMinute", "gateway_dep", "dest_dep"); checkHotelStay("lastMinute", "dest_dep", "duration"); retrieveFormCookies("lastMinute"); } } } else { this.req = req; this.b = b; this.menu_id = menu_id; // Check for running connections if(req != null && req.readyState != 0 && req.readyState != 4) { window.setTimeout(function() { //sv_load_mini_form_content.apply(this, arguments); //sv_load_mini_form_content.apply(); sv_load_mini_form_content.call(this, req, b, menu_id); }, 500); return; } var url = "pid=5"; url += "&menu_id=" + menu_id; global_url = url; var url_post = url; //alert(url_post); lXML(global_location, url_post); } }