var Sem = {
	toggleText : function() {
		if(document.getElementById("textContainer").style.display=="none") {
			document.getElementById("textToggleDescription").innerHTML="Klikk her for å gjemme teksten";
			document.getElementById("textContainer").style.display="block";
			document.getElementById("textToggleImage").src="gfx/lesmindre.gif";
		}
		else {
			document.getElementById("textToggleDescription").innerHTML="Klikk her for å se hele teksten";
			document.getElementById("textContainer").style.display="none";
			document.getElementById("textToggleImage").src="gfx/lesmer.gif";			
		}
	},
	setSearchHeader : function(listtype) {
		if(listtype!="4") {
			switch(parseInt(this.getSortMethod())) {
				case 1 : Sem.setHtml("cxheader","Publisert"); break;
				case 2 : Sem.setHtml("cxheader","Pris lav-høy"); break;
				case 3 : Sem.setHtml("cxheader","Pris høy-lav"); break;
				case 4 : Sem.setHtml("cxheader","P.rom lav-høy"); break;
				case 5 : Sem.setHtml("cxheader","P.rom høy-lav"); break;
				case 6 : Sem.setHtml("cxheader","Boligtype"); break;
			}
		}
		else {
			switch(parseInt(this.getSortMethod())) {
				case 1 : Sem.setHtml("cxheader","Publisert"); break;
				case 2 : Sem.setHtml("cxheader","Pris lav-høy"); break;
				case 3 : Sem.setHtml("cxheader","Pris høy-lav"); break;
				case 4 : Sem.setHtml("cxheader","Areal lav-høy"); break;
				case 5 : Sem.setHtml("cxheader","Areal høy-lav"); break;
			}
		}
	},
	getArray : function(str) {
		try {
			return this.get(str).split(",");
		}
		catch(ex) {
		
		}
	},
	getPosInArray : function() {
		var all=this.getArray("axObjectList");
		var current=this.get("axCurrentObject");
		for(var i=0;i<all.length;i++) {
			if(all[i]==current) {
				return i;	
			}
		}
	},
	checkObjectCmds : function(str) {
		var pos=this.getPosInArray();
		if(pos==undefined) {
			this.disablePreviousObject();
			this.disableNextObject();
		}
		else {	
			if(pos < this.getArray(str).length-1) {
				this.enableNextObject();
			}
			else {
				this.disableNextObject();
			}
			
			if(pos==0) {
				this.disablePreviousObject();
			}
			else {
				this.enablePreviousObject();
			}
		}
	},
	nextObject : function(p) {
		var all=this.getArray("axObjectList");
		var current=this.get("axCurrentObject");
		for(var i=0;i<all.length;i++) {
			if(all[i]==current) {
				if(all[i+1]!=undefined) {
					window.location="object?id=" + all[i+1];
				}
			}
		}
	},
	previousObject : function(p) {
		var all=this.getArray("axObjectList");
		var current=this.get("axCurrentObject");
		for(var i=0;i<all.length;i++) {
			if(all[i]==current) {
				if(all[i-1]!=undefined) {
					window.location="object?id=" + all[i-1];
				}
			}
		}
	},
	setObjectsType : function(p) {		
		ImperialCookie.setCookieValue("objectsType",p);
	},
	getObjectsType : function() {
		return ImperialCookie.getCookieValue("objectsType");
	},
	setObjectsPage : function(p) {		
		ImperialCookie.setCookieValue("objectsPage",p);
	},
	getObjectsPage : function() {
		return ImperialCookie.getCookieValue("objectsPage");
	},
	nextBig : function() {
		this.showImageProg();
		document.getElementById("small"+document.getElementById("nextBig").value).style.border="solid 1px #062D56";
		document.getElementById("nextBig").value=parseInt(document.getElementById("nextBig").value)+1;
		if(document.getElementById("nextBig").value==(theimgs.length)+"") {
			document.getElementById("nextBig").value=0;
		}
		document.getElementById("big").src="image?url=" + theimgs[document.getElementById("nextBig").value] + "&w=561&h=1300";
		document.getElementById("small"+document.getElementById("nextBig").value).style.border="solid 1px white";
		this.hideImageProg();
	},
	setAsBig : function(i) {
		try {
			this.showImageProg();
			document.getElementById("small"+document.getElementById("nextBig").value).style.border="solid 1px #062D56";
			document.getElementById("nextBig").value=i;
			document.getElementById("big").src="image?url=" + theimgs[i] + "&w=561&h=1300";
			document.getElementById("small"+i).style.border="solid 1px white";
			this.hideImageProg();
		}
		catch(ex) {
			alert("error setAsBig: " + ex.description);
		}
	},
	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);
		}
	},
	onLoading : function() {
		//keep empty	
	},
	onCompletion : function() {
		//keep empty
	},
	setHtml : function(key,val) {
		document.getElementById(key).innerHTML=val;
	},
	set : function(key,val) {
		document.getElementById(key).value=val;
	},
	get : function(key) {
		return document.getElementById(key).value;
	},
	check_Email : function(email) {
		return email.match(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
	},
	axFetchObjects : function(listType) {
		this.onLoading = function() {
			setTimeout("Sem.show_Progbar(\"block\")",10);
		};
		this.onCompletion = function() {
			setTimeout("Sem.show_Progbar(\"none\")",10);
			Sem.init_sIFR();
		};
		new ImperialAjax_Form("axObjects?type=" + listType + "&page=" + this.getCurrentPage() + "&sorting=" + this.getSortMethod());
		
	},
	axSend_Schema_Visningsliv : function() {
		var isok=true;
		
		if(this.get("name")=="") {
			isok=false;
			this.display("name_X");
		}
		else { this.hide("name_X"); }
		
		if(this.get("address")=="") {
			isok=false;
			this.display("address_X");
		}
		else { this.hide("address_X"); }
		
		if(this.get("zipf")=="") {
			isok=false;
			this.display("zipf_X");
		}
		else { this.hide("zipf_X"); }
		
		if(this.get("location")=="") {
			isok=false;
			this.display("location_X");
		}
		else { this.hide("location_X"); }
		
		if(isok) {		
			if(confirm("Er all informasjon korrekt?\n" + 
						"Navn: " + this.get("name") + "\n" +
						"Adresse: " + this.get("address") + "\n" +
						"Postnummer: " + this.get("zipf") + "\n" +
						"Sted: " + this.get("location") + "\n")) {
				this.axSend("?type=visningsliv&name=" + this.get("name") + "&address=" + this.get("address") + "&zipf=" + this.get("zipf") + "&location=" + this.get("location"));
			}
		}
		else {
			
		}
	},
	axSend_Schema_Selge : function() {
		var isok=true;
		
		if(this.get("name")=="") {
			isok=false;
			this.display("name_X");
		}
		else { this.hide("name_X"); }
		
		if(this.get("address")=="") {
			isok=false;
			this.display("address_X");
		}
		else { this.hide("address_X"); }
		
		if(this.get("zipf")=="") {
			isok=false;
			this.display("zipf_X");
		}
		else { this.hide("zipf_X"); }
		
		if(this.get("location")=="") {
			isok=false;
			this.display("location_X");
		}
		else { this.hide("location_X"); }
		
		if(!this.check_Email(this.get("from"))) {
			isok=false;
			this.display("from_X");
		}
		else { this.hide("from_X"); }
			
		if(this.get("phone")=="") {
			isok=false;
			this.display("phone_X");
		}
		else { this.hide("phone_X"); }	
			
		if($("table.selge").find("input[type='radio']:checked").length==0) {
			isok=false;
			this.display("office_X");
		}
		else { this.hide("office_X"); }	
		
		if(isok) {		
			if(confirm("Er all informasjon korrekt?\n" + 
						"Navn: " + this.get("name") + "\n" +
						"Adresse: " + this.get("address") + "\n" +
						"Postnummer: " + this.get("zipf") + "\n" +
						"Sted: " + this.get("location") + "\n" +
						"E-post: " + this.get("from") + "\n" + 
						"Telefon: " + this.get("phone") + "\n" +
						"Kontor: " + $("table.selge").find("input[type='radio']:checked").val() + "\n")) {
				this.axSend("?type=selge&name=" + this.get("name") + "&address=" + this.get("address") + "&zipf=" + this.get("zipf") + "&location=" + this.get("location") + "&from=" + this.get("from") + "&phone=" + this.get("phone") + "&office=" + $("table.selge").find("input[type='radio']:checked").attr("email"));
			}
		}
		else {
			
		}
	},
	axSend_Schema_Salgsoppgave : function() {
		var isok=true;
		
		if(this.get("name")=="") {
			isok=false;
			this.display("name_X");
		}
		else { this.hide("name_X"); }
			
		if(!this.check_Email(this.get("from"))) {
			isok=false;
			this.display("from_X");
		}
		else { this.hide("from_X"); }
		
		if(this.get("customeraddress")=="") {
			isok=false;
			this.display("customeraddress_X");
		}
		else { this.hide("customeraddress_X"); }
			
		if(this.get("phone")=="") {
			isok=false;
			this.display("phone_X");
		}
		else { this.hide("phone_X"); }
		
		if(isok) {		
			if(confirm("Er all informasjon korrekt?\n" + 
						"Navn: " + this.get("name") + "\n" +
						"Epost: " + this.get("from") + "\n" +
						"Adresse: " + this.get("customeraddress") + "\n" +
						"Telefon: " + this.get("phone") + "\n")) {
				this.axSend("?type=salgsoppgave&name=" + this.get("name") + "&address=" + this.get("address") + "&from=" + this.get("from")+"&to=" + this.get("brokeremail")+"&customeraddress=" + this.get("customeraddress") + "&phone=" + this.get("phone"));
			}
		}
		else {
			
		}
	},
	axSend : function(args) {
		this.onLoading = function() {
			this.disable("button");
			setTimeout("Sem.show_Progbar(\"block\")",10);
		};
		this.onCompletion = function() {
			this.enable("button");
			setTimeout("Sem.show_Progbar(\"none\")",300);
		};
		new ImperialAjax_Form("axMail" + args);
	},
	axInitPage : function(pageType) {
		if(document.getElementById("axCurrentPage").value!="") {
			document.getElementById(document.getElementById("axCurrentPage").value).src='gfx/stilart_tab_' + document.getElementById("axCurrentPage").value + '_n.gif';
			document.getElementById(document.getElementById("axCurrentPage").value + "Container").className="stilartInactiveTd";
		}
		document.getElementById("axCurrentPage").value=pageType;
		document.getElementById(pageType).src='gfx/stilart_tab_' + document.getElementById("axCurrentPage").value + '_a.gif';
		document.getElementById(document.getElementById("axCurrentPage").value + "Container").className="stilartActiveTd";
		
		this.onLoading = function() {
			Sem.show_Progbar("block")
		};
		this.onCompletion = function() {
			setTimeout('Sem.show_Progbar("none");',500);
			Sem.init_sIFR();
		};		
		
		if(pageType=="styles") {
			new ImperialAjax_Form("axStyles");
		}
		else 
		if(pageType=="history") {
			new ImperialAjax_Form("axHistory");
		}
	},
	axInitHistory : function(historyType) {
		document.getElementById("axCurrentHistoryType").value=historyType;
		this.onLoading = function() {
			Sem.show_Progbar("block")
		};
		this.onCompletion = function() {
			setTimeout('Sem.show_Progbar("none");',500);
			Sem.init_sIFR();
			this.setActiveHistoryHeader(historyType);
			Sem.init_sIFR();
		};		
		new ImperialAjax_Form("axHistoryContent?type=" + historyType);
	}, 
	axFetchHistory : function(historyType) {
		
		this.onLoading = function() {
			Sem.show_Progbar("block")
		};
		this.onCompletion = function() {
			setTimeout('Sem.show_Progbar("none");',500);
			document.getElementById(document.getElementById("axCurrentHistoryType").value).src='gfx/historie_' + document.getElementById("axCurrentHistoryType").value + '_n.gif';
			this.setActiveHistoryHeader(historyType);
			document.getElementById("axCurrentHistoryType").value=historyType;
			Sem.init_sIFR();
		};
		new ImperialAjax_Form("axHistoryContent?type=" + historyType);
	},
	axInitStyle : function(styleType) {
		document.getElementById("axCurrentStyleType").value=styleType;
		this.onLoading = function() {
			Sem.show_Progbar("block")
		};
		this.onCompletion = function() {
			setTimeout('Sem.show_Progbar("none");',500);
			Sem.init_sIFR();
			this.setActiveStyleHeader(styleType);
			Sem.init_sIFR();
		};		
		new ImperialAjax_Form("axStylesContent?type=" + styleType);
	}, 
	axFetchStyle : function(styleType) {
		
		this.onLoading = function() {
			Sem.show_Progbar("block");
		};
		this.onCompletion = function() {
			setTimeout('Sem.show_Progbar("none");',500);
			document.getElementById(document.getElementById("axCurrentStyleType").value).src='gfx/stilart_time_' + document.getElementById("axCurrentStyleType").value + '_n.gif';
			this.setActiveStyleHeader(styleType);
			document.getElementById("axCurrentStyleType").value=styleType;
			Sem.init_sIFR();
		};
		new ImperialAjax_Form("axStylesContent?type=" + styleType);
	},
	setActiveHistoryHeader : function(historyType) {
		try {
			document.getElementById(document.getElementById("axCurrentHistoryType").value).src='gfx/historie_' + document.getElementById("axCurrentHistoryType").value + '_n.gif';
			document.getElementById(historyType).src='gfx/historie_' + historyType + '_a.gif';
			document.getElementById("axCurrentHistoryType").value=historyType;
		}
		catch(ex) {
			alert(ex.description);
		}
	},
	setActiveStyleHeader : function(styleType) {
		try {
			document.getElementById(document.getElementById("axCurrentStyleType").value).src='gfx/stilart_time_' + document.getElementById("axCurrentStyleType").value + '_n.gif';
			document.getElementById(styleType).src='gfx/stilart_time_' + styleType + '_a.gif';
			document.getElementById("axCurrentStyleType").value=styleType;
		}
		catch(ex) {
			alert(ex.description);
		}
	},
	setSortMethod : function(sortmethod) {
		this.resetCurrentPage();
		//document.getElementById("axSortMethod").value=sortmethod;
		ImperialCookie.setCookieValue("axSortMethod",sortmethod);
		this.axFetchObjects(document.getElementById("axListType").value);
	},
	getSortMethod : function() {
		var c=ImperialCookie.getCookieValue("axSortMethod");
		if(c=="") {
			c="1";
			ImperialCookie.setCookieValue("axSortMethod",c);
		}
		return c; //document.getElementById("axSortMethod").value;
	},
	setMoogOver : function(el) {
		if(el.src.indexOf("_a.") < 0) {
			el.src=el.src.replace("_n.","_o.");
		}
	},
	setMoogOut : function(el) {
		if(el.src.indexOf("_a.") < 0) {
			el.src=el.src.replace("_o.","_n.");
		}
	},
	getCurrentPage : function() {
		if(this.getObjectsPage()!="") {
			return parseInt(this.getObjectsPage());
		}	else {
			return parseInt(document.getElementById("axCurrentPage").value);
		}
	},
	setCurrentPage : function(pos) {
		this.setObjectsPage(this.getCurrentPage()+pos);
		document.getElementById("axCurrentPage").value=this.getCurrentPage()+pos;
	},
	resetCurrentPage : function() {
		this.setObjectsPage("1");
		document.getElementById("axCurrentPage").value="1";
	},
	next : function(listType) {
		this.setCurrentPage(+1);
		this.disableNext();
		this.axFetchObjects(listType);
	},
	previous : function(cmd, listType) {
		if(!cmd.disabled){
			this.setCurrentPage(-1);
		}
		if(this.getCurrentPage()==1) {
			//
		}
		this.disablePrevious();
		this.axFetchObjects(listType);
	},
	enablePrevious : function() {
		document.getElementById("axPrevious").disabled=false;
		document.getElementById("axPrevious").style.backgroundImage="url(gfx/knapp_FORRIGE_SIDE.gif)";
	},
	disablePrevious : function() {
		document.getElementById("axPrevious").disabled=true;
		document.getElementById("axPrevious").style.backgroundImage="url(gfx/knapp_FORRIGE_SIDE_disabled.gif)";
	},
	enableNext : function() {
		document.getElementById("axNext").disabled=false;
		document.getElementById("axNext").style.backgroundImage="url(gfx/knapp_NESTE_SIDE.gif)";
	},
	disableNext : function() {
		document.getElementById("axNext").disabled=true;
		document.getElementById("axNext").style.backgroundImage="url(gfx/knapp_NESTE_SIDE_disabled.gif)";
	},
	enablePreviousObject : function() {
		document.getElementById("axPrevious").disabled=false;
		document.getElementById("axPrevious").style.backgroundImage="url(gfx/knapp_FORRIGE_BOLIG.gif)";
	},
	disablePreviousObject : function() {
		document.getElementById("axPrevious").disabled=true;
		document.getElementById("axPrevious").style.backgroundImage="url(gfx/knapp_FORRIGE_BOLIG_disabled.gif)";
	},
	enableNextObject : function() {
		document.getElementById("axNext").disabled=false;
		document.getElementById("axNext").style.backgroundImage="url(gfx/knapp_NESTE_BOLIG.gif)";
	},
	disableNextObject : function() {
		document.getElementById("axNext").disabled=true;
		document.getElementById("axNext").style.backgroundImage="url(gfx/knapp_NESTE_BOLIG_disabled.gif)";
	},
	show_Progbar : function(disp) {
		document.getElementById("thewaiter").style.display=disp;
	},
	getListType : function() {
		try {
			return document.getElementById("axListType").value;
		}
		catch(ex) {
			return "";
		}
	},
	disable : function(key) {
		document.getElementById(key).disabled=true;
	},
	enable : function(key) {
		document.getElementById(key).disabled=false;
	},
	display : function(key) {
		document.getElementById(key).style.display="block";
	},
	hide : function(key) {
		document.getElementById(key).style.display="none";
	},
	onLoad : function() {
		this.init_sIFR();
		try { 
			this.hide("textContainer");	
		}
		catch(ex) { }

		BrowserDetect.init();
		
		/* Opera is recalcitrant when loading the flash headers on the object page */
		if(BrowserDetect.browser=="Opera") {
			try {
				this.hide("objektInfo");
				setTimeout('Sem.display("objektInfo");',150);
			}
			catch(ex) {
				
			}
		}
	}, 
	init_sIFR : function() {
		if(typeof sIFR == "function") {
			sIFR.replaceElement(named({sSelector:"h1", sFlashSrc:"flash/dinpromedium.swf", sColor:"#d0b505", sLinkColor:"#d0b505", sBgColor:"#062d56", sHoverColor:"#d0b505", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"offsetLeft=-1&offsetTop=0", sWmode:"transparent", sCase:"upper"}));
			sIFR.replaceElement(named({sSelector:"h2", sFlashSrc:"flash/dinpromedium.swf", sColor:"#d0b505", sLinkColor:"#d0b505", sBgColor:"#062d56", sHoverColor:"#d0b505", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"offsetLeft=0&offsetTop=0", sWmode:"transparent", sCase:"upper"}));
			sIFR.replaceElement(named({sSelector:"h3", sFlashSrc:"flash/dinpromedium.swf", sColor:"#ffffff", sLinkColor:"#d0b505", sBgColor:"#062d56", sHoverColor:"#d0b505", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"offsetLeft=-0.7&offsetTop=-2", sWmode:"transparent", sCase:"upper"}));
			sIFR.replaceElement(named({sSelector:"h5", sFlashSrc:"flash/dinpromedium.swf", sColor:"#d0b505", sLinkColor:"#d0b505", sBgColor:"#062d56", sHoverColor:"#d0b505", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"offsetLeft=0&offsetTop=0", sWmode:"transparent", sCase:"upper"}));
		}
	},
	slushyHoverEffect : function(el,typf,px) {
		switch(typf) {
			case 0 : el.style.backgroundPosition="0% " + px + "px"; break;
			case 1 : el.style.backgroundPosition="0% 0px"; break;
		}
	},
	goBackToSearchPage : function() {
		window.location="objects?s=" + this.getObjectsType();
	},
	checkBackButton : function() {
		if(this.getObjectsType()=="") {
			this.hide("backbutton");
		}
	}
}
