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


//alert(BrowserDetect.browser + " " + BrowserDetect.version);
// PLEASE NOTE: THIS SCRIPT REQUIRES MOOTOOLS v1.11 TO RUN

//This script is run once the DOM has loaded, no need to wait for images etc to load.
window.addEvent('domready', function(){
	fixNav();
	if (!(BrowserDetect.browser == "Explorer" && BrowserDetect.version < 7))
	{
	//display content
	var container = document.getElementById("container");
	container.setAttribute("class","hpShow");
	container.setAttribute("className","hpShow");
	//container.style = "display:block";


	//Set The Initial Variables
	var boxNormal = 116, boxSmall = 83, boxFull = 350, boxHeight = 380, boxFontSize = 12, containerHeight = 385, boxSpeed = 1000;
	
	//HIDE BOX CONTENTS
	//Create array of box_inner class
	var box_inners = $$(".box_inner");
	//Loop through and hide
	box_inners.each(function(hidebox,i){
		hidebox.setStyle("display","none");
	})
	
	//HIDE JAVASCRIPT WARNING
	//We hide the Javascript warning as if this is run the browser must have Javascript enabled
	var javascript_warning = $("javascript_warning");
	javascript_warning.setStyle("display","none");
	
	//ALTER STYLES
	//These functions alter styles that are set in the style sheet
	
	//Reset the width of the boxes so that they are all closed initially, also change height
	var cu_box_init = $$("#cu_boxes .box");
	cu_box_init.each(function(myInitBox, h){
		myInitBox.setStyle("width",boxNormal);
		myInitBox.setStyle("height",boxHeight);
	});
	
	//Alter the contents of the boxes, remove the background, change the type size, width etc.
	var cu_box_inner = $$(".box_inner");
	cu_box_inner.each(function(inner,i){
		inner.setStyle("background-color","transparent");
		inner.setStyle("font-size", boxFontSize);
		inner.setStyle("overflow", "hidden");
		inner.setStyle("width",boxFull);
	})
	
	//Resize container height
	var cu_box_container = $("cu_boxes_container");
	cu_box_container.setStyle("height",containerHeight);
			
	//ADD THE ROLLOVER EVENTS TO THE COLUMNS		
	var cu_boxes = $$("#cu_boxes .box");
	
	//Create new fx
	var fx = new Fx.Elements(cu_boxes, {wait: false, duration: boxSpeed, transition: Fx.Transitions.Cubic.easeOut});
	
	//loop through the columns
	cu_boxes.each(function(box, i) {
		//OnMouseEnter Events
		box.addEvent("mouseenter", function(event) {
			//Change the display state of the content of rolled column and hide others 
			box_inners.each(function(mybox,k){
				if(k==i){
					mybox.setStyle("display","block");
				}else{
					mybox.setStyle("display","none");
				}
			})
				
			var o = {};
			o[i] = {width: [box.getStyle("width").toInt(), boxFull]}
			cu_boxes.each(function(other, j) {
				if(i != j) {
					var w = other.getStyle("width").toInt();
					if(w != boxSmall) o[j] = {width: [w, boxSmall]};
				}
			});
			fx.start(o);
		});
	});

	//OnRollOut Events	
	$("cu_boxes").addEvent("mouseleave", function(event) {
		var o = {};
		cu_boxes.each(function(box, i) {
			o[i] = {width: [box.getStyle("width").toInt(), boxNormal]}
		});
		//Hide contents on rollOut
		box_inners.each(function(mybox,h){
			mybox.setStyle("display","none");
		})
		fx.start(o);
	})
	}else{
		
		var container = document.getElementById("container");
		container.setAttribute("class","hpShow");
		container.setAttribute("className","hpShow");
	}	
});	

				
/**
 * SimpleTabs - Unobtrusive Tabs with Ajax
 *
 * @example
 *
 *	var tabs = new SimpleTabs($('tab-element'), {
 * 		selector: 'h2.tab-tab'
 *	});
 *
 * @version		1.0
 *
 * @license		MIT License
 * @author		Harald Kirschner <mail [at] digitarald.de>
 * @copyright	2007 Author
 */
var SimpleTabs = new Class();
