


function isLowerCase (c) { return ((c >= "a") && (c <= "z")); }
function isUpperCase (c) { return ((c >= "A") && (c <= "Z")); }

function max(a, b) { if (a > b) return a; return b; }


function getObj(id)
{
	
	if (document.getElementById)
		return document.getElementById(id);
	
	
	if (document.all)
		return document.all[id];

	
	if (document.layers)
		return document.layers[id + "Pos"].document.layers[id];
}


function checkEmail(email)
{
	return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email);
}



function submitEnter(e, fptr)
{
	var key = getKeyCode(e);
	
	if (key == 13)
	{
		if (fptr != null)
			fptr();
		return false;
	}
	return true;
}


function numbersOnly(e, chars, fptr)
{
	var key = getKeyCode(e);
	var keychar;
	
	if (key == null)
		return true;
		
	if (key == 13)
	{
		if (fptr != null)
			fptr();
		return false;
	}
	
	keychar = String.fromCharCode(key);	
	
	
	if (key == 0 || key == 8 || key == 9 || key == 27)
		return true;
	
	
	if (keychar >= '0' && keychar <= '9')
		return true;
		
	if (chars != null && chars.indexOf(keychar) > -1)
		return true;
		
	return false;
}


function emailInput(e, fptr)
{
	var specialchars = "@.-_";
	var key = getKeyCode(e);
	var keychar;
	
	if (key == null)
		return true;
		
	if (key == 13)
	{
		if (fptr != null)
			fptr();
		return false;
	}
	
	keychar = String.fromCharCode(key).toLowerCase();
		
	
	if (key == 0 || key == 8 || key == 9 || key == 13 || key == 27)
		return true;
		
	
	if (specialchars.indexOf(keychar) > -1)
		return true;	
	
	
	if (keychar >= 'a' && keychar <= 'z' || keychar >= '0' && keychar <= '9')
		return true;
		
	return false;
}


function formatField(myfield)
{
	var val = extractNumbers(myfield.value);
	myfield.value = formatNumbers(val);
}


function formatNumbers(val)
{
	val += ""; 
	var millionSeparator = '.';
	var thousandSeparator = '.';
	var len = val.length;
	
	if (len > 6)
		return val.substring(0, len-6) + 
			millionSeparator + val.substring(len-6, len-3) + 
			thousandSeparator +  val.substring(len-3, len);
		
	if (len > 3)
		return val.substring(0, len-3) + thousandSeparator +  
			val.substring(len-3, len);
	
	return val;
}


function extractNumbers(s)
{
	var ret = "";
	for (var i=0; i<s.length; i++)
	{
		var c = s.charAt(i);
		if ( ("0123456789").indexOf(c) > -1)
		{
			ret += c;
		}	
	}
	return ret;
}


function getKeyCode(e)
{
	var keycode = null;
	
	if (window.event)
		keycode = window.event.keyCode;
	else if (e)
		keycode = e.which;
		
	return keycode;
}


function getCookie(nameOfCookie)
{
	if (document.cookie.length > 0) 
	{ 
		var begin = document.cookie.indexOf(nameOfCookie+"="); 
		if (begin != -1)
		{ 
			begin += nameOfCookie.length + 1; 
			var end = document.cookie.indexOf(";", begin);
			if (end == -1)
				end = document.cookie.length;
			return unescape(document.cookie.substring(begin, end)); 
		} 
	}
	return null; 
}


function setCookie(nameOfCookie, value, expiredays) 
{
	var expireDate = new Date ();
	expireDate.setTime(expireDate.getTime() + (expiredays * 24 * 3600 * 1000));
	document.cookie = nameOfCookie + "=" + escape(value) + 
	((expiredays == null) ? "" : "; expires=" + expireDate.toGMTString());
}


function delCookie(nameOfCookie) 
{
	if (getCookie(nameOfCookie))
	{
		document.cookie = nameOfCookie + "=" +
			"; expires=Thu, 01-Jan-01 00:00:01 GMT";
	}
}


function preloadImage(path)
{
	var img = new Image();
	img.src = path;
	return img;
}

function addBookmark(title, url)
{
	if (window.sidebar) // Mozilla Firefox
		window.sidebar.addPanel(title, url, "");
	else if (window.external) // IE
		window.external.AddFavorite(url, title);
	else
		alert("Din webbläsare stödjer inte den här funktionen. Tryck Ctrl+d för att lägga till favorit.");
}