function resetairports(){ document.forms["requestquote"].elements["airport"].options[0].selected=true;}
function onchangepeople(){ var adults; var seniors; var children; var infants; var total; adults = document.forms["requestquote"].elements["adults"].selectedIndex; seniors = document.forms["requestquote"].elements["seniors"].selectedIndex; children = document.forms["requestquote"].elements["children"].selectedIndex; infants = document.forms["requestquote"].elements["infants"].selectedIndex; total = adults + seniors + children + infants; document.forms["requestquote"].elements["numpeople"].value = total;}
function disabletextbox(){ document.forms["requestquote"].elements["numpeople"].disabled = true; onchangepeople();}
function rnd() { rnd.today=new Date(); rnd.seed=rnd.today.getTime(); rnd.seed = (rnd.seed*9301+49297) % 233280; return rnd.seed/(233280.0);}
function rand(number) { return Math.ceil(rnd()*number);}
function selectagentimg(){ whichagent = rand(11); mimage = new Image(); mimage.src = "http://img.affordabletours.com/AffordableCruisesWeb/Subimages/Agent_Photos/" + whichagent + ".gif"; document.specialist.src = mimage.src; return true;}
function selectimage(){ which = rand(19); nimage = new Image(); nimage.src = "http://img.affordabletours.com/AffordableCruisesWeb/Subimages/WideImages/" + which + ".gif"; document.companyads.src = nimage.src; return true;}
function initregionmap(){ mymainurl = "http://img.affordabletours.com/AffordableTours/Products/Subimages/"; northamerica = new Image(); northamerica.src = mymainurl + "north_america.gif"; southamerica = new Image(); southamerica.src = mymainurl + "south_america.gif"; africa = new Image(); africa.src = mymainurl + "africa.gif"; asia = new Image(); asia.src = mymainurl + "asia.gif"; antarctica = new Image(); antarctica.src = mymainurl + "antarctica.gif"; central_america = new Image(); central_america.src = mymainurl + "central_america.gif"; eastern_europe = new Image(); eastern_europe.src = mymainurl + "eastern_europe.gif"; map = new Image(); map.src = mymainurl + "map.gif"; middle_east = new Image(); middle_east.src = mymainurl + "middle_east.gif"; scandinavia = new Image(); scandinavia.src = mymainurl + "scandinavia.gif"; south_pacific = new Image(); south_pacific.src = mymainurl + "south_pacific.gif"; western_europe = new Image(); western_europe.src = mymainurl + "western_europe.gif";}
function normal(){ document.maps.src = map.src; return true;}
function changeafrica(){ document.maps.src = africa.src; return true; regionname.innerHTML = "Africa";}
function changenamerica(){ document.maps.src = northamerica.src; return true;}
function changecamerica(){ document.maps.src = central_america.src; return true;}
function changesamerica(){ document.maps.src = southamerica.src; return true;}
function changeweurope(){ document.maps.src = western_europe.src; return true;}
function changeeeurope(){ document.maps.src = eastern_europe.src; return true;}
function changespacific(){ document.maps.src = south_pacific.src; return true;}
function changeasia(){ document.maps.src = asia.src; return true;}
function changeantarctica(){ document.maps.src = antarctica.src; return true;}
function changescandinavia(){ document.maps.src = scandinavia.src; return true;}
function changemiddleeast(){ document.maps.src = middle_east.src; return true;}
function hoverdeck(which){ dimage = new Image(); dimage.src = 'http://img.affordabletours.com/AffordableCruisesWeb/Subimages/lights.gif'; document.images[which].src = dimage.src;}
function hoverdeckoff(which){ dimage = new Image(); dimage.src = ""; document.images[which].src = dimage.src;}
function change(which){ dimage = new Image(); dimage.src = "http://img.affordabletours.com/AffordableCruisesWeb/" + which; document.deckplan.src = dimage.src;}
function changeriverdeck(which){ dimage = new Image(); dimage.src = "http://img.affordabletours.com/AffordableRiverCruises/" + which; document.deckplan.src = dimage.src;}
//function changeriverdeck(which){ dimage = new Image(); dimage.src = "http://img.affordabletours.com/AffordableRiverCruises/" + which; if (document.getElementById('dpcontent') && dimage.height && dimage.height > 0) {var ht = parseInt(dimage.height) + 40; document.getElementById('dpcontent').style.height = ht + 'px';} document.deckplan.src = dimage.src;}
var dom = (document.getElementsByTagName) ? true : false; var ie5 = (document.getElementsByTagName && document.all) ? true : false; var arrowUp, arrowDown; if (ie5 || dom)
initSortTable(); function initSortTable() { arrowUp = document.createElement("SPAN"); var tn = document.createTextNode("5"); arrowUp.appendChild(tn); arrowUp.className = "arrow"; arrowDown = document.createElement("SPAN"); var tn = document.createTextNode("6"); arrowDown.appendChild(tn); arrowDown.className = "arrow";}
function sortTable(tableNode, nCol, bDesc) { var tBody = tableNode.tBodies[0]; var trs = tBody.childNodes; var a = new Array(); for (var i=0; i<trs.length; i++) { a[i] = trs[i];}
a.sort(compareByColumn(nCol,bDesc)); for (var i=0; i<a.length; i++) { tBody.appendChild(a[i]);}
}
function compareByColumn(nCol, bDescending) { var c = nCol; var d = bDescending; function _compare(n1, n2) { var v; if (getInnerText(n1.cells[c]) < getInnerText(n2.cells[c]))
v = (d) ? -1 : +1; else if (getInnerText(n1.cells[c]) > getInnerText(n2.cells[c]))
v = (d) ? +1 : -1; else
v = 0; return v;}
return _compare;}
function sortColumn(e) { var tmp, el, tHeadParent; if (ie5)
tmp = e.srcElement; else if (dom)
tmp = e.target; tHeadParent = getParent(tmp, "THEAD"); el = getParent(tmp, "TD"); if (tHeadParent == null)
return; if (el != null) { var p = el.parentNode; var i; if (el._descending)
el._descending = false; else
el._descending = true; if (tHeadParent.arrow != null) { if (tHeadParent.arrow.parentNode != el) { tHeadParent.arrow.parentNode._descending = null;}
tHeadParent.arrow.parentNode.removeChild(tHeadParent.arrow);}
if (el._descending)
tHeadParent.arrow = arrowDown.cloneNode(true); else
tHeadParent.arrow = arrowUp.cloneNode(true); el.appendChild(tHeadParent.arrow); for (i=0; i<p.childNodes.length; i++) { if (p.childNodes[i] == el) break;}
var table = getParent(el, "TABLE"); sortTable(table,i,el._descending);}
}
function getInnerText(el) { if (ie5) return el.innerText; var str = ""; for (var i=0; i<el.childNodes.length; i++) { switch (el.childNodes.item(i).nodeType) { case 1:
str += getInnerText(el.childNodes.item(i)); break; case 3:
str += el.childNodes.item(i).nodeValue; break;}
}
return str;}
function getParent(el, pTagName) { if (el == null) return null; else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())
return el; else
return getParent(el.parentNode, pTagName);}
function changeList( box ) { list = ships[box.options[box.selectedIndex].value]; emptyList( box.form.ship ); fillList( box.form.ship, list );}
function emptyList( box ) { while ( box.options.length ) box.options[0] = null;}
function fillList( box, arr ) { for ( i = 0; i < arr[0].length; i++ ) { option = new Option( arr[0][i], arr[1][i] ); box.options[box.length] = option;}
box.selectedIndex=0;}
function changetourList( box ) { list = brochures[box.options[box.selectedIndex].value]; emptytourList( box.form.brochure ); filltourList( box.form.brochure, list );}
function emptytourList( box ) { while ( box.options.length ) box.options[0] = null;}
function filltourList( box, arr ) { for ( i = 0; i < arr[0].length; i++ ) { option = new Option( arr[0][i], arr[1][i] ); box.options[box.length] = option;}
box.selectedIndex=0;}
function nloadtourmap(){ mimage = new Image(); mimage.src = "http://img.affordabletours.com/AffordableTours/Products/Subimages/MainMap/map.gif"; document.maps.src = mimage.src; return true;}
function initmainregionmap(){ mymainurl = "http://img.affordabletours.com/AffordableTours/Products/Subimages/MainMap/"; northamerica = new Image(); northamerica.src = mymainurl + "north_america.gif"; southamerica = new Image(); southamerica.src = mymainurl + "south_america.gif"; africa = new Image(); africa.src = mymainurl + "africa.gif"; asia = new Image(); asia.src = mymainurl + "asia.gif"; antarctica = new Image(); antarctica.src = mymainurl + "antarctica.gif"; central_america = new Image(); central_america.src = mymainurl + "central_america.gif"; eastern_europe = new Image(); eastern_europe.src = mymainurl + "eastern_europe.gif"; map = new Image(); map.src = mymainurl + "map.gif"; middle_east = new Image(); middle_east.src = mymainurl + "middle_east.gif"; scandinavia = new Image(); scandinavia.src = mymainurl + "scandinavia.gif"; south_pacific = new Image(); south_pacific.src = mymainurl + "south_pacific.gif"; western_europe = new Image(); western_europe.src = mymainurl + "western_europe.gif";}
function normal(){ document.maps.src = map.src; return true;}
function changemainafrica(){ document.maps.src = africa.src; return true;}
function changemainnamerica(){ document.maps.src = northamerica.src; return true;}
function changemaincamerica(){ document.maps.src = central_america.src; return true;}
function changemainsamerica(){ document.maps.src = southamerica.src; return true;}
function changemainweurope(){ document.maps.src = western_europe.src; return true;}
function changemaineeurope(){ document.maps.src = eastern_europe.src; return true;}
function changemainspacific(){ document.maps.src = south_pacific.src; return true;}
function changemainasia(){ document.maps.src = asia.src; return true;}
function changemainantarctica(){ document.maps.src = antarctica.src; return true;}
function changemainscandinavia(){ document.maps.src = scandinavia.src; return true;}
function changemainmiddleeast(){ document.maps.src = middle_east.src; return true;}
function selectriversmainmap(){ mimage = new Image(); mimage.src = "http://img.affordabletours.com/AffordableRiverCruises/Subimages/RiverMainMap.jpg"; document.maps.src = mimage.src; return true;}
function selectnriversmap(){ mimage = new Image(); mimage.src = "http://img.affordabletours.com/AffordableRiverCruises/Site/map.jpg"; document.maps.src = mimage.src; return true;}
function validatequote(formobj){ var rf = Array("first", "last", "email", "tpostalcode", "contactmethod"); var desc = Array("First Name", "Last Name", "Email Address", "Zip Code", "Contact Method"); var mesg = "The following fields are missing:\n"; var msglen= mesg.length; for (var i = 0; i < rf.length; i++){ var obj = formobj.elements[rf[i]]; if (obj){ switch(obj.type){ case "select":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){ mesg += " - " + desc[i] + "\n";}
break; case "select-multiple":
if (obj.selectedIndex == -1){ mesg += " - " + desc[i] + "\n";}
break; case "text":
case "textarea":
if (obj.value == "" || obj.value == null){ mesg += " - " + desc[i] + "\n";}
break; default:
if (obj.value == "" || obj.value == null){ mesg += " - " + desc[i] + "\n";}
}
}
}
if (mesg.length == msglen){ var msg = "The following fields are completed incorrectly\n"; msglen = msg.length; var str = formobj.elements["email"].value; if (str.indexOf("@") < 0)
msg += "- Email address (e.g username@affordablecruisesweb.com)\n"; var reemail = formobj.elements["reemail"].value; if (reemail != str)
msg += " - Your email addresses do not match\n"; var numpassengers = formobj.elements["numpeople"].value; if (numpassengers == "0")
{ msg += " - Please select the number of passengers\n";}
var numchildren = formobj.elements["children"].value; if (numchildren != "0"){ var childages = formobj.elements["childages"].value; if (childages.length == 0)
msg += "- Child Ages Missing\n";}
var vfirstname = formobj.elements["first"].value; var vlastname = formobj.elements["last"].value; var vprefix = formobj.elements["tcodearea"].value; var vphonenum = formobj.elements["tnumberphone"].value; var vzipcode = formobj.elements["tpostalcode"].value; var vemail = formobj.elements["email"].value; var vcontactmethod = formobj.elements["contactmethod"].value; if (vcontactmethod == 2 && vphonenum.length == 0)
msg += " - Phone Number\n"; if (isWord(vfirstname))
msg += " - First Name (e.g John) - empty spaces and special characters not allowed\n"; if (isWord(vlastname))
msg += " - Last Name (e.g Doe) - empty spaces and special characters not allowed\n"; if (isValidNumber(vprefix))
msg += " - Contact Number Prefix (e.g. 281) - only digits allowed\n"; if (isValidNumber(vphonenum))
msg += " - Contact Number (e.g. 2692600) - only digits allowed\n"; if (isValidEmail(vemail))
msg += " - Email\n"; if (msg.length != msglen)
{ alert(msg); return false;}
else
return true;}
else { alert(mesg); return false;}
}
function selectportmapimage(){ nimage = new Image(); nimage.src = "http://img.affordabletours.com/AffordableCruisesWeb/Subimages/newPortMap.gif"; document.maps.src = nimage.src; return true;}
function resetdestinations(){ document.forms["search"].elements["destination"].options[0].selected=true;}
function resetcities(){ document.forms["search"].elements["city"].options[0].selected=true;}
function resetregions(){ document.forms["search"].elements["region"].options[0].selected=true;}
function resetrivers(){ document.forms["search"].elements["river"].options[0].selected=true;}
function isValidEmail(str){ return !(str.indexOf(".") > 1) && (str.indexOf("@") > 0);}
function isValidNumber(str){ regex = /[^0-9]/i; if (regex.test(str))
return true; else
return false;}
function isWord(str){ regex = /[^a-zA-Z]/i; if (regex.test(str))
return true; else
return false;}
function isWordDigit(str){ regex = /[^a-zA-Z\d]/i; if (regex.test(str))
return true; else
return false;}

