var d = document; // speeds things up, ever so slightly

var widgetNames = new Array(
	"tictactoe",
	"iplocator",
	"theobfuscator",
	"colorsafe",
	"todayinnm",
	"myresolution",
	"snippetcomposer",
	"slideshow",
	"makeapass",
	"getdilbert"
);

var widgets = new Array();

for (var i = widgetNames.length - 1; i > -1; i--) {
	widgets[widgetNames[i]] = new Array();
}

widgets["getdilbert"]["front"]	= "/widgets/screenshots/getdilbert/1.6/front.gif";
widgets["getdilbert"]["back"]	= "/widgets/screenshots/getdilbert/1.6/back.gif";

widgets["makeapass"]["front"]	= "/widgets/screenshots/makeapass/2.2/front.jpg";
widgets["makeapass"]["back"]	= "/widgets/screenshots/makeapass/2.2/back.jpg";

widgets["slideshow"]["front"]	= "/widgets/screenshots/slideshow/2.1/front.jpg";
widgets["slideshow"]["back"]	= "/widgets/screenshots/slideshow/2.1/back.jpg";

widgets["iplocator"]["front"]	= "/widgets/screenshots/iplocator/1.2/front.jpg";
widgets["iplocator"]["back"]	= "/widgets/screenshots/iplocator/1.2/back.jpg";

widgets["snippetcomposer"]["front"]	= "/widgets/screenshots/snippetcomposer/1.0/front.jpg";
widgets["snippetcomposer"]["back"]	= "/widgets/screenshots/snippetcomposer/1.0/back.jpg";

widgets["myresolution"]["front"]	= "/widgets/screenshots/myresolution/1.1/front.jpg";
widgets["myresolution"]["back"]		= "/widgets/screenshots/myresolution/1.1/back.jpg";

widgets["todayinnm"]["front"]	= "/widgets/screenshots/todayinnm/1.0/front.jpg";
widgets["todayinnm"]["back"]	= "/widgets/screenshots/todayinnm/1.0/back.jpg";

widgets["colorsafe"]["front"]	= "/widgets/screenshots/colorsafe/1.0/front.jpg";
widgets["colorsafe"]["back"]	= "/widgets/screenshots/colorsafe/1.0/back.jpg";

widgets["theobfuscator"]["front"]	= "/widgets/screenshots/theobfuscator/1.0/front.jpg";
widgets["theobfuscator"]["back"]	= "/widgets/screenshots/theobfuscator/1.0/back.jpg";

widgets["tictactoe"]["front"]	= "/widgets/screenshots/tictactoe/1.1/front.jpg";
widgets["tictactoe"]["back"]	= "/widgets/screenshots/tictactoe/1.1/back.jpg";

var screenshot_link = new Array(
	"<a href=\"",
	"\" target=\"_blank\" onclick=\"toggleScreenshot('",
	"','",
	"');return false\">",
	"<\/a>"
);

function toggleScreenshot(wdgt,side) {
	// change the screenshot
	ss = getObj("screenshot_"+wdgt);
	ss.src = widgets[wdgt][side];
	
	// change the links
	frontSpan	= getObj(wdgt+"_front");
	backSpan	= getObj(wdgt+"_back");
	
	var otherSide	= (side == "front")? "back": "front";
	
	var unlinked	= "<strong>"+side+"<\/strong>";
	
	var linked;
	linked  = screenshot_link[0];
	linked += widgets[wdgt][otherSide];
	linked += screenshot_link[1];
	linked += wdgt;
	linked += screenshot_link[2];
	linked += otherSide;
	linked += screenshot_link[3];
	linked += otherSide;
	linked += screenshot_link[4];
	
	if (side == "front") {
		frontSpan.innerHTML	= unlinked;
		backSpan.innerHTML	= linked;
	} else { // side == "back"
		frontSpan.innerHTML	= linked;
		backSpan.innerHTML	= unlinked;
	}
}

// can't use this because it messes with the bottom corner images
function toggleHistory(wdgt) {
	linkObj	= getObj(wdgt+"_link");
	imgObj	= getObj(wdgt+"_img");
	histObj	= getObj(wdgt);
	
	if (histObj.style.display == "block") {
		linkObj.title			= "Click to view this widget's version history";
		imgObj.src			= "/widgets/images/arrow_closed.gif";
		histObj.style.display	= "none";
	} else {
		linkObj.title			= "Click to hide this widget's version history";
		imgObj.src				= "/widgets/images/arrow_open.gif";
		histObj.style.display	= "block";
	}
	
//	adjustCorners();
}

// this doesn't work on safari or firefox
function adjustCorners() {
	d.getElementById("corner_bl").style.bottom = "-1px";
	d.getElementById("corner_br").style.bottom = "-1px";
}

function getObj(id) {
	return d.getElementById(id);
}

function init() {
	if (navigator.userAgent.indexOf("Safari") > -1) {
		// adjust download divs
		divs = d.getElementsByTagName("DIV");
		for (var i = 0; i < divs.length; i++) {
			if (divs[i].className == "rightcol") divs[i].style.marginTop = "-8px";
		}
		
		/*
		// adjust bottom corner images
		d.getElementById("corner_tr").style.right = "-1px";
		d.getElementById("corner_br").style.right = "-1px";
		*/
	}
	
	// if we're on the dev page, preload the dashboard image
	if (location.href.indexOf("widgets/dev") > -1) {
		// preload images
		var img = new Image(1,1);
		img.src = "/widgets/images/dashboard_bar.jpg";
	} else {
		// preload widget screenshot images
		for (var i = widgetNames.length - 1; i > -1; i--) {
			var img = new Image(1,1);
			img.src = widgets[widgetNames[i]]["front"];
			var img = new Image(1,1);
			img.src = widgets[widgetNames[i]]["back"];
		}
		
		// preload download button
		var img = new Image(225,23);
		img.src = "/widgets/images/button_clicked.png";
	}
}

window.onload = init;
