var where = (navigator.appName == "Microsoft Internet Explorer")?-1:null;
var tableDivName = 'toolA';
var globalMode = 1;
var type = '';
var departureCalendar;
var currentTab;
var cal1;
var cal2;
var cal3;
var cal4;

var z;
var z1;

var globalElementToLoad;
var globalCalContainer;

function loadUrl(url, mode, params) {
  if(window.XMLHttpRequest) {
    try { req = new XMLHttpRequest();
    } catch(e) { req = false; }
  } else if(window.ActiveXObject) {
    try { req = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
    try { req = new ActiveXObject('Microsoft.XMLHTTP');
    } catch(e) { req = false; }
  } }
  if(req) {
 		switch (mode) {
 			case 1: req.onreadystatechange = dataLoaded; break;
 			case 2: req.onreadystatechange = taskCompleted; break;
 			case 3: req.onreadystatechange = destAdded; break;
 			case 4: req.onreadystatechange = dropDownLoaded; break;
 		}
    req.open('POST', url, true);
 		req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    req.setRequestHeader('Content-length', params.length);
    req.setRequestHeader('Connection', 'close');
    req.send(params);
  }
}

function getData(scriptname, searchFor, mode, params, showProgress, tableDiv) {
	if (typeof showProgress == "undefined") showProgress = false;
	if (typeof tableDiv != "undefined") tableDivName = tableDiv; else tableDivName = 'toolA';
		
	if (showProgress) makeMessageVisible();

	urlStr = mainLocation + scriptname;
	loadUrl(urlStr, mode, params);
}

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

function makeMessageVisible() {
	var dims = new Array();
	dims = getWindowSize();
	if (dims[0] < 100) dims[0] = 100;
	if (dims[1] < 100) dims[1] = 100;
	var frameWidth = 100;
	var frameHeight = 100;
	
	var elem = document.getElementById('infoBck');
	elem.style.width = dims[0] + 'px';
	elem.style.height = dims[1] + 'px';
	elem.style.display = 'block';

	elem = document.getElementById('messageFrame');
	elem.style.left = new Number((dims[0] - frameWidth)/2) + 'px';
	elem.style.top = new Number((dims[1] - frameHeight)/2) + 'px';
	elem.style.display = 'block';
}

function showError(txt) {
	var dims = new Array();
	dims[0] = 555;
	dims[1] = 271;
	var frameWidth = 250;
	var frameHeight = 100;
	
	var elem = document.getElementById('infoBck');
	elem.style.width = dims[0] + 'px';
	elem.style.height = dims[1] + 'px';
	elem.style.display = 'block';

	document.getElementById('errorFrameIn').innerHTML = txt;

	elem = document.getElementById('errorFrame');
	elem.style.left = new Number((dims[0] - frameWidth)/2) + 'px';
	elem.style.top = new Number((dims[1] - frameHeight)/2) + 'px';
	elem.style.display = 'block';
}
function hideMessage() {
	document.getElementById('infoBck').style.display = 'none';
	document.getElementById('messageFrame').style.display = 'none';
}

function hideError() {
	document.getElementById('infoBck').style.display = 'none';
	document.getElementById('errorFrame').style.display = 'none';
}


function setFocusDelayed() {
	globalValfield.focus();
}

function setfocus(valfield) {
	globalValfield = valfield;
	setTimeout('setFocusDelayed()', 100);
}

function isNotEmpty(elem) {
	if (elem == null) return false;
    var str = elem.value;
    var re = /.+/;
    
    return str.match(re);
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g, '');
}

function noenter(e) {
  //return !(window.event && window.event.keyCode == 13); 
	var keynum;
	if(window.event) {
	  keynum = e.keyCode;
	} else if(e.which) {
	  keynum = e.which;
	}
	return (keynum != 13);
}

function checkRequiredFields(elemArray, formName, generalAlert, alertPass, pass, formSubmit) {
	if (typeof pass == "undefined") {
    pass = false;
  }	
	if (typeof generalAlert == "undefined") {
    generalAlert = "The following required fields not filled/chosen:\n";
  }	
	if (typeof alertPass == "undefined") {
    alertPass = 'Password and password confirmation fields do not match!';
  }	
	if (typeof formSubmit == "undefined") {
    formSubmit = true;
  }	

	var emptyElem = false;
	var alertMessage = generalAlert;
	for (var i = 0; i < elemArray.length; i++) {
		if (document.getElementById(elemArray[i].elemId).type == 'select-one') {
			if (document.getElementById(elemArray[i].elemId).value == '0') {
				emptyElem = true;
				alertMessage += ('* ' + elemArray[i].alertMessage + "\n");
			}
		} else {
			if (!isNotEmpty(document.getElementById(elemArray[i].elemId))) {
				emptyElem = true;
				alertMessage += ('* ' + elemArray[i].alertMessage + "\n");
			}
		}
	}
	
	if (emptyElem) {
		alert(alertMessage);
		return false;
	} else {
		if (pass) {
			if (trim(document.getElementById('pass').value) != trim(document.getElementById('passconf').value)) {
				alert(alertPass);
				return false;
			}
		}
		if (formSubmit) document.forms[formName].submit();
		return true;
	}
}

