
var headWidth = 1354;
var headHeight = 864;

var minHeadWidth = 1024;
var minHeadHeight = 576;

var eyeWidth = 155;
var eyeHeight = 150;

var zzz;
var zHead;
var zLeft;
var zRight;
var zLeftImg;
var zRightImg;
var blinkTimer;
var hasDoubleBlinked = false;

var zzzSetup = function(event)
{
	zzz = $("zzz");
	if (!zzz) return;
	
	body = $("zzzBody");
	zLeft = $("zLeft");
	zRight = $("zRight");
	zLeftImg = zLeft.getElement("img");
	zRightImg = zRight.getElement("img");
	

	zLeft.setProperty("hrefMem", zLeft.getProperty("href"));
	zLeft.setProperty("href", "#");
	zLeft.addEvent("click", popper);

	
	new Asset.images(["images/zzz-left-blink.png", "images/zzz-left-over.png", "images/zzz-right-blink.png", "images/zzz-right-over.png"]);
	
	if(zLeftImg)
	{
		/* mouseover */
		zLeftImg.addEvent("mouseover", function()
		{
			zLeftImg.setProperty("src", "images/zzz-left-over.png");
			zLeftImg.setProperty("state", "over");
		});
		/* mouseout */
		zLeftImg.addEvent("mouseout", function()
		{
			zLeftImg.setProperty("src", "images/zzz-left-z.png");
			zLeftImg.setProperty("state", "out");
		});
		/* set style */
		if(window.ie)
		{
			zLeftImg.setStyle("cursor","hand");
		}
		else
		{
			zLeftImg.setStyle("cursor","pointer");
		}
	}
	
	if(zRightImg)
	{
		/* mouseover */
		zRightImg.addEvent("mouseover", function()
		{
			zRightImg.setProperty("src", "images/zzz-right-over.png");
			zRightImg.setProperty("state", "over");
		});
		/* mouseout */
		zRightImg.addEvent("mouseout", function()
		{
			zRightImg.setProperty("src", "images/zzz-right-z.png");
			zRightImg.setProperty("state", "out");
		});
		/* set style */
		if(window.ie)
		{
			zRightImg.setStyle("cursor","hand");
		}
		else
		{
			zRightImg.setStyle("cursor","pointer");
		}
	}
	
	document.addEvent("click", unpopper);
	handleResize();
	window.addEvent("resize", handleResize);
	
	startBlink();
};

var startBlink = function()
{
	blinkTimer = $clear(blinkTimer);
	
	if (Math.random()>0.3 || hasDoubleBlinked)
	{
		hasDoubleBlinked = false;
		blinkTimer = blink.delay( Math.floor(Math.random()*2000+2000) );
	}
	else
	{
		hasDoubleBlinked = true;
		blinkTimer = blink.delay( 70 );
	}
};

var blink = function()
{
	if (zLeftImg.getProperty("state")!="over") zLeftImg.setProperty("src", "images/zzz-left-blink.png");
	if (zRightImg.getProperty("state")!="over") zRightImg.setProperty("src", "images/zzz-right-blink.png");
	
	blinkTimer = unblink.delay( 80 );
};

var unblink = function()
{
	if (zLeftImg.getProperty("state")!="over") zLeftImg.setProperty("src", "images/zzz-left-z.png");
	if (zRightImg.getProperty("state")!="over") zRightImg.setProperty("src", "images/zzz-right-z.png");
	
	startBlink();
};

var popper = function(event)
{
	zzz.fade(0.05);
	zzz.get("tween").chain(
	   popperup
	);
	
	event.stopPropagation();
};

var popperup = function()
{
	var iframe = new Element("iframe",{
		"id": "oldSitePopup",
		"scrolling": "no",
		"frameborder": "0"
		});
	iframe.setStyle("position", "absolute");
	iframe.setStyle("left", "0px");
	iframe.setStyle("top", "0px");
	iframe.inject("zzz", "after");
	
	repositionPopup(iframe);
	
	/*
	var myDrag = new Drag.Move("oldSitePopup",
	{
		container: "zzzBody",
	    onDrop: function(element, droppable)
	    {
	        if (!droppable) console.log(element, " dropped on nothing");
	        else console.log(element, "dropped on", droppable);
	    }
		
	});
	*/
	
	iframe.setStyle("opacity", "0");
	iframe.fade(1);
	iframe.get("tween").chain(
	   showOldSite
	);
};

var showOldSite = function()
{
	if (!$("oldSitePopup")) return;
	$("oldSitePopup").setProperty("src", zLeft.getProperty("hrefMem"));
};

var unpopper = function()
{
	var iframe = $("oldSitePopup");
	
	if (iframe)
	{
		iframe.destroy();
	}
	
	zzz.fade(1.0);
};

var repositionPopup = function(iframe)
{
	var pageWidth = Math.max(window.getWidth(), minHeadWidth);
	var pageHeight = Math.max(window.getHeight(), minHeadHeight);
	
	if (iframe)
	{
		var popupX = (pageWidth-iframe.getStyle("width").toInt())/2;
		var popupY = (pageHeight-iframe.getStyle("height").toInt())/2;
		
		iframe.setStyle("left", popupX);
		iframe.setStyle("top", popupY);
	}
};

var handleResize = function(event)
{
	var iframe = $("oldSitePopup");
	
	var pageWidth = Math.max(window.getWidth(), minHeadWidth);
	var pageHeight = Math.max(window.getHeight(), minHeadHeight);

	var scale = Math.min(pageHeight / headHeight, pageWidth / headWidth);

	var zzzHeight = (headHeight * scale);
	
	zzz.setStyle("top", ((pageHeight - zzzHeight)/2)+"px");
	zzz.setStyle("width", (headWidth * scale)+"px");
	zzz.setStyle("height", zzzHeight+"px");
	
	zLeft.setStyle("width", (eyeWidth * scale)+"px");
	zLeft.setStyle("height", (eyeHeight * scale)+"px");
	zRight.setStyle("width", (eyeWidth * scale)+"px");
	zRight.setStyle("height", (eyeHeight * scale)+"px");
	
	if (iframe) repositionPopup(iframe);
};
