/*-- Images --*/

function iboxShow(imageURL, imageWidth, imageHeight) {

	// Make ibox invisable
	document.getElementById('ibox').style.display = 'none';

	// Set display parameters
	gapTop = 100;
	gapBottom = 60;
	gapSide = 100;
	
	// Get window height, width, scroll, image-ratio
	pageWidth = window.innerWidth;
	pageHeight = window.innerHeight;
	imageRatio = imageWidth/imageHeight;
	
	// Get page scroll
	pageTop = document.body.scrollTop;
	if (pageTop == 0) {pageTop = document.documentElement.scrollTop;}
	
	
	// Small image, fits
	if ( imageWidth <= (pageWidth-2*gapSide) && imageHeight <= (pageHeight-gapTop-gapBottom) ) {
		divMarginTop = pageTop + pageHeight/2 - imageHeight/2;
		divMarginLeft = pageWidth/2 - imageWidth/2;
	}
	// Large image, stretch width
	else if ((pageWidth-2*gapSide)/imageRatio <= pageHeight-gapTop-gapBottom) {
		imageWidth = pageWidth - 2*gapSide;
		imageHeight = imageWidth/imageRatio;
		divMarginTop = pageTop + pageHeight/2 - imageHeight/2;
		divMarginLeft = gapSide;
	}
	// Large image, stretch height
	else {
		imageHeight = pageHeight - gapTop - gapBottom;
		imageWidth = imageHeight*imageRatio;
		divMarginTop = pageTop + gapTop;
		divMarginLeft = pageWidth/2 - imageWidth/2;
	}
	
	
	// Non-Safari browsers
	if (BrowserDetect.browser != "Safari") {
		
		// Place temporary image
		document.getElementById('ibox-image').src = 'http://www.getmoremassive.com/images/setup_images/fill-85p.png';
		document.getElementById('ibox-image').width = 200;
		document.getElementById('ibox-image').height = 150;
		document.getElementById('ibox-image').alt = 'Loading...';
		
		// Resize, position ibox, make visable
		document.getElementById('ibox').style.marginTop = parseInt(pageTop + pageHeight/2 - 150/2 - 40) + 'px';
		document.getElementById('ibox').style.marginLeft = parseInt(pageWidth/2 - 200/2 - 20) + 'px';
		document.getElementById('ibox').style.display = 'block';
	
		// Set the image link
		document.getElementById('ibox-image-link').href = imageURL;
		
		var img = document.createElement('img');
    	img.src = imageURL;
		img.onload = function (evt) {
   		
			// Re-Position ibox
			document.getElementById('ibox').style.marginTop = parseInt(divMarginTop - 40) + 'px';
			document.getElementById('ibox').style.marginLeft = parseInt(divMarginLeft - 20) + 'px';
			
			// Re-Set image attributes			
			document.getElementById('ibox-image').width = parseInt(imageWidth);
			document.getElementById('ibox-image').height = parseInt(imageHeight);
			document.getElementById('ibox-image').alt = imageURL.substring((imageURL.lastIndexOf('/')+1),imageURL.lastIndexOf('.'));
			document.getElementById('ibox-image').src = imageURL;

		}
	}
	
	// Safari browser
	else {
		
		// Set image attributes
		document.getElementById('ibox-image').src = imageURL;
		document.getElementById('ibox-image').width = parseInt(imageWidth);
		document.getElementById('ibox-image').height = parseInt(imageHeight);
		document.getElementById('ibox-image').alt = imageURL.substring((imageURL.lastIndexOf('/')+1),imageURL.lastIndexOf('.'));
	
		// Set the image link
		document.getElementById('ibox-image-link').href = imageURL;
		
		// Reposition, show ibox
		document.getElementById('ibox').style.marginTop = parseInt(divMarginTop - 40) + 'px';
		document.getElementById('ibox').style.marginLeft = parseInt(divMarginLeft - 20) + 'px';
		document.getElementById('ibox').style.display = 'block';
		
	}
	
	return false;
}

function iboxHide() {

	// Make ibox invisable
	document.getElementById('ibox').style.display = 'none';
	
	return false;
}



/* Browser Detect Script -from http://www.quirksmode.org/js/detect.html */

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



