// -----------------------------------------------------------------------------
// Globals
// the main page that should always be viewed
var topPage = "index.html";
// the current page that is being viewed
var currPage = justTheFilename(self.location.pathname);
// name of movie clip to be viewed
var mcName = "";
// name of frame to be viewed
var frameName = "up";
// index of the map frame to be viewed
var masterframeName = "";
// timeout amount for second 'goToFrame'
var timeOut = 100;
// -----------------------------------------------------------------------------

if (top.location == self.location && topPage != currPage) {
	self.location.replace(topPage + "?" + currPage);
}

switch(currPage){
	case("arpleymeadows.html"):
		masterFrameName = "Warrington";
		mcName = "arpleymeadows_but";
		break;
	case("bartonsquare.html"):
		masterFrameName = "Manchester";
		mcName = "bartonsquare_but";
		break;
	case("cammelllaird.html"):
		masterFrameName = "Liverpool";
		mcName = "cammelllaird_but";
		break;
	case("castlefield.html"):
		masterFrameName = "Manchester";
		mcName = "castlefield_but";
		break;
	case("cityairport.html"):
		masterFrameName = "Manchester";
		mcName = "cityairport_but";
		break;
	case("cornbrook.html"):
		masterFrameName = "Manchester";
		mcName = "cornbrooktriangle_but";
		break;
	case("depositgrounds.html"):
		masterFrameName = "Ellesmere";
		mcName = "depositgrounds_but";
		break;	
	case("digitalpark.html"):
		masterFrameName = "Manchester";
		mcName = "digitalpark_but";
		break;
	case("download.html"):
		masterFrameName = "Download";
		mcName = "brochure";
		frameName="up"
		break;
	case("ellesmerequays.html"):
		masterFrameName = "Ellesmere";
		mcName = "ellesmerequays_but";
		break;
	case("home.html"):
		masterFrameName = "Home";
		mcName = "";
		frameName="Home";
		break;
	case("homeellesmere.html"):
		masterFrameName = "Ellesmere";
		mcName = "";
		frameName="EllesmereReset";
		break;
	case("homeliverpool.html"):
		masterFrameName = "Liverpool";
		mcName = "";
		frameName="LiverpoolReset";
		break;
	case("homemanchester.html"):
		masterFrameName = "Manchester";
		mcName = "";
		frameName="ManchesterReset";
		break;
	case("homewarrington.html"):
		masterFrameName = "Warrington";
		mcName = "";
		frameName="WarringtonReset";
		break;
	case("inceresourcerecoverypark.html"):
		masterFrameName = "Ellesmere";
		mcName = "inceresource_but";
		break;
	case("irwellparkwharf.html"):
		masterFrameName = "Manchester";
		mcName = "irwellparkwharf_but";
		break;
	case("kratossite.html"):
		masterFrameName = "Manchester";
		mcName = "mediacity_but";
		break;
	case("landadjtolpoolairport.html"):
		masterFrameName = "Ellesmere";
		mcName = "landadjtolpoolairport_but";
		break;
	case("landfill.html"):
		masterFrameName = "Warrington";
		mcName = "landfill_but";
		break;
	case("lankroway.html"):
		masterFrameName = "Manchester";
		mcName = "lankroway_but";
		break;
	case("lpoolairport.html"):
		masterFrameName = "Ellesmere";
		mcName = "lpoolairport_but";
		break;
	case("lpoolbusinesspark.html"):
		masterFrameName = "Ellesmere";
		mcName = "lpoolbusinesspark_but";
		break;
	case("lpoolintermodal.html"):
		masterFrameName = "Liverpool";
		mcName = "freeportphase2_but";
		break;
	case("lpoolproduceterminal.html"):
		masterFrameName = "Liverpool";
		mcName = "lpoolproduceterminal_but";
		break;
	case("mediacity.html"):
		masterFrameName = "Manchester";
		mcName = "mediacity_but";
		break;
	case("merseywindfarm.html"):
		masterFrameName = "Liverpool";
		mcName = "merseywindfarms_but";
		break;
	case("partingtonvillage.html"):
		masterFrameName = "Manchester";
		mcName = "partingtonvillage_but";
		break;
	case("peelwaters.html"):
		masterFrameName = "Liverpool";
		mcName = "lpoolwaters_but";
		break;
	case("pioneerbusinesspark.html"):
		masterFrameName = "Ellesmere";
		mcName = "pioneerbusinesspark_but";
		break;
	case("pomonaisland.html"):
		masterFrameName = "Manchester";
		mcName = "pomonaisland_but";
		break;
	case("portsalford.html"):
		masterFrameName = "Manchester";
		mcName = "portsalford_but";
		break;
	case("portwarrington.html"):
		masterFrameName = "Warrington";
		mcName = "portwarrington_but";
		break;
	case("portwirral.html"):
		masterFrameName = "Ellesmere";
		mcName = "portwirral_but";
		break;
	case("postpanamax.html"):
		masterFrameName = "Liverpool";
		mcName = "postpanamax_but";
		break;
	case("princesdock.html"):
		masterFrameName = "Liverpool";
		mcName = "princesdock_but";
		break;
	case("question.php"):
		masterFrameName = "";
		mcName = "";
		break;
	case("redcity.html"):
		masterFrameName = "Manchester";
		mcName = "redcity_but";
		break;
	case("rossfield.html"):
		masterFrameName = "Ellesmere";
		mcName = "rossfield_but";
		break;
	case("runcorn.html"):
		masterFrameName = "Ellesmere";
		mcName = "runcornwaterfront_but";
		break;
	case("salfordforestpark.html"):
		masterFrameName = "Manchester";
		mcName = "salfordforestpark_but";
		break;
	case("salfordquays.html"):
		masterFrameName = "Manchester";
		mcName = "salfordquays_but";
		break;
	case("spekegarston.html"):
		masterFrameName = "Manchester";
		mcName = "mediacity_but";
		break;
	case("stgeorges.html"):
		masterFrameName = "Manchester";
		mcName = "stgeorges_but";
		break;
	case("traffordcentre.html"):
		masterFrameName = "Manchester";
		mcName = "traffordcentre_but";
		break;
	case("traffordcentrehotel.html"):
		masterFrameName = "Manchester";
		mcName = "traffordcentrehotel_but";
		break;
	case("traffordquays.html"):
		masterFrameName = "Manchester";
		mcName = "traffordquays_but";
		break;
	case("traffordquayssportsvillage.html"):
		masterFrameName = "Manchester";
		mcName = "traffordquayssportsvillage_but";
		break;
	case("traffordretailpark.html"):
		masterFrameName = "Manchester";
		mcName = "traffordretailpark_but";
		break;
	case("traffordwharfside.html"):
		masterFrameName = "Manchester";
		mcName = "traffordwharfside_but";
		break;
	case("warringtonquays.html"):
		masterFrameName = "Warrington";
		mcName = "warringtonquays_but";
		break;
	case("westerngateway.html"):
		masterFrameName = "Manchester";
		mcName = "westerngateway_but";
		break;
	default:
		mcName = "";
		masterFrameName = "";
}

