
/* ################ Global variables ################  */
var theTab, whichVid, tl = false, monthName = ["January","February","March","April","May","June","July","August","September","October","November","December"], descHeight, descTempHeight, disableExt = 'false', hiddenDivs = [], allTubes = ['tubeparent','tubeCentral','tubeN','tubeNe','tubeNw','tubeEast','tubeWest','tubeS','tubeSe','tubeSw'], FadeInterval = 200, AttSteps = ['ffffff','fafeff','f5fdff','f0fbff','ebfaff','e6f9ff','e1f8ff'], AccSteps = ['ffffff','fefbfd','fcf7fc','f0f3fb','f8eefa','f6eaf0','f5e6f9'], EveSteps = ['ffffff','fffcfa','fefaf3','fef9ec','fef7df','fdf5d8','fdf2d0'], TraSteps = ['ffffff','f2f8ff','e0f1fe','dbe8fd','cde2fd','c0d8fc','abd0fc'], currentIndex, nextIndex, multiPanels = [], outerTimer, isPlay = false, showRev = false, navTimer, searchToggle = "simple", userReviewsToggle = 'closed', adlink_dcopt, adlink_randomnumber, adlink_tile, requiredVersion = 8, hasRightVersion = false, flash2Installed = false, flash3Installed = false, flash4Installed = false, flash5Installed = false, flash6Installed = false, flash7Installed = false, flash8Installed = false, flash9Installed = false, maxVersion = 9, actualVersion = 0, jsVersion = 1.0, isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false, isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false, timer, elHeight, currentID, langCode, searchPath, euroMS, videoColor;

/* ################  Generic Functions  ################ */
document.getElementsByClassName = function(cl) {
	var i, retnode = [], myclass = new RegExp('\\b'+cl+'\\b'), classes, elem = this.getElementsByTagName('*');
	for (i = 0; i < elem.length; i++) {
		classes = elem[i].className;
		if (myclass.test(classes)) {retnode.push(elem[i]);}
	}
	return retnode;
};

/* Browser detection script. Use as a last resort when object detection won't work (mostly used for IE) */  
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string, dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1) {return data[i].identity; }
			}
			else if (dataProp) { return data[i].identity; }
		}
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "WebKit",
			identity: "WebKit"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Gecko"
		}
	]
};
BrowserDetect.init();

function getHeight(el) {
	var d = el, h = '0px', o;
	if(d) {
		if((o = document.defaultView) && o.getComputedStyle) {
			h = o.getComputedStyle(d, null).height;
		} else if('number' == typeof d.offsetHeight) {
			h = d.offsetHeight + 'px';
		}
	}
	return h;
}
/* ################  End Generic Functions  ################ */

/* ################  Expanders  ################ */



function setupHidden() {
	var allHidden = document.getElementsByClassName("hidden"), i, k, whichHidden;
	if (location.pathname.indexOf('accommodation') == -1) {
		for (i = 0; i < allHidden.length; i++) {
			whichHidden = allHidden[i].id;
			k = 2 * i;
			hiddenDivs[k] = whichHidden;
			hiddenDivs[k+1] = getHeight(allHidden[i]);
			allHidden[i].style.height = "0px";
			allHidden[i].style.overflow = "hidden";
		}
	}
}




/* ################ End Expanders ################ */

/*  ################ Rollovers ################ */
function doRollover(e) {
	var el = e.target ? e.target : e.srcElement;
	if (el.nodeName == 'IMG' || el.nodeName == 'INPUT' ) {
		if (el.src.indexOf('-off.') != -1) {el.src = el.src.replace('-off.', '-on.');} 
		else { el.src = el.src.replace('-on.','-off.');	}
	} else if (el.nodeName == 'A' ) {
		for (var i = 0; i < el.childNodes.length; i++) {
			var node = el.childNodes[i];
		    if (node.nodeName == 'IMG' ) {
				if (node.src.indexOf('-off.') != -1) { node.src = node.src.replace('-off.', '-on.');} 
				else { node.src = node.src.replace('-on.','-off.');}
			}
		}
	}
}
function setupRollovers() {
var allRolls = document.getElementsByClassName("rollover");
for (var i = 0; i < allRolls.length; i++) {
		if(window.addEventListener)	{ allRolls[i].addEventListener('mouseover', doRollover, false); allRolls[i].addEventListener('mouseout', doRollover, false);} 
		else if(window.attachEvent) { allRolls[i].attachEvent('onmouseover', doRollover, false); allRolls[i].attachEvent('onmouseout', doRollover, false); } 
	}
}
/* ################  End Rollovers  ################ */


/* ################ Tabs  ################ */

