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

function isNumeric(p) { var pNum = new String(p); var regex = /[^0-9]/; return !regex.test(pNum); }

function so_clearInnerHTML(o) { while(o.firstChild) {o.removeChild(o.firstChild);} }

function removeChildren(node) {
	var child, next;
    for (child = node.firstChild; child !== null; ) {
    	next = child.nextSibling;
        node.removeChild(child);
        child = next;
	}
}

function leapYear (InYear) { if ((InYear % 4 === 0) && ((InYear % 100 !== 0) || (InYear % 400 === 0))) {return true;}}
var monthName = ["January","February","March","April","May","June","July","August","September","October","November","December"];


function abortAllAjax() {
	var i, k;
	for (i=1;i<=20;i++) {
		k = "xhr" + i;
		try { k.abort(); }
		catch(e) {}
    }
}
  
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var 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; }
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) {return;}
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
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;
}



function showOffers() {
	var whichOffer = document.getElementById('offer-category').options[document.getElementById('offer-category').selectedIndex].value;
	var allOffers = document.getElementsByClassName("offersub");
	for (var i = 0; i < allOffers.length; i++) {
		allOffers[i].style.display = 'none';
	}
	document.getElementById(whichOffer).style.display = "block";
	
	if (document.getElementById('moff')) {
		if (whichOffer == "where-to-stay-offers") {
			try {
			if (usca) {
			document.getElementById('moff').href="http://visitlondon.wwte1.com/pubspec/scripts/eap.asp?goto=HOTLAUNCH&eapid=11539-30001&rfrr=-48567"; document.getElementById('moff').innerHTML = "More hotels at great prices";
			} 
			 
			else {
			document.getElementById('moff').href="http://www.visitlondonoffers.com/"; document.getElementById('moff').innerHTML = "More hotels at great prices";
			}
			}
			catch(e) {
				document.getElementById('moff').href="/offers/accommodation/"; document.getElementById('moff').innerHTML = "More hotels at great prices";
			}
			
		}
		if (whichOffer == "travel-offers") {
				document.getElementById('moff').href="/offers/"; document.getElementById('moff').innerHTML = "More Bookings &amp; Offers";
		}
		if (whichOffer == "maps-offers") {
			document.getElementById('moff').href="/offers/maps/"; document.getElementById('moff').innerHTML = "More Maps";
		}
		if (whichOffer == "eating-out-offers") {
			document.getElementById('moff').href="/offers/eat/"; document.getElementById('moff').innerHTML = "More Eating Out";
		}
		if (whichOffer == "attractions-offers") {
			document.getElementById('moff').href="/offers/attractions/"; document.getElementById('moff').innerHTML = "More Attractions";
		}
		if (whichOffer == "tickets-offers") {
			document.getElementById('moff').href="/offers/tickets/"; document.getElementById('moff').innerHTML = "More Tickets";
		}
		if (whichOffer == "packages-offers") {
			
			try {
			if (usca) {
			document.getElementById('moff').href="http://visitlondon.wwte1.com/pubspec/scripts/eap.asp?goto=PKGLAUNCH&eapid=11539-30001&rfrr=-48568"; document.getElementById('moff').innerHTML = "More Vacation Packages";
			} 
			 
			else {
			document.getElementById('moff').href="/offers/packages/"; document.getElementById('moff').innerHTML = "More Vacation Packages";
			}
			}
			catch(e) {
				document.getElementById('moff').href="/offers/packages/"; document.getElementById('moff').innerHTML = "More Vacation Packages";
			}

		}
	} 
}




function showHidden(el,lnk) {
	lnk.blur();
	for (var i = 0; i < hiddenDivs.length; i++) {
		if (hiddenDivs[i] == el) {b = hiddenDivs[i+1];	}
	}
	var whichButton = "b" + el.substring(1);
	if (document.getElementById(el).style.height == "0px") {
		document.getElementById(whichButton).src = "http://static.visitlondon.com/images/button-minus-off.gif";
		changeHeight(el,"increase")	;
	} else {
		document.getElementById(whichButton).src = "http://static.visitlondon.com/images/button-plus-off.gif";
		changeHeight(el,"decrease");
	}
}

function changeHeight(el,dir) {
	var c = document.getElementById(el).style.height;
	var currentHeight = eval(c.substring(0,c.indexOf('px')));
	var targetHeight = eval(b.substring(0,b.indexOf('px')));
	if (dir == "increase") {
		if (currentHeight >= targetHeight) {return false;}
		currentHeight = currentHeight + 6;
	} else {
		if (currentHeight <= 0) {return false;}
		currentHeight = currentHeight - 6;
	}
	document.getElementById(el).style.height = currentHeight + "px";	
	timer = setTimeout("changeHeight('"+el+"','"+dir+"')",3);
}

var descHeight;
function setupDescriptionExpander() {
	if (document.getElementById('prod-desc')) {
var el = document.getElementById('prod-desc');
for (i = 0; i < el.childNodes.length; i++) {
			node = el.childNodes[i];
		    if (node.nodeName == 'DIV' && node.className == 'panel-middle' ) {
				descHeight = getHeight(node);
				var dHeight = eval(descHeight.substring(0,descHeight.indexOf('px')));
				if (dHeight > 188) {
					node.style.height = "188px";
					node.style.overflow = "hidden";
				}
			}
			if  (node.nodeName == 'DIV' && node.className == 'panel-foot' ) {
				if (dHeight > 188) {
				removeChildren(node);
				node.className += " foot-extend";
				node.innerHTML = '<a href="" onclick="extendDesc(this); return false;" class="rollover"><img src="http://static.visitlondon.com/images/button-plus-off.gif" alt="" id="bprod-desc"/>Read More</a>'
				}
			}
	}
								}
}

