/* General utility functions */
function placeElement(name, x, y) {
	var elem = document.getElementById(name);
	if (elem) {
		elem.style.left = x + 'px';
		elem.style.top = y + 'px';
	}
}

function hideElement(name) {
	var elem = document.getElementById(name);
	if (elem) {
		elem.style.visibility = 'hidden';
		elem.style.display = 'none';
	}
}

function showElement(name) {
	var elem = document.getElementById(name);
	if (elem) {
		elem.style.visibility = 'visible';
		elem.style.display = 'block';
	}
}

function URLencode(sStr) {
    return escape(sStr).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27');
}

function $(id) {
	return document.getElementById(id);
}

function $n(name) {
	return document.getElementsByName(name);
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try	{
		xmlHttp=new XMLHttpRequest();
	} catch (e)	{
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function removeObject(obj) {
	parentObj = document.getElementById(obj).parentNode;
	childObj = document.getElementById(obj); 
	parentObj.removeChild(childObj);
} 

function create_fundiv() {
	if (!document.getElementById('fundiv')) {
		var newDiv = document.createElement("div");
		newDiv.id = "fundiv";
		newDiv.style.filter = "alpha(opacity=70)";
		document.body.appendChild(newDiv);
	}
}

function create_overdiv() {
	if (!document.getElementById('overdiv')) {
		var newDiv = document.createElement("div");
		newDiv.id = "overdiv";
		document.body.appendChild(newDiv);
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function setActiveStyleSheet(title) {
	var i, a, main;
	createCookie("style", title, 365);
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if(a.getAttribute("title") == title) a.disabled = false;
		}
	}
}

window.onload = function(e) {
	var cookie = readCookie("style");
	var title = cookie ? cookie : "Medium Text";
	setActiveStyleSheet(title);
}

var RedirectUrl;
function redirectTo(str) {
	RedirectUrl	= str;
	setTimeout( "window.location.href = RedirectUrl", 0 );
}

function colorRet(x) {
	switch (x) {
    case "LW" :
        return "#FFCC00";
        break;
    case "RW" :
        return "#FF6600";
        break;
    case "C" :
        return "#C21515";
        break;
    case "LD" :
        return "#00CCFF";
        break;
    case "RD" :
        return "#FF00BB";
        break;
    case "G" :
        return "#00CC00";
        break;
    default :
        return "#FFFFFF";
        break;
    }
}
function colorPos(x) {
	if (x.charAt(1) == "/" || x.charAt(2) == "/") {
		x = x.split("/");
		return "<img style='width:22px; height:12px; margin-bottom:-2px;' src='pics/pill_"+x[0].toLowerCase()+"_l.png' /><img style='width:22px; height:12px; margin-bottom:-2px;' src='pics/pill_"+x[1].toLowerCase()+"_r.png' />";
		//return "<span style='color:"+colorRet(x[0])+"'>"+x[0]+"</span>/<span style='color:"+colorRet(x[1])+"'>"+x[1]+"</span>";
	} else {
		return "<img style='width:27px; height:12px; margin-bottom:-2px;' src='pics/pill_"+x.toLowerCase()+".png' />";
		//return "<span style='color:"+colorRet(x)+"'>"+x+"</span>";
	}
}

function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}
/* Countdown Clock, used to show TM time in the bottom */
function countdown() {
  var elm_sekund = document.getElementById('clock_seconds').innerHTML
  document.getElementById('clock_seconds').innerHTML = (elm_sekund==59)? countdown_minut() : twoDigits(++elm_sekund);
  setTimeout('countdown()',1000);
}
function countdown_minut() {
  var elm_minut = document.getElementById('clock_minutes').innerHTML
  document.getElementById('clock_minutes').innerHTML = (elm_minut==59)? countdown_time() : twoDigits(++elm_minut);
  return "0" + 0;
}
function countdown_time() {
      var elm_time = document.getElementById('clock_hours').innerHTML;
      document.getElementById('clock_hours').innerHTML = (elm_time==23)? "00" : twoDigits(++elm_time);
      return "0" + 0;
}
function twoDigits(num){
  return num>9 ? num : "0" + num;
}
/* Tabs gdoc for more */
function tab(target, id) {
	if (target != undefined && id != undefined) {
		var elem = $(target);
		var divs_ar = [];
		for (var i=0; i<elem.parentNode.childNodes.length; i++) {
			if (elem.parentNode.childNodes[i].nodeType == 1) {
				divs_ar.push(elem.parentNode.childNodes[i]);
			}
		}
		for (var i=1; i<divs_ar.length; i++) {
			divs_ar[i].className = "hide";
		}
		divs_ar[id+1].className = "";
		
		var spans_ar = [];
		for (var i=0; i<elem.childNodes.length; i++) {
			if (elem.childNodes[i].nodeType == 1) {
				spans_ar.push(elem.childNodes[i]);
				elem.childNodes[i].className = "";
			}
		}
		spans_ar[id].className = "active";
	}
}