//Global vars and consts

function onLoadEvent() {

	if (isUserLoggedIn() == true) {
		//Hide all subscribe boxes, etc. if user is logged in and show extra info?
		if (document.getElementById("div_newsbox") != null) { document.getElementById("div_newsbox").style.display = "inline"; }
		if (document.getElementById("div_accountbox") != null) { document.getElementById("div_accountbox").style.display = "inline"; }
		if (document.getElementById("div_basketbox") != null ) { document.getElementById("div_basketbox").style.display = "inline"; }
		if (document.getElementById("div_loginbox") != null ) { document.getElementById("div_loginbox").style.display = "none"; }
	} else {
		//Make sure that the elements exist
		if (document.getElementById("div_loginbox") != null ) { document.getElementById("div_loginbox").style.display = "inline"; }
		if (document.getElementById("div_basketbox") != null ) { document.getElementById("div_basketbox").style.display = "none"; }
	}
	
	//Set tab selection 
	loadTabs();
	addTID();
	
	//Set Poll frame location
	resetIFrameLocation('frame_poll');
	
	//Set category, if it exists
	setCurrentCategory();
	//Replace embedded video
	//replaceEmbeddedVideo();

}
			
function replaceEmbeddedVideo() {
	//Check what type of page it is and edit accordingly
	var currentUrl = document.location.href.toLowerCase();
	
	//Check to see if the current page is a product descrption page
	if (currentUrl.indexOf("showstoreproduct") != -1) {
		var elementProductCode = getElementByClass("productCode");
		//Only do something if the tag exists
		if (elementProductCode != null) {
			var productCode = eval(elementProductCode.innerHTML);
			alert(productCode);
			var elementPreviewVideo = getElementByClass("preview_video_5")
			if (elementPreviewVideo != null) {
				
				elementPreviewVideo.innerHTML = '<embed width="320" height="260" hspace="5" filename= "'+productCode+'.wmv" border="1" src= "/public/'+productCode+'.wmv"></embed>';
				alert(elementPreviewVideo.innerHTML);
			}
		}	
	}
}
			
function addTID(tid) {
	//Get the TID from the URL
	var searchStr = '&TID=';
	var currentURL = document.location.href.toLowerCase();
	if (tid != null) {
		currentURL = document.location.href.toLowerCase() + searchStr.toLowerCase() + tid;
	}
	//Only modify links and forms if there is a valid TID value in the document's URL
	if (currentURL.indexOf(searchStr.toLowerCase()) != -1) {
		
		//Just incase TID is not the last URL value
		var i = currentURL.indexOf('&', currentURL.indexOf(searchStr.toLowerCase()) + 1);
		if (i == -1) {
			i = currentURL.length;
		}
		var currentTID = currentURL.substring(currentURL.indexOf(searchStr.toLowerCase()) + searchStr.length, i);
		//Add TID to all links within the page
		for (var i=0; i < document.links.length; i++) {
			//Don't modify the link if it already has a TID value , if it's JavaScript or an e-mail link
			var linkURL = document.links[i].href.toLowerCase();
			if ((linkURL.indexOf('javascript') == -1) && (linkURL.indexOf(searchStr.toLowerCase()) == -1) && (linkURL.indexOf('mailto') == -1)
			&& (linkURL.indexOf('wmv') == -1) && (linkURL.indexOf('mpg') == -1) && (linkURL.indexOf('m4v') == -1)
			&& (linkURL.indexOf('.com') != (linkURL.length-5)) && (linkURL.indexOf('.com/') != (linkURL.length-6)) 
			&& (linkURL.indexOf('.tv') != (linkURL.length-4)) && (linkURL.indexOf('.tv/') != (linkURL.length-5))) {
				document.links[i].href = document.links[i].href + searchStr.toUpperCase() + currentTID;               
			}
		}
		//Add TID to all forms within the page
		for (var i=0; i < document.forms.length; i++) {
			//Don't modify the form if it already has a TID value
			formURL = document.forms[i].action.toLowerCase();
			if (formURL.indexOf(searchStr.toLowerCase()) == -1) {
				document.forms[i].action = document.forms[i].action + searchStr.toUpperCase() + currentTID;
			}
		}
	} else {
		addTID('17');
	}
}

function getElementByClass(docclass) {
	var allHTML = document.getElementsByTagName("*");
	var element = null;
	
	for (i=0; i< allHTML.length; i++) {
		if (allHTML[i].className == docclass) {
			element = allHTML[i];
		}
	}
	return element;
}

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);
};