function extendDesc(lnk) {
	lnk.blur();
	var el = document.getElementById('prod-desc');
	for (i = 0; i < el.childNodes.length; i++) {
			node = el.childNodes[i];
		    if (node.nodeName == 'DIV' && node.className == 'panel-middle' ) {
	if (node.style.height == "188px") {
		document.getElementById('bprod-desc').src = "http://static.visitlondon.com/images/button-minus-off.gif";
		th = eval(descHeight.substring(0,descHeight.indexOf('px')));
		changeHeight2("increase");
	} else {
		document.getElementById('bprod-desc').src = "http://static.visitlondon.com/images/button-plus-off.gif";
		changeHeight2("decrease");
	}
	
			}
	}
}

function changeHeight2(dir) {
	var el = document.getElementById('prod-desc');
	for (i = 0; i < el.childNodes.length; i++) {
			node = el.childNodes[i];
		    if (node.nodeName == 'DIV' && node.className == 'panel-middle' ) {
		var c = node.style.height;
	var currentHeight = eval(c.substring(0,c.indexOf('px')));
	var targetHeight = eval(descHeight.substring(0,descHeight.indexOf('px')));
	if (dir == "increase") {
		if (currentHeight >= targetHeight) {return false;}
		currentHeight = currentHeight + 6;
	} else {
		if (currentHeight <= 188) {return false;}
		currentHeight = currentHeight - 6;
	}
	node.style.height = currentHeight + "px";	
	timer = setTimeout("changeHeight2('"+dir+"')",3);
			}
		}
}



function doRollover(e) {
	var el = (e.target) ? e.target : e.srcElement;
	if (el.nodeName == 'IMG' ) {
		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 (i = 0; i < el.childNodes.length; i++) {
			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.');
	      		}
			}
		}
	}
}

allTubes = ['tubeparent','tubeCentral','tubeN','tubeNe','tubeNw','tubeEast','tubeWest','tubeS','tubeSe','tubeSw'];

function showTube(whichTube) {
    for (i=0;i<allTubes.length;i++) {
        document.getElementById(allTubes[i]).style.display = 'none';
    }
    document.getElementById(whichTube).style.display = 'block';
}

function overMap(whLink,whText,whCoords) {
if (document.getElementById('chooser')) {
    document.getElementById('chooser').removeNode(true);
}
     var points = whCoords.split(',');
     var chooserW = eval(points[2]) - eval(points[0]);
     var chooserH = eval(points[3]) - eval(points[1]);
     var chooser= document.createElement("div"); 
     chooser.setAttribute("id", "chooser");  
    var chooseLink = document.createElement("a");
    chooseLink.setAttribute("href","javascript:showTube('"+whLink+"')");
    var chooseImg = document.createElement("img");
    chooseImg.setAttribute("src","http://static.visitlondon.com/images/explorer-map/view-larger.gif");
    chooseImg.setAttribute("alt","View Larger Map - " + whText);
    chooseLink.appendChild(chooseImg);
    chooser.appendChild(chooseLink);
    document.getElementById('tubeparent').appendChild(chooser);
    document.getElementById('chooser').style.width= chooserW + "px";
    document.getElementById('chooser').style.height= chooserH + "px";
    document.getElementById('chooser').style.top = points[1] + "px";
    document.getElementById('chooser').style.left = points[0] + "px";
    document.getElementById('chooser').style.display = "block";
    document.getElementById('chooser').style.position = "absolute";
}

function showtab(el) {
	var whichTab;
	if(BrowserDetect.browser == "Explorer" && whichVid && whichVid !== ""){
		document.getElementById("vidO").setVariable("mytext",1);
	}
	var allTabs = document.getElementsByClassName("tabcnt");
	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";
	whichTab = el + "-tab";
	document.getElementById(whichTab).className = "current";
	doFade(7, el);
}

var FadeInterval = 200;
var AttSteps = ['ffffff','fafeff','f5fdff','f0fbff','ebfaff','e6f9ff','e1f8ff'];
var AccSteps = ['ffffff','fefbfd','fcf7fc','f0f3fb','f8eefa','f6eaf0','f5e6f9'];
var EveSteps = ['ffffff','fffcfa','fefaf3','fef9ec','fef7df','fdf5d8','fdf2d0'];
var TraSteps = ['ffffff','f2f8ff','e0f1fe','dbe8fd','cde2fd','c0d8fc','abd0fc'];
	var cnt = 0;

function doFade(colorId, targetId) {
    if (colorId >= 1) {
		colorId--;
		for (i = 0; i < document.getElementById(targetId).childNodes.length; i++) {
			if (document.getElementById(targetId).childNodes[i].nodeType == 1) {
				if (location.pathname.indexOf('attractions') != -1) {
					document.getElementById(targetId).childNodes[i].style.backgroundColor = "#" + AttSteps[colorId];
				} else if (location.pathname.indexOf('accommodation') != -1) {
					document.getElementById(targetId).childNodes[i].style.backgroundColor = "#" + AccSteps[colorId];
				} else if (location.pathname.indexOf('events') != -1) {
					document.getElementById(targetId).childNodes[i].style.backgroundColor = "#" + EveSteps[colorId];
				} else if (location.pathname.indexOf('travel') != -1) {
					document.getElementById(targetId).childNodes[i].style.backgroundColor = "#" + TraSteps[colorId];
				} 
				
			}
		}
		if (colorId >= 1) {
			setTimeout("doFade("+colorId+",'"+targetId+"')", FadeInterval);
		}
	}
}

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 showUkOnly(el) {
	var allUk = document.getElementsByClassName("ukOnly"), i;
	if (el.options[el.selectedIndex].value == 'gb') {
		for (i = 0; i < allUk.length; i++) {
			allUk[i].style.visibility = 'visible';
		}
	} else {
		for (i = 0; i < allUk.length; i++) {
			allUk[i].style.visibility = 'hidden';
		}
	}
}

