window.onload = initAll;
window.onunload = unloadStyle;

function initAll() {
	var thisCookie = cookieVal("style");
	var title;
	
	if  (thisCookie) {
		title = thisCookie;
	}
	else {
		title = getPreferredStylesheet();
	}
	setActiveStylesheet(title);
	
	var allButtons = document.getElementsByTagName("A");
	for (var i=0; i<allButtons.length; i++) {
		if (allButtons[i].className == 'sheetSwitch') {
			allButtons[i].onclick = setActiveStylesheet;
		}
	}
	
	for (var i=0; i<document.images.length; i++) {
		if (document.images[i].parentNode.tagName == "A" && document.images[i].className == 'prod_image') {
			setupRollover(document.images[i]);
		} else if (document.images[i].parentNode.tagName == "A" && document.images[i].className == 'dept_image') {
			setupOnRollStay(document.images[i]);
		} else if (document.images[i].parentNode.tagName == "A" && document.images[i].parentNode.className == 'mainimg') {
			setupOnclick(document.images[i]);
		}
	}
}

function unloadStyle() {
	var expireDate = new Date();
	expireDate.setYear(expireDate.getFullYear()+1);
	document.cookie = "style=" + getActiveStylesheet() + ";path=/;expires=" + expireDate.toGMTString();
}

function getPreferredStylesheet() {
	var thisLink, relAttribute;
	var linksFound = document.getElementsByTagName("link");
	
	for (var i=0; i<linksFound.length; i++) {
		thisLink = linksFound[i];
		relAttribute = thisLink.getAttribute("rel");
		if (relAttribute.indexOf("style") > -1 && relAttribute.indexOf("alt") == -1 && thisLink.getAttribute("title")) {
		 	return thisLink.getAttribute("title");
		}
	}
	return "";
}

function getActiveStylesheet() {
	var thisLink;
	var linksFound = document.getElementsByTagName("link");
	
	for (var i=0; i<linksFound.length; i++) {
		thisLink = linksFound[i];
    	if (thisLink.getAttribute("rel").indexOf("style") > -1 && thisLink.getAttribute("title") && !thisLink.disabled) {
			return thisLink.getAttribute("title");
		}
	}
	return "";
}

function setActiveStylesheet(inVal) {
	var thisLink, title;
	var linksFound = document.getElementsByTagName("link");

	if (inVal) {
		if (typeof inVal == "string") {
			title = inVal;
		}
		else {
			title = inVal.target.id;
		}
	}
	else {
		title = window.event.srcElement.id;
	}

	for (var i=0; i<linksFound.length; i++) {
		thisLink = linksFound[i];
    	if (thisLink.getAttribute("rel").indexOf("style") > -1 && thisLink.getAttribute("title")) {
			thisLink.disabled = true;
			if (thisLink.getAttribute("title") == title) {
				thisLink.disabled = false;
			}
		}
	}
}

function cookieVal(cookieName) {
	var thisCookie = document.cookie.split("; ");
	for (var i=0; i<thisCookie.length; i++) {
		if (cookieName == thisCookie[i].split("=")[0]) {
			return thisCookie[i].split("=")[1];
		}
	}
	return "";
}


function setupRollover(thisImage) {
	thisImage.outImage = new Image();
	thisImage.outImage.src = document.getElementById('product_image').src;
	thisImage.onmouseout = rollOut;

	thisImage.overImage = new Image();
	thisImage.overImage.src = thisImage.id;
	thisImage.onmouseover = rollOver;	
}

function setupOnRollStay(thisImage){
	thisImage.overImage = new Image();
	thisImage.overImage.src = thisImage.id;
	thisImage.onmouseover = rollOver;
}

function rollOut() {
	document.getElementById('product_image').src = this.outImage.src;
}

function rollOver() {
	document.getElementById('product_image').src = this.overImage.src;
}

function setupOnclick(thisImage) {
	thisImage.clickImage = new Image();
	thisImage.clickImage.src = thisImage.parentNode.id;
	thisImage.onclick = onmouseclick;
}

function onmouseclick() {
	var width = this.clickImage.width+40;
	var height = this.clickImage.height+40;
	var link = this.clickImage.src;
	var size = '\'menubar=no,width='+width+',height='+height+',toolbar=no, directories=no,resizable=yes,scrollbars=no,location=no,status=yes\'';	
	w = window.open(link, '', size);
	w.focus();
	
}
