var currentTime = new Date();
var myRequest = currentTime.getTime();

// tab content
var mytabContents;

function isDefined(property) {
	return (typeof property != 'undefined');
}

if (!Array.prototype.forEach) {
 Array.prototype.forEach = function(fun /*, thisp*/) {
 var len = this.length;
 if (typeof fun != "function")
  throw new TypeError();

 var thisp = arguments[1];
 for (var i = 0; i < len; i++) {
  if (i in this)
	fun.call(thisp, this[i], i, this);
 }
 };
}


function externalLinks() {
	if (!document.getElementsByTagName) {
		return;
	}
	var anchors = document.getElementsByTagName("a");
	for (var i=0;i<anchors.length;i++) { 
		var anchor = anchors[i];
		if ((anchor.getAttribute("href")) && (anchor.getAttribute("rel") == "external")) {
			anchor.target = "_blank";
		}
	}
}

function blurLinks() {
	lnks = document.getElementsByTagName("a");
	inpts = document.getElementsByName("input");
	for(i=0;i<lnks.length;i++) {	
		if ((lnks[i].getAttribute("rel") == null) || (lnks[i].getAttribute("rel") == "")) {
			lnks[i].onfocus = new Function("this.blur()");
		}
	}
	for(i=0;i<inpts.length;i++) {
		inpts[i].onfocus= new Function("this.blur()");
	}
}

function correctPNG() {
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
		if (itsAllGood && img.src.match(/\.png$/i) != null) {
			img.style.visibility = "hidden";
			var src = img.src;
			var div = document.createElement("DIV");
			div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')"
			div.style.width = img.width + "px";
			div.style.height = img.height + "px";
			if (img.parentElement.href) {
				div.style.cursor = "hand";
			}
			img.replaceNode(div);
			img.style.visibility = "visible";
		}
	}
}

function rightClick(e) {
	var msg = "Sorry, you don't have permission to right-click.";
	if ((navigator.appName == "Netscape") && (e.which == 3)) {
		alert(msg);
		return false;
	} else if ((navigator.appName == "Microsoft Internet Explorer") && (event.button==2)) {
		alert(msg);
		return false;
	}
	else {
		return true;
	}
}


function trapClick() {
	if (document.images) {
		images = document.images;
		for(i=0;i<images.length;i++) {
			images[i].onmousedown = rightClick;
			images[i].onmouseup = rightClick;
		}
	}
}

function addToCart(productID) {
	requestURL = "/ajax/addToCart.php";
	requestQuery = "productID=" + productID;
	myRequest = new ajaxObject(requestURL);
	myRequest.callback = function(responseText) { updateCartQuantity(responseText);}
	myRequest.update(requestQuery);
}

function updateCartQuantity(numberItems) {
	if (!numberItems) {
		numberItems = 0;	
	}
	cartItemHolder = document.getElementById("cartItems");
	cartItemText = numberItems + " item";
	cartItemText += ((numberItems == 0) || (numberItems > 1)) ? "s" : "";
	cartItemHolder.innerHTML = cartItemText;
}

function makeBool(s) {
	var bool = 1;
	var s = s.toString();
	s = s.toLowerCase();
	bool = (s === "false") ? 0 : 1;
	return bool;
}

function stringContains(s,contains) {
  if (s.indexOf(contains) > -1) {
	 return true;
  }
	return false;
}

function deleteRecord(idField,ID,title,page,pageA) {
question = "Are you sure you want to remove " + title + "?";
	if (confirm(question)) {
		URL = page + ".php?action=delete&" + idField + "=" + ID + pageA;
		window.location.href= URL;
	}
}

function featuredStatus(type,ID) {
	requestURL = "/admin/ajax/featuredStatus.php";
	requestQuery = "type=" + type;
	requestQuery += "&id=" + ID;
	myRequest = new ajaxObject(requestURL);
	myRequest.callback = function(responseText,responseStatus) { processResult(responseText,responseStatus);}
	myRequest.update(requestQuery, "POST");
}

function liveStatus(type,ID) {
	requestURL = "/admin/ajax/liveStatus.php";
	requestQuery = "type=" + type;
	requestQuery += "&id=" + ID;
	myRequest = new ajaxObject(requestURL);
	myRequest.callback = function(responseText,rehtsponseStatus) { processResult(responseText,responseStatus);}
	myRequest.update(requestQuery, "POST");
}

function logOut() {
question = "Are you sure you wish to logout?";
	if (confirm(question)) {
		URL = "logout.php";
		window.location.href= URL;
	}
}

function tabContentInt() {
	if (document.getElementById("tabContent")) {
		mytabContents = new ddtabcontent("tabContent");
		mytabContents.setpersist(false);
		mytabContents.setselectedClassTarget("link");
		mytabContents.init();
	}
}

function hookMceEditorsByRel() {
	var textAreaArray = getElementsByRel("tinyMCE",null,"textarea")
	for(var j=0;j<textAreaArray.length;j++) {
		tinyMCE.execCommand('mceAddControl', true, textAreaArray[j].id); 
	}
}


function getElementsByRel(searchRel,node,tag) {
	var relElements = 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)"+searchRel+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if (pattern.test(els[i].getAttribute("rel"))) {
			relElements[j] = els[i];
			j++;
		}
	}
	return relElements;
}

if (isDefined(window.addEventListener)) {
	window.addEventListener("load", RunFunctions, false);
}

else if (isDefined(window.attachEvent)) {
	window.attachEvent("onload", RunFunctions);
}

function RunFunctions() {
	externalLinks();
	blurLinks();
	formControls();
	tabContentInt();
	hookMceEditorsByRel();
	//trapClick();
	if ((window.attachEvent) && (!isDefined(document.body.style.maxHeight))) {
		//correctPNG();
		sfHover();
	}
}