function isUserLoggedIn() {
	var cookieValue = false;
	var searchStr = 'IBLOGIN=';
	
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(searchStr);
		if (offset != -1) {
			offset += searchStr.length;
			end = document.cookie.indexOf(";", offset);
			if (end == -1) end = document.cookie.length;
			if (unescape(document.cookie.substring(offset, end)).toLowerCase() == 'true') cookieValue = true;
		}	
	}
	return cookieValue;
}

function loadTabs() {
	//Get the current URL and make it lowercase
	var currentUrl = document.location.href.toLowerCase();
	//Does the URL have any relation to 'Home'?
	if ((currentUrl.indexOf("home") != -1)  || (currentUrl.indexOf("?") == -1)) {
		document.getElementById("tab_home").className = "selected";
		document.getElementById("tab_home_link").style.color = "#e3001b";
		document.getElementById("tab_home_link").style.fontWeight = "bold";
	}
	//Does the URL have any relation to 'About'?
	if (currentUrl.indexOf("about") != -1) {
		document.getElementById("tab_about").className = "selected";
		document.getElementById("tab_about_link").style.color = "#e3001b";
		document.getElementById("tab_about_link").style.fontWeight = "bold";
	}
	//Does the URL have any relation to the online store?
	if ((currentUrl.indexOf("showproducts") != -1) || 
	   (currentUrl.indexOf("showstoreproduct") != -1) ||
	   (currentUrl.indexOf("showreseller") != -1) ||
	   (currentUrl.indexOf("videos") != -1) ||
	   (currentUrl.indexOf("searchstore") != -1)) {
		document.getElementById("tab_home").className = "selected";
		document.getElementById("tab_home_link").style.color = "#e3001b";
		document.getElementById("tab_home_link").style.fontWeight = "bold";
	}
	//Does the URL have any relation to create
	if (currentUrl.indexOf("create") != -1) {
		document.getElementById("tab_create").className = "selected";
		document.getElementById("tab_create_link").style.color = "#e3001b";
		document.getElementById("tab_create_link").style.fontWeight = "bold";
	}
	//Does the URL have any relation to create
	if (currentUrl.indexOf("eventid=349&") != -1) {
		document.getElementById("tab_create").className = "selected";
		document.getElementById("tab_create_link").style.color = "#e3001b";
		document.getElementById("tab_create_link").style.fontWeight = "bold";
	}
	//Does the URL have any relation to create
	if (currentUrl.indexOf("eventid=404&") != -1) {
		document.getElementById("tab_create").className = "selected";
		document.getElementById("tab_create_link").style.color = "#e3001b";
		document.getElementById("tab_create_link").style.fontWeight = "bold";
	}
	//Does the URL have any relation to contact
	if (currentUrl.indexOf("eventid=347&") != -1) {
		document.getElementById("tab_contact").className = "selected";
		document.getElementById("tab_contact_link").style.color = "#e3001b";
		document.getElementById("tab_contact_link").style.fontWeight = "bold";
	}
	//Does the URL have any relation to 'Schedule'?
	if (currentUrl.indexOf("schedule") != -1) {
		document.getElementById("tab_schedule").className = "selected";
		document.getElementById("tab_schedule_link").style.color = "#e3001b";
		document.getElementById("tab_schedule_link").style.fontWeight = "bold";
	}
}

function trimString (str) {
  str = typeof this.valueOf() == 'string' ? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function getParamValue(searchStr, param) {
	var params = searchStr.substring(searchStr.indexOf('&'+param) + 1, searchStr.length);
	var i = params.length;
	if  (params.indexOf('&') != -1) i = params.indexOf('&');
	var params = params.substring(params.indexOf('=') + 1, i);
	return params
}

function setCurrentCategory() {
	var winParam = getParamValue(window.location.href, 'CATEGORYID');
	
	var elements = getElementsByClassName('cat_link');	
	if (winParam != null) {
		for (i=0; i< elements.length; i++) {
			if (winParam == getParamValue(elements[i].href, 'CATEGORYID')) {
				elements[i].parentNode.className = 'selected';
			}
		}
	}
}

function autofitIframe(id){
	if (!window.opera && !document.mimeType && document.all && document.getElementById) {
		parent.document.getElementById(id).style.height=this.document.body.offsetHeight+"px";
	} else if(document.getElementById) {
		parent.document.getElementById(id).style.height=this.document.body.scrollHeight+"px"
	}
} 

function resetIFrameLocation(id, path) {
	var iframe = document.getElementById(id)
	if (iframe != null) {
		iframe.src = iframe.src + '?source=' + document.domain;
	}
}