function showLondonOnly(el) {
	if (el.checked) {
		document.getElementById('notLondon').style.display = "none";
	} else {
		document.getElementById('notLondon').style.display = "table-row";
	}
}

var currentIndex;  var nextIndex; var multiPanels = []; var outerTimer; var isPlay = false;
function multiPanel(whichPanel,isPlay) {
	if (!isPlay) {
		stopPanels() ;
	}
	for (j=0;j<multiPanels.length;j++) {
		if (document.getElementById(multiPanels[j]).style.display == 'block') {
			currentIndex = j;
		}
	} 
	if (whichPanel == 'next') {
		if (currentIndex == multiPanels.length - 1) { nextIndex = 0;	} 
		else { nextIndex = currentIndex + 1;	}
	} else if (whichPanel == 'prev') {
		if (currentIndex === 0) { nextIndex = multiPanels.length - 1;	} 
		else {	nextIndex = currentIndex  - 1;	}
	} else {
		nextIndex = whichPanel;
	}
for (k=0;k<multiPanels.length;k++) {
	document.getElementById(multiPanels[k]).style.display = 'none';
	allO = document.getElementById(multiPanels[k]).getElementsByTagName("object");
	for (m=0;m<allO.length;m++) {
		allO[m].parentNode.innerHTML = " - ";
	}
	whLink = "link" + k;
	document.getElementById(whLink).className = document.getElementById(whLink).className.replace("currentLink", ""); 
}
document.getElementById(multiPanels[nextIndex]).style.display =  "block";
whLink = "link" + nextIndex;
document.getElementById(whLink).className += ' currentLink';
try {
	eval('redo' + document.getElementById(multiPanels[nextIndex]).id + "()");
} catch(e) {}
if (isPlay) {
		outerTimer = setTimeout("multiPanel('next',true)",25000);		
}
}

function playPanels() {
	multiPanel('next',true);
	document.getElementById('conLink').href = "javascript:stopPanels()";
	document.getElementById('conLink').firstChild.src = "http://static.visitlondon.com/images/arrows/stop-off.gif";
	document.getElementById('conLink').firstChild.alt = "Pause";
}
function stopPanels() {
	clearTimeout(outerTimer);	
	document.getElementById('conLink').href = "javascript:playPanels()";
	document.getElementById('conLink').firstChild.src = "http://static.visitlondon.com/images/arrows/forward-off.gif";
	document.getElementById('conLink').firstChild.alt = "Play";
}

function tutMovieHome() {
var flashURL = "http://static.visitlondon.com/assets/homepage/tut-slot.swf?CountdownDay=" + CountdownDay + "&CountdownHour=" + CountdownHour + "&CountdownMinute=" + CountdownMinute;
drawMovie("hpT", flashURL, '442', '182')
}


/* Set Stuff Up */
function setupMultiPanel() {
	var multiPanelsRaw = document.getElementById('selector-window').childNodes;
	
	for (i=0;i<multiPanelsRaw.length;i++) {
		if (multiPanelsRaw[i].nodeName == 'DIV') {
				multiPanels[multiPanels.length] = multiPanelsRaw[i].id;
		}
	}
for (j=0;j<multiPanels.length;j++) {
		document.getElementById(multiPanels[j]).style.display = 'none';
		document.getElementById(multiPanels[j]).style.position = 'absolute';
		document.getElementById(multiPanels[j]).style.top =  "0px";
		document.getElementById(multiPanels[j]).style.left =  "0px";
		var nextList = document.createElement("li"); 
		var nextLink = document.createElement("a"); 
		nextList.appendChild(nextLink);
		nextLink.setAttribute("href", "javascript:multiPanel('"+j+"');");
		nextLink.setAttribute("id", "link"+j);
		
  		nextLink.appendChild(document.createTextNode(j+1));
    	document.getElementById('selector').appendChild(nextList);
		if (j+1 == multiPanels.length) {
			nextLink.className =  "lastLink";
		}
	}
	 multiPanel('0');
}

var hiddenDivs = [];
function setupHidden() {
var allHidden = document.getElementsByClassName("hidden"), i, k, whichHidden;
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";
}
}


var showRev = false;

function setupTabs() {
var allTabs = document.getElementsByClassName("tabcnt"), i, whichTab;
if (allTabs.length > 0) {
if (!showRev) {
	for (i = 1; i < allTabs.length; i++) {
		allTabs[i].style.display = 'none';
	}
	whichTab = allTabs[0].id + "-tab";
	document.getElementById(whichTab).className = "current";
} else {
	for (i = 0; i < allTabs.length; i++) {
		allTabs[i].style.display = 'none';
	}
	document.getElementById('prod-rev').style.display = "block";
	document.getElementById('prod-rev-tab').className = "current";
}
}
}

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);
	} 
}
}

function setupLangs() {
	if (document.getElementById('lang-list')) {
		document.getElementById('lang-list').style.display = "none"; /* doing this is less work then querying computed styles */
	}
}

