//BOF (c) Copyright Stakemiddle Limited 2008.

onresize = function (){
	heightFix(); //fixes the top and side bars of corkboard to fill screen on resize
	if(document.getElementById('gallery-aft').style.visibility == 'visible'){
		gallerySize(); //fills the screen with the lightbox background on resize
	}
}
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: "Chrome",
			identity: "Chrome"
		},
		{ 	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 heightFix() {
	if(BrowserDetect.browser == "Safari" || BrowserDetect.browser == "Chrome"){
		var divRightHeight = document.body.scrollHeight; // Safari and Chrome
		var divTopWidth = document.body.scrollWidth; // Safari and Chrome
	}else{
		var divRightHeight = document.documentElement.scrollHeight; //Others inc Firefox and IE
		var divTopWidth = document.documentElement.scrollWidth; //Others inc Firefox and IE
	}
	var mainContentHeight = document.getElementById('main-content').offsetHeight-149;
	if(mainContentHeight < "507"){
		document.getElementById('main-content').style.height = "656px";
		var footerMargin = 527-mainContentHeight;
		document.getElementById('footer').style.margin = footerMargin+"px 0px 0px 0px";
	}
	document.getElementById('frame-left').style.height = divRightHeight+'px';
	document.getElementById('frame-top-bar').style.width = divTopWidth+'px';
	var mainContentHeightResized = document.getElementById('main-content').offsetHeight;
	var shadowRightHeight = mainContentHeightResized+341;
	var shadowBotTop = mainContentHeightResized+457;
	document.getElementById('page-shadow').style.height = shadowRightHeight+'px';
	document.getElementById('page-shadow-bot').style.top = shadowBotTop+'px';
}
var Timeout;
var menuTitleDiv = new Array("page-home","page-rain","page-snow","page-fireworks","page-fire","page-wind","page-explosions","page-mechanical","page-contact","page-about","page-credits","page-trade-sales","page-equipment-rental");

function showLayer(act,div,prev) {
	if (act == "show") {
		for(var i=0;i<menuTitleDiv.length;i++){
			document.getElementById(menuTitleDiv[i]).style.visibility = "hidden";
		}
		window.clearTimeout(Timeout);
		document.getElementById(div).style.visibility = "visible";
	} else {
		div3 = prev;
		Timeout = window.setTimeout("hideLayer(div3)",500);
	}
}

function hideLayer(div3) {
	for(var i=0;i<menuTitleDiv.length;i++){
		document.getElementById(menuTitleDiv[i]).style.visibility = "hidden";
	}
	if(div3!='page-blog'){
		document.getElementById(div3).style.visibility = "visible";
	}
}
var Timeout2;

function galleryHide(){
	window.clearTimeout(Timeout2);
	document.getElementById('gallery-fore').style.visibility = 'hidden';
	document.getElementById('gallery-aft').style.visibility = 'hidden';
	document.getElementById('image-box').innerHTML = '';
}

function lightbox(image,depth){
	//calls all required funcitons for lightbox gallery - by AW & DG Moo Marketing 2008
	galleryShow();
//	var tempImage = "s02f011";
//	var image = tempImage;
	var image = image;
	reloadLightbox(image,depth);
}

function reloadLightbox(image,depth){
	getNextPrev(image,depth);
}

function reloadLightbox2(image,depth,nextPrev){
	arNextPrev = nextPrev.split(" ",4);
	imageBoxShow(image,arNextPrev[2],arNextPrev[3]);
	var pageDepth = depth.length;
	ajaxFunction(image,pageDepth,arNextPrev[0],arNextPrev[1]);
}

function galleryShow(){
	gallerySize();
	setOpacity('8.5','gallery-aft');
	document.getElementById('gallery-aft').style.visibility = 'visible';
//	Timeout2 = window.setTimeout("imageBoxShow('"+image+"')",750);
}

function gallerySize(){
	if(BrowserDetect.browser == "Safari" || BrowserDetect.browser == "Chrome"){
		var galleryHeight = document.body.scrollHeight; // Safari
		var galleryWidth = document.body.scrollWidth; // Safari
	}else{
		var galleryHeight = document.documentElement.scrollHeight; //Firefox and IE
		var galleryWidth = document.documentElement.scrollWidth; //Firefox and IE
	}
	document.getElementById('gallery-aft').style.width = galleryWidth+'px';
	document.getElementById('gallery-aft').style.height = galleryHeight+'px';
}

function setOpacity(value,id) {
	document.getElementById(id).style.opacity = value/10;
	document.getElementById(id).style.filter = 'alpha(opacity=' + value*10 + ')';
}

function getNextPrev(image,depth){
	var currentImage = image;
	var xmlHttpNP;
	var nextprev;
	try{// Firefox, Opera 8.0+, Safari
		xmlHttpNP=new XMLHttpRequest();
	}catch (e){ // Internet Explorer
  		try{
			xmlHttpNP=new ActiveXObject("Msxml2.XMLHTTP");
		}catch (e){
			try{
				xmlHttpNP=new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttpNP.onreadystatechange=function(){
		if(xmlHttpNP.readyState==4){
				nextprev = xmlHttpNP.responseText;
				//alert(nextprev);
				reloadLightbox2(image,depth,nextprev);
		}
	}
	var nextprevurl = "../includes/nextprev.php?image="+image;
	xmlHttpNP.open("GET",nextprevurl,true);
	xmlHttpNP.send(null);
}
var nextHeight;
var nextWidth;
var nextDistFromLeft;
var nextScrollTop;

function imageBoxShow(image,height,width){
	//alert(image+", "+height+", "+width); //Debug to check height and width
	if(BrowserDetect.browser == "Explorer"){
		var viewableWidth = document.documentElement.clientWidth;
		var scrollTop = document.documentElement.scrollTop+45;
		var scrollLeft = document.documentElement.scrollLeft;
	}else{
		var viewableWidth = window.innerWidth-20;
		var scrollTop = window.pageYOffset+45;
		var scrollLeft = window.pageXOffset;
	}
	document.getElementById('gallery-fore').style.visibility = 'visible';
	var imageWidth = parseInt(width); //to be dynamically pulled from db
	var imageHeight = parseInt(height); //to be dynamically pulled from db
	var imageMargin = 5;
	var distFromLeft = (viewableWidth-imageWidth)/2-imageMargin+scrollLeft;
	if(distFromLeft<45){
		distFromLeft=45;
	}
	var actImageWidth = imageWidth+imageMargin*2;
	var actImageHeight = imageHeight+imageMargin+45;//45 is control box height
	nextHeight = actImageHeight;
	if(actImageWidth<=359){
		actImageWidth = 360;
	}
	nextWidth = actImageWidth;
	nextDistFromLeft = distFromLeft;
	nextScrollTop = scrollTop;
}

function resizeFore(){
		document.getElementById('gallery-fore').style.left = nextDistFromLeft+'px';
		document.getElementById('gallery-fore').style.top = nextScrollTop+'px';
		document.getElementById('gallery-fore').style.width = nextWidth+'px';
		document.getElementById('gallery-fore').style.height = nextHeight+'px';
	}

function ajaxFunction(image,pageDepth,next,prev){
//	alert("next "+next+", prev "+prev);
	var xmlHttp;
	try{// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}catch (e){ // Internet Explorer
  		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch (e){
			try{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function(){
		if(xmlHttp.readyState==4){
				document.getElementById('gallery-fore').innerHTML = xmlHttp.responseText;
				resizeFore();
		}
	}
	var lightBoxUrl = "../includes/lightbox.php?image="+image+"&depth="+pageDepth+"&next="+next+"&prev="+prev;
	xmlHttp.open("GET",lightBoxUrl,true);
	xmlHttp.send(null);
}

function rollover(rollover,id){
	document.getElementById(id).src = rollover;
}

function hideflyer(){
	document.getElementById('buy-fireworks-flyer').style.visibility = 'hidden';
	document.getElementById('buy-fireworks-flyer-close').style.visibility = 'hidden';
	document.getElementById('buy-fireworks-flyer-link').style.visibility = 'hidden';
}

//End of copyright.

//Form Validation - Macromedia
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

