/*

	Functions in this file
	function ControlParentWindowLocation(url)


	Global Variables
    NS4   IE4   IE5   ver4   IE4mac   isMac
	NewWin DoShowBar

*/
	// Put the window on top	
	if (top.location != location) top.location.href = location.href;
	
	// Detect Browser Type and Version
    var NS4 = (document.layers) ? true : false;
    var IE4 = ((document.all)&&(!isMac)) ? true : false;
    var IE5 = (IE4 && navigator.appVersion.indexOf("5.")!=-1);
    var isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
    var IE4mac = ((document.all)&&(isMac)) ? true : false;
    var ver4 = (NS4 || IE4 || IE4mac) ? true : false;
    var DoShowBar = ver4;
	
	var NewWin = new Array(25);

	//Google Variables for 'Adsense' advertising
	google_ad_client = "pub-4396618653474003";
	google_ad_width = 120;
	google_ad_height = 600;
	google_ad_format = "120x600_as";
	google_ad_channel ="";
	google_color_border = "858678";
	google_color_bg = "EEECE0";
	google_color_link = "990000";
	google_color_url = "000000";
	google_color_text = "000000";



	function ControlParentWindowLocation(url){
		var remote = window.opener;
		if (!remote){
			remote = window;
		}
		remote.top.location.href = url;
		remote.focus();
	
	}

	
	
/*########################################################################## 
 This will write the JavaScript to operate a popup_window. The
 variables that must be passed are WindowName, URL
 XPos,YPos <- The X and Y starting pixes for the left hand corner if Netscape
 IEXPos, IEYPos <- The X and Y starting position for Internet Explorer
 WinWidth, WinHeight <- Window Width and Height
 Array_No <-  a window number 0 = 'View My Travel Guide'
                              1 = 'Currency Converter'
                              2 = 'Send Site To A Friend'
##########################################################################*/

	function PrintPopUpMap(URL,appWidth,appHeight){
	
		appWidth = parseFloat(appWidth);
		appHeight = parseFloat(appHeight);
		appPageWidth = appWidth;
		appPageHeight= appHeight;

		if (IE4){ appPageHeight -= 20; }


		var winStats = 'width='+appPageWidth+',height='+appPageHeight+',resizable=yes,scrollbars=no,menubar=yes';
		URL = 'http://www.worldweb.com/popUpMap.html?url=' + URL + '&appWidth=' + appWidth + '&appHeight=' + appHeight;
		popUp = window.open(URL,'PopUp',winStats);
		popUp.focus();


	}

	

	function popup_window(WindowName,URL,XPos,YPos,IEXPos,IEYPos,WinWidth,WinHeight, Array_No){

		if (NewWin[Array_No] != null && NewWin[Array_No].open){
        	NewWin[Array_No].close();
		}

		var winStats = 'width='+WinWidth+',height='+WinHeight+',scrollbars=yes,menubar=yes,status=yes,menubar=yes,toolbar=no,location=no,resizable=yes';
		if (navigator.appName.indexOf("Microsoft")>=0) {
    		winStats+=",left=" + IEXPos + ",top=" + IEYPos;
		}else{
    		winStats+=",screenX=" + XPos + ",screenY=" + YPos;
		}

		NewWin[Array_No] = window.open(URL,WindowName,winStats);

		return false;
	}

	function popupWindow(WindowName, URL, Array_No, winStats){
		if (NewWin[Array_No] != null && NewWin[Array_No].open){
        	NewWin[Array_No].close();
		}

		NewWin[Array_No] = window.open(URL,WindowName,winStats);
	}
	
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function GetDaysInMonth(yearmonth){
    var days=28;
	var year = parseFloat( yearmonth.substring(0,4) );
	var month= parseFloat( yearmonth.substring(4,6) ); 

    if (month==1||month==3||month==5||month==7||month==8||month==10||month==12) {
        days=31;
    } else if (month==4 || month==6 || month==9 || month==11) {
        days=30;
    } else if (month==2 && ( (year%4)==0 && (year%100)!=0 || (year%400)==0 )) {
        days=29;
    }
    return (days);
}