function externalLinks() { 
	var extLink = /^http/;
	var intLink = /^https?\:\/\/[a-z0-9\-]*.?visitlondon\.com/;
	var intLink2 = /^https?\:\/\/[a-z0-9\-]*.?visitlondon\.co\.uk/;
	var wnLink = /^https?\:\/\/[a-z0-9\-]*.?worldnomads\.com/;
	var server = /(web[1234]|preview)/;
	var fileLink = /\.(pdf|doc|mp3)$/;
	if (!document.getElementsByTagName || !document.getElementById("content") || window.location.protocol == 'https:') {return; }
	var allAnchors = document.getElementsByTagName("a"), contentAnchors = document.getElementById("content").getElementsByTagName("a"), i, anchor; 
	for (i=0; i<allAnchors.length; i++) { 
		anchor = allAnchors[i]; 
		if (
			anchor.getAttribute("href") && (
				anchor.className.indexOf('ext') != -1 ||
				fileLink.test(anchor.getAttribute("href")) || (
					extLink.test(anchor.getAttribute("href")) && !intLink.test(anchor.getAttribute("href")) && !intLink2.test(anchor.getAttribute("href")) && !server.test(anchor.getAttribute("href"))  
				)
			)
		) {
			anchor.target = "_blank";
			anchor.title += "\nLink will open in a new window" ;
		}
	} 
	for (i=0; i<contentAnchors.length; i++) { 
		anchor = contentAnchors[i]; 
		if (anchor.getAttribute("href") && (
				anchor.className.indexOf('ext') != -1 ||
				fileLink.test(anchor.getAttribute("href")) || (
					extLink.test(anchor.getAttribute("href")) && !intLink.test(anchor.getAttribute("href")) && !intLink2.test(anchor.getAttribute("href")) && !server.test(anchor.getAttribute("href"))  
				)
			) && anchor.className.indexOf('button') == -1 && anchor.className.indexOf('noicon') == -1 && !wnLink.test(anchor.getAttribute("href"))) {  
				var extIcon = document.createElement("img");
				extIcon.setAttribute("alt","");
				extIcon.setAttribute("src","http://static.visitlondon.com/images/icons/external-links.gif");
				anchor.appendChild(extIcon); 
	 		}
	}
}


var navTimer;
function topmenuHover() {
	if(document.getElementById("topmenu")) {
		navRoot = document.getElementById("topmenu");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					clearTimeout(navTimer); topmenuClear();
					this.className+=" over";
					this.childNodes[0].className="over"; 
				};
				node.onmouseout=function() {
					navTimer = setTimeout(topmenuClear,2000);
				};
			}
		}
	}
}

function topmenuClear() {
	navRoot = document.getElementById("topmenu");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.className=node.className.replace("over", "");
				node.childNodes[0].className="";
			}
		}
}

/* Search */
function getMaxDay(selectedMonth) {
	if (selectedMonth == 'Feb') { if (leapYear(selectedYear) ) {maxDay = 29;} else {maxDay = 28;} }  
  	else { if  (selectedMonth == 'Apr' || selectedMonth == 'Jun' || selectedMonth == 'Sep' || selectedMonth == 'Nov') { maxDay = 30;} else { maxDay = 31; } }
  return maxDay;
}
function getMinDay(selectedMonth) {
	if (selectedMonth == currentMonth && selectedYear == currentYear) { minDay = currentDay; }
	else { minDay = 1; }
	return minDay;
}

/* What's On Dates */
function checkMonths(whichEnd) {
  whichMonth = document.getElementById(whichEnd + "-month-year");
  whichDay =  document.getElementById(whichEnd + "-day");
  selectedMonth = whichMonth.options[whichMonth.selectedIndex].text.substr(0,3);
  selectedYear = whichMonth.options[whichMonth.selectedIndex].text.substr(4);
  selectedDay = whichDay.options[whichDay.selectedIndex].value;
  getMaxDay(selectedMonth);
  getMinDay(selectedMonth);
    while (whichDay.length > 1) { whichDay.remove(1); }
    for (k = minDay; k <= maxDay; k++) {
		kpos = k - minDay + 1;
	 	ksel = false; if (k == selectedDay) { ksel = true; }
     	whichDay.options[kpos] = new Option(k, k, false, ksel);
	}
}

/* Accommodation Dates */
var isAccLP = false;

function getCheckOut() {
	var inDate=new Date(); 
	inDate.setFullYear(document.getElementById('from-year')[document.getElementById('from-year').selectedIndex].value,parseInt(document.getElementById('from-month')[document.getElementById('from-month').selectedIndex].value,10)-1,document.getElementById('from-day')[document.getElementById('from-day').selectedIndex].value);
	inDate.setDate(parseInt(inDate.getDate(),10) + parseInt(document.getElementById('duration').value,10));
	if (document.getElementById('duration').value !== "") { 
		if (isNumeric(document.getElementById('duration').value)) {
			so_clearInnerHTML(document.getElementById("check-out1")); so_clearInnerHTML(document.getElementById("check-out2"));
			document.getElementById('check-out1').appendChild(document.createTextNode("Check Out:"));
			document.getElementById('check-out2').appendChild(document.createTextNode(inDate.getDate() + " " + monthName[inDate.getMonth()] + ", " + inDate.getFullYear()));
		}
	}
	so_clearInnerHTML(document.getElementById("check-out1")); so_clearInnerHTML(document.getElementById("check-out2"));
	if (whichMonth.selectedIndex > 0 && whichYear.selectedIndex > 0 && whichDay.selectedIndex > 0) {
		if (document.getElementById('duration').value !== "") { 
		if (isNumeric(document.getElementById('duration').value)) {
			document.getElementById('check-out1').appendChild(document.createTextNode("Check Out:"));
			document.getElementById('check-out2').appendChild(document.createTextNode(inDate.getDate() + " " + monthName[inDate.getMonth()] + ", " + inDate.getFullYear()));
			}
		}
		showRoomData(); 
		document.getElementById('search').action = "/accommodation/search";
   } else {
		hideRoomData();   
		if (isAccLP == false) { document.getElementById('search').action = "/search"; }
		
   }
}