function validatepackageform1(){
         var myvacationtype = 1;
         for (i=0;i<document.packageform.vacationtype.length;i++) if (document.packageform.vacationtype[i].checked==true){ myvacationtype = document.packageform.vacationtype[i].value; break; }
         var mygateway = document.packageform.gateway.value; var mydestination = document.packageform.destination.value; var mydepartdate = document.packageform.departdate.value; var myreturndate = document.packageform.returndate.value; var myroom1adult = document.packageform.room1adult.options[document.packageform.room1adult.selectedIndex].value; var myroom1child = document.packageform.room1child.options[document.packageform.room1child.selectedIndex].value; var myroom2adult = document.packageform.room2adult.options[document.packageform.room2adult.selectedIndex].value; var myroom2child = document.packageform.room2child.options[document.packageform.room2child.selectedIndex].value;
         var alertMsg = "Please complete the following fields:\n"; var l_Msg = alertMsg.length;
         if (myvacationtype == '1' && mygateway.length == 0) alertMsg += "\n- Departure City/Airport";
         if (mydestination.length == 0) alertMsg += "\n- Destination City/Airport";
         var passengercount = parseInt(myroom1adult) + parseInt(myroom1child) + parseInt(myroom2adult) + parseInt(myroom2child);
         if (passengercount > 7) alertMsg += "\n- Maximum number of passengers per request\n   can be no greater than 7 passengers.\n   You have selected " + passengercount + " passengers.";
         if (!isValidSlashDate(mydepartdate)) alertMsg += "\n- Invalid Departing format/date";
         if (!isValidSlashDate(myreturndate)) alertMsg += "\n- Invalid Returning format/date";
         if (myroom2child > 0 && myroom2adult == 0) alertMsg += "\n- Room 2 needs at least 1 adult";
         if (alertMsg.length == l_Msg){  if (myvacationtype == 2) document.packageform.gateway.value = ""; return true; }
         alert(alertMsg); return false;
}
function isValidSlashDate(sDate) { var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/; if (re.test(sDate)) { var dArr = sDate.split("/"); var d = new Date(sDate); if (d <= new Date()) return false; return d.getMonth() + 1 == dArr[0] && d.getDate() == dArr[1] && d.getFullYear() == dArr[2]; } return false; }

function pop (id){
	if (document.getElementById(id).style.display == "")
		document.getElementById(id).style.display = "none";
	else
		document.getElementById(id).style.display = "";
}
function onchangetourdest(selecteditem){
	var which = selecteditem.selectedIndex;
	var appendurl = selecteditem.options[which].value;
	document.location = "?destination="+appendurl;
}
function gettourdestresults(id){
	window.document.destinationsearch.destination.value = id;
	window.document.destinationsearch.submit();
}


