var bg_ready=false;
jQuery(document).ready(function(){
	init();
 });
 
 function init(){
	bg_ready = false
	 initResize();
	 initBG();
	 initMenu();
	 initButtons()
	 initRightClick();
	 initLinkFocusOverride();
	 initDisableDrag();
	 initBrowserDetect()
	 setSize()
	// setTitle()
 }

//
//
//**************************************************************
//
// SIZING
//
//**************************************************************
 function initResize(){
	  jQuery(window).resize(setSize);
 }
 function setSize() {
	if(bg_ready){
		sizeBG();
	  }
	 // sizeSiteBy();
}
//
//
//**************************************************************
//
// MENU
//
//**************************************************************
function initMenu(){
	//jQuery("#menu a").hover(function(){menuOver(jQuery(this));},function(){ menuOut(jQuery(this));});
}
function menuOver(thisElement){
	thisElement.removeClass("menu_out");
	thisElement.addClass("menu_over");
}
function menuOut(thisElement){
	thisElement.removeClass("menu_over");
	thisElement.addClass("menu_out");
}
//
//
//**************************************************************
//
// BACKGROUND
//
//**************************************************************
function initBG(){

	var myName = document.title;
	myName = myName.split(" ").join("_");
	var myImage = jQuery("<img src='images/background.jpg' id='background_image' class='background_image'/>").prependTo("#site_background"); 
	//myImage.css("display","none");
	myImage.load(backgroundLoaded);
	
}
function backgroundLoaded(){
	bg_ready = true;
	jQuery("#site_background").css("display","inline");
	sizeBG();	
}
function fullSizeImage(thisImage){
	//alert(thisImage);
	var myWidthImage = thisImage.width();
	var myHeightImage = thisImage.height();
	
	var myWidthWindow = jQuery(window).width()+25;
	//alert(jQuery(window).height()+" | "+jQuery("body")[0].scrollHeight);
	var myHeightWindow = jQuery(window).height();
	if( jQuery("#lightbox").length > 0 ){
		var myHeightWindow = Math.max(jQuery(window).height(),jQuery("#lightbox").height());
		//alert(jQuery(window).height()+" | "+jQuery("#lightbox").height());
	}

	var myScale = Math.max((myWidthWindow / myWidthImage),  (myHeightWindow / myHeightImage));
	
	thisImage.css("width",myWidthImage*myScale);
	thisImage.css("height",myHeightImage*myScale);
}
function sizeBG(){
	var myImage = jQuery("#background_image");
	fullSizeImage(myImage);
	var myDiffX = jQuery(window).width()-myImage.width();
	myImage.css("margin-left", myDiffX)
	/*jQuery("#site_background").css("width",jQuery(window).width())*/
	//jQuery("#site_background").css("height",Math.max(610,jQuery(window).height()));
	
	//myImage.css("visibility","visible");
}
//
//
//**************************************************************
//
// BUTTONS
//
//**************************************************************
myThing = "nothing"
function initButtons(){
	//
	preload([  'images/button_whats_new_over.png',    'images/button_fashion_shop_over.png',    'images/button_beauty_shop_over.png']);
	//
	jQuery("#whats_new").hover(function(){jQuery(this).css("background-image","url(images/button_whats_new_over.png)");buttonOver(this);},function(){ jQuery(this).css("background-image","url(images/button_whats_new_out.png)");buttonOut(this);});
	jQuery("#fashion_shop").hover(function(){jQuery(this).css("background-image","url(images/button_fashion_shop_over.png)");buttonOver(this);},function(){ jQuery(this).css("background-image","url(images/button_fashion_shop_out.png)");buttonOut(this);});
	jQuery("#beauty_shop").hover(function(){jQuery(this).css("background-image","url(images/button_beauty_shop_over.png)");buttonOver(this);},function(){ jQuery(this).css("background-image","url(images/button_beauty_shop_out.png)");buttonOut(this);});
	jQuery(".button").addClass("button_out");
}
function buttonOver(thisElement){
	var myPos = jQuery(thisElement).position();
	jQuery("#arrow").css("display","inline");
	jQuery("#arrow").css("top",myPos.top+8);	
}
function buttonOut(thisElement){
	jQuery("#arrow").css("display","none");
}
//
//
//**************************************************************
//
// MISC
//
//**************************************************************
function initRightClick(){
	 jQuery(function() {jQuery(this).bind("contextmenu", function(e) {e.preventDefault();});}); 
}
function initLinkFocusOverride(){
	jQuery("a").each(function(){this.onMouseup = this.blur();});
}	
function sizeSiteBy(){
	var myHeightWindow = jQuery(window).height();
	var mySiteBy = jQuery('#site_by');
	if(myHeightWindow<=615){
		mySiteBy.css("top",580);
	}else{
		mySiteBy.css("top",'auto');
		mySiteBy.css("bottom",0);
	}
}
function initDisableDrag(){
	document.ondragstart = function () { return false; };
}
function preload(arrayOfImages) {    
	$(arrayOfImages).each(function(){  	
		(new Image()).src = this;    
	});
}


//
//
//***************************************************************
//
// BROWSER DETECTION
//
//***************************************************************
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",
			versionSearch: "Version"
		},
		{
			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.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
function initBrowserDetect(){
	BrowserDetect.init();
	if(BrowserDetect.OS=="Windows"){
		jQuery("#site_by").css("padding-top",0);
	}
}
//
//
//**************************************************************
//
// TITLE
//
//**************************************************************
function setTitle(){
	var myTitle = document.title;
	var myNewTitle = myTitle
	switch(myTitle) {
		case "index":
		  	myNewTitle = "Odyssey Events"
		  break;
		case "About":
		  	myNewTitle = "Odyssey Events"
		  break;
		  case "Event Styling":
		  	myNewTitle = "Event Design, Styling & Co-ordination"
		  break;
		  case "Weddings":
		  	myNewTitle = "Wedding Planning & Accessories"
		  break;
		  case "Christenings":
		  	myNewTitle = "Christenings"
		  break;
		  case "Your Odyssey":
		  	myNewTitle = "Odyssey Events"
		  break;
		  case "Contact":
		  	myNewTitle = "Odyssey Events"
		  break;
	}
	document.title = myNewTitle
};