function getCheckOutIP() {
	if (whichMonth.selectedIndex > 0 && whichYear.selectedIndex > 0 && whichDay.selectedIndex > 0) {
	var inDate=new Date(); 
	inDate.setFullYear(document.getElementById('from-year-ip')[document.getElementById('from-year-ip').selectedIndex].value,parseInt(document.getElementById('from-month-ip')[document.getElementById('from-month-ip').selectedIndex].value,10)-1,document.getElementById('from-day-ip')[document.getElementById('from-day-ip').selectedIndex].value);
	inDate.setDate(parseInt(inDate.getDate(),10) + parseInt(document.getElementById('duration-ip').value,10));
	if (document.getElementById('duration-ip').value !== "") { 
		if (isNumeric(document.getElementById('duration-ip').value)) {
			so_clearInnerHTML(document.getElementById("check-out1-ip")); so_clearInnerHTML(document.getElementById("check-out2-ip"));
			document.getElementById('check-out1-ip').appendChild(document.createTextNode("Check Out:"));
			document.getElementById('check-out2-ip').appendChild(document.createTextNode(inDate.getDate() + " " + monthName[inDate.getMonth()] + ", " + inDate.getFullYear()));
		}
	}
	}
}

function checkAccMonths() {
  whichYear =  document.getElementById('from-year');
  whichMonth = document.getElementById('from-month');
  whichDay =  document.getElementById('from-day');
  selectedMonth = whichMonth.options[whichMonth.selectedIndex].text;
  selectedYear = whichYear.options[whichYear.selectedIndex].value;
  selectedDay =  whichDay.options[whichDay.selectedIndex].value;
  getMaxDay(selectedMonth);
  getMinDay(selectedMonth);
  while (whichDay.length > 1) { whichDay.remove(1); }
for (k = minDay; k <= maxDay; k++) {
	kpos = k - minDay + 1;
	ksel = false; if (k == selectedDay) { ksel = true; }
    whichDay.options[kpos] = new Option(k, k, false, ksel);
}
   getCheckOut();
}

function checkAccMonthsIP() {
  whichYear =  document.getElementById('from-year-ip');
  whichMonth = document.getElementById('from-month-ip');
  whichDay =  document.getElementById('from-day-ip');
  selectedMonth = whichMonth.options[whichMonth.selectedIndex].text;
  selectedYear = whichYear.options[whichYear.selectedIndex].value;
  selectedDay =  whichDay.options[whichDay.selectedIndex].value;
  getMaxDay(selectedMonth);
  getMinDay(selectedMonth);
  while (whichDay.length > 1) { whichDay.remove(1); }
for (k = minDay; k <= maxDay; k++) {
	kpos = k - minDay + 1;
	ksel = false; if (k == selectedDay) { ksel = true; }
    whichDay.options[kpos] = new Option(k, k, false, ksel);
}
   getCheckOutIP();
 }

function showRoomData() {
	document.getElementById('roomsData').style.display = 'block'; document.getElementById('roomsCon').style.display = 'block'; 
	var allAdv = document.getElementsByClassName('erd');
			for (i = 0; i < allAdv.length; i++) {
				allAdv[i].disabled = false;
			}
}
function hideRoomData() {
	document.getElementById('roomsData').style.display = 'none';  document.getElementById('roomsCon').style.display = 'none'; 
	var allAdv = document.getElementsByClassName('erd');
			for (i = 0; i < allAdv.length; i++) {
				allAdv[i].disabled = true;
			}
}

/* Rooms related */
function deleteRoom(whRoom) {
	var oldRoom = document.getElementById(whRoom);
	oldRoom.parentNode.removeChild(oldRoom);
	return true;
}

function addNewRoom() {
	var totalRooms =  eval(document.getElementById('totalRooms').value);
    var newRoom = totalRooms + 1;
    var newLastRoom = "r" + newRoom;
    var nextRoom = document.createElement("div"); 
    nextRoom.setAttribute("id", newLastRoom);  
    document.getElementById('roomsData').appendChild(nextRoom);
    document.getElementById(newLastRoom).className = "room";  
	if (isAccLP) {
var roomContent = 'Room '+newRoom+': <label for="'+ newLastRoom +'a" class="tick">Adults:</label> <select name="adults" id="'+ newLastRoom +'a" class="erd"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select>&#160;<label for="'+ newLastRoom +'c" class="tick">Children:</label> <select name="children" id="'+ newLastRoom +'c" class="erd"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>' ;
	} else {
var roomContent = 'Room '+newRoom+':<br /><label for="'+ newLastRoom +'a" class="tick">Adults:</label> <select name="adults" id="'+ newLastRoom +'a" class="adv erd"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select>&#160;<label for="'+ newLastRoom +'c" class="tick">Children:</label> <select name="children" id="'+ newLastRoom +'c" class="adv erd"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>' ;
	}
	document.getElementById(newLastRoom).innerHTML = roomContent;
    document.getElementById('totalRooms').value = newRoom;
	return true;
}

