// IndPrint Ulits fucntions



function indUtils(){
	
	//browser detect from http://www.quirksmode.org/js/detect.html
	this.Browser = {
		init: function () {
			this.t = this.searchString(this.dataBrowser) || "An unknown browser";
			this.v = this.searchVersion(navigator.userAgent)
				|| this.searchVersion(navigator.appVersion)
				|| "an unknown version";
			this.os = this.searchString(this.dataOS) || "an unknown OS";
		},
		searchString: function (data) {
			for (var i=0;i<data.length;i++)	{
				var dataString = data[i].string;
				var dataProp = data[i].prop;
				this.versionSearchString = data[i].versionSearch || data[i].identity;
				if (dataString) {
					if (dataString.indexOf(data[i].subString) != -1)
						return data[i].identity;
				}
				else if (dataProp)
					return data[i].identity;
			}
		},
		searchVersion: function (dataString) {
			var index = dataString.indexOf(this.versionSearchString);
			if (index == -1) return;
			return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
		},
		dataBrowser: [
			{string: navigator.vendor,subString: "Apple",identity: "safari"},
			{prop: window.opera,identity: "Opera"},
			{string: navigator.userAgent,subString: "Firefox",identity: "ff"},
			// for newer Netscapes (6+)
			{string: navigator.userAgent,subString: "Netscape",identity: "ns"},
			{string: navigator.userAgent,subString: "MSIE",identity: "ie",versionSearch: "MSIE"},
			{string: navigator.userAgent,subString: "Gecko",identity: "moz",versionSearch: "rv"},
		],
		dataOS : [
			{string: navigator.platform,subString: "Win",identity: "win"},
			{string: navigator.platform,subString: "Mac",identity: "mac"},
			{string: navigator.platform,subString: "Linux",identity: "linux"}
		]
	
	};
	this.Browser.init();	
	//End Browser Detect
	
	this.getElementsByClassName = function(clsName){
		var retVal = new Array();
		var elements = document.getElementsByTagName("*");
		for(var i = 0;i < elements.length;i++){
			if(elements[i].className.indexOf(" ") >= 0){
				var classes = elements[i].className.split(" ");
				for(var j = 0;j < classes.length;j++){
					if(classes[j] == clsName)
						retVal.push(elements[i]);
				}
			}
			else if(elements[i].className == clsName)
				retVal.push(elements[i]);
		}
		return retVal;
	}
	
	this.newStatus = function(stat){
	
			if(this.Browser.t == "ff"){	
				var _el = this.getElementsByClassName('colors_backgroundlight')[0].childNodes.item(1).childNodes.item(0).childNodes.item(0);
					if(_el.innerHTML.indexOf("Shipped")<0){
					_el.innerHTML = "Order Status: "+stat;
					}
			}
			if(this.Browser.t == "ie"){
				var _el = this.getElementsByClassName('colors_backgroundlight')[0].childNodes.item(0).childNodes.item(0).childNodes.item(0);
					if(_el.innerHTML.indexOf("Shipped")<0){
					_el.innerHTML = "Order Status: "+stat;	
					}
			}

	}
}

window.indUtils = new indUtils();

/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/	
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};