window.onload = initPage;

function initPage(){

	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number

		if (ieversion>=7){
			parent.window.onscroll = setContentLength;
			parent.window.onresize = setContentLength;
		} else {
			parent.document.documentElement.onscroll = setContentLength;
			parent.window.onresize = setContentLength;
		}
	} else {
		parent.window.onscroll = setContentLength;
		parent.window.onresize = setContentLength;
	}

	if (top.location == self.location && document.location.search) {
		var linkURL = justTheFilename(document.location.search);
		var contentWin = document.getElementById("content").contentWindow;
		var currURL = justTheFilename(contentWin.location.pathname);

		if (currURL != linkURL) {
			contentWin.location.replace(linkURL);
		}
	}

	if (currPage == "question.php"){
		parent.document.getElementById("map").style.display = "none";
		parent.document.getElementById("video").style.display = "none";
		parent.document.getElementById("mapvideoframe").style.display = "none";
	} else {
		parent.document.getElementById("mapvideoframe").style.display = "block";
		parent.document.getElementById("map").style.display = "block";
		showmap();
	}
	
	parent.document.getElementById("prev").innerHTML = parent.document.getElementById("curr").innerHTML;
	parent.document.getElementById("curr").innerHTML = currPage;
	
	setBodyLength();
	setContentLength();
	setFlashFrame();

	if (parent.document.getElementById("flashver").innerHTML = " true "){
		if (document.getElementById("toplinks")) {
			document.getElementById("toplinks").innerHTML = "<a href='' class='showmap'>show map</a> | <a href='' class='showvideo'>show video</a>";
		}

		setLinks();
	}

}