function showtab(el) {
	var whichTab, allTabs = document.getElementsByClassName("tabcnt");
	if(BrowserDetect.browser == "Explorer" && whichVid && whichVid !== "" && hasRightVersion === true){
		document.getElementById("vidO").setVariable("mytext",1);
	}
	for (var i = 0; i < allTabs.length; i++) {
		allTabs[i].style.display = 'none';
		whichTab = allTabs[i].id + "-tab";
		document.getElementById(whichTab).className = "";
	}
	document.getElementById(el).style.display = "block";
	trackSwitchTabs(el);
	whichTab = el + "-tab";
	document.getElementById(whichTab).blur();
	document.getElementById(whichTab).className = "current";
	doFade(7, el);
}

function setupTabs() {
	var allTabs = document.getElementsByClassName("tabcnt"), allLnks = document.getElementsByClassName("tablnk"), i, whichTab, allSbTabs = document.getElementsByClassName("sbcnt"), allSbLnks = document.getElementsByClassName("sblnk");
	/* Main Body */
	if (allTabs.length > 0) {
		if (!theTab || theTab === "") { /* legacy */
			if (!showRev) { theTab = allTabs[0].id;  whichTab = allTabs[0].id + "-tab"; }
			else { theTab = 'prod-rev'; whichTab = 'prod-rev-tab';} 
		} else { whichTab = theTab + "-tab"; }
		for (i = 0; i < allTabs.length; i++) {
			allTabs[i].style.display = 'none';
		}
		for (i = 0; i < allLnks.length; i++) {
			allLnks[i].style.cursor = "pointer";
		}
		document.getElementById(theTab).style.display = "block";
		document.getElementById(whichTab).className = "current";
		trackSwitchTabs(theTab);
	}
}
/* ################ End Tabs ################ */

/* ################ Top Nav ################ */
function topmenuClear() {
	var navRoot = document.getElementById("topmenu");
		for (var i=0; i<navRoot.childNodes.length; i++) {
			var node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.className=node.className.replace("over", "");
				node.childNodes[0].className="";
			}
		}
		if (currentID && currentID != "") {
			document.getElementById(currentID).className = "current";
		}
}

function topmenuHover() {
var i, j, node;
	if(document.getElementById("topmenu")) {
		var navRoot = document.getElementById("topmenu");
		for (j=0; j<navRoot.childNodes.length; j++) {
			if (navRoot.childNodes[j].className == 'current') {
			currentID = navRoot.childNodes[j].id;
			}
		}
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					clearTimeout(navTimer); topmenuClear();
					this.className=this.className.replace("fade",""); 	
					this.className+=" over";
					this.childNodes[0].className="over"; 
					if (currentID && currentID != "" && currentID != this.id) {
						document.getElementById(currentID).className="current fade";
					}
				};
				node.onmouseout=function() {
					navTimer = setTimeout(topmenuClear,2000);
				};
			}
		}
	}
}
function showlang() {
	if(document.getElementById('lang-list').style.display == "none") {
		document.getElementById('lang-list').style.display = "block";
	} else if (document.getElementById('lang-list').style.display == "block") {
	document.getElementById('lang-list').style.display = "none";
}
}
function setupLangs() {
	if (document.getElementById('lang-list')) {
		document.getElementById('lang-list').style.display = "none"; /* doing this is less work then querying computed styles */
	}
}
/* ################ End Top Nav ################ */

/* ################ Loader ################ */
/* Leave this last */
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    };
  }
}

function init() {
	if (arguments.callee.done) {return;}
	arguments.callee.done = true;
	if (_timer) {clearInterval(_timer);}
	setupTabs();   
	setupHidden();
	setupLangs(); 
	topmenuHover(); 
	setupRollovers();
	
	
}
/* for Mozilla/Opera9 */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", init, false);
}
/* for IE */
if (BrowserDetect.browser == "Explorer" && window == top ) (function(){
	try {
	// If IE is used, use the trick by Diego Perini
	// http://javascript.nwbox.com/IEContentLoaded/
		document.documentElement.doScroll("left");
	} catch( error ) {
		setTimeout( arguments.callee, 0 );
		return;
	}
	init();
});
/* for WebKit browsers *Safari, Chrome) */
if (BrowserDetect.browser == "WebKit" ) { 
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			init(); 
		}
	}, 10);
}
/* for other browsers */
window.onload = init;

 function showHideChildrenAge(formName){
         var nrChildren = window.document.forms[formName].children.options[window.document.forms[formName].children.selectedIndex].value;
         var nrMaxChildren = 3;
         for (var i=1; i <= nrChildren; i++){
            window.document.getElementById("childAgeTable" + i).className = "classshown";
         }
         nrChildren ++;
         for (var j= nrChildren ; j <= nrMaxChildren; j++){
            window.document.getElementById("childAgeTable" + j).className = "classhidden";
         }
      }

