// UPS js toolkit
// (c) Morten Daniel Fornes
// http://mortz.tjokk.net

function GetXmlHttpObject()
{
	try
	{
		return new XMLHttpRequest();
	}
	catch (e)
	{
		try
		{
			return new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Din nettleser støtter ikke AJAX!\nPrøv http://getfirefox.com");
			}
		}
	}
}

function GetElement(id)
{
	if (document.getElementById) return document.getElementById(id);
	else if (document.all) return document.all[id];
	else if (document.layers) return document.layers[id];
	return NULL;
}

function AjaxRequest(targetID, url)
{
	var waitString = '<div class="loader"></div>';
	var xmlHttp = GetXmlHttpObject();
	var element = GetElement(targetID);
	element.innerHTML = waitString;
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState == 4)
		{
			element.innerHTML = xmlHttp.responseText; 
		}
	}
	xmlHttp.open('GET', url, true);
	xmlHttp.send(null);
}

function ConfirmRedirect(msg, url)
{
	var a = confirm(msg);
	if (a) document.location = url;
}

function GetMousePos(e)
{
	var pos = new Array(2);
	if (!e) var e = window.event;

	if (e.pageX || e.pageY)
	{
		pos[0] = e.pageX;
		pos[1] = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		pos[0] = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		pos[1] = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	
	return pos;
}

var TooltipOffsetX = 8;
var TooltipOffsetY = -8;

function ShowTooltip(e, content, cl)
{
	var tip = GetElement("tooltip");
	tip.className = cl;
	tip.style.visibility = "visible";
	tip.innerHTML = content;
	var pos = GetMousePos(e);
	tip.style.left = pos[0]+TooltipOffsetX+"px";
	tip.style.top = pos[1]+TooltipOffsetY+"px";
}

function MoveTooltip(e)
{
	var tip = GetElement("tooltip");
	var pos = GetMousePos(e);
	tip.style.left = pos[0]+TooltipOffsetX+"px";
	tip.style.top = pos[1]+TooltipOffsetY+"px";
}

function HideTooltip()
{
	var tip = GetElement("tooltip");
	tip.style.visibility = "hidden";
}

function CursorAppend(str, target)
{
	var text = GetElement(target);

	if (text.selectionStart>='0')
	{
		var carret = text.selectionStart;
		text.value = text.value.substr(0,carret) + str + text.value.substr(carret);
		text.selectionStart = carret+str.length;
		text.selectionEnd = text.selectionStart;
	}
	else text.value += str;
	text.focus();
}