function setBodyLength(){
	innerBodyObj = document.body;
	outerBodyObj = parent.document.getElementById('body');
	innerContentObj = document.getElementById('innercontent');
	outerContentObj = parent.document.getElementById('content');
	
	var contentPosition = findPos(outerContentObj);	
	var footerHeight = parent.document.getElementById('footer').offsetHeight;
	
	var innerBodyHeight = innerBodyObj.scrollHeight;
	var outerBodyHeight = outerBodyObj.scrollHeight;
	var innerContentHeight = innerContentObj.scrollHeight;
	var outerContentHeight = outerContentObj.scrollHeight;

	var outerBodyCalcHeight = contentPosition + (innerContentHeight + 20) + footerHeight;
	
	outerBodyObj.style.height = outerBodyCalcHeight + "px";
}

function setContentLength(){

	innerBodyObj = document.body;
	outerBodyObj = parent.document.getElementById('body');
	innerContentObj = document.getElementById('innercontent');
	outerContentObj = parent.document.getElementById('content');
	footerObj = parent.document.getElementById('footer');

	var innerBodyHeight = innerBodyObj.scrollHeight;
	var outerBodyHeight = outerBodyObj.offsetHeight;
	var innerContentHeight = innerContentObj.scrollHeight;
	var contentPosition = findPos(outerContentObj);
	var footerHeight = footerObj.offsetHeight;
	var windowHeight = top.window.innerHeight ? 
							top.window.innerHeight : top.document.documentElement.clientHeight ? 
									top.document.documentElement.clientHeight : top.document.body.clientHeight;
	var winHeight = getWindowSize();
	var scrollY = getScrollXY();

	var aboveContentGap = contentPosition - scrollY;
	var setContentHeight = winHeight - aboveContentGap - footerHeight - 16; 

	if (setContentHeight < 0){
		setContentHeight = 0;
	}
	if (setContentHeight > innerContentHeight + 30){
		setContentHeight = innerContentHeight + 30;
	}
	outerContentObj.style.height = setContentHeight + "px";
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( top.window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = top.window.pageYOffset;
    scrOfX = top.window.pageXOffset;
  } else if( top.document.body && ( top.document.body.scrollLeft || top.document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = top.document.body.scrollTop;
    scrOfX = top.document.body.scrollLeft;
  } else if( top.document.documentElement && ( top.document.documentElement.scrollLeft || top.document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = top.document.documentElement.scrollTop;
    scrOfX = top.document.documentElement.scrollLeft;
  }
	// return [ scrOfX, scrOfY ];
  return [ scrOfY ];
}

function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( top.window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = top.window.innerWidth;
    myHeight = top.window.innerHeight;
  } else if( top.document.documentElement && ( top.document.documentElement.clientWidth || top.document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = top.document.documentElement.clientWidth;
    myHeight = top.document.documentElement.clientHeight;
  } else if( top.document.body && ( top.document.body.clientWidth || top.document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = top.document.body.clientWidth;
    myHeight = top.document.body.clientHeight;
  }
//  return [ myWidth, myHeight ];
  return [ myHeight ];
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return curtop;
}

function justTheFilename(thisFile) {
	if (thisFile.indexOf("/") > -1) {
		thisFile = thisFile.substring(thisFile.lastIndexOf("/")+1);
	}

	if (thisFile.indexOf("?") == 0) {
		thisFile = thisFile.substring(1);
	}

	return thisFile;
}

function resizeIframeToFitContent() {
    // This function resizes an IFrame object
    // to fit its content.
    // The IFrame tag must have a unique ID attribute.
	parent.document.getElementById('content').style.height = document.body.scrollHeight + "px";
}

function setFlashFrame() {
	
	var pPage = parent.document.getElementById('prev').innerHTML;
	var cPage = parent.document.getElementById('curr').innerHTML;
	
	if (pPage == "home.html"){
		switch(masterFrameName){
			case("Manchester"):
				masterFrameName = "ManchesterZoomIn";
				timeOut = 2100;
				break;
			case("Warrington"):
				masterFrameName = "WarringtonZoomIn";
				timeOut = 2100;
				break;
			case("Ellesmere"):
				masterFrameName = "EllesmereZoomIn";
				timeOut = 2100;
				break;
			case("Liverpool"):
				masterFrameName = "LiverpoolZoomIn";
				timeOut = 2100;
				break;
			default:
				//masterFrameName = "Warrington";
				//mcName = "arpleymeadows_but";
				//break;
		}
	}

	if ((cPage == "home.html")&&(pPage != " curr ")){
		switch(pPage){
			case("homemanchester.html"):
				masterFrameName = "ManchesterZoomOut";
				timeOut = 2100;
				break;
			case("homewarrington.html"):
				masterFrameName = "WarringtonZoomOut";
				timeOut = 2100;
				break;
			case("homeellesmere.html"):
				masterFrameName = "EllesmereZoomOut";
				timeOut = 2100;
				break;
			case("homeliverpool.html"):
				masterFrameName = "LiverpoolZoomOut";
				timeOut = 2100;
				break;
			default:
				//masterFrameName = "Warrington";
				//mcName = "arpleymeadows_but";
				//break;
		}		
	}

	if ((cPage != "question.php")&&(pPage != "question.php")){
		
		goLabelIfLoadedAndStopped('NavMapFN','_level0',masterFrameName);
		
		if (cPage != "download.html"){
			setTimeout("goLabelIfLoadedAndStopped('NavMapFN','_level0/' + mcName,frameName)",timeOut);
		
			// fix for Wirral Waters button on browser back button click
			if (mcName == "lpoolwaters_but") {
				setTimeout("goLabelIfLoadedAndStopped('NavMapFN','_level0/' + 'wirralwater_but',frameName)",timeOut);
			}
		}
	}
	
	if (pPage == "question.php"){
		
		setTimeout("goLabelIfLoaded('NavMapFN','_level0',masterFrameName)",timeOut);
		
		if (cPage != "download.html"){
		
			setTimeout("goLabelIfLoaded('NavMapFN','_level0/' + mcName,frameName)",2*timeOut);
		
			// fix for Wirral Waters button on browser back button click
			if (mcName == "lpoolwaters_but") {
				setTimeout("goLabelIfLoaded('NavMapFN','_level0/' + 'wirralwater_but',frameName)",2*timeOut);
			}
		}
	}
}

function setLinks(){
	for (var i=0; i<document.links.length; i++){
		var linkObj = document.links[i];
		if (linkObj.className){
			if (linkObj.className == "showmap"){
				linkObj.onclick = showmap;
			}
			if (linkObj.className == "showvideo"){
				linkObj.onclick = showvideo;
			}
		}
	}			
}

function showvideo(){
//	if (hasRequestedVersion == true){
		var flashFilename = currPage;
		flashFilename = flashFilename.replace(".html", ".swf");

		parent.document.getElementById("video").innerHTML = write_flash("../flash/" + flashFilename,"100%","100%","VideoFN","transparent");
		parent.document.getElementById("map").style.height = "0px";
		parent.document.getElementById("video").style.display = "block";
//	}
	return false;
}

function showmap(){

//	if (hasRequestedVersion == true){
		var setMapHeight1 = Math.max(parent.document.getElementById("map").offsetHeight , parent.document.getElementById("video").offsetHeight);
		var setMapHeight = Math.max(setMapHeight1, parent.document.getElementById("mapvideoframe").offsetHeight);
		var currMapHeight = parent.document.getElementById("map").offsetHeight;

		parent.document.getElementById("video").innerHTML = write_flash("../flash/VideoObject.swf","100%","100%","VideoFN","transparent");
		parent.document.getElementById("video").style.display = "none";
		parent.document.getElementById("map").style.height = setMapHeight + "px";
		
//		for (var i=currMapHeight; i<setMapHeight; i++){
//			parent.document.getElementById("map").style.height = i + "px";
//		}
//	}

	return false;

}