	function IEBD(id)
	{
	var obj = (document.getElementById) ? document.getElementById(id) : ((document.all) ? document.all[id] : ((document.layers) ? document.layers[id] : false));
	return obj;
	}

	function intval( mixed_var, base ) {
	    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    var tmp;
	 
	    var type = typeof( mixed_var );
	 
	    if(type == 'boolean'){
	        if (mixed_var == true) {
	            return 1;
	        } else {
	            return 0;
	        }
	    } else if(type == 'string'){
	        tmp = parseInt(mixed_var * 1);
	        if(isNaN(tmp) || !isFinite(tmp)){
	            return 0;
	        } else{
	            return tmp.toString(base || 10);
	        }
	    } else if(type == 'number' && isFinite(mixed_var) ){
	        return Math.floor(mixed_var);
	    } else{
	        return 0;
	    }
	}

	var flyouts = new Array;
	function winop(url,windowName,uniqueID,w,h,scroll,resize,center)
	{
		if(center)
		{ 
		var winPos = ',top='+((screen.height - h) / 2)+',left='+((screen.width - w) / 2); 
		}
	var scrollArg = (scroll == false) ? '' : ',scrollbars=1'; 
	var resizeArg = (resize == false) ? '' : ',resizable=1'; 
	 if(!flyouts[uniqueID] || flyouts[uniqueID].closed)
	 {
		flyouts[uniqueID] = window.open(url,windowName,'width=' + w + ',height=' + h + scrollArg + resizeArg + winPos); 
		flyouts[uniqueID].resizeTo(w,h);
		flyouts[uniqueID].focus();
	 }
	}

  /* SHOW/HIDE */
	function handleClick(id) {
	var obj = IEBD(id);
	obj.style.display = ( obj.style.display != 'none') ? 'none' : '';
	}

	function CheckboxShowHide(checkbox_obj,show_hide_tag_id)
	{
	var obj = IEBD(show_hide_tag_id);
	obj.style.display = (checkbox_obj.checked) ? '' : 'none';
	}

	function CheckboxShowHideOr(checkbox_obj,other_checkbox_tag_id,show_hide_tag_id)
	{
	var obj = IEBD(show_hide_tag_id);
	var other_checkbox_obj = IEBD(other_checkbox_tag_id);
	obj.style.display = (checkbox_obj.checked || other_checkbox_obj.checked) ? '' : 'none';
	}

	function CheckboxSwitchElements(checkbox_obj,element1,element2)
	{
	var element1_obj = IEBD(element1);
	var element2_obj = IEBD(element2);

	 if(checkbox_obj.checked)
	 {
	 element1_obj.style.display = 'none';
	 element2_obj.style.display = '';
	 }
	 else
	 {
	 element1_obj.style.display = '';
	 element2_obj.style.display = 'none';
	 }
	}

	function switchClass(id,ClassName1,ClassName2) {
		var obj = "";
	
			//Get Object or return false if failed
			obj = IEBD(id);
			if(obj && obj.className)
			{
				obj.className = (obj.className == ClassName1) ? ClassName2 : ClassName1;
			}
	}
  /* END SHOW/HIDE */

  /* TIME DETECTION SCRIPTS */
	function DetectDST()
	{ //Made by: http://thegzl.com (This function was tough to make, please leave this comment)
	var D = new Date();
	var DT = 2 * D.getTimezoneOffset() - (new Date(2004, 0)).getTimezoneOffset() - (new Date(2004, 6)).getTimezoneOffset();
		DT = (DT < 0) ? 1 : 0;//1 = DST (60 min forward), 0 = None
	return DT;//1 = DST Enabled Basically...
	}

	function GetCompGMTOffset()
	{
	var d = new Date();
	var gmt_offset = (d.getTimezoneOffset()/60) * -1; 	gmt_offset_non_dst = gmt_offset - DetectDST();
	return gmt_offset_non_dst.toFixed(2);
	}
  /* END TIME DETECTION SCRIPTS */


  /* TIMER SCRIPT */
	var timeDiff = null;
	var timeStart = null;
	
	var timers = new Array();
	
	function addTimer(element, endTime, reload) {
		var timer = new Object();
		timer['element'] = element;
		timer['endTime'] = endTime;
		timer['reload'] = reload;
		timers.push(timer);
	}
	
	function startTimer() {
		var serverTime = getTime(document.getElementById("serverTime"));
		timeDiff = serverTime-getLocalTime();
		timeStart = serverTime;

		var spans = document.getElementsByTagName("span");
		for(var span_id in spans) {
			var span = spans[span_id];
			if(span.className == "timer") {
				startTime = getTime(span);
				if(startTime != -1)
					addTimer(span, serverTime+startTime, (span.className == "timer"));
			}
		}
	
		window.setInterval("tick()", 1000);
	}
	
	function tick() {
		tickTime();
	
		for(var timer in timers) {
			remove = tickTimer(timers[timer]);
			if(remove) {
				timers.splice(timer, 1);
			}
		}
	}
	
	function tickTime() {
		var serverTime = document.getElementById("serverTime");

		if(getTime(serverTime) == 86399)
		{
		document.location.href = document.location.href;
		return false;
		}
	
		if(serverTime != null) {
			time = getLocalTime()+timeDiff;
			formatTime(serverTime, time, true);
		}
	}
	
	function tickTimer(timer) {
		var time = timer['endTime']-(getLocalTime()+timeDiff);
	
		if(timer['reload'] && time < 0) {
			document.location.href = document.location.href;
			formatTime(timer['element'], 0, false);
			return true;
		}
		
		if (!timer['reload'] && time <= 0)
		{
			var parent = timer['element'].parentNode;
			parent.nextSibling.style.display = 'inline';
			parent.parentNode.removeChild(parent);
			
			return true;
		}
		
		formatTime(timer['element'], time, false);
		return false;
	}
	
	function getLocalTime() {
		var now = new Date();
		return Math.floor(now.getTime()/1000)
	}
	
	function getTime(element) {
		if(element.firstChild.nodeValue == null) return -1;
		part = element.firstChild.nodeValue.split(":");

		//Remove Leading Zeros
		for(j=1; j<3; j++) {
			if(part[j].charAt(0) == "0")
				part[j] = part[j].substring(1, part[j].length);
		}

		hours = parseInt(part[0]);
		minutes = parseInt(part[1]);
		seconds = parseInt(part[2]);
		time = hours*3600+minutes*60+seconds;
		return time;
	}
	
	function formatTime(element, time, clamp) {
		hours = Math.floor(time/3600);
		if(clamp) hours = hours%24;
		minutes = Math.floor(time/60) % 60;
		seconds = time % 60;
	
		timeString = hours + ":";
		if(minutes < 10)
			timeString += "0";
		timeString += minutes + ":";
		if(seconds < 10)
			timeString += "0";
		timeString += seconds;
	
		element.firstChild.nodeValue = timeString;
	}
  /* TIMER SCRIPT */