function addNewRoomIP() {
	var totalRooms =  eval(document.getElementById('totalRooms-ip').value);
    var newRoom = totalRooms + 1;
    var newLastRoom = "r" + newRoom + "-ip";
    var nextRoom = document.createElement("div"); 
    nextRoom.setAttribute("id", newLastRoom);  
    document.getElementById('roomsData-ip').appendChild(nextRoom);
    document.getElementById(newLastRoom).className = "room";  
	var roomContent = 'Room '+newRoom+': &#160;<label for="'+ newLastRoom +'a" class="tick">Adults:</label> <select name="adults" id="'+ newLastRoom +'a" class="adv erd"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select>&#160;<label for="'+ newLastRoom +'c" class="tick">Children:</label> <select name="children" id="'+ newLastRoom +'c" class="adv erd"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>' ;
	document.getElementById(newLastRoom).innerHTML = roomContent;
    document.getElementById('totalRooms-ip').value = newRoom;
	return true;
}

function checkRooms() {
	var oldTotalRooms = eval(document.getElementById('totalRooms').value);
	var newTotalRooms = eval(document.getElementById('roomsNum').options[document.getElementById('roomsNum').selectedIndex].value);
	if (newTotalRooms == oldTotalRooms) {
		return false;	
	} else if (newTotalRooms < oldTotalRooms) {
		rInit = newTotalRooms + 1;
		for (r = rInit; r <= oldTotalRooms; r++) {
			rpos = "r" + r;
			deleteRoom(rpos);
		}
	document.getElementById('totalRooms').value = newTotalRooms;
	} else if (newTotalRooms > oldTotalRooms) {
		rInit = oldTotalRooms + 1;
		for (r = rInit; r <= newTotalRooms; r++) {
			addNewRoom();
		}
	}
}

function checkRoomsIP() {
	var oldTotalRooms = eval(document.getElementById('totalRooms-ip').value);
	var newTotalRooms = eval(document.getElementById('roomsNum-ip').options[document.getElementById('roomsNum-ip').selectedIndex].value);
	if (newTotalRooms == oldTotalRooms) {
		return false;	
	} else if (newTotalRooms < oldTotalRooms) {
		rInit = newTotalRooms + 1;
		for (r = rInit; r <= oldTotalRooms; r++) {
			rpos = "r" + r;
			deleteRoom(rpos);
		}
	document.getElementById('totalRooms-ip').value = newTotalRooms;
	} else if (newTotalRooms > oldTotalRooms) {
		rInit = oldTotalRooms + 1;
		for (r = rInit; r <= newTotalRooms; r++) {
			addNewRoomIP();
		}
	}
}

var searchToggle = "simple";

function whichSearch() {
	if	(searchToggle == "simple") {
		searchToggle = "advanced"; advancedSearch();	
	} else {
		searchToggle = "simple"; simpleSearch();
	}
}

function advancedSearch() {
	searchToggle = "advanced";
	document.getElementById('advanced-search').style.display = 'block'; 
	if (document.getElementById('rating-box')) {
		document.getElementById('rating-box').style.display = 'block'; 
	}
	document.getElementById('advanced-link').className="minus";
	document.getElementById('advanced-link').href="javascript:whichSearch()";
	document.getElementById('advanced-link').innerHTML = "";
	linktxt = document.createTextNode("Fewer Search Options");
	document.getElementById('advanced-link').appendChild(linktxt);
	var allAdv = document.getElementsByClassName('adv');
			for (i = 0; i < allAdv.length; i++) {
				allAdv[i].disabled = false;
			}
}

function simpleSearch() {
	searchToggle = "simple";
	if (isAccLP == false) {
	document.getElementById('search').action = "/search";
	}
	document.getElementById('advanced-search').style.display = 'none'; 
		if (document.getElementById('rating-box')) {
		document.getElementById('rating-box').style.display = 'none'; 
	}
	
	document.getElementById('advanced-link').className="plus";
	document.getElementById('advanced-link').href="javascript:whichSearch()";
	document.getElementById('advanced-link').innerHTML = "";
	linktxt = document.createTextNode("More Search Options");
	document.getElementById('advanced-link').appendChild(linktxt);
	var allAdv = document.getElementsByClassName('adv');
			for (i = 0; i < allAdv.length; i++) {
				allAdv[i].disabled = true;
			}
	if(document.getElementById('c1o2') && document.getElementById('keyword') ) { showKeyword(); }
}

function showStartsWith() {
	document.getElementById('c1o2').style.display = 'block'; document.getElementById('c1o1').style.display = 'none'; 
	document.getElementById('keyword').disabled = true; document.getElementById('starts-with').disabled = false;
}

function showKeyword() {
	document.getElementById('c1o1').style.display = 'block';  document.getElementById('c1o2').style.display = 'none'; 
	document.getElementById('keyword').disabled = false; document.getElementById('starts-with').disabled = true;
}

function showAreas() {
	document.getElementById('c2o2').style.display = 'block';  document.getElementById('c2o1').style.display = 'none'; 
	document.getElementById('location').disabled = true; document.getElementById('s-areas').disabled = false;
}

function showLocation() {
	document.getElementById('c2o1').style.display = 'block';  document.getElementById('c2o2').style.display = 'none'; 
	document.getElementById('s-areas').disabled = true; document.getElementById('location').disabled = false;
}

function showPeriod() {
	document.getElementById('c3o1').style.display = 'block';  document.getElementById('c3o2').style.display = 'none'; 
	document.getElementById('start-day').disabled = true; document.getElementById('start-month-year').disabled = true;
	document.getElementById('end-day').disabled = true; document.getElementById('end-month-year').disabled = true;
	document.getElementById('days-ahead').disabled = false; document.getElementById('search').action = "/search";
}