function emailValidation(elem, alertText) {
	if (!isNotEmpty(elem, true)) return false;
    var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert(alertText);
        setfocus(elem);
        return false;
    } else {
        return true;
    }
}


function onlyAllowedChars(e) {
	var result = false;
	var keynum;
	if(window.event) {
	  keynum = e.keyCode;
	} else if(e.which) {
	  keynum = e.which;
	}
	if (typeof keynum == "undefined") {
    keynum = false;
  }	

	
	result = (((keynum >= 48) && (keynum <= 57)) || ((keynum >= 65) && (keynum <= 90)) || ((keynum >= 97) && (keynum <= 122)) || (keynum == 95) || (keynum == 8) || (keynum == false));

  return result;
}

function getCheckedValue(radioObj) {
	if(radioObj == null) return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function dataLoaded() {
  if (req.readyState == 4 && req.status == 200 ) {
    document.getElementById(tableDivName).innerHTML = req.responseText;
		
		if (!enableClosing) {
    	if (document.getElementById('db_close') != null) document.getElementById('db_close').style.display = 'none';
    	if (document.getElementById('db_close2') != null) document.getElementById('db_close2').style.display = 'none';
    	if (document.getElementById('db_ebt_content') != null) document.getElementById('db_ebt_content').style.background = 'none';
    }
    
/*
		switch (globalMode) {
			case 1:
				if (document.getElementById('combo_zone6') != null) {
					z1 = new dhtmlXCombo('combo_zone6', 'city_id', 150);
					z1.enableFilteringMode(true, '/tabs/complete_city.php', true, true);
				}
				break;
			case 6:
			case 7:
				if (document.getElementById('combo_zone6') != null) {
					z1 = new dhtmlXCombo('combo_zone6', 'city_id', 150);
					z1.enableFilteringMode(true, '/tabs/complete_loc_city.php', true, true);
				}
				break;
			
		}
*/

		hideMessage();
	}
}

function taskCompleted() {
  if (req.readyState == 4 && req.status == 200 ) {
		hideMessage();
	}
}

/*--------------------------------------------------------------------------------------------------------------------*/

function loadPage(id, params, titleText) {
	if (typeof params == "undefined") params = '';
	document.title = titleText;
	
	currentTab = id;
	
	globalMode = id;
	document.getElementById('db_bottom').style.display = 'none';
	switch (id) {
		case 1: 
			document.getElementById('db_ebt').className = 'selected';

			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			document.getElementById('db_ici').className = '';

			//getData('test2.html', mainScriptName, 1, params);	
			getData('book_a_room.php', mainScriptName, 1, params);	
			break;
		case 2: 
			document.getElementById('db_mmb_app').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			document.getElementById('db_ici').className = '';

			getData('my_bookings.php', mainScriptName, 1, params);	
			break;
		case 3: 
			document.getElementById('db_hc').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			document.getElementById('db_tt2').className = '';
			document.getElementById('db_ici').className = '';

			getData('rent_a_car.php', mainScriptName, 1, params);	
			break;
		case 4: 
			document.getElementById('db_tt2').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_ici').className = '';

			getData('currency_exchange.php', mainScriptName, 1, params);	
			break;
		case 5: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';

			getData('my_account.php', mainScriptName, 1, params);	
			break;
		case 6: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';

			getData('signup_step2.php', mainScriptName, 1, params);	
			break;
		case 7: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';

			getData('signup_step3.php', mainScriptName, 1, params);	
			break;
		case 8: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';

			getData('signup_completed.php', mainScriptName, 1, params);	
			break;
	}
}

function showBluebiz() {
	var bbcheck = document.getElementById('corporateSupport');
	if (!bbcheck.checked) {
		document.getElementById('bluebiznr').style.display = 'none';
	}
	else {
		document.getElementById('bluebiznr').style.display = 'block';
	}
	return false;
}
function emptyBluebiz() {
	var nr = document.getElementById('bluebiznr');
	if (nr == null)
		return false;
	if(nr.value == 'Enter your code') nr.value = '';
	return false;
}
function fillinBluebiz(txt) {
	var nr = document.getElementById('bluebiznr');
	if(nr.value == '') nr.value = txt;
	return false;
}

function loadDays(elem, days, year, month) {
  var newElem;

	var oldValue = elem.options[elem.selectedIndex].value;

	/* Check if it's a current month. If so, fill only days starting from today */
	var from;
	var today = new Date();
	if ((today.getFullYear() == year) && (today.getMonth() == month - 1)) 
		from = today.getDate();
	else
		from = 1;

	var now = new Date();
	now.setMonth(now.getMonth() + maxMonthIncrease);
	if ((year * 100 + Number(month) >= now.getFullYear() * 100 + now.getMonth() + 1) && (elem.id == 'arr_day')) days--;
  
  while (elem.options.length) {
      elem.remove(0);
  }
	for (var i = from; i <= days; i++) {
	  newElem = document.createElement('option');
	  newElem.text = ((i > 9)?i:'0' + i);
	  newElem.value = ((i > 9)?i:'0' + i);
	  elem.add(newElem, where);
	}
	
	setSelectedOption(elem, oldValue);
}

function syncDate(monthId, dayId, nextMonthId, nextDayId, dontLoad, dayBack) {
	if (typeof dontLoad == "undefined") dontLoad = false;
	if (typeof dayBack == "undefined") dayBack = false;

	elem = document.getElementById(monthId);
	var selValue = elem.options[elem.selectedIndex].value;
	var month = selValue.substr(4,2);
	var year = selValue.substr(0,4);
	var noOfDays = getNumberOfDays(month, year);
	
	var elToLoad;
	if (!dontLoad) {
		elToLoad = document.getElementById(dayId);
		loadDays(elToLoad, noOfDays, year, month);
	}
	
	/* If event was fired by Departure date, only adjust if Arrival date is greater than Departure */
	if ((dayBack && (parseInt(document.getElementById(monthId).options[document.getElementById(monthId).selectedIndex].value + '' + document.getElementById(dayId).options[document.getElementById(dayId).selectedIndex].text, 10) <= 
		parseInt(document.getElementById(nextMonthId).options[document.getElementById(nextMonthId).selectedIndex].value + '' + document.getElementById(nextDayId).options[document.getElementById(nextDayId).selectedIndex].text, 10))) ||
		!dayBack) {
	
		/* Determine date for chosen day +/- 1 */
		var currDate = new Date();
		currDate.setFullYear(year, parseInt(month, 10) - 1, document.getElementById(dayId).options[document.getElementById(dayId).selectedIndex].value);
		
		currDate.setDate(currDate.getDate() + (dayBack?-1:1));
		month = currDate.getMonth() + 1;
		year = currDate.getFullYear();
		noOfDays = getNumberOfDays(month, year);
		elToLoad = document.getElementById(nextDayId);
		/* Load days and set position */
		loadDays(elToLoad, noOfDays, year, month);
		setSelectedOption(elToLoad, currDate.getDate());
		/* Set month position */
	
		elToLoad = document.getElementById(nextMonthId);
		var set = false;
		var checkValue = year + '' + ((month > 9)?month:'0' + month);
		set = setSelectedOption(elToLoad, checkValue);
		
		/* If required month wasn't found, it has to be added! */
/*
		if (!set) {
		  var newElem = document.createElement('option');
		  newElem.text = months[month - 1] + ' ' + year;
		  newElem.value = checkValue;
		  elToLoad.add(newElem, where);
			elToLoad.selectedIndex = elToLoad.options.length - 1;
		}
*/
	}
	
}

function setSelectedOption(elem, optValue) {
	var set = false;
	for (var i = 0; i < elem.options.length; i++) {
		if (elem.options[i].value == optValue) {
			elem.selectedIndex = i;
			var set = true;
			break;
		}
	}
	return set;
}

function setCountryValue(val) {
	getData('setsessionvar.php', mainScriptName, 2, 'mode=1&val=' + val);	
}

function addDestination(val) {
	getData('setsessionvar.php', mainScriptName, 3, 'mode=2&val=' + val, false, 'destinations');	
}

function removeDestination(val) {
	getData('setsessionvar.php', mainScriptName, 3, 'mode=3&val=' + val, false, 'destinations');	
}

function destAdded() {
  if (req.readyState == 4 && req.status == 200 ) {
    document.getElementById(tableDivName).innerHTML = req.responseText;
	}
}

/* ----------------------------------- Functions from standardtoolbar.js -------------------------------------*/
/* calendar functions */
function openChosenTab(tabId, titleText) {
	if ((document.getElementById('db_ebt_content') == null) || (document.getElementById('db_ebt_content').style.display == 'none')
		|| (currentTab != tabId)) { 
			showTab(tabId);
			loadPage(tabId, '', titleText); 
	} else if (currentTab == tabId)
		hideTab();
}
/*
function showCalendar(depret, txt, depCalendar, calContainer, calTop) {
	if (typeof depCalendar == "undefined")
		departureCalendar = false;
	else
		departureCalendar = depCalendar;
		
	if (typeof calContainer == "undefined") calContainer = 'calendarcontainer';
	//if (typeof calTop == "undefined") calTop = 'calendartop';
	if (typeof calTop == "undefined") calTop = 'calendartop_t'; 
	
		globalCalContainer = calContainer;
	
	top.type = depret;
	var container = document.getElementById(calContainer);
	var header = document.getElementById(calTop);
	header.innerHTML = txt; 
	if (document.all) {
		var entries = document.getElementsByTagName('select');
		for (var i = 0; i < entries.length; i++) {
			if (entries[i].className == 'cal_hide') {
				entries[i].style.display = 'none';
			}
		}
	}
	var today = new Date();
	var index = document.getElementById(depret + '_month').options.selectedIndex;
	var selValue = document.getElementById(depret + '_month').options[document.getElementById(depret + '_month').options.selectedIndex].value;
	updateMonth(selValue, index);
	container.style.display = 'block';
}
*/
function showCalendar(depret, txt, depCalendar, calContainer, calTop) {
	if (typeof depCalendar == "undefined")
		departureCalendar = false;
	else
		departureCalendar = depCalendar;
		
	if (typeof calContainer == "undefined") calContainer = 'calendarcontainer';
	if (typeof calTop == "undefined") calTop = 'calendartop_t';
	
		globalCalContainer = calContainer;

	var suffix = '';
	if (globalCalContainer == "calendarcontainer") suffix = '_t';
	
	top.type = depret;
	var container = document.getElementById(calContainer);
	var header = document.getElementById(calTop);
	header.innerHTML = txt; 
	if (document.all) {
		var entries = document.getElementsByTagName('select');
		for (var i = 0; i < entries.length; i++) {
			if (entries[i].className == 'cal_hide') {
				entries[i].style.display = 'none';
			}
		}
	}
	var today = new Date();
	var index = document.getElementById(depret + '_month' + suffix).options.selectedIndex;
	var selValue = document.getElementById(depret + '_month' + suffix).options[document.getElementById(depret + '_month' + suffix).options.selectedIndex].value;
	updateMonth(selValue, index);
	container.style.display = 'block';
}

function fill(type, day, month, year) {
	var suffix = '';
	if (globalCalContainer == "calendarcontainer") suffix = '_t';

	closeCalendar(globalCalContainer);

	var noOfDays = getNumberOfDays(month, year);
	loadDays(document.getElementById(type + '_day' + suffix), noOfDays, year, month);
	setSelectedOption(document.getElementById(type + '_day' + suffix), day);

	setSelectedOption(document.getElementById(type + '_month' + suffix), year + '' + ((month > 9)?month:'0' + month));
	if (departureCalendar)
		syncDate(type + '_month' + suffix, type + '_day' + suffix, ((type == 'arr')?'dep':'arr') + '_month' + suffix, ((type == 'arr')?'dep':'arr') + '_day' + suffix, true, true);
	else
		syncDate(type + '_month' + suffix, type + '_day' + suffix, ((type == 'arr')?'dep':'arr') + '_month' + suffix, ((type == 'arr')?'dep':'arr') + '_day' + suffix, true);
}

/*
function fill(type, day, month, year) {
	closeCalendar(globalCalContainer);

	var noOfDays = getNumberOfDays(month, year);
	loadDays(document.getElementById(type + '_day'), noOfDays, year, month);
	setSelectedOption(document.getElementById(type + '_day'), day);

	setSelectedOption(document.getElementById(type + '_month'), year + '' + ((month > 9)?month:'0' + month));
	if (departureCalendar)
		syncDate(type + '_month', type + '_day', ((type == 'arr')?'dep':'arr') + '_month', ((type == 'arr')?'dep':'arr') + '_day', true, true);
	else
		syncDate(type + '_month', type + '_day', ((type == 'arr')?'dep':'arr') + '_month', ((type == 'arr')?'dep':'arr') + '_day', true);
}
*/
/*
function closeCalendar () {
	var container = document.getElementById('calendarcontainer');
	if (document.all) {
		var entries = document.getElementsByTagName('select');
		for (var i = 0; i < entries.length; i++) {
			if (entries[i].className == 'cal_hide') {
				entries[i].style.display = 'block';
			}
		}
	}
	container.style.display = 'none';
}
*/
function closeCalendar (calContainer) {
	if (typeof calContainer == "undefined") calContainer = 'calendarcontainer';

	var container = document.getElementById(calContainer);
	if (document.all) {
		var entries = document.getElementsByTagName('select');
		for (var i = 0; i < entries.length; i++) {
			if (entries[i].className == 'cal_hide') {
				entries[i].style.display = 'block'
			}
		}
	}
	container.style.display = 'none';
}
function updateMonth(monthyear, selection) {
	var suffix = '';
	if (globalCalContainer == "calendarcontainer") suffix = '_t';

	var month = monthyear.substr(4,2);
	var year = monthyear.substr(0,4);
	var month2;
	var year2;
	if (month < 12) { month2 = parseInt(month, 10) + 1; year2 = year; } else { month2 = 1; year2 = parseInt(year) + 1; }
		
	var noOfDays = getNumberOfDays(month, year);
	var firstDay = getFirstDay(month, year);
	var noOfDays2 = getNumberOfDays(month2, year2);
	var firstDay2 = getFirstDay(month2, year2);
	
	now = new Date();
	var backLink = '&nbsp;';
	var nextLink = '&nbsp;';
	if (now.getFullYear() * 100 +  now.getMonth() + 1 < year * 100 + Number(month)) {
		now.setFullYear(year, month - 2, 1);
		backLink = '<a href="javascript:updateMonth(\'' + now.getFullYear() + '' + (now.getMonth() + 1) + '\', 0)">' + textPrevious + '</a>&nbsp;&nbsp;&nbsp;';
	}
	now = new Date();
	now.setMonth(now.getMonth() + maxMonthIncrease);
	if (year2 * 100 + Number(month2) < now.getFullYear() * 100 + now.getMonth() + 1) {
		now.setFullYear(year2, month2 - 1, 1);
		nextLink = '&nbsp;&nbsp;&nbsp;<a href="javascript:updateMonth(\'' + now.getFullYear() + '' + (now.getMonth() + 1) + '\', 0)">' + textNext + '</a> ';
	}
	
	document.getElementById('month1Div' + suffix).innerHTML = months[month - 1] + ' ' + year;
	document.getElementById('prevDiv' + suffix).innerHTML = backLink;
	
	fillMonth(month, firstDay, noOfDays, 'monthtable' + suffix, year);
	
	/* Check if next month isn't greater than maxmonthincrease */
	now = new Date();
	now.setMonth(now.getMonth() + maxMonthIncrease);
	if (year2 * 100 + Number(month2) <= now.getFullYear() * 100 + now.getMonth() + 1) {
		fillMonth(month2, firstDay2, noOfDays2, 'monthtable2' + suffix, year2);

		document.getElementById('month2Div' + suffix).innerHTML = months[month2 - 1] + ' ' + year2;
		document.getElementById('nextDiv' + suffix).innerHTML = nextLink;
	} else {
		document.getElementById('month2Div' + suffix).innerHTML = '&nbsp;';
		document.getElementById('nextDiv' + suffix).innerHTML = '&nbsp;';
		document.getElementById('monthtable2' + suffix).innerHTML = '&nbsp;';
	}
}

function getNumberOfDays(m, y) {
	var days = 31;
	switch (parseInt(m, 10)) {
		case 4: case 6: case 9: case 11:
			days = 30;
			break;
		case 2:
		  if ((y % 4 == 0) ^ (y % 100 == 0) ^ (y % 400 == 0))
			days = 29;
		  else
			days = 28;
		  break;
	}
	return days;
}
function getFirstDay(m, y) {
	d = new Date(y, m-1, 1);
	d.setHours(12);
	return (d.getDay() - 1 >= 0 ? d.getDay() - 1 : d.getDay() + 6);
}
function fillMonth(month, firstDay, noOfDays, divName, year) {
	var now = new Date();
	now.setMonth(now.getMonth() + maxMonthIncrease);
	var last = ((year == now.getFullYear()) && (month == now.getMonth() + 1));


	var firstSet = false;
	var dayCounter = 1;
	var today = new Date();
	dateToday = today.getDate();
	monthToday = today.getMonth() + 1;
	yearToday = today.getFullYear();
	var sHTML = '<table cellspacing="0"><tr class="head">'
	for (var i = 0; i < days.length; i ++) {
		sHTML += '<td>' + days[i] + '</td>\n';
	}
	sHTML += '</tr>';
	while (dayCounter <= noOfDays) {
		sHTML += '<tr>';
		for (i = 0; i < 7; i++) {
			if (!firstSet && i < firstDay) {
				sHTML += '<td>&nbsp;</td>\n';
			} else {
				firstSet = true;
				if (dayCounter <= noOfDays) {
					if ((yearToday == year) && (monthToday == month) && (dayCounter < dateToday)) {
						sHTML += '<td>' + dayCounter + '</td>\n';
					} else {
						if (last && (dayCounter == noOfDays) && !departureCalendar)
							sHTML += '<td>' + dayCounter + '</td>\n';
						else
							sHTML += '<td><a href="javascript:fill(top.type, ' + dayCounter + ' , ' + month + ', ' + year + ');">' + dayCounter + '</a></td>\n';
					}

				} else {
					sHTML += '<td>&nbsp;</td>\n';
				}
				dayCounter++;
			}
		}
		sHTML += '</tr>'
	}
	sHTML += '</table>';
	document.getElementById(divName).innerHTML = sHTML;
}

function RecalcCalendar(id,days) { //,matchdates) {
	this.calendar = document.getElementById(id);
	this.days = days||new Array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
	/*this.minMatch = false;
	this.maxMatch = false;
	if (matchdates!=null) {
		if (matchdates.minMatch!=null) {
			this.minMatch = true;
			this.matchCalendar = document.getElementById(matchdates.minMatch);
		} else if(matchdates.maxMatch!=null) {
			this.maxMatch = true;
			this.matchCalendar = document.getElementById(matchdates.maxMatch);
		}
	}*/
	var self = this;
	addEventHandler(this.calendar, "click", function(e) {
		return self.clickHandler(e);
	});
}

RecalcCalendar.prototype = {
	aRE:/a/i,
	relRE:/date/i,
	divRE:/div/i,
	dateRE:/\b[0-9]{1,2}\b/,
	dayRE:/^[^ ]*/,
	clickHandler:function(e) {
		var e = e||event;
		var target = e.target||e.srcElement;
		var eventResult = true;

		while (target.nodeType>1)target = target.parentNode; //Safari targets textnodes.

		if (this.aRE.test(target.nodeName) && this.relRE.test(target.getAttribute("rel"))) {//It's a date link
			//de-select current date
			var selSpans = getElementsByClassName(this.calendar, "span", "sel");
			removeClass(selSpans[0], "sel");

			//select current date
			var span = target.parentNode;
			addClass(span, "sel");

			//change date-string
			var div = target;
			while (div.parentNode && !this.divRE.test(div.nodeName)) div = div.parentNode;
			if (this.divRE.test(div.nodeName)) {
				var strong = div.getElementsByTagName("strong").item(0);
				var sDate = strong.firstChild.nodeValue;
				sDate = sDate.replace(this.dateRE, target.firstChild.nodeValue);

				//count how many-eth day this is
				var td = target.parentNode.parentNode;
				var day = this.days[td.cellIndex];
				sDate = sDate.replace(this.dayRE, day);
				strong.replaceChild(document.createTextNode(sDate),strong.firstChild);
			} else alert("Could not find a div");

			//set variable on button-action
			var button = document.getElementById("recalcon"), buttonlink = button.getElementsByTagName("a").item(0), buttonhref = buttonlink.getAttribute("href"), href="";
			var re = new RegExp("([\\?&]" + this.calendar.id + "=)[^&]*");
			if (re.test(buttonhref)) {
				href = buttonhref.replace(re, "$1" + target.firstChild.nodeValue);
			} else {
				href = buttonhref + (buttonhref.indexOf("?")>0?"&":"?") + this.calendar.id + "=" + target.firstChild.nodeValue;
			}
			buttonlink.setAttribute("href",href);

			//enable recalcButton
			addClass(button, "enable");
			//cancel original event
			eventResult = cancelEvent(e);
		}
		return eventResult;
	}
}
// Content: js bluebiz interaction
// Content: js bluebiz interaction
// BlueBiz additions : Marcel Diepstra
// 20071214 pl: CM 22857 due to change from http to https, not all cookies were erased here.
// 20080204 cb: CM 23400 Interaction BlueBiz and Framesizer: Remove framesizer adding from initBlueBizApp

function trim(str)
{
	 if ((str == null) || (str == '')) {
	 	return '';
	 } else {
	   return str.replace(/^\s*|\s*$/g,"");
  }
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}
function loadHref(sHref, bForward) {
	var sForwardURL = "";
	if (bForward) {
		// Forward the current url, to the next, but only if there isn't already a forward url in the request
		sForwardURL = location.search;
		if (sForwardURL.indexOf("?forwardurl=") == -1) {
			var iPathStart = location.pathname.indexOf('/travel');
			iPathStart = (iPathStart == -1) ? 0 : '/travel'.length;
			var sPathName = escape(location.pathname.substring(iPathStart));
		 	if (sForwardURL == "") {
				sForwardURL = "?forwardurl=" + sPathName;
			} else {
				sForwardURL = "?forwardurl=" + sPathName + "&" + sForwardURL.substring(1);
			}
		}
	}
	if (sHref == location.protocol + "//" & location.host + "/" + location.pathname) {
		location.reload(true);
	} else {
		location.href = sHref + sForwardURL;
	}
}


var lBlueBizWaitCounter = 0;
var sBlueBizMainPage = ""
var sBlueBizErrorPage = "";
var sBlueBizExpiredPage = "";
var sBlueBizLockedOut = "";
var sBlueBizLoggedIn = "";
function retrieveBlueBizLogin(oForm, sErrorPage, sMainPage, sExpiredPage, sLockedOutPage, sLoggedInPage) {
	// Kill existing login related cookies
	eraseCookie("abccomcaas");
	eraseCookie("abcCOM_SESSIONCOOKIE");
	eraseCookie("PD-H-SESSION-ID");  // clear http - non secure cookie
	eraseCookie("PD-S-SESSION-ID");  // pl clear https - secure cookie
	eraseCookie("MfTrack_js");
	
	
	// Set redirect pages
	if (sBlueBizErrorPage == "") sBlueBizErrorPage = location.protocol + "//" + location.host + sErrorPage;
	if (sBlueBizMainPage == "") sBlueBizMainPage = location.protocol + "//" + location.host + sMainPage
	if (sBlueBizExpiredPage == "") sBlueBizExpiredPage = location.protocol + "//" + location.host + sExpiredPage;
	if (sBlueBizLockedOut == "") sBlueBizLockedOut = location.protocol + "//" + location.host + sLockedOutPage;
	if (sBlueBizLoggedIn == "") sBlueBizLoggedIn = location.protocol + "//" + location.host + sLoggedInPage;
	
	//oRemember = document.getElementById("rememberbblogin")
	if (oForm != null) {
		oRemember = oForm.elements["rememberbblogin"];
		if ((oRemember != null) && (oRemember.checked == true)) {
			createCookie("rememberbblogin",oRemember.checked,3650);
			createCookie("bbloginname", oForm.elements["username"].value, 3650);
		} else {
			eraseCookie("rememberbblogin");
			eraseCookie("bbloginname");
		}
	}
	retrieveBlueBizLogin2();
}
function retrieveBlueBizLogin2() {
	var sHTML;
	var oFrameDoc = document.getElementById('hiddenframe').contentDocument;
	if (oFrameDoc == null) oFrameDoc = document.frames('hiddenframe').document;
	if (oFrameDoc.getElementsByTagName('body').length == 0) {
		sHTML = ' ';
	} else {
		sHTML = oFrameDoc.getElementsByTagName('body')[0].innerHTML;
	}
	if ((trim(sHTML) == '')){
		setTimeout('retrieveBlueBizLogin2()', 100);
	} else {
		// Found response from WebSeal, interpret and remove traces from frame
		sHTML = oFrameDoc.documentElement.innerHTML;
		respondToLoginResult(sHTML);
		lBlueBizWaitCounter = 0;
		oFrameDoc.write("");
		oFrameDoc.close(); 
	}
}
var gExpiredForm = "";
function respondToLoginResult(sResult) {
  if (sResult.indexOf("login_success") > -1) {
		// Succesfull login, load logged in page, if current page doesn't contain a redirect
		if (location.search.indexOf("forwardurl=") == -1) {
			loadHref(sBlueBizLoggedIn, false);
		} else {
			loadHref(location.href, false);
		}
  } else if (sResult.indexOf("HPDIA0200W") > -1) {
		// Invalid login, go to error page
		loadHref(sBlueBizErrorPage, true);
	} else if (sResult.indexOf("HPDIA0204W") > -1) {
		// Expired login, put the result in an iframe in the main screen and clear the current cookies which has been set
		// by the last login attempt.
		eraseCookie("abccomcaas");
		eraseCookie("abcCOM_SESSIONCOOKIE");
		eraseCookie("PD-H-SESSION-ID");  // clear http - non secure cookie
		eraseCookie("PD-S-SESSION-ID");  // pl clear https - secure cookie 
		eraseCookie("MfTrack_js");
		
		var oInsert = document.getElementById("content");
		gExpiredForm = sResult;
		oInsert.innerHTML = '<iframe id="extFrame" name="extFrame" src="/travel/nl_nl/static/empty.html" scrolling="no" frameborder="no" width="568" height="600" onload="parent.placeExpiredForm()"></iframe>';
		document.getElementById('bbloginbox').target='extFrame';
		document.getElementById('bbloginbox').submit();
		
		//loadHref(sBlueBizExpiredPage, true);
	} else if ((sResult.indexOf("pkmslogout") > -1) && (sResult.indexOf("pkmspasswd") > -1)) {
		// Duplicate login, reload current page
		loadHref(location.href, false)
	} else if (sResult.indexOf("logged out") > -1) {
		// User logged out, return to bluebiz main page and clear CAAS cookie
		eraseCookie("abccomcaas");
		eraseCookie("abcCOM_SESSIONCOOKIE");
		eraseCookie("PD-H-SESSION-ID");   // clear http - non secure cookie
		eraseCookie("PD-S-SESSION-ID");   // pl clear https - secure cookie 
		eraseCookie("MfTrack_js");
		loadHref(sBlueBizMainPage, false);
	} else if (sResult.indexOf("locked out") > -1) {
		// User locked out, due to too many failed logins
		loadHref(sBlueBizLockedOut, true);
	} else {
		// Unexpected error, maybe timeout in CAAS
		loadHref(sBlueBizErrorPage, true);
	}
}

function initBlueBizAppFrame() {
}

//window.setTimeout('tryResizeCaller()', 100);
//window.setTimeout('resizeThreeColumnOverview()', 100);

function tryResizeCaller() {
	return;
   try {
      resizeCaller();
   } catch(e) {
   		// Do nothing
   } finally {
      window.setTimeout('tryResizeCaller()', 100);
   }
}
function resizeThreeColumnOverview() {
	return;
	try {
   		var oNodes = document.getElementById('triggerhome').childNodes;
   		var oContentHeight = 0;
   		for (var i=0;i < oNodes.length; i++) {
   			if ((oNodes[i].tagName) && (oNodes[i].tagName.toLowerCase() == "div")) {
   				if (oContentHeight < oNodes[i].offsetHeight) {
   					oContentHeight = oNodes[i].offsetHeight;
	   			}
   			}
   		}
   		for (var i=0;i < oNodes.length; i++) {
   			if ((oNodes[i].tagName) && (oNodes[i].tagName.toLowerCase() == "div")) {
   				oNodes[i].style.height = oContentHeight + "px";
   			}
   		}
  } catch(e) {
  	window.setTimeout('resizeThreeColumnOverview()', 100);
	}	
}
// Content: js OneToMarket

// Content: js forms
// this function removes all blanks from an input field.
function removeblanks()
{
  var arrReturnElements = getElementsByClassName(document.getElementById('tdsForm'),'input','removeblanks');
  
	for(var i=0; i<arrReturnElements.length; i++)
	{
		var y = arrReturnElements [i].value;
		y = y.replace(/\s/g,"");                             // replace all blanks in a string
		arrReturnElements[i].value = y;
	}    
}

function hideTab() {
	
	if (enableClosing) {
		document.getElementById('db_ebt').className = 'first';
		/*document.getElementById('db_hc').className = '';*/
		document.getElementById('db_mmb_app').className = '';
		document.getElementById('db_tt2').className = '';
		document.getElementById('db_ici').className = '';
		
		if (document.getElementById('db_ebt_content') != null)
			document.getElementById('db_ebt_content').style.display='none';
		
		if (document.getElementById('db_close2') != null)
		document.getElementById('db_close2').style.display='block';
	}
}


function showTab(id) {
	if (document.getElementById('db_ebt_content') != null)
		document.getElementById('db_ebt_content').style.display='block';
	if (document.getElementById('db_close2') != null)
	document.getElementById('db_close2').style.display='none';
	
	switch (id) {
		case 1: 
			document.getElementById('db_ebt').className = 'selected';

			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			document.getElementById('db_ici').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('book_a_room.php', mainScriptName, 1, '');	
			break;
		case 2: 
			document.getElementById('db_mmb_app').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			document.getElementById('db_ici').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('my_bookings.php', mainScriptName, 1, '');	
			break;
		case 3: 
			document.getElementById('db_hc').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			document.getElementById('db_tt2').className = '';
			document.getElementById('db_ici').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('rent_a_car.php', mainScriptName, 1, '');	
			break;
		case 4: 
			document.getElementById('db_tt2').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_ici').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('cur/exchangelocal.php', mainScriptName, 1, '');	
			break;
		case 5: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('my_account.php', mainScriptName, 1, '');	
			break;
		case 6: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('signup_step2.php', mainScriptName, 1, '');	
			break;
		case 7: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('signup_step3.php', mainScriptName, 1, '');	
			break;
		case 8: 
			document.getElementById('db_ici').className = 'selected';

			document.getElementById('db_ebt').className = 'first';
			document.getElementById('db_mmb_app').className = '';
			/*document.getElementById('db_hc').className = '';*/
			document.getElementById('db_tt2').className = '';
			if (document.getElementById('db_ebt_content') == null) getData('signup_completed.php', mainScriptName, 1, '');	
			break;
	}
}

function showLoading(elementToLoad) {
  while (elementToLoad.options.length) {
      elementToLoad.remove(0);
  }
  var newElem;
  newElem = document.createElement('option');
  newElem.text = textLoading;
  newElem.value = '0';
  elementToLoad.add(newElem, where);
}

function loadDropDown(elemId, scrName, searchVal) {
	globalElementToLoad = document.getElementById(elemId);
	showLoading(globalElementToLoad);
	getData(scrName, mainScriptName, 4, 'val=' + searchVal);	
}

function dropDownLoaded() {
  if (req.readyState == 4 && req.status == 200 ) {
  	var valArray = eval(req.responseText);
  	
  	var elementToLoad = globalElementToLoad;
	  var newElem;
	  while (elementToLoad.options.length) {
	      elementToLoad.remove(0);
	  }
		for (var i = 0; i < valArray.length; i++) {
		  newElem = document.createElement('option');
		  newElem.text = valArray[i].text;
		  newElem.value = valArray[i].val;
		  elementToLoad.add(newElem, where);
		}
  }
}
function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
if(document.layers) //NN4+
{
document.layers[szDivID].visibility = iState? "show" : "hide";
}
else if(document.getElementById) //gecko(NN6) + IE 5+
{
var obj = document.getElementById(szDivID);
obj.style.visibility = iState? "visible" : "hidden";
}
else if(document.all)// IE 4
{
document.all[szDivID].style.visibility = iState? "visible" : "hidden";
}
}

function feedBack() {
	el = document.getElementById("feedback");
	el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}
function LoadDomain() 
{ 
  document.forms.load_site.action=''; 
  document.forms.load_site.submit(); 
}
<!--//--><![CDATA[//><!--
			if (document.getElementById) {
		      document.write("<style type='text/css'>");
        	  document.write(".blocktoggle {display: none}");
		      document.write("</"+"style>");
		      var shown = new Array();
			}

			function blocktoggle(i) {
			  if (document.getElementById) {
				shown[i] = (shown[i]) ? false : true;
    		    currentdisplay = (shown[i]) ? 'block' : 'none';
               	document.getElementById('blocktoggle'+i).style.display = currentdisplay;
		      }
			}

			function db(i) {
			  if (document.getElementById){
			    if (document.getElementById("db"+i)) {
			      for ( j = 1; j < 1000; j++ ) {
			        if (document.getElementById('db' + j)) {document.getElementById('db' + j).style.display = 'none';}
				    else {j = 1000;}
			      }
			      if (i) {document.getElementById("db"+i).style.display = 'block';}
			    }
			  }
			}
//--><!]]>  