var bookmark=false;
//var loadflash=true;
$(document).ready(function(){
	if (m=window.location.href.match(/#(.+)$/)) { 
		if (m[1]) {
			bookmark=true;
			changePage(m[1]);
//			loadflash=false;
		}
	}
	$("ul#menu li").bind("click", function() {
		var p=this.getElementsByTagName("a")[0].href.replace(/^.*p=/,'')
		changePage(p);
		return false;
	});
	init_links();
	resetCSS();
});

function init_links() {
	$("a.internal").bind("click", function() {
		var p=this.href.replace(/^.*p=/,'')
		changePage(p);
		return false;
	});	
	JSTarget.init("rel","external","");	
	$(".thickbox").bind("click",function() {
		setTimeout('JSTarget.init("rel","external","");',2000);
	});
}
function resetCSS(){
	var w=$("#content").css("width");
	$("#anim .two").css("left",w);
	$("#anim .one").css("left",0);
	$("#anim .one, #anim .two").css("width",w);
	return w;
}

// nr 1 med fadein/out
/*function changePage(p) {
		loc=window.location.href;
		loc=loc.replace(/\?(.+)$/,"#"+p);
		loc=loc.replace(/#(.+)$/,"#"+p);
		if (!loc.match(/#/)) loc+="#"+p;
		location.href=loc;
		page=tpl.replace("%p%",p);
		notfound=tpl.replace("%p%",nf);
		 	

		$("#content").fadeOut(500, function(){ 
			//$("#content").load(p,'',function() { tb_init('a.thickbox, area.thickbox, input.thickbox');} );
			$.ajax({
				type: "GET",
				url: page,
				success: function(html){
					$("#content").empty();
					$("#content").append(html);
					tb_init('a.thickbox, area.thickbox, input.thickbox');
					$("#content").fadeIn(500);
				},
				error: function() {
					$("#content").load(notfound);
					$("#content").fadeIn(500);
				}
			});
		});

		$("ul#menu li").removeClass("current");
		$("ul#menu li."+p).addClass("current");
}
*/
var paging_active=false;
function changePage(p) {
	//$("ul#menu").append("<li>"+paging_active+"</li>");
	if (!paging_active) {
	 	paging_active=true;
		if (!bookmark) {
			// change location to #pagename
			loc=window.location.href;
			loc=loc.replace(/\/?.*\?(.+)$/,"#"+p);
			loc=loc.replace(/#(.+)$/,"#"+p);
			if (!loc.match(/#/)) loc+="#"+p;
			location.href=loc;
		}
		// get page location / url
		var page=tpl.replace("%p%",p);
		var notfound=tpl.replace("%p%",nf);
		$.ajax({
			type: "GET",
			url: page,
			contentType: "text/html; charset=iso-8859-1",
			cache: false,
			dataType: "html",
			success: function(html){
				// when get is done, insert into dom
				$("#content #anim").append('<div class="two">'+html+'<div>');
				// make sure thickbox is initialized
				tb_init('#content .two a.thickbox, #content .two area.thickbox, #content .two input.thickbox');
				init_links(); // and internal links
				// set some default values for animation
				var w=resetCSS();
	
				// apparently msie6 and safari doesn't really fix dataType: "html" ...we have to give them a push
//				if ($.browser.msie || $.browser.safari) {
					$("#anim>div script").each(function() {
//						alert(this.innerHTML);
						eval(this.innerHTML);
					});
//				}

				$("#content #anim").animate(
					{ left: "-"+ w }, 
					1000, 
					'easeinout', 
					function() {
						$("#anim .one").remove();
						$("#anim .two").addClass("one");
						$("#anim .one").removeClass("two");
						$("#anim, #anim .one").css("left",0);
						paging_active=false;
						bookmark=false;
					}
				);
	/*			$("#content .cur").animate({ 
				    left: "-"+ l  
				}, 1000 );*/
			},
			error: function() {
				$("#content #anim .one").load(notfound);
				paging_active=false;
				//$("#content").fadeIn(500);
			},
			complete: function() {
			}
		});

		$("ul#menu li").removeClass("current");
		$("ul#menu li."+p).addClass("current");
		$("ul#menu li."+pageparent[p]).addClass("current");

	}

	/*	$("#content").fadeOut(500, function(){ 
			//$("#content").load(p,'',function() { tb_init('a.thickbox, area.thickbox, input.thickbox');} );
		});
*/
}

/*
JSTarget function by Roger Johansson, www.456bereastreet.com
*/
var JSTarget = {
	init: function(att,val,warning) {
		if (document.getElementById && document.createElement && document.appendChild) {
			var strAtt = ((typeof att == 'undefined') || (att == null)) ? 'class' : att;
			var strVal = ((typeof val == 'undefined') || (val == null)) ? 'non-html' : val;
			var strWarning = ((typeof warning == 'undefined') || (warning == null)) ? ' (opens in a new window)' : warning;
			var oWarning;
			var arrLinks = document.getElementsByTagName('a');
			var oLink;
			var oRegExp = new RegExp("(^|\\s)" + strVal + "(\\s|$)");
			for (var i = 0; i < arrLinks.length; i++) {
				oLink = arrLinks[i];
				if ((strAtt == 'class') && (oRegExp.test(oLink.className)) || (oRegExp.test(oLink.getAttribute(strAtt)))) {
					oWarning = document.createElement("em");
					oWarning.appendChild(document.createTextNode(strWarning));
					oLink.appendChild(oWarning);
					oLink.onclick = JSTarget.openWin;
				}
			}
			oWarning = null;
		}
	},
	openWin: function(e) {
		var event = (!e) ? window.event : e;
		if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return true;
		else {
		    var oWin = window.open(this.getAttribute('href'), '_blank');
			if (oWin) {
				if (oWin.focus) oWin.focus();
				return false;
			}
			oWin = null;
			return true;
		}
	},
	/*
	addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
	*/
	addEvent: function(obj, type, fn) {
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() {obj["e"+type+fn]( window.event );}
			obj.attachEvent("on"+type, obj[type+fn]);
		}
	}
};
JSTarget.addEvent(window, 'load', function(){JSTarget.init("rel","external","");});