function SetReservationDates(){
	var args = arguments;
	var formObj = eval("document." + args[0]);
	var dateType = args[1];
	var changeType = args[2];

	if ( changeType.indexOf('yearmonth') != -1 ){
		SetDaysInMonth(formObj,dateType);
	}

	var arrivalYearMonthObj = eval("formObj.arrival_yearmonth")
	var arrivalDayObj = eval("formObj.arrival_day")
	var departureYearMonthObj = eval("formObj.departure_yearmonth");
	var departureDayObj = eval("formObj.departure_day");

	var arrivalDate   = arrivalYearMonthObj[arrivalYearMonthObj.selectedIndex].value;
	    arrivalDate += arrivalDayObj[arrivalDayObj.selectedIndex].value < 10 ? "0" + arrivalDayObj[arrivalDayObj.selectedIndex].value : arrivalDayObj[arrivalDayObj.selectedIndex].value;
	var departureDate = departureYearMonthObj[departureYearMonthObj.selectedIndex].value;
		departureDate+= departureDayObj[departureDayObj.selectedIndex].value < 10 ? "0" + departureDayObj[departureDayObj.selectedIndex].value : departureDayObj[departureDayObj.selectedIndex].value;
		
	var aMath = parseInt(arrivalDate);
	var dMath = parseInt(departureDate);

	if (aMath > dMath && dateType.indexOf('arrival') != -1){
			if ( (arrivalDayObj[arrivalDayObj.selectedIndex + 1]) && arrivalDayObj[arrivalDayObj.selectedIndex + 1].text.length >0 ){
				departureDayObj[arrivalDayObj.selectedIndex + 1].selected = true;
				departureYearMonthObj[arrivalYearMonthObj.selectedIndex].selected = true;
			}else{
				departureDayObj[0].selected = true;
				departureYearMonthObj[arrivalYearMonthObj.selectedIndex + 1].selected = true;
			}
	}else if (dMath <  aMath && dateType.indexOf('departure') != -1){
			if ( departureDayObj.selectedIndex > 0 && departureDayObj[departureDayObj.selectedIndex - 1].text.length >0 ){
				arrivalDayObj[departureDayObj.selectedIndex - 1].selected = true;
				arrivalYearMonthObj[departureYearMonthObj.selectedIndex].selected = true;
			}else{
				var index = arrivalYearMonthObj.selectedIndex - 1;
				arrivalYearMonthObj[index].selected = true;
				
				var numdays = GetDaysInMonth(arrivalYearMonthObj.options[ arrivalYearMonthObj.selectedIndex  ].value);
				
				arrivalDayObj[ numdays - 1 ].selected = true;
				
			}
	}


}

function SetDaysInMonth(form,fieldname){
    if (typeof form == "string"){
	   eval("form = document." + form);
	 }

	var value = eval("form." + fieldname + "_yearmonth.options[form." + fieldname + "_yearmonth.selectedIndex].value");
	var numdays = GetDaysInMonth(value);

	for (var loop=28; loop<32; loop++){
		if (loop<=numdays) {
			str = "form." + fieldname + "_day.options[loop-1].text = loop.toString()";
			eval(str);
		} else {
			str = "form." + fieldname + "_day.options[loop-1].text = ''";
			eval(str);
		}
	}
}


		function USStateChange(form,country_field,usstate_field,cdnprov_field)
			{
			var sindex;
			str = "sindex = form." + usstate_field + ".selectedIndex";
			eval(str);
			if (sindex == 0 || sindex == 1)
				{
				return;
				}
			for (cnt=0; cnt<1000; cnt++)
				{
				var cvalue;
				str = "cvalue = form." + country_field + "[" + cnt + "].value";
				eval(str);
				if (cvalue == "US")
					{
					break;
					}
				}
			eval("form." + country_field + ".selectedIndex = " + cnt);
			eval("form." + cdnprov_field + ".selectedIndex = 1");
			}
		function CDNProvChange(form,country_field,usstate_field,cdnprov_field)
			{
			var sindex;
			str = "sindex = form." + cdnprov_field + ".selectedIndex";
			eval(str);
			//if (form.cdnprov.selectedIndex == 0 || form.cdnprov.selectedIndex == 1)
			if (sindex == 0 || sindex == 1)
				{
				return;
				}
			for (cnt=0; cnt<1000; cnt++)
				{
				var cvalue;
				eval("cvalue = form." + country_field + "[" + cnt + "].value");
				//if (form.country[cnt].value == "CA")
				if (cvalue == "CA")
					{
					break;
					}
				}
			//form.country.selectedIndex = cnt;
			//form.usstate.selectedIndex = 1;
			eval("form." + country_field + ".selectedIndex = " + cnt);
			eval("form." + usstate_field + ".selectedIndex = 1");
			}
		function CountryChange(form,country_field,usstate_field,cdnprov_field)
			{
			var sindex;
			eval("sindex = form." + country_field + ".selectedIndex");
			var cvalue;
			eval("form." + country_field + "[" + sindex + "].value");
			if (cvalue != 'US' && cvalue != 'CA') 
				{
				eval("form." + cdnprov_field + ".selectedIndex = 1");
				eval("form." + usstate_field + ".selectedIndex = 1");
				}
			}


// Common Functions 2005 re-design
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function checkselection(select_box,max_count){
    var count = 0;

    for (var i = 0;i < select_box.length; i++){
        if (select_box[i].selected){
            count++;
        }
    }

    if (count > max_count){
        alert('A maximum of ' + max_count + ' selections are allowed.');
        for (var i = 0;i < select_box.length; i++){
            select_box[i].selected = false;
         }
        select_box.focus();
    }
}


    function PopWindow(URL,WinWidth,WinHeight){

        var winStats = 'width='+WinWidth+',height='+WinHeight+',scrollbars=yes,menubar=yes,status=yes,menubar=yes,resizable=yes';

        var editWin = window.open(URL,'editWindow',winStats);
    }

    function PopWindowAdditionalLocations(locationCount){
        var winStats = 'width=620,scrollbars=yes,menubar=yes,status=yes,menubar=yes,resizable=yes';
        var url = "tourism-edit-address.html?"
        var parms = "mode=edit_addresses&locationCount=" + locationCount;

        url += encodeURI(parms);
        var editWin = window.open(url, 'editWindow',winStats);
   }


function SetFileUploadFlag(fieldname) {
    var data;
    str = "data = document.form1." + fieldname + ".value";
                eval(str);

   if (data != "")
   {
     str = "document.form1." + fieldname + "_uploadflag[2].checked = true";
   }
      else
   {
        str = "document.form1." + fieldname + "_uploadflag[0].checked = true";
    }
    eval(str);
}



//Initialize the reservation Calendar
var resCalendarClass = new calendarReservation();


//initialize the ElementFunctionsObject and create a function to use it.
var elemClass = new ElementFunctions();
var xmlHttpClass = new XMLHttp();


function WWTG_photoGalleryImageSwap(direction,key,values){
	var split = values.split(":");
	var pos = 0; 
	for (var i = 0; split.length > i; i++){
		if ( split[i].indexOf(key) != -1 ){
			pos = i + direction;
			if (pos < 0){
				pos = split.length -1;
			}else if (pos == split.length){
				pos=0;
			}
			break;
		}
	}


	if (xmlHttpClass.browserIsCompatible()){

		var req = xmlHttpClass.create();
		req.open("GET", "photoGallerySwap.html?listing_id=" + split[pos], true);
		
	     req.onreadystatechange = function() {
                    if (req.readyState == 4) {
						var xmldoc = req.responseXML;
						//alert(req.responseText);
						var root_node = xmldoc.getElementsByTagName('photo').item(0);
						var img = xmldoc.getElementsByTagName("url")[0].firstChild.nodeValue;
						var width = xmldoc.getElementsByTagName("width")[0].firstChild.nodeValue;
						var height = xmldoc.getElementsByTagName("height")[0].firstChild.nodeValue;
						var title = xmldoc.getElementsByTagName("title")[0].firstChild.nodeValue;

						var credit = '';
						if ( (xmldoc.getElementsByTagName("credit")[0].firstChild) ){
							credit = xmldoc.getElementsByTagName("credit")[0].firstChild.nodeValue;
						}
						
						var creditURL = '';
						if ( (xmldoc.getElementsByTagName("creditURL")[0].firstChild) ){
							creditURL = xmldoc.getElementsByTagName("creditURL")[0].firstChild.nodeValue;
						}
					


						WWTG_photoGalleryShowImage(split[pos],img, width, height, title , credit, creditURL );
                    }
          };
         req.send(null);


	}else{
		alert('Your browser is not compatible with this function. Please go directory to the Photo Gallery by clicking the link above');
	}
}


function WWTG_photoGalleryImageSwapOnTheFly(direction,key,values){
	var split = values.split(":");
	var pos = 0; 
	for (var i = 0; split.length > i; i++){
		if ( split[i].indexOf(key) != -1 ){
			pos = i + direction;
			if (pos < 0){
				pos = split.length -1;
			}else if (pos == split.length){
				pos=0;
			}
			break;
		}
	}

	if (xmlHttpClass.browserIsCompatible()){

		var req = xmlHttpClass.create();
		req.open("GET", "record-access.html?mode=photogallery_frontpage_xml&table_id=10&listing_id=" + split[pos], true);

	     req.onreadystatechange = function() {
                    if (req.readyState == 4) {
//alert(req.getResponseHeader("content-type"));
						var xmldoc = req.responseXML;
						var root_node = xmldoc.getElementsByTagName('photo').item(0);
						var img = xmldoc.getElementsByTagName("url")[0].firstChild.nodeValue;
						var width = xmldoc.getElementsByTagName("width")[0].firstChild.nodeValue;
						var height = xmldoc.getElementsByTagName("height")[0].firstChild.nodeValue;
						var title = xmldoc.getElementsByTagName("title")[0].firstChild.nodeValue;
						var credit = '';
						if ( (xmldoc.getElementsByTagName("credit")[0].firstChild) ){
							credit = xmldoc.getElementsByTagName("credit")[0].firstChild.nodeValue;
						}
						var creditURL = '';
						if ( (xmldoc.getElementsByTagName("creditURL")[0].firstChild) ){
							creditURL = xmldoc.getElementsByTagName("creditURL")[0].firstChild.nodeValue;
						}
						
						WWTG_photoGalleryShowImage(split[pos],img, width, height, title , credit, creditURL );
                    }
          };
         req.send(null);


	}else{
		alert('Your browser is not compatible with this function. Please go directory to the Photo Gallery by clicking the link above');
	}
}

function WWTG_photoGalleryShowImage(hashKey,url,width,height,title, credit, creditURL){
		var elementRoot = elemClass.getElement("photoImg");

		// Swap the image for the new one.
		elemClass.clearContent("photoImg");

		var imgObj = elemClass.createImg(url,"WorldWeb.com Photo Gallery Image",0,'')
		if (creditURL.length > 0 ){
			imgObj = elemClass.createHref(unescape(creditURL),imgObj);
		}
		elementRoot.appendChild( imgObj );


		elementRoot = elemClass.getElement("photoTitle");
		elemClass.clearContent("photoTitle");
		elementRoot.appendChild( elemClass.createText(title) );
		
		elementRoot = elemClass.getElement("photoNavPrev");
		var split = elementRoot.href.split(",");
		split[1] = "'" + hashKey + "'";
		elementRoot.href = split.join(",");
		
		elementRoot = elemClass.getElement("photoNavNext");
		var split = elementRoot.href.split(",");
		split[1] = "'" + hashKey + "'";
		elementRoot.href = split.join(",");

		elementRoot = elemClass.getElement("photoCredit");
		elemClass.clearContent("photoCredit");
		if(credit.length){
			var buildObj = elemClass.createElement("i");
			buildObj.appendChild(elemClass.createText("from: "));
			
			elementRoot.appendChild( buildObj );
			var buildObj2 = elemClass.createElement("b");
		
			if (creditURL.length > 0){
				creditURL = unescape(creditURL);
				//alert(creditURL);
				buildObj2.appendChild(elemClass.createHref(creditURL,elemClass.createText(credit)) );

			}else{
				buildObj2.appendChild(elemClass.createText(credit));
			}
			
			elementRoot.appendChild( buildObj2 );
		}
}

