Event.observe
(
	window,
	"load",
	function()
	{
		$("viewport").addClassName("is-loaded");
	}
);

Event.observe
(
	window,
	"unload",
	function()
	{
		if (Prototype.Browser.IE)
		{
			destroyCache();
		}
	}
);

destroyCache = function()
{
	$A(document.getElementsByTagName("*")).each(function(selector)
	{
    	if (!selector._prototypeEventID) return;
		Event.stopObserving(selector);
  });
}

attachAnchorBehaviour = function()
{
	$$("a[href$='.pdf'], a[href$='.doc'], a[href$='.xls'], a[href$='.ppt'], a[href$='.zip']").each(function(anchor)
	{
		var hrefParts = anchor.href.split(".");
		var fileType = hrefParts[hrefParts.length -1].toUpperCase();
		
		var titleValue = "Click to download " + fileType;
		
		anchor.writeAttribute("title",titleValue);
		anchor.onclick = function()
		{
			openWindow(this.href);
			return false;
		}
	});
	
	$$("a[href^='http://']").each(function(anchor)
	{
		var titleValue = "(Opens in new window/tab)";
		
		anchor.writeAttribute("title",titleValue);
		
		anchor.onclick = function()
		{
			openWindow(this.href);
			return false;
		}
	});
		
	$$("a[rel]").each(function(anchor)
	{ 
		switch(anchor.rel)
		{
			case 'nofollow':
			
				anchor.onclick = function()
				{
					openWindow(this.href);
					return false;
				}
				
			break;
			
			case 'slideshow':
			
				var titleValue = "Click to launch slideshow";
				
				anchor.writeAttribute("title",titleValue);
				
				anchor.onclick = function()
				{
					openSlideShow(this.href);
					return false;
				}
				
			break;
		}
	});
}

document.observe
(
	"dom:loaded",
	attachAnchorBehaviour
);

// ----------------------------------------------
openWindow = function(href)
{
	var attributes = "scrollbars=yes,toolbar=yes,menubar=yes,status=yes,directories=no,location=yes,resizable=yes";
	var windowOrTab = window.open(href,"",attributes);
	
	windowOrTab.focus();
}

// ----------------------------------------------
openSlideShow = function(href)
{	
	var windowWidth  = "483";
	var windowHeight = "670";
	var attributes   = 'width='+windowWidth+',height='+windowHeight+',scrollbars=no,toolbar=no,menubar=no,status=yes,directories=no,location=no,resizable=no';
	
	var left = (screen.availWidth - windowWidth)/2;
	var top = (screen.availHeight - windowHeight)/4;
	
	var slideshow = window.open(href,"",attributes);
	
	slideshow.moveTo(left,top);
	slideshow.focus();
}

// ----------------------------------------------
preLoadInterfaceImages = function()
{
	var i = 0;
	imageObj = new Image();
	
	images = new Array();
	
	images[0] = "../images/_case-studies/1-knightsbridge-green/bg_01.jpg";
	images[1] = "../images/_case-studies/2-theobalds-court/bg_01.jpg";
	images[2] = "../images/_case-studies/15-and-16-grosvenor-street/bg_01.jpg";
	images[3] = "../images/_case-studies/64-knightsbridge-green/bg_01.jpg";
	images[4] = "../images/_case-studies/botolph-lane/bg_01.jpg";
	images[5] = "../images/_case-studies/bt-tower/bg_01.jpg";
	images[6] = "../images/_case-studies/chancery-house/bg_01.jpg";
	images[7] = "../images/_case-studies/dukes-hotel/bg_01.jpg";
	images[8] = "../images/_case-studies/national-gallery/bg_01.jpg";
	images[9] = "../images/_case-studies/old-bailey/bg_01.jpg";
	images[10] = "../images/_case-studies/ralph-lauren-polo/bg_01.jpg";
	images[11] = "../images/_case-studies/royal-opera-house/bg_01.jpg";
	images[12] = "../images/_case-studies/20-gresham-street/bg_01.jpg";
	images[13] = "../images/_case-studies/133-houndsditch-london/bg_01.jpg";
	images[14] = "../images/_case-studies/nomura-house-london/bg_01.jpg";
	
	// start preloading
	for(i=0; i<images.length; i++) 
	{
		imageObj.src=images[i];
	}
}

// ----------------------------------------------
newCookie = function(name,value)
{
	var date = new Date();
	date.setTime(date.getTime()+(24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = name+"="+value+expires+"; path=/";
}

readCookie = function(name)
{
	var nameSG = name + "=";
	var nuller = '';
	if (document.cookie.indexOf(nameSG) == -1)
	return nuller;

	var ca = document.cookie.split(';');
	for(var i=0; i<ca.length; i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameSG) == 0) return c.substring(nameSG.length,c.length);
	}
	return null;
}

eraseCookie = function(name)
{
	newCookie(name,"",1);
}

// ----------------------------------------------
workWithRandomNumbers = function(maximumNumber)
{
	if (Math.random && Math.floor)
	{
		var randomNumber= Math.floor(Math.random()*(maximumNumber));
		return randomNumber;
	}
}

var useCookie     = true; // Set to either true or false
var viewportImage = new Array()
var whichImage;

if (Math.random && Math.floor)
{
	viewportImage[0] = "url(../images/_case-studies/1-knightsbridge-green/bg_01.jpg)";
	viewportImage[1] = "url(../images/_case-studies/2-theobalds-court/bg_01.jpg)";
	viewportImage[2] = "url(../images/_case-studies/15-and-16-grosvenor-street/bg_01.jpg)";
	viewportImage[3] = "url(../images/_case-studies/64-knightsbridge-green/bg_01.jpg)";
	viewportImage[4] = "url(../images/_case-studies/botolph-lane/bg_01.jpg)";
	viewportImage[5] = "url(../images/_case-studies/bt-tower/bg_01.jpg)";
	viewportImage[6] = "url(../images/_case-studies/chancery-house/bg_01.jpg)";
	viewportImage[7] = "url(../images/_case-studies/dukes-hotel/bg_01.jpg)";
	viewportImage[8] = "url(../images/_case-studies/national-gallery/bg_01.jpg)";
	viewportImage[9] = "url(../images/_case-studies/old-bailey/bg_01.jpg)";
	viewportImage[10] = "url(../images/_case-studies/ralph-lauren-polo/bg_01.jpg)";
	viewportImage[11] = "url(../images/_case-studies/royal-opera-house/bg_01.jpg)";
	viewportImage[12] = "url(../images/_case-studies/20-gresham-street/bg_01.jpg)";
	viewportImage[13] = "url(../images/_case-studies/133-houndsditch-london/bg_01.jpg)";
	viewportImage[14] = "url(../images/_case-studies/nomura-house-london/bg_01.jpg)";
}

var pageBackground = readCookie('classic-formai-page-texture')

if (pageBackground!=null&&pageBackground!='undefined'&&pageBackground!='')
{
	if (pageBackground>=(viewportImage.length - 1))
	{
		whichImage = workWithRandomNumbers(viewportImage.length);
	}
	else
	{
		whichImage = parseInt(pageBackground) + 1;
		newCookie('classic-formai-page-texture',whichImage);
	}
}

else
{
	newCookie('classic-formai-page-texture',0);
	whichImage = 0;
}

var appliedBackground = viewportImage[whichImage];

applyImage = function()
{
	if (whichImage>=(viewportImage.length - 1))
	{
		whichImage = workWithRandomNumbers(viewportImage.length);
	}
	else
	{
		whichImage = whichImage + 1;
	}
		
	appliedImage = viewportImage[whichImage];
	
	$("layout-wrapper").setStyle
	(
		{
			backgroundImage: appliedImage
		}
	);
}