
/************************************************************/
/************************************************************/
/************************************************************/

/****** get a random image ********/
var curPix;

var theImage, seenIt, chosenImage, imageLibrary, numberOfImages, newNumberOfImages;

/*****************
Get Some Pix
*****************/

var imageLibrary = new Array(
"sky_43_13.jpg",
"sky_43_09.jpg",
"sky_43_08.jpg",
"sky_43_04.jpg",
"sky_impressionistic.jpg"
);


/*****************
Let's Bake Some Cookies!
*****************/

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	var ck = name+"="+value+expires+"; path=/";
	document.cookie = ck;
}

function readCookie(name)
{
	var nameEQ = name + "=";
	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(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

var seenIt = readCookie("riceimagesseen");

/**********
Pick Images
**********/

var pickAnImage = function(){
	if (seenIt.indexOf(imageLibrary.length+"t") != -1){
		seenIt = "0t,";
	}
	var chosenImage = Math.round(Math.random()*(imageLibrary.length-1));
	while (seenIt.indexOf(","+chosenImage+",") != -1){
		chosenImage = Math.round(Math.random()*(imageLibrary.length-1));
	}
	seenIt += chosenImage+",";
	numberOfImages = parseInt(seenIt.slice(0,seenIt.indexOf("t")));
	newNumberOfImages = numberOfImages+1;
	seenIt = newNumberOfImages + seenIt.slice(seenIt.indexOf("t"));
	createCookie("riceimagesseen",seenIt,300);
	theImage = imageLibrary[chosenImage];
}


/******************************/
/*****detects and init*********/
//
var isIE = (navigator.appName.indexOf("Microsoft")!=-1);
var isMac = (navigator.userAgent.indexOf("Mac") != -1);
if (isIE && isMac){alert("The web browser you are using, Microsoft Internet Explorer Mac, is no longer supported by Microsoft. They recommend that you use Safari, which is already on your computer, or that you use Firefox. If you continue to use Internet Explorer Mac, you may experience technical difficulties on this website, among others.");}
var winW, winH;
/********resize**********/
function winResize() {
	if (document.body){
		if (document.body.id == "home"){
			winW = (isIE) ? document.body.clientWidth : window.innerWidth;
			winH = (isIE) ? document.body.clientHeight : window.innerHeight;
			var imgRatio = $("bgimage").width/$("bgimage").height;
			var winRatio = (winW-30)/((winH/2)-65);
			if (winRatio > imgRatio){
				if ($("bgimage").style.width!="100%"){
					$("bgimage").style.width="100%";
					$("bgimage").style.height="auto";
				}
			} else {
				if ($("bgimage").style.height!="100%"){
					$("bgimage").style.height="100%";
					$("bgimage").style.width="auto";
				}
			}
		}
	}
}
window.onresize = function() {
	winResize();
}
/*******onload**********/
Behaviour.addLoadEvent(function() {
	if (document.body.id == "home"){
		bgImageLoader = new Image();
		bgImageLoader.onload = function(){
			var completed = 0;
			var onloadComplete = function(){
			if (completed < 1) {
				if (isIE){
					$("bgimage").src = bgImageLoader.lowsrc;
					$("bgimage").style.filter += "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bgImageLoader.src+"', sizingMethod='scale')";
				} else {
					$("bgimage").src = bgImageLoader.src;
				}
				window.onresize();
				$("bgimage").style.visibility = "visible";
				completed++;
			}
		}
		if (document.body.id == "home"){
			Element.hide('bgimage');
			new Effect.Appear('bgimage',{duration:2,afterUpdate:onloadComplete});
		} else {
			onloadComplete();
		}
	}
	//
	if (!seenIt){
		seenIt = "0t,";
	} else if (seenIt.indexOf(imageLibrary.length+"t") != -1){
		seenIt = "0t,";
	}
	pickAnImage();
	//
	bgImageLoader.src = "images/home_banners/"+theImage;
	bgImageLoader.lowsrc = bgImageLoader.src.slice(0,bgImageLoader.src.lastIndexOf("."))+"_clear.gif";
	}
});

/*****************
Element Behaviours
******************/
var sq2Status = "closed";

var myrules = {
	'#plink' : function(el){
		el.onmouseover = function(){
			if (sq2Status == "closed"){
				this.style.backgroundColor = "#4162ad";
				this.style.color = "#2F5098";
			} else if (sq2Status == "open"){
				this.getElementsByTagName("span")[0].firstChild.nodeValue = "<";
			}
		},
		el.onmouseout = function(){
			this.style.backgroundColor = "transparent";
			if (sq2Status == "closed"){
				this.style.color = "#fff";
			} else if (sq2Status == "open"){
				this.style.color = "#85a8ff";
				this.getElementsByTagName("span")[0].firstChild.nodeValue = ">";
			}
		},
		el.onclick = function(){
			if (sq2Status == "closed"){
				sq2Status = "busy";
				$("sq2").getElementsByTagName("a")[0].style.position = "absolute";
				$("sq2").getElementsByTagName("a")[0].style.marginTop = "92px";
				$("sq2").getElementsByTagName("a")[0].style.paddingTop = "0";
				$("sq2").getElementsByTagName("a")[0].style.height = "auto";
				this.style.backgroundColor = "transparent";
				this.style.color = "#85a8ff";
				this.getElementsByTagName("span")[0].style.display = "inline";
				$("sq2").getElementsByTagName("blockquote")[0].style.visibility = "visible";
				$("sq2").getElementsByTagName("ul")[0].style.visibility = "visible";
				var bodyW;
				var moveOtherBoxes = function(){
					bodyW = document.body.clientWidth;
					var xTotal = bodyW-$("sq1").clientWidth-$("sq2").clientWidth;
					var xPercent = ((xTotal/bodyW)*100)*10;
					var xPercentUnit = xPercent/5;
					for (i=3;i<=7;i++){
						$("sq"+i).style.left = (1000-xPercent)+(xPercentUnit*(i-3))-(i-2)+"%";
					}
				}
				var scaleComplete = function(){
					$("sq2").style.width = "286%";
					moveOtherBoxes();
					$("sq3").style.left = "429%";
					sq2Status = "open";
				}
				$("sq2").style.width = "143%";
				new Effect.Scale( this.parentNode, 200, {duration:0.67, fps:60, transition: Effect.Transitions.sinoidal, scaleY:false, scaleContent:false, afterUpdate:moveOtherBoxes, afterFinish:scaleComplete});
				Element.hide($("sq2").getElementsByTagName("blockquote")[0]);
				new Effect.Appear( $("sq2").getElementsByTagName("blockquote")[0],{duration:1.3});
				Element.hide($("sq2").getElementsByTagName("ul")[0]);
				new Effect.Appear( $("sq2").getElementsByTagName("ul")[0],{duration:1.3});
			} else if (sq2Status == "open") {
				sq2Status = "busy";
				this.getElementsByTagName("span")[0].firstChild.nodeValue = ">";
				this.style.backgroundColor = "transparent";
				this.style.color = "#fff";
				this.getElementsByTagName("span")[0].style.display = "none";
				//Element.hide($("sq2").getElementsByTagName("blockquote")[0]);
				//Element.hide($("sq2").getElementsByTagName("ul")[0]);
				var moveOtherBoxes = function(){
					var bodyW = document.body.clientWidth;
					var xTotal = bodyW-$("sq1").clientWidth-$("sq2").clientWidth;
					var xPercent = ((xTotal/bodyW)*100)*10;
					var xPercentUnit = xPercent/5;
					for (i=3;i<=7;i++){
						$("sq"+i).style.left = (1000-xPercent)+(xPercentUnit*(i-3))-i+"%";
					}
				}
				var scaleComplete = function(){
					$("sq2").style.width = "145%";
					moveOtherBoxes();
					var wVal = 143;
					for (i=2;i<=7;i++){
						$("sq"+i).style.left = ((i-1)*wVal)+"%";
					}
					$("sq2").getElementsByTagName("a")[0].style.position = "static";
					$("sq2").getElementsByTagName("a")[0].style.marginTop = "0";
					$("sq2").getElementsByTagName("a")[0].style.paddingTop = "92px";
					$("sq2").getElementsByTagName("a")[0].style.height = "39px";
					sq2Status = "closed";
				}
				new Effect.Scale( this.parentNode, 50, {duration:0.33, fps:60, transition: Effect.Transitions.sinoidal, scaleY:false, scaleContent:false, afterUpdate:moveOtherBoxes, afterFinish:scaleComplete});	
				new Effect.Fade( $("sq2").getElementsByTagName("blockquote")[0],{duration:0.33});
				new Effect.Fade( $("sq2").getElementsByTagName("ul")[0],{duration:0.25});
			}
		},
		el.onfocus = function(){
			this.blur();
		}
	}
};
Behaviour.register(myrules);