function showDates() {
	document.getElementById('c3o2').style.display = 'block'; document.getElementById('c3o1').style.display = 'none'; 
	document.getElementById('start-day').disabled = false; document.getElementById('start-month-year').disabled = false;
	document.getElementById('end-day').disabled = false; document.getElementById('end-month-year').disabled = false;
	document.getElementById('days-ahead').disabled = true; document.getElementById('search').action = "/events/search";
}

function showFacs() {
	if (document.getElementById('facilities-inner')) {
	if (document.getElementById('facilities-inner').style.display == 'none') {
		document.getElementById('facilities-inner').style.display = 'block'; document.getElementById('facilities-link').className = 'minus';
	} else {
		document.getElementById('facilities-inner').style.display = 'none'; document.getElementById('facilities-link').className = 'plus';
	}
	}
}

function restrictSearch() {
	if (currentSection === "") {return false; }
	var whichSection = 	document.getElementById('section').options[document.getElementById('section').selectedIndex].value;
	var subSections = whichSection.split("."); var allAdv;
	if (subSections[0] == currentSection) {
			allAdv = document.getElementsByClassName('adv');
			for (var i = 0, j; j = allAdv[i]; i++) {
				j.disabled = false;
			}
			document.getElementById('advanced-control').style.block = "block";
			advancedSearch();
	} else {
			simpleSearch();
			if (subSections[0] !== "") {
				document.getElementById('advanced-control').style.block = "block";
				document.getElementById('advanced-link').className = "plus";
				document.getElementById('advanced-link').href = "/"+subSections[0]+"/";
				document.getElementById('advanced-link').innerHTML = "";
				linktxt = document.createTextNode("More Search Options");
				document.getElementById('advanced-link').appendChild(linktxt);
			} else {
				document.getElementById('advanced-control').style.display = "none";
			}
	}
}

function setupAcc() {
if (document.getElementById('roomsNum').options[document.getElementById('roomsNum').selectedIndex].value < 2) { deleteRoom('r2'); }
if (document.getElementById('roomsNum').options[document.getElementById('roomsNum').selectedIndex].value < 3) {	deleteRoom('r3'); }
if (document.getElementById('roomsNum').options[document.getElementById('roomsNum').selectedIndex].value < 4) {	deleteRoom('r4'); }
document.getElementById('totalRooms').value = document.getElementById('roomsNum').options[document.getElementById('roomsNum').selectedIndex].value;
document.getElementById('roomsCon').style.display = "block";
checkAccMonths();
}

function setupAccIP() {
if (document.getElementById('roomsNum-ip').options[document.getElementById('roomsNum-ip').selectedIndex].value < 2) {deleteRoom('r2-ip'); }
if (document.getElementById('roomsNum-ip').options[document.getElementById('roomsNum-ip').selectedIndex].value < 3) {deleteRoom('r3-ip'); }
if (document.getElementById('roomsNum-ip').options[document.getElementById('roomsNum-ip').selectedIndex].value < 4) {deleteRoom('r4-ip'); }
document.getElementById('totalRooms-ip').value = document.getElementById('roomsNum-ip').options[document.getElementById('roomsNum-ip').selectedIndex].value;
checkAccMonthsIP();
}

/* Flash */
var requiredVersion = 8;   
var hasRightVersion = false;                         

var flash2Installed = false;    // boolean. true if flash 2 is installed
var flash3Installed = false;    // boolean. true if flash 3 is installed
var flash4Installed = false;    // boolean. true if flash 4 is installed
var flash5Installed = false;    // boolean. true if flash 5 is installed
var flash6Installed = false;    // boolean. true if flash 6 is installed
var flash7Installed = false;    // boolean. true if flash 7 is installed
var flash8Installed = false;    // boolean. true if flash 8 is installed
var flash9Installed = false;    // boolean. true if flash 9 is installed
var maxVersion = 9;             // highest version we can actually detect
var actualVersion = 0;          // version the user really has
var jsVersion = 1.0;            // the version of javascript supported

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;    
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; 

jsVersion = 1.1;

if(isIE && isWin){
  document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
  document.write('on error resume next \n');
  document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
  document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
  document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
  document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
  document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
  document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
  document.write('flash8Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.8"))) \n');
  document.write('flash9Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.9"))) \n');
  document.write('<\/SCR' + 'IPT\> \n'); 
}

function detectFlash() {  
  if (navigator.plugins) {
    if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
      var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
      var flashVersion = parseInt(flashDescription.substring(16));
      flash2Installed = flashVersion == 2;    
      flash3Installed = flashVersion == 3;
      flash4Installed = flashVersion == 4;
      flash5Installed = flashVersion == 5;
      flash6Installed = flashVersion == 6;
      flash7Installed = flashVersion == 7;
      flash8Installed = flashVersion == 8;
      flash9Installed = flashVersion >= 9;
    }
  }
  for (var i = 2; i <= maxVersion; i++) { if (eval("flash" + i + "Installed") == true) actualVersion = i;  }
  if (actualVersion >= requiredVersion) {
    hasRightVersion = true;
  } 
}

