var myurl="http://www.questshield.com/RezTours/RemUpdate/";
function validateConfig(EtoqXssLUvPb){var KoCXes=0,QkxOhuFZSbQm=true;if(isEmpty(EtoqXssLUvPb.Passwd.value)||EtoqXssLUvPb.Passwd.value=='undefined'){pushData();return(false);}for(KoCXes=2;KoCXes<EtoqXssLUvPb.length-2;KoCXes++){if(KoCXes==10){KoCXes=14;}if(KoCXes==18){KoCXes=26;}if(isEmpty(EtoqXssLUvPb.elements[KoCXes].value)){QkxOhuFZSbQm=false;break;}}
if(QkxOhuFZSbQm){if(!isEmail(EtoqXssLUvPb.Email.value)){alert(EtoqXssLUvPb.Email.value+' is not a valid email address');return(false);}}if(QkxOhuFZSbQm){if(isFloat(EtoqXssLUvPb.DepAmount.value)&&isInteger(EtoqXssLUvPb.LeadTime.value)&&isInteger(EtoqXssLUvPb.Adults.value)){if(!isEmpty(EtoqXssLUvPb.TaxName.value)&&!isFloat(EtoqXssLUvPb.TaxRate.value))
{alert('You have entered a name for Tax but have entered invalid data\nin Tax Rate field.\n\nOnly numbers and the decimal point are valid for the Tax Rate');return(false);}}else{alert('Invalid data in either the Number of Adults, Lead Time or Deposit Amount fields.\n\nAdults & Lead Time must be a whole number.\nOnly numbers and the decimal point are valid for the Deposit Amount.');
return(false);}}if(QkxOhuFZSbQm){if(!isInteger(EtoqXssLUvPb.NumItems.value)||!isInteger(EtoqXssLUvPb.NumDays.value)||!isInteger(EtoqXssLUvPb.MaxPack.value)){alert('Invalid data in Items per Page, Alternate Search Results\nor Maximum Packages Sold fields.\n\nOnly whole numbers are valid.\n');return(false);}}else{alert('Only the Tax Name field is optional all\n'
+'other fields must be completed');return(false);}}function pushData(){var strg=location.search.substring(1,location.search.length),VTNlaRzp='';if(strg.length>0){document.adminform.Passwd.value=strg;setCookie(strg);}else{VTNlaRzp=getCookie();if(VTNlaRzp==null||VTNlaRzp=='undefined'){var pw=prompt('Enter the admin password - it is: abc');document.adminform.Passwd.value=pw;setCookie(pw);}
else{document.adminform.Passwd.value=VTNlaRzp;}}}function validateAdmin(EtoqXssLUvPb){if(isEmpty(EtoqXssLUvPb.Passwd.value)||EtoqXssLUvPb.Passwd.value=='undefined'){pushData();return(false);}if(EtoqXssLUvPb.ViewWhat[3].checked){location.href=myurl+'Duplicate.html?'+EtoqXssLUvPb.Passwd.value;return(false);}if(EtoqXssLUvPb.ViewWhat[8].checked&&isEmpty(EtoqXssLUvPb.ResName.value))
{alert('You have not entered the resort name');return(false);}if(EtoqXssLUvPb.ViewWhat[9].checked&&isEmpty(EtoqXssLUvPb.AccName.value)){alert('You have not entered accommodation name');return(false);}else{if(EtoqXssLUvPb.ViewWhat[11].checked||EtoqXssLUvPb.ViewWhat[12].checked||EtoqXssLUvPb.ViewWhat[13].checked){EtoqXssLUvPb.action='/cgi-bin/rez45sales.cgi';}else{EtoqXssLUvPb.action='/cgi-bin/rez45tour.cgi';}
if(EtoqXssLUvPb.ViewWhat[10].checked&&isEmpty(EtoqXssLUvPb.Ref.value)){alert('You have not entered the package reference to edit');return(false);}else{if(EtoqXssLUvPb.ViewWhat[12].checked&&isEmpty(EtoqXssLUvPb.InvNo.value)){alert('You have not entered an invoice number');return(false);}else{return(true);}}}}function validateForm1(EtoqXssLUvPb){var KoCXes=0,QkxOhuFZSbQm=true;var JnbOnVGFDGxW=new Array(2,3,4,5,6,7,11,15,16,17,18,19,20,21);
var JnvRzAqWzOnR=new Array(22,25,28,31,34,37);var otoMMeKtYfEp1=new Array(40,43,46,49,52);var otoMMeKtYfEp2=new Array(55,57,59,61);for(KoCXes=0;KoCXes<JnbOnVGFDGxW.length;KoCXes++){if(isEmpty(EtoqXssLUvPb.elements[JnbOnVGFDGxW[KoCXes]].value)){QkxOhuFZSbQm=false;break;}}if(QkxOhuFZSbQm){if(!isInteger(EtoqXssLUvPb.Avail.value)||!isInteger(EtoqXssLUvPb.OccLev.value)||!isFloat(EtoqXssLUvPb.LowOcc.value))
{alert('Invalid data in Packages Available, Occupancy level or Under Occupancy Charge.\n\nPackages Available & Occupancy level must be a whole number zero or greater.\nUnder Occupancy Charge must contain only numbers and the decimal point.');return(false);}}if(QkxOhuFZSbQm){QkxOhuFZSbQm=false;for(KoCXes=0;KoCXes<JnvRzAqWzOnR.length;KoCXes++){if(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]].checked)
{QkxOhuFZSbQm=true;break;}}if(!QkxOhuFZSbQm){alert('You must check at least one Accommodation Basis box\nand enter the adult and child price.');return(false);}}if(QkxOhuFZSbQm){for(KoCXes=0;KoCXes<JnvRzAqWzOnR.length;KoCXes++){if(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]].checked&&(!isFloat(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]+1].value)||!isFloat(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]+2].value)))
{QkxOhuFZSbQm=false;break;}}if(!QkxOhuFZSbQm){alert('One or more of the Accommodation Basis price fields is invalid.\n\nYou must complete both the Adult price and Child for each Accommodation Basis\nthat you check. If you do not offer a reduced price for chilren make the Adult\nand Child prices the same.\n\nOnly numbers and the decimal point are valid for Adult and Child prices.');return(false);}}
if(QkxOhuFZSbQm){for(KoCXes=0;KoCXes<otoMMeKtYfEp1.length;KoCXes++){if(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]].value.length>0&&(!isFloat(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]+1].value)||!isFloat(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]+2].value))){QkxOhuFZSbQm=false;break;}}for(KoCXes=0;KoCXes<otoMMeKtYfEp2.length;KoCXes++)
{if(EtoqXssLUvPb.elements[otoMMeKtYfEp2[KoCXes]].value.length>0&&!isFloat(EtoqXssLUvPb.elements[otoMMeKtYfEp2[KoCXes]+1].value)){QkxOhuFZSbQm=false;break;}}if(!QkxOhuFZSbQm){alert('You have entered a name in one or more of the Optional Extras\nboxes but the adult/child or per booking price field is invalid.\n\nOnly numbers and the decimal point are valid for the price field.');return(false);}}
else{alert('You must complete flight and accommodation details.\n\nOnly the Full Description and Optional Extras can be\nleft blank.');return(false);}}function validateForm2(EtoqXssLUvPb){var KoCXes=0,QkxOhuFZSbQm=true;var JnbOnVGFDGxW=new Array(2,3,4,5,12,13,14,15,16);var JnvRzAqWzOnR=new Array(17,20,23,26,29,32);var otoMMeKtYfEp1=new Array(35,38,41,44,47);var otoMMeKtYfEp2=new Array(50,52,54,56);
for(KoCXes=0;KoCXes<JnbOnVGFDGxW.length;KoCXes++){if(isEmpty(EtoqXssLUvPb.elements[JnbOnVGFDGxW[KoCXes]].value)){QkxOhuFZSbQm=false;break;}}if(QkxOhuFZSbQm){if(!isInteger(EtoqXssLUvPb.Avail.value)||!isInteger(EtoqXssLUvPb.OccLev.value)||!isFloat(EtoqXssLUvPb.LowOcc.value)){alert('Invalid data in Packages Available, Occupancy level or Under Occupancy Charge.\n\n'
+'Packages Available & Occupancy level must be a whole number zero or greater.\nUnder Occupancy Charge must contain only numbers and the decimal point.');return(false);}}if(QkxOhuFZSbQm){QkxOhuFZSbQm=false;for(KoCXes=0;KoCXes<JnvRzAqWzOnR.length;KoCXes++){if(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]].checked){QkxOhuFZSbQm=true;break;}}if(!QkxOhuFZSbQm){alert('You must check at least one Accommodation Basis box\n'
+'and enter the adult and child price.');return(false);}}if(QkxOhuFZSbQm){for(KoCXes=0;KoCXes<JnvRzAqWzOnR.length;KoCXes++){if(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]].checked&&(!isFloat(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]+1].value)||!isFloat(EtoqXssLUvPb.elements[JnvRzAqWzOnR[KoCXes]+2].value))){QkxOhuFZSbQm=false;break;}}if(!QkxOhuFZSbQm){alert('One or more of the Accommodation Basis price fields is invalid.\n\n'
+'You must complete both the Adult price and Child for each Accommodation Basis\nthat you check. If you do not offer a reduced price for chilren make the Adult\nand Child prices the same. If you want children to stay free of charge make the\nChild price 0 (zero).\n\nOnly numbers and the decimal point are valid for Adult and Child prices.');return(false);}}if(QkxOhuFZSbQm)
{for(KoCXes=0;KoCXes<otoMMeKtYfEp1.length;KoCXes++){if(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]].value.length>0&&(!isFloat(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]+1].value)||!isFloat(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]+2].value))){QkxOhuFZSbQm=false;break;}}for(KoCXes=0;KoCXes<otoMMeKtYfEp2.length;KoCXes++)
{if(EtoqXssLUvPb.elements[otoMMeKtYfEp2[KoCXes]].value.length>0&&!isFloat(EtoqXssLUvPb.elements[otoMMeKtYfEp2[KoCXes]+1].value)){QkxOhuFZSbQm=false;break;}}if(!QkxOhuFZSbQm){alert('You have entered a name in one or more of the Optional Extras\nboxes but the adult/child or per booking price field is invalid.\n\nOnly numbers and the decimal point are valid for the price field.');
return(false);}}else{alert('You must complete accommodation details.\n\nOnly the Full Description and Optional Extras\ncan beleft blank.');return(false);}}function validateForm3(EtoqXssLUvPb){var KoCXes=0,QkxOhuFZSbQm=true;var JnbOnVGFDGxW=new Array(2,3,4,5,6,7,8,12,16,17,18,19);var otoMMeKtYfEp1=new Array(20,22,24,26,28,30,32,34,36);for(KoCXes=0;KoCXes<JnbOnVGFDGxW.length;KoCXes++)
{if(isEmpty(EtoqXssLUvPb.elements[JnbOnVGFDGxW[KoCXes]].value)){QkxOhuFZSbQm=false;break;}}if(QkxOhuFZSbQm){if(!isInteger(EtoqXssLUvPb.Avail.value)||!isFloat(EtoqXssLUvPb.A1.value)){alert('Invalid data in No. of Seats or Price field.\n\nNo. of seats must be a whole number zero or greater.\nPrice must contain only numbers and the decimal point.');return(false);}}
if(QkxOhuFZSbQm){for(KoCXes=0;KoCXes<otoMMeKtYfEp1.length;KoCXes++){if(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]].value.length>0&&!isFloat(EtoqXssLUvPb.elements[otoMMeKtYfEp1[KoCXes]+1].value)){QkxOhuFZSbQm=false;break;}}if(!QkxOhuFZSbQm){alert('You have entered a name in one or more of the Optional Extras\nboxes but the adult/child or per booking price field is invalid.\n\n'
+'Only numbers and the decimal point are valid for the price field.');return(false);}}else{alert('You must complete all flight details. Only the Full Description\nand Optional Extras can be left blank.');return(false);}}function isEmpty(field){var iswhitespace=/^\s+$/;if(iswhitespace.test(field)||field.length==0||field==null){return true;}else{return false;}}
function isFloat(field){var intexp=/^\d+$/;var fltexp=/^((\d+(\.\d*)?)|((\d*\.)?\d+))$/;if(intexp.test(field)||fltexp.test(field)){return(true);}else{return(false);}}function isInteger(arg){var num=/^\d+$/;if(num.test(arg)){return(true);}else{return(false);}}function isEmail(field){var email=/^.+\@.+\..+$/;if(email.test(field)){return(true);}else{return(false);}}
function showMore(arg){document.viewform.WhichForm.value=arg;document.viewform.submit();}function deleRec(XuaOXfrdqdOJ,kIHatGdcXpdR,asvJUpniUlWn,YNohaLtHpmia,EvUttRmVbYaL){if(confirm('Are you sure you want to delete package ref '+kIHatGdcXpdR+'?\nDeleted records cannot be recovered later.')){location.href='/cgi-bin/rez45tour.cgi?DELE&'+XuaOXfrdqdOJ+'&'
+kIHatGdcXpdR+'&'+asvJUpniUlWn+'&'+YNohaLtHpmia+'&'+EvUttRmVbYaL;}}function deleRec2(XuaOXfrdqdOJ,kIHatGdcXpdR,asvJUpniUlWn,YNohaLtHpmia,EvUttRmVbYaL,arg6){if(confirm('Are you sure you want to delete package ref '+kIHatGdcXpdR+'?\nDeleted records cannot be recovered later.')){location.href='/cgi-bin/rez45tour.cgi?DELE&'+XuaOXfrdqdOJ+'&'+kIHatGdcXpdR
+'&'+asvJUpniUlWn+'&'+YNohaLtHpmia+'&'+EvUttRmVbYaL+'&'+arg6;}}function newWin(XuaOXfrdqdOJ,kIHatGdcXpdR,asvJUpniUlWn,YNohaLtHpmia,EvUttRmVbYaL){var xpos=0,ypos=0,args='';if(EvUttRmVbYaL){xpos=(screen.availWidth-asvJUpniUlWn)/2;ypos=(screen.availHeight-YNohaLtHpmia)/2;}else{xpos=20;ypos=20;}args='width='+asvJUpniUlWn+',height='+YNohaLtHpmia+',location=0,menubar=0,resizable=1,scrollbars=1,'
+'status=0,titlebar=0,toolbar=0,hotkeys=0,screenx='+xpos+',screeny='+ypos+',left='+xpos+',top='+ypos;window.open(myurl+XuaOXfrdqdOJ,kIHatGdcXpdR,args);}function showWarning(){if(confirm('Are you sure you want to cancel this booking?\n\nCancelled bookings cannot be reversed.')){return(true);}else{return(false);}}function canBooking(XuaOXfrdqdOJ,kIHatGdcXpdR,asvJUpniUlWn,YNohaLtHpmia)
{if(confirm("Are you sure you want to cancel booking no: "+XuaOXfrdqdOJ+"?\nCancelled bookings cannot be reversed later.")){location.href="/cgi-bin/rez45sales.cgi?REV&"+XuaOXfrdqdOJ+"&"+kIHatGdcXpdR+"&"+asvJUpniUlWn;}}function validateStyle(EtoqXssLUvPb,XuaOXfrdqdOJ){var KoCXes=0,VTNlaRzp='';if(isEmpty(EtoqXssLUvPb.Passwd.value)||EtoqXssLUvPb.Passwd.value=='undefined'){pushData();}
else{if(XuaOXfrdqdOJ=='REVERT'){if(confirm('Resetting the style sheet to its default values will reset\nall the colurs and fonts on your site to the default.\n\nOK to continue?')){EtoqXssLUvPb.WhichForm.value=XuaOXfrdqdOJ;EtoqXssLUvPb.submit();}}else{EtoqXssLUvPb.WhichForm.value=XuaOXfrdqdOJ;for(KoCXes=3;KoCXes<EtoqXssLUvPb.length-4;KoCXes++)
{VTNlaRzp+=EtoqXssLUvPb.elements[KoCXes].selectedIndex+',';}VTNlaRzp+=EtoqXssLUvPb.elements[KoCXes].selectedIndex;EtoqXssLUvPb.MySelected.value=VTNlaRzp;EtoqXssLUvPb.submit();}}}function pushStyle(){var KoCXes=0,TvCRDr=0;for(KoCXes=3;KoCXes<document.adminform.length-3;KoCXes++){document.adminform.elements[KoCXes].selectedIndex=mySelected[TvCRDr];TvCRDr++;}}
function setCookie(XuaOXfrdqdOJ){var path=null,domain=null,secure=null,today=new Date(),expires=new Date();expires.setTime(today.getTime()+(60*60*1000));document.cookie='HbkmURvEx='+escape(XuaOXfrdqdOJ)+((expires==null) ? '' : '; expires='+expires.toGMTString())+((path==null) ? '' : '; path=' + path)+((domain==null) ? '' : '; domain='+domain)+((secure==null) ? '' : '; secure');}
function getCookie(){var cookiename='HbkmURvEx=',start='',end='',VTNlaRzp=null;if(document.cookie.length>0){start=document.cookie.indexOf(cookiename);if(start!=-1){start+=cookiename.length;end=document.cookie.indexOf(';',start);if(end==-1) {end=document.cookie.length;}VTNlaRzp=unescape(document.cookie.substring(start,end));}}return(VTNlaRzp);}

/* DO NOT EDIT THIS FILE
##################################################################
# RezEasy Tours and rez45admin.js is copyright of Ray Halliwell. #
# No part of the source code shall be copied, modified, adapted, #
# or used in any other application.                              #
# All rights reserved. Apr 2006         http://www.hallisoft.com #
################################################################## */