﻿// JScript File

//
// JSON class for generic DOM functions.
// ****************************************************************************
// Developer notes ::
// ** MDC : Initial creation.
//
var headscapeDOM = {
	//
	// Generic getElementsByClassName function.
	//
	// Developer notes ::
	// ** MDC : Courtesy of Dustin Diaz (http://www.dustindiaz.com/getelementsbyclass/).
	//
	getElementsByClassName : function(searchClass, node, tag) {
		var classElements = new Array();
		if (node == null)
			node = document;
		if (tag == null)
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if (pattern.test(els[i].className)) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	},
	// ----------------------------------------------------------------------------


	//
	// Generic addEvent function.
	//
	// Developer notes ::
	// ** MDC : Initial creation.
	//
	addEvent : function(obj, evType, fn, useCapture) {
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		} else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		} else {
			alert("Handler could not be attached");
		}
	},
	// ----------------------------------------------------------------------------


	//
	// Generic externalLinks function.
	//
	// Developer notes ::
	// ** MDC : Initial creation.
	//
	externalLinks : function() {
		if (document.getElementsByTagName) {
			var links = this.getElementsByClassName("externalLink");
			for (var i=0; i < links.length; i++) {
				if (links[i].title == "") {
					links[i].title = "(new window)";
				} else {
					links[i].title = links[i].title + " (new window)";
				}
				links[i].onclick = function(e) {
					if (!e) e=window.event;
					if (e.shiftKey || e.ctrlKey || e.altKey) return;
					window.open(this.href);
					return false;
				}
			}
		}
	}
}
// ****************************************************************************



//
// JSON class for clearing the code / qty fields on focus.
// ****************************************************************************
// Developer notes ::
// ** SG : Initial creation
//
var hhcWorkplace = {

	swapThumbToMainImage : function(e) {
		var img_link;
		
		// Get a handle on the form that was submitted
		if (window.event) {
			img_link = window.event.srcElement;
		}
		else {
			if (e.target) {
				img_link = e.target;
			}
			else {
				//fix on the homepage for Firefox
				img_link = e.currentTarget;
			}
		}
		
		if (document.getElementById('main_image')) {
			
			//headscapeDOM.getElementsByClassName("", document.getElementById("a_link"), "img")[0].src;
			
			//alert(headscapeDOM.getElementsByClassName("", document.getElementById("a_link"), "img")[0].src);
			
			/*
			alert(document.getElementById(p).nodeName);
			alert(document.getElementById(p).childNodes[0].nodeName);
			alert(document.getElementById(p).childNodes[0].src);
			*/
			
			document.getElementById('main_image').src = img_link.src;
			//document.getElementById('main_image').src = headscapeDOM.getElementsByClassName("", a_link, "img")[0].src;
		}
	},
	// ----------------------------------------------------------------------------


	watch : function() {
		var blnReturnValue = false;

/*
		if (document.getElementById('wd1')) {
			headscapeDOM.addEvent(document.getElementById('wd1'), 'click', alert('wd1'), false);
		}
		if (document.getElementById('wd2')) {
			headscapeDOM.addEvent(document.getElementById('wd2'), 'click', alert('wd2'), false);
		}
		if (document.getElementById('wd3')) {
			headscapeDOM.addEvent(document.getElementById('wd3'), 'click', alert('wd3'), false);
		}
		if (document.getElementById('wd4')) {
			headscapeDOM.addEvent(document.getElementById('wd4'), 'click', alert('wd4'), false);
		}

*/
		if (document.getElementById('wd1')) {
			headscapeDOM.addEvent(document.getElementById('wd1'), 'click', this.swapThumbToMainImage, false);
		}
		if (document.getElementById('wd2')) {
			headscapeDOM.addEvent(document.getElementById('wd2'), 'click', this.swapThumbToMainImage, false);
		}
		if (document.getElementById('wd3')) {
			headscapeDOM.addEvent(document.getElementById('wd3'), 'click', this.swapThumbToMainImage, false);
		}
		if (document.getElementById('wd4')) {
			headscapeDOM.addEvent(document.getElementById('wd4'), 'click', this.swapThumbToMainImage, false);
		}
		
		//blnReturnValue = true;
			
		return blnReturnValue;
	}
	// ----------------------------------------------------------------------------

}
// ****************************************************************************



//
// Load the functions we need immediately.
//
// Developer notes ::
// ** MDC : Initial creation
//
window.onload = function() {
	
	hhcWorkplace.watch();

	// External links
	headscapeDOM.externalLinks();
}