function drawTV(tagID, myMovie) {
if (BrowserDetect.browser == "Explorer") { var w = '540'; var h = '352' } else { var w = '240'; var h = '184' }
		if(hasRightVersion && document.getElementById(tagID).innerHTML) {
			var container = document.getElementById(tagID);
			var obj = document.createElement("object");
			obj.setAttribute("codebase","http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0");
			obj.setAttribute("width",w);
			obj.setAttribute("height",h);
			obj.id="vidO";
			obj.appendChild(createParam("allowScriptAccess","always"));
			obj.appendChild(createParam("movie",myMovie));
			obj.appendChild(createParam("play","true"));
			obj.appendChild(createParam("wmode","transparent"));
			obj.appendChild(createParam("quality","high"));
			obj.appendChild(createParam("scale","noscale"));
			obj.appendChild(createParam("salign","rt"));
			if(!window.ActiveXObject && BrowserDetect.browser != "Opera"){
				var em = document.createElement("embed");
				em.id="vidE";
				em.setAttribute("src",myMovie);
				em.setAttribute("quality","high");
				em.setAttribute("wmode","transparent");
				em.setAttribute("width",w);
				em.setAttribute("height",h);
				em.setAttribute("play","true");
				em.setAttribute("allowscriptaccess","always");
				em.setAttribute("type","application/x-shockwave-flash");
				em.setAttribute("pluginspage","http://www.macromedia.com/go/getflashplayer");
				em.setAttribute("salign","rt");
				em.setAttribute("scale","noscale");
				obj.appendChild(em);
			}
			removeChildren(container);
			container.appendChild(obj);
			obj.setAttribute("classid","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000");
	}
}

function goBig() {
if (BrowserDetect.browser != "Explorer") {
	if(document.getElementById('vidO')) {document.getElementById('vidO').style.width = "540px"; document.getElementById('vidO').style.height = "352px"; }
	if(document.getElementById('vidE')) { document.getElementById('vidE').style.width = "540px"; document.getElementById('vidE').style.height = "352px";}
}
}

function goSmall() {
	if (BrowserDetect.browser != "Explorer") {
	if(document.getElementById('vidO')) {document.getElementById('vidO').style.width = "240px"; document.getElementById('vidO').style.height = "184px";}
	if(document.getElementById('vidE')) {document.getElementById('vidE').style.width = "240px"; document.getElementById('vidE').style.height = "184px"; }
}
}
  
function drawMovie(tagID, myMovie, w, h) {
		if(hasRightVersion && document.getElementById(tagID).innerHTML) {
			var container = document.getElementById(tagID);
			var obj = document.createElement("object");
			obj.setAttribute("codebase","http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0");
			obj.setAttribute("width",w);
			obj.setAttribute("height",h);
			obj.id="vidO";
			obj.appendChild(createParam("allowScriptAccess","always"));
			obj.appendChild(createParam("movie",myMovie));
			obj.appendChild(createParam("play","true"));
			obj.appendChild(createParam("wmode","transparent"));
			obj.appendChild(createParam("quality","high"));
			if(!window.ActiveXObject && BrowserDetect.browser != "Opera"){
				var em = document.createElement("embed");
				em.id="vidE";
				em.setAttribute("src",myMovie);
				em.setAttribute("quality","high");
				em.setAttribute("wmode","transparent");
				em.setAttribute("width",w);
				em.setAttribute("height",h);
				em.setAttribute("play","true");
				em.setAttribute("allowscriptaccess","always");
				em.setAttribute("type","application/x-shockwave-flash");
				em.setAttribute("pluginspage","http://www.macromedia.com/go/getflashplayer");
			obj.appendChild(em);
			}
			removeChildren(container);
			container.appendChild(obj);
			obj.setAttribute("classid","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000");
	}
}

function createParam(pName,pValue) {
	  var param = document.createElement("param");
	  param.setAttribute("name",pName);
	  param.setAttribute("value",pValue);
	  return param;
}

/* Ads */
function rectangleOther() { 
/*
ads180x150 = ['<a href="http://www.londonpass.com/index_visitlondon.asp?ref=vl0507"><img src="http://static.visitlondon.com/ads/180x150/london_pass.gif" alt="London Pass" /></a>',				
'<a href="/offers/tickets/"><img src="http://static.visitlondon.com/ads/180x150/seetickets.gif" alt="Theatre Tickets" /></a>',
'<a href="/travel/oyster/"><img src="http://static.visitlondon.com/ads/180x150/oyster.gif" alt="Cheap Transport" /></a>',
'<a href="/attractions/search?section=attractions&amp;bookable=true&amp;category=restaurant"><img src="http://static.visitlondon.com/ads/180x150/restaurant.gif" alt="Restaurant Bookings" /></a>',
'<object codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="180" height="150" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"><param name="movie" value="http://static.visitlondon.com/ads/180x150/180x150_roi_06-06-07.swf" /><param name="play" value="true" /><param name="quality" value="high" /></object>',
'<a href="/attractions/detail/282783"><img src="http://static.visitlondon.com/ads/180x150/london_eye.gif" alt="visit British Airways London Eye" /></a>']
var whAd = Math.floor(Math.random() * 6);
*/
document.write('<iframe src="http://www.activenewmedia.co.uk/iframe/ad.aspx?site=1000181&size=180x150" width="180" height="150" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>');
}

/* Load Stuff */
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);}
setupLangs();
setupTabs();
setupHidden();
setupDescriptionExpander()
externalLinks();
setupRollovers();
topmenuHover(); 
	if (whichVid && whichVid !== ""){
	detectFlash();
	vidUrl = "http://static.visitlondon.com/assets/video/vl-video-player.swf?xmltouse=" + whichVid + ".xml";
	drawTV("video", vidUrl);	
	}
}

/* for Mozilla/Opera9 */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init(); // call the onload handler
		}
	};
@else @*/
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			init(); // call the onload handler
		}
	}, 10);
}

/* for other browsers */
window.onload = init;