// Create new XMLHttp object.
var XMLHttp = false;
            
// Valid for IE7 and all Firefox versions (and others).
try {
   XMLHttp = new XMLHttpRequest();
} catch ( tryMicrosoft ) {
   try {
      // Older then MS IE 7.
      XMLHttp = new ActiveXObject( "Msxml2.XMLHTTP" );
   } catch ( otherMicrosoft ) {
      try {
         XMLHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
      } catch ( failed ) {
         XMLHttp = false;
      }
   }
}

// Set vars.
var ie = document.all;
var dom = document.getElementById;

// Change payment method.
function changePaymentMethod(sValue) {

	// When bank was choosen.
	if (sValue == 'bank') {

		document.getElementById("ccType").className = "cc_field";
		document.getElementById("ccNumber").className = "cc_field";
		document.getElementById("ccName").className = "cc_field";
		document.getElementById("ccSurname").className = "cc_field";
		document.getElementById("ccYear").className = "cc_field";
		document.getElementById("ccMonth").className = "cc_field";
		document.getElementById("ccCvc").className = "cc_field";

		var linkList = document.getElementsByTagName("label");

		for(i = 0; i < linkList.length; i++) {
			if (linkList[i].attributes['for'] != undefined) {
			
				if (	linkList[i].attributes['for'].value == "ccType" ||
						linkList[i].attributes['for'].value == "ccNumber" ||
						linkList[i].attributes['for'].value == "ccName" ||
						linkList[i].attributes['for'].value == "ccSurname" ||
						linkList[i].attributes['for'].value == "ccYear" ||
						linkList[i].attributes['for'].value == "ccMonth" ||
						linkList[i].attributes['for'].value == "ccCvc" ) {
						linkList[i].className = "cc_label";
				}
			}
		}
	}
	
	if (sValue == 'cc') {
		
		document.getElementById("ccType").className = "cc_field_shown";
		document.getElementById("ccNumber").className = "cc_field_shown";
		document.getElementById("ccName").className = "cc_field_shown";
		document.getElementById("ccSurname").className = "cc_field_shown";
		document.getElementById("ccYear").className = "cc_field_shown";
		document.getElementById("ccMonth").className = "cc_field_shown";
		document.getElementById("ccCvc").className = "cc_field_shown";
		
		var linkList = document.getElementsByTagName("label");
   
		for(i = 0; i < linkList.length; i++) {
			if (linkList[i].attributes['for'] != undefined) {
			
				if (	linkList[i].attributes['for'].value == "ccType" ||
						linkList[i].attributes['for'].value == "ccNumber" ||
						linkList[i].attributes['for'].value == "ccName" ||
						linkList[i].attributes['for'].value == "ccSurname" ||
						linkList[i].attributes['for'].value == "ccYear" ||
						linkList[i].attributes['for'].value == "ccMonth" ||
						linkList[i].attributes['for'].value == "ccCvc" ) {
						linkList[i].className = "cc_label_shown";
				}
			}
		}
	}
}

function showInsurancePaymentMethod(sValue) {
	if (sValue == '-1') {
		document.getElementById('divPaymentMethods').style.display = 'none';
		document.getElementById('divInsuredGuests').style.display = 'none';
	} else {
		document.getElementById('divPaymentMethods').style.display = 'block';
		document.getElementById('divInsuredGuests').style.display = 'block';
	}
}

function changeInsurancePaymentMethod(sValue) {
	if (sValue == 'bank') {
		document.getElementById('bank').style.display = 'block';
		document.getElementById('cc_new').style.display = 'none';
	}
	if (sValue == 'cc_old') {
		document.getElementById('bank').style.display = 'none';
		document.getElementById('cc_new').style.display = 'none';
	}
	if (sValue == 'cc_new') {
		document.getElementById('bank').style.display = 'none';
		document.getElementById('cc_new').style.display = 'block';
	}
}

function openWindow(sUrl) {

	// Create houses array.
	var aHouses = new Array();

	// Set counter to 0.
	var iCounter = 0;

	// Walk through all selected results.
	for(i = 0; i < document.forms['aResults'].elements.aFavorite.length; i++) {

		// When the house is checked.
		if (document.forms['aResults'].elements.aFavorite[i].checked) {

			// Add to array.
			aHouses[iCounter] = document.forms['aResults'].elements.aFavorite[i].value;

			// Add to counter.
			iCounter++;

		}
	}

	// Check if any are selected.
	if(aHouses.length == 0) {

		// Alert user.
		alert('U heeft geen huizen geselecteerd.');

	// There are houses.
	} else {

		// Set string.
		var sHouses = '';

		// Add houses to string.
		for (i = 0; i < aHouses.length; i++) {
			sHouses = aHouses[i] + ',' + sHouses;
		}

		// Open window.
		oWindow = window.open(sUrl + '/sHouses/' + sHouses, 'popupWindow', 'width=900, height=700, resizable=no, menubar=no, scrollbars=no, status=no, toolbar=no');

	}

}


function truebody()
{
  return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function tableruler()
{
	if (document.getElementById && document.createTextNode)
	{
		var tables=document.getElementsByTagName('table');
		for (var i=0;i<tables.length;i++)
		{
			if(tables[i].className=='subframe')
			{
				var trs=tables[i].getElementsByTagName('tr');
				for(var j=0;j<trs.length;j++)
				{
					if(trs[j].className=='ochosen')
					{
						trs[j].onmouseover=function(){this.className='ochosenr';return false}
						trs[j].onmouseout=function(){this.className='ochosen';return false}
					}
					else if(trs[j].className=='bchosen')
					{
						trs[j].onmouseover=function(){this.className='bchosenr';return false}
						trs[j].onmouseout=function(){this.className='bchosen';return false}
					}
					else if(trs[j].className=='nchosen')
					{
						trs[j].onmouseover=function(){this.className='nchosenr';return false}
						trs[j].onmouseout=function(){this.className='nchosen';return false}
					}
					else
					{
					  trs[j].onmouseover=function(){this.className='ruled';return false}
						trs[j].onmouseout=function(){this.className='';return false}
					}
				}
			}
		}
	}
}


/* Save holiday as favorit. */
function toggleFavorite(iHouseId, sState, iPeriodId) {

	// Period
	iPeriodId = typeof(iPeriodId) != 'undefined' ? iPeriodId : null;

	// Determine URL.
	if (sState) {
		var bAdded = true;
		if (iPeriodId != null) {
			var sUrl = '/selection/ajax-add/iHouseId/' + iHouseId + '/iPeriodId/' + iPeriodId;
		} else {
			var sUrl = '/selection/ajax-add/iHouseId/' + iHouseId;
		}
	} else {
		var bAdded = false;
		if (iPeriodId != null) {
			var sUrl = '/selection/ajax-remove/iHouseId/' + iHouseId + '/iPeriodId/' + iPeriodId;
		} else {
			var sUrl = '/selection/ajax-remove/iHouseId/' + iHouseId;
		}
	}

	// Set the url.
	XMLHttp.open("GET", sUrl);

	// Onchange function.
	XMLHttp.onreadystatechange = function() {

		// If the file is found.
		if (XMLHttp.readyState == 4 && XMLHttp.status == 200) {


				// Inform user.
				if (bAdded) {
					alert('Dit huis is opgeslagen in uw favorieten lijst.');
				} else {
					alert('Dit huis is uit uw favorieten lijst verwijderd.');
				}

		// If the file was not found.
		} else {

			// Alert the user.
			//alert('Er is een fout opgetreden (bestand niet gevonden).');

		}

	}

	// Send the request.
	XMLHttp.send(null);

}


function setMultipleFavorite() {
	var sHouses = '';
	for(i = 0; i < document.forms['aResults'].elements.aFavorite.length; i++) {
		if (document.forms['aResults'].elements.aFavorite[i].checked) {
			sHouses = sHouses + document.forms['aResults'].elements.aFavorite[i].value + ',';
		}
	}

	var sUrl = '/selection/ajax-add-multiple/sHouses/' + sHouses;

	// Set the url.
	XMLHttp.open("GET", sUrl);

	// Onchange function.
	XMLHttp.onreadystatechange = function() {

		// If the file is found.
		if (XMLHttp.readyState == 4 && XMLHttp.status == 200) {

				alert('De geselecteerde huizen zijn opgeslagen in uw favorieten lijst.');

		// If the file was not found.
		} else {

			// Alert the user.
			//alert('Er is een fout opgetreden (bestand niet gevonden).');

		}

}
	// Send the request.
	XMLHttp.send(null);
}

// Preload ajax loader image when page loads.
var preloadedImg = new Image(32,32);
preloadedImg.src = '/images/ajax-loader.gif';

// Display overlay.
function overlay() {
	document.body.style.overflow = 'hidden';
	// Make overlay and popup visible.
	el = document.getElementById("overlay");
	el.style.top = getScrollY() + 'px';

	el.style.visibility = 'visible';
	el2 = document.getElementById("popupFrame");
	
	
	el2.style.left = '0px';
	el2.style.top = getScrollY() + 'px';
	el2.style.visibility = 'visible';	
	// Submit form.
	document.searchForm.submit();

	// Set loading image.
	document.images['loadingImage'].src = preloadedImg.src;

}
function setchosenvalues2() {
	setchosenvalues();
	tableruler();
}
function setregvalues2() {
	setregvalues();
	tableruler();
}
function setvalues2() {
	setvalues();
	tableruler();
}


/* Display e-mail overlay. */
function overlayEmail() {

	// Make overlay visible.
	el = document.getElementById("overlay");
	el.style.visibility = 'visible';

	el2 = document.getElementById("mailFrame");
	el2.style.left = '0px';
	el2.style.top = getScrollY() + 'px';
	el2.style.visibility = 'visible';	

	// Submit form.
	//document.searchForm.submit();
	// Set loading image.
	//document.images['loadingImage'].src = preloadedImg.src;

}


// Get scroll position.
function getScrollY() {
  var scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

// Get window height.
function getHeight() {
  myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myHeight = document.body.clientHeight;
  }
	return myHeight;
}

				/* Change tabs. */
				function setTab(sTab, sContent) {

				// Cost.
				if (sTab == 'tabProperties') {
					document.getElementById('tabProperties').className = "selected";
					document.getElementById('contentProperties').style.display = "block";
				} else {
					document.getElementById('tabProperties').className = "";
					document.getElementById('contentProperties').style.display = "none";
				}

				// Cost.
				if (sTab == 'tabCost') {
					document.getElementById('tabCost').className = "selected";
					document.getElementById('contentCost').style.display = "block";
				} else {
					document.getElementById('tabCost').className = "";
					document.getElementById('contentCost').style.display = "none";
				}

				// Map.
				if (sTab == 'tabMap') {
					document.getElementById('accommodationMap').style.marginLeft = '10px';
					document.getElementById('mapWarning').style.visibility = 'visible';
					document.getElementById('contentMap').style.height = '510px';
					document.getElementById('tabMap').className = "selected";
					document.getElementById('contentMap').style.display = "block";
				} else {
					document.getElementById('accommodationMap').style.marginLeft = '-5000px';
					document.getElementById('mapWarning').style.visibility = 'hidden';
					document.getElementById('contentMap').style.height = '0px';
					document.getElementById('tabMap').className = "";
					document.getElementById('contentMap').style.display = "none";
				}

				// Surrounding.
				if (sTab == 'tabSurrounding') {
					document.getElementById('tabSurrounding').className = "selected";
					document.getElementById('contentSurrounding').style.display = "block";
				} else {
					document.getElementById('tabSurrounding').className = "";
					document.getElementById('contentSurrounding').style.display = "none";
				}

				// Country.
				if (sTab == 'tabCountry') {
					document.getElementById('tabCountry').className = "selected";
					document.getElementById('contentCountry').style.display = "block";
				} else {
					document.getElementById('tabCountry').className = "";
					document.getElementById('contentCountry').style.display = "none";
				}

				// HolidayParc.
				if (document.getElementById('tabHolidayParc')) {
				if (sTab == 'tabHolidayParc') {
					document.getElementById('tabHolidayParc').className = "selected";
					document.getElementById('contentHolidayParc').style.display = "block";
				} else {
					document.getElementById('tabHolidayParc').className = "";
					document.getElementById('contentHolidayParc').style.display = "none";
				}
				}

				// Notices.
				if (document.getElementById('tabNotices')) {
				if (sTab == 'tabNotices') {
					document.getElementById('tabNotices').className = "selected";
					document.getElementById('contentNotices').style.display = "block";
				} else {
					document.getElementById('tabNotices').className = "";
					document.getElementById('contentNotices').style.display = "none";
				}
				}

				// Guestbook.
				if (document.getElementById('tabGuestbook')) {
				if (sTab == 'tabGuestbook') {
					document.getElementById('tabGuestbook').className = "selected";
					document.getElementById('contentGuestbook').style.display = "block";
				} else {
					document.getElementById('tabGuestbook').className = "";
					document.getElementById('contentGuestbook').style.display = "none";
				}
				}

			}
			
			
			

/* Modified to support Opera */
function bookmarkPage(sTitle, sUrl){

	// Firefox (hack).
	if (window.sidebar) {
		window.sidebar.addPanel(sTitle, sUrl, "");

	// Opera.
	} else if(window.opera && window.print){
		var elem = document.createElement('a');
		elem.setAttribute('href', sUrl);
		elem.setAttribute('title', sTitle);
		elem.setAttribute('rel', 'sidebar');
		elem.click();

	// Internet Explorer.
	} else if(document.all) {
		window.external.AddFavorite(sUrl, sTitle);
	}

}


/* Change availability overview. */
function getAvailability(iHouseId, iMonth) {

	var sUrl = '/detail/get-availability/iHouseId/' + iHouseId + '/iMonth/' + iMonth;

	// Set the url.
	XMLHttp.open("GET", sUrl);

	// Onchange function.
	XMLHttp.onreadystatechange = function() {

		// If the file is found.
		if (XMLHttp.readyState == 4 && XMLHttp.status == 200) {

				document.getElementById('listAvailable').innerHTML = XMLHttp.responseText;
				// No further action required.
		// If the file was not found.
		} else {

			// Alert the user.
			//alert('Er is een fout opgetreden (bestand niet gevonden).');

		}

	}

	// Send the request.
	XMLHttp.send(null);

}


   function changeOrder(sValue) {

      //overlay();
      
      var oForm       = document.getElementById('sortForm');
      var oSortTop    = document.getElementById('sSort');

      oSortTop.value = sValue;

      oForm.submit();

   }



/* Function is calles when user selects a month of length at the detail page. */
/* Function calls PHP to retrieve availability of the selected house. */
function findPeriods(iHouseId, iLength, iMonth) {

	// Set URL.
	var sUrl = '/search/ajax-get-availability/iHouseId/' + iHouseId + '/iLength/' + iLength + '/iMonth/' + iMonth;

	// Set the url.
	XMLHttp.open("GET", sUrl);

	// Onchange function.
	XMLHttp.onreadystatechange = function() {

		// If the file is found.
		if (XMLHttp.readyState == 4 && XMLHttp.status == 200) {

				// Response object.
				var oResponse = eval('(' + XMLHttp.responseText + ')');

				// No HTML by default.
				var sHTML = '<ul>';

				// If there are results.
				if (oResponse.length > 0) {

					// Walk through elements.
					for(var i = 0; i < oResponse.length; i++) {

						// Add to HTML.
						sHTML = sHTML + '<li><a href="' + oResponse[i].sUrl + '" title="Klik voor meer informatie.">Van ' + oResponse[i].start_date + ' tot ' + oResponse[i].end_date + ' &aacute; &euro; ' + oResponse[i].total_price + '.</a></li>';

					}

				} else {

					sHTML = sHTML + '<li>Er zijn geen beschikbare verblijven gevonden.</li>';

				}

				// Add to HTML.
				sHTML = sHTML + '</ul>';

				// Set HTML.
				document.getElementById('availabilityResults').innerHTML = sHTML;


		// If the file was not found.
		} else {

			// Alert the user.
			//alert('Er is een fout opgetreden (bestand niet gevonden).');

		}

	}

	// Send the request.
	XMLHttp.send(null);

}
var submitting = false;