	
	Function.prototype.method = function (name, func) {
		this.prototype[name] = func;
		return this;
	};
	
	var arrToggleDisplay = new Array('block', 'none');
	
	function toggleDisplay(id) {
		var obj = document.getElementById(id);
		obj.style.display = arrToggleDisplay[new Number(obj.style.display==arrToggleDisplay[0])];
	}
	
	function openComments(url, width, height) {
		var name = 'comments_';
		var popup = window.open(url, name, 'height='+height+',width='+width+',location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no');
		popup.focus();
		return false;
	}
	
	function checkValidAnswers(obj, min, type) {
		var objInput = obj.getElementsByTagName('INPUT');
		
		var answered = 0;
		for(var i =0; i<objInput.length; i++) {
			if(objInput[i].type != 'checkbox') continue;
			if(objInput[i].checked) answered++;
		}
		
		var pattern = new RegExp('%1\\$s', 'gi');
		switch(type) {
			case 0:
				if(answered == min) return true;
				alert( lblPollSelectNumAlts.replace(pattern, min) );
			break;
			
			case 2:
				if(answered >= min) return true;
				alert( lblPollSelectNumAltsOrMore.replace(pattern, min) );
			break;
			
			case 1:
				if(answered > 0 && answered <= min) return true;
				alert( lblPollSelectNumAltsOrLess.replace(pattern, min) );
			break;
		}
		
		return false;
	}
	
	var arrOnLoadList = new Array();
	
	function doOnLoad() {
		for(var i = 0; i < arrOnLoadList.length; i++) {
			eval(arrOnLoadList[i]);
		}
	}
	
	var objWindow = false;
	
	function openArticleImages(obj) {
		objWindow = window.open(obj.href, 'article_images_', 'height=620, width=720, location=no, menubar=no, resizable=yes, scrollbars=no, toolbar=no');
		if(objWindow) objWindow.focus();
		return false;
	}
	
	function openTipFriend(obj) {
		objWindow = window.open(obj.href, 'article_tipFriend', 'height=360, width=485, location=no, menubar=no, resizable=yes, scrollbars, toolbar=no');
		if(objWindow) objWindow.focus();
		return false;
	}
	
	function switchGalleryImage(url, title) {
		var obj = document.getElementById('galleryImage');
		if(obj && url && url.length) {
			obj.src = url;
			
			if(title) {
				var objDesc = obj.nextSibling.nextSibling;
				objDesc.innerHTML = title;
			}
			
			return false;
		}
		return true;
	}
	
	function userFormChangeFocus(event, obj, target) {
		if( ( (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) ) && obj.value.match('[0-9]{6,8}') ) {
			if(obj.value.length==8) {
				target.focus();
			} else if(obj.value.length==6 && (obj.value.substr(0,2) != '19' && obj.value.substr(0,2) != '20') ) {
				target.focus();
			}
		}
	}
	
	function ismaxlength(event, obj, maxlength) {
		if(obj.value.length < maxlength) {
			return true;
		} else {
			if(event.keyCode == 59 || event.keyCode == 61 || (event.keyCode > 64 && event.keyCode < 91) || event.keyCode == 109 || event.keyCode == 188 || (event.keyCode > 189 && event.keyCode < 193) || (event.keyCode > 218 && event.keyCode < 223) || event.keyCode == 226 ) {
				if( (event.ctrlKey || event.shiftKey || event.altKey) && (event.keyCode != 88 && event.keyCode != 86 && event.keyCode != 67) ) {
					return true;
				}
				obj.value = obj.value.substring(0, maxlength);
				return false;
			}
			return true;
		}
	}
	
	function toggleMenu(obj, e) {
		stopBubble(e);
		var objUL = obj.getElementsByTagName('UL');
		if(objUL.length > 0) {
			objUL[0].style.display = objUL[0].style.display=='none'?'block':'none';
			return false;
		}
		return true;
	}
	var old_className = false;
	function userList_hover(obj, focus) {
		switch(focus) {
			case false:
				if(old_className) {
					obj.className = old_className;
				}
			break;
			
			case true:
				old_className = obj.className;
				obj.className = 'userList_hover';
			break;
		}
	}
	
	function stopBubble(e) {
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
	}
	
	function checkRegisterForm(step) {
		
		switch(step) {
			case 1:
				var obj = document.getElementById('checkbox_agree');
				if(obj.checked) {
					return true;
				} else {
					alert('Du måste gå med på avtalet för att fortsätta.')
					return false;
				}
			break;
		}
		
	}
	
	function validURL(url) {
		return url.match(new RegExp('^[a-z]+://(([a-z0-9-]+\\.)+[a-z]{2,})(:[0-9]{1,5})?(\\/.*)?$', 'i')) ? true : false ;
	}
	
	function partialValidURL(url) {
		return url.match(new RegExp('^([a-z0-9-]+\\.)+[a-z]{2,}(:[0-9]{1,5})?(\\/.*)?$', 'i')) ? true : false ;
	}
	
	String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };