var Realist = {
	login : function(el, event) {
		try {
			return this.handleEnter(el.value, event);		
		}
		catch(e) {
			return true;
		}
	},
	logout : function() {
		this.onLoading = function() {
		//	Realist.setMessageColour("green");	
		//	Realist.setMessage("Logger ut...");		
		};
		this.onCompletion = function() {
			Realist.redirect("naering");	
		};
		new ImperialAjax_Form(this.val("_axRoot") + "logout");
	},
	handleEnter : function(val, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			if(val.length>=4) {
				this.check(val);
			}
			else {
				this.setMessageColour("#E0360E");	
				this.setMessage("Feil passord!");
			}
		}
		else {
			return true;
		}
	},
	check : function(txt) {
		this.onLoading = function() {
			Realist.setMessageColour("white");	
			Realist.setMessage("Vennligst vent");		
		};
		this.onCompletion = function() {
			if(Realist.val("_axReturn")=="true") {
				Realist.setMessageColour("white");	
				Realist.setMessage("Tilgang&nbsp;innvilget");			
				Realist.redirect("naering/foransatte");
			}
			else {
				Realist.setMessageColour("#E0360E");	
				Realist.setMessage("Feil passord!");
			}
		};
		new ImperialAjax_Form(this.val("_axRoot") + "login?txt=" + txt);
	},
	onLoading : function() {
		//keep this empty, please
	},
	onCompletion : function() {
		//keep this empty, please.
	},
	el : function(elementId) {
		try {
			return document.getElementById(elementId);
		}
		catch(ex) {
			return null;
		}
	},
	val : function(elementId) {
		try {
			return document.getElementById(elementId).value;
		}
		catch(ex) {
			return "";
		}
	},
	show : function(id, doShow) {
		try {
			this.el(id).style.display=doShow;
		}
		catch(ex) {
			
		}
	},
	setMessageColour : function(colour) {
		try {
			document.getElementById("retmsg").style.color=colour;
		}
		catch(ex) {
		
		}
	},
	setMessage : function(errText) {
		try {
			document.getElementById("retmsg").innerHTML=errText;
			setTimeout("Realist.setMessage('')",2000);
		}
		catch(ex) {
			
		}
	},
	redirect : function(to) {
		try {
			document.location.href=this.val("_axRoot") + to;
		}
		catch(ex) {
		}
	},
	slushyHoverEffect : function(el,typf,px) {
		try {
			switch(typf) {
				case 0 : el.style.backgroundPosition="0% " + px + "px"; break;
				case 1 : el.style.backgroundPosition="0% 0px"; break;
			}
		}
		catch(ex) {
		
		}
	},
	fetch_ObjectList_Salg : function(containerId) {
		if(ImperialCookie.getCookieValue("pos")!="") {
			this.setOverwriteCurrentPage(ImperialCookie.getCookieValue("pos"));
		}
		this.onLoading = function() {
			Realist.show("axLoader","block");
		};
		this.onCompletion = function() {
			Realist.show("axLoader","none");
			$(document).ready(function() {
		    $(".objektItem").hover(function () {
						$(this).addClass("objektItemOver");
			  },
			  function () {
			     $(this).removeClass("objektItemOver");
			  });
		  });
		};
		new ImperialAjax_Form("axSalg?cid=" + containerId + "&page=" + this.getCurrentPage());
	},
	fetch_ObjectList_Utleie : function(containerId) {
		if(ImperialCookie.getCookieValue("pos")!="") {
			this.setOverwriteCurrentPage(ImperialCookie.getCookieValue("pos"));
		}
		this.onLoading = function() {
			Realist.show("axLoader","block");
		};
		this.onCompletion = function() {
			Realist.show("axLoader","none");
			$(document).ready(function() {
		    $(".objektItem").hover(function () {
						$(this).addClass("objektItemOver");
			  },
			  function () {
			     $(this).removeClass("objektItemOver");
			  });
		  });
		};
		new ImperialAjax_Form("axUtleie?cid=" + containerId + "&page=" + this.getCurrentPage());
	},
	goBackToSearchPage : function() {
		window.location.href=ImperialCookie.getCookieValue("referer");
	},
	enablePrevious : function() {
		/*document.getElementById("axPrevious").blur();
		document.getElementById("axPrevious").disabled=false;
		document.getElementById("axPrevious").style.backgroundImage="url(../gfx/knapp_FORRIGE_SIDE.gif)";
		this.slushyHoverEffect(document.getElementById("axPrevious"), 1, null);
		this.setCursor("axPrevious","pointer");
		this.setCursor("axPrevious","hand");
		*/
		var s=this.getCmds("cAxPrevious");
		
		var axPrevious;
		for(var i=0;i<s.length;i++) {
			axPrevious=s[i];
			axPrevious.blur();
			axPrevious.disabled=false;
			axPrevious.style.backgroundImage="url(../gfx/knapp_FORRIGE_SIDE.gif)";
			this.slushyHoverEffect(axPrevious, 1, null);
			axPrevious.style.cursor="pointer";
			axPrevious.style.cursor="hand";
		}
	},
	disablePrevious : function() {
		/*document.getElementById("axPrevious").blur();
		document.getElementById("axPrevious").disabled=true;
		document.getElementById("axPrevious").style.backgroundImage="url(../gfx/knapp_FORRIGE_SIDE_disabled.gif)";
		this.setCursor("axPrevious","default");*/
		
		var s=this.getCmds("cAxPrevious");
		
		var axPrevious;
		for(var i=0;i<s.length;i++) {
			axPrevious=s[i];
			axPrevious.blur();
			axPrevious.disabled=true;
			axPrevious.style.backgroundImage="url(../gfx/knapp_FORRIGE_SIDE_disabled.gif)";
			axPrevious.style.cursor="default";
		}
	},
	enableNext : function() {
		/*
		document.getElementById("axNext").blur();
		document.getElementById("axNext").disabled=false;
		document.getElementById("axNext").style.backgroundImage="url(../gfx/knapp_NESTE_SIDE.gif)";
		this.slushyHoverEffect(document.getElementById("axNext"), 1, null);
		this.setCursor("axNext","pointer");
		this.setCursor("axNext","hand");*/
		
		var s=this.getCmds("cAxNext");
		
		var axNext;
		for(var i=0;i<s.length;i++) {
			axNext=s[i];
			axNext.blur();
			axNext.disabled=false;
			axNext.style.backgroundImage="url(../gfx/knapp_NESTE_SIDE.gif)";
			this.slushyHoverEffect(axNext,1,null)
			axNext.style.cursor="pointer";
			axNext.style.cursor="hand";
		}
	},
	disableNext : function() {
		/*document.getElementById("axNext").blur();
		document.getElementById("axNext").disabled=true;
		document.getElementById("axNext").style.backgroundImage="url(../gfx/knapp_NESTE_SIDE_disabled.gif)";
		*/
		//this.setCursor("axNext","default");
		
		var s=this.getCmds("cAxNext");
		
		var axNext;
		for(var i=0;i<s.length;i++) {
			axNext=s[i];
			axNext.blur();
			axNext.disabled=true;
			axNext.style.backgroundImage="url(../gfx/knapp_NESTE_SIDE_disabled.gif)";
			axNext.style.cursor="default";
		}
	},
	setCursor : function(cmdId,cursorStyle) {
		document.getElementById(cmdId).style.cursor=cursorStyle;
	},
	next : function(listType, containerId) {
		this.setCurrentPage(+1);
		this.disableNext();
		this.fetch_ObjectList(listType, containerId);
	},
	previous : function(cmd, listType, containerId) {
		if(!cmd.disabled){
			this.setCurrentPage(-1);
		}
		if(this.getCurrentPage()==1) {
			//
		}
		this.disablePrevious();
		this.fetch_ObjectList(listType, containerId);
	},
	getCmds : function(className) {
		return this.getElementsByClassName(document, "*", className);
	},
	fetch_ObjectList : function(listType, containerId){
		if(listType=="1") {
			this.fetch_ObjectList_Salg(containerId);
		}
		else {
			this.fetch_ObjectList_Utleie(containerId);
		}
	},
	setCurrentPage : function(pos) {
		document.getElementById("axCurrentPage").value=this.getCurrentPage()+pos;
	},
	setOverwriteCurrentPage : function(pos) {
		document.getElementById("axCurrentPage").value=pos;
	},
	getCurrentPage : function() {
		return parseInt(document.getElementById("axCurrentPage").value);
	},
	resetCurrentPage : function() {
		document.getElementById("axCurrentPage").value="1";
	},
	goto : function(path, pos) {
		ImperialCookie.setCookieValue("pos",pos);
		window.location.href=path;
	},
	nextBig : function() {
		this.showImageProg();
		document.getElementById("small"+document.getElementById("nextBig").value).style.border="solid 2px #e5e9ec";
		document.getElementById("nextBig").value=parseInt(document.getElementById("nextBig").value)+1;
		if(document.getElementById("nextBig").value==(theimgs.length)+"") {
			document.getElementById("nextBig").value=0;
		}
		document.getElementById("stortBilde").src="../image?url=" + theimgs[document.getElementById("nextBig").value] + "&w=575&h=1300";
		document.getElementById("small"+document.getElementById("nextBig").value).style.border="solid 2px #a2aeb5";
		this.hideImageProg();
	},
	setAsBig : function(i) {
		this.showImageProg();
		if(document.getElementById("nextBig").value=="") {
			document.getElementById("nextBig").value=0;
		}
		document.getElementById("small"+document.getElementById("nextBig").value).style.border="solid 2px #e5e9ec";
		document.getElementById("nextBig").value=i;
		document.getElementById("stortBilde").src="../image?url=" + theimgs[i] + "&w=575&h=1300";
		document.getElementById("small"+i).style.border="solid 2px #a2aeb5";
		this.hideImageProg();
	},
	showImageProg : function() {
		try {
			document.getElementById("waitbar").style.display="block";
		}
		catch(e) {
			//alert("error showImageProg: " + e.description);
		}
	},
	hideImageProg : function() {
		try {
			setTimeout('document.getElementById("waitbar").style.display="none";',500);
		}
		catch(e) {
			//alert("error hideImageProg: " + e.description);
		}
	},
  getElementsByClassName : function(oElm, strTagName, strClassName){
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i=0; i<arrElements.length; i++){
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)){
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements)
	},
	browserHacks : function() {
		if(!$.browser.msie) {
	   $(".subpageContainer").css("margin-left","20px");
	  }
	  else {
	   if($.browser.version=="8.0")
	    $("#tjenester_submeny_eiendomsforvaltning").css("position","relative").css("top","-3px");
	   else {
	   	$("#tjenester_submeny_eiendomsforvaltning").css("position","relative").css("top","0px");
	   }
	  }
	  	
	  if($.browser.mozilla) {
	   $("#tjenester_submeny_eiendomsforvaltning").css("position","relative").css("top","-4px");
	  }
	}
}; 

if(typeof Array.prototype.push != "function"){
	Array.prototype.push = ArrayPush;
	function ArrayPush(value){
		this[this.length] = value;
	}
}

$(function() {
	Realist.browserHacks();	
});
