//init
$(document).ready(function() {
    // $('a').filter(function() {
    //return this.hostname && this.hostname !== location.hostname;
    //}).addClass("external");
    // $('a').filter(function() {
    //     return this.hostname && this.hostname !== location.hostname;
    // }).after(' <img src="/image/external.gif" alt="Länken öppnas i ett nytt fönster"/>');
    //$("a[href$='.pdf']").addClass("pdf");
    //$("a[href$='.doc'], a[href$='.txt'], a[href$='.rft']").addClass("txt");
    
    //$("a[href^='mailto:']").addClass("email");
    if (document.getElementById('rssroller')) {
        $("#rssroller").hide();
        $.get("/_funcs/get_rssli.asp", function(data) {
            document.getElementById('rssroller').innerHTML = data;
            var dataSource = new ctRotatorBridgeLi($('#rssroller')).getDataSource();
            $('#rssroller').ctRotator(dataSource, { speed: 6000 });            
        });
        $("#rssroller").fadeIn(1000);
    }
	if (document.getElementById('rssweather')) {
		var RandomIdForAjax = random_number(1000,9999);
        $("#rssweather").hide();
        $.get("/_funcs/get_weather_li.asp?session="+RandomIdForAjax, function(data) {
            document.getElementById('rssweather').innerHTML = data;
        });
		$("#rssweather").show();
    }
    $(".iframe500").fancybox({ 'zoomSpeedIn': 300, 'zoomSpeedOut': 300, 'overlayShow': true, 'frameHeight': 500, 'frameWidth': 600 });
    $(".iframe800").fancybox({ 'zoomSpeedIn': 300, 'zoomSpeedOut': 300, 'overlayShow': true, 'frameHeight': 600, 'frameWidth': 800 });
    $('a[target^="_blank"]').after(' <img src="/image/link/external.gif" border="0" alt="\&Ouml;\ppnas i ett nytt f\&ouml;nster"/>');
    $("a[href$='.pdf']").after(' <img src="/image/link/pdf.png" border="0" height="13" alt="PDF-dokument"/>');
	//$("a[href$='.zip']").after(' <img src="/image/link/zip.png" border="0" height="13" alt="ZIP-arkiv"/>');
	//$("a[href$='.zip'], a[href$='.rar']").addClass("zip");
	
	$("span.huvudrubrik").each(function() {
		var $header = $(this);
		var $tests = $.grep(
			$("div.test"),
			function(n) {
				return $(n).prevAll("span.huvudrubrik").text() == $header.text();
			});
		$.merge($header, $tests).wrapAll($("<h1>"));
	});

});


        var enableCache = false;
        var jsCache = new Array();
        var AjaxObjects = new Array();

        function ShowContent(divId,ajaxIndex,url)
        {
	        document.getElementById(divId).innerHTML = AjaxObjects[ajaxIndex].response;
	        if(enableCache){
		        jsCache[url] = 	AjaxObjects[ajaxIndex].response;
	        }
	        AjaxObjects[ajaxIndex] = false;
        }
		
		function Ajax(divId,url)
        {
	        if(enableCache && jsCache[url]){
		        document.getElementById(divId).innerHTML = jsCache[url];
		        return;
	        }	
	        var ajaxIndex = AjaxObjects.length;
	        document.getElementById(divId).innerHTML = '<img src=/image/spinner.gif width=16 height=16 hspace=10 vspace=10 />';
	        AjaxObjects[ajaxIndex] = new sack();
	        AjaxObjects[ajaxIndex].requestFile = url;
	        AjaxObjects[ajaxIndex].onCompletion = function(){ ShowContent(divId,ajaxIndex,url); };
	        AjaxObjects[ajaxIndex].runAJAX();
        }
		
		
        function getPageLink(divId,url)
        {
	        if(enableCache && jsCache[url]){
		        document.getElementById(divId).innerHTML = jsCache[url];
		        return;
	        }	
	        var ajaxIndex = AjaxObjects.length;
	        document.getElementById(divId).innerHTML = '<img src=image/spinner.gif hspace=10 vspace=10 />';
	        AjaxObjects[ajaxIndex] = new sack();
	        AjaxObjects[ajaxIndex].requestFile = url;
	        AjaxObjects[ajaxIndex].onCompletion = function(){ movetopage(AjaxObjects[ajaxIndex].response); };
	        AjaxObjects[ajaxIndex].runAJAX();
	        document.getElementById(divId).innerHTML = '';
        }

function sendtosearch(obj){
   sValue = obj.value;
   movetopage('/sok?'+sValue);
}
function random_number(min,max) {
    return (Math.round((max-min) * Math.random() + min));
}
function goSearch(btn)
 {
   //if(windowkeyCode == 13 )
   //sendtosearch(document.getElementById('searchword'));
    if (event.keyCode == 13)
    {
    event.returnValue=false;
    event.cancel = true;
    alert('s');
    }
 }
function ignoreSpaces(string) {
	var temp = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	temp += splitstring[i];
	return temp;
}
function chSearch2(){
	if(document.getElementById('searchword')){
		var sString = "";
				sString = ignoreSpaces(document.getElementById('searchword').value);
	
		if(sString=='Ange'){
			document.getElementById('searchword').value='';
		}
	}
}
function chSearch(){
	if(document.getElementById('searchword')){
		if(document.getElementById('searchword').value=='Ange sökord'){
			document.getElementById('searchword').value='';
		}
	}
}

var newwindow;
function xnewwin(url)
{
    if(!url==''){
	    var d = new Date()
	    var t = d.getTime()
	    var xname = 'xwind'+t;
	    newwindow=window.open(url,xname,'');
	    if (window.focus) {newwindow.focus()}
	}
}        
function movetopage(url){
	window.location.href=url;
}
function printDiv(el){
alert('labb');
	    var d = new Date()
	    var t = d.getTime()
	    var xname = 'xwind'+t;
    
    el=document.getElementById(el);
    
    var frog = window.open("",xname)
    frog.document.open()
    frog.write(el.innerHTML); 
    frog.document.close()

} 

function movetourlfromlist(obj,mod){
   var x1 = obj.selectedIndex; 
   if(mod==1){
    sID = obj.options[x1].value;
    getPageLink('xLogoBox','/_funcs/get_linkFromID.asp?id='+sID);
   }
   else{
    sValue = obj.options[x1].text;
    getPageLink('xLogoBox','/_funcs/get_linkFromID.asp?name='+sValue);
   }
  
}
function mbox(){
    data.modal({onOpen: function (dialog) {
      dialog.overlay.fadeIn('slow', function () {
        dialog.container.slideDown('slow', function () {
          dialog.data.fadeIn('slow'); 
        });
      });
    }});

}

function xprintpage(url)
{
	var d = new Date()
	var t = d.getTime()
	var xname = 'xwind'+t;
	newwindow=window.open(url,xname,'location=0,status=0,scrollbars=1,width=700,height=600');
	if (window.focus) {newwindow.focus()}
}
function hamta(namn)                                            //Funktionshuvud
{
    kakor=document.cookie;                                          //Lagrar innehållet i document.cookie i kakor
    kakor_delar=kakor.split(";");                                  //Deklarerar en array med namnet kakor_delar
    for (raknare_i=0;raknare_i<kakor_delar.length;raknare_i++)      //Startar en loop som pågår som max tills alla kakor_delar's delar har lästs
    {
    tva_delar=kakor_delar[raknare_i].split("=");                    //Skapar arrayen tva_delar, som namnet säger innehåller två delar - namnet på kakan i index 0 och dess värde i index 1
    if (tva_delar[0]==namn)                                         //Om kakans namn motsvarar namn...
    {
    return unescape(tva_delar[1]);                                  //Så returneras kakans värde, i ett unescape:at format
    }
    }
    return "";                                                      //Om kakan inte hittades så returnerar scriptet en tom sträng
}

function savetocookie(namn, innehall, lagringstid)
{   
    // hämta först lagrad kaka
    kaka = cookieGetter('svedala');
    //alert(document.cookie);
    //alert(kaka);
    lagringstid=parseInt(eval(lagringstid));
     if (lagringstid+""=="NaN") 
     {
      datumsnutt="";
     }
     else
     {
      var datum = new Date();                               
      datum.setTime(datum.getTime() + 1000*60*60*24*365);      //1 år    
      datum=datum.toGMTString();                             
      datumsnutt="; expires="+datum;
     }
    
    document.cookie=namn+"="+kaka+escape(innehall)+'#';
    //alert(namn+"="+kaka+escape(innehall)+'#'+datumsnutt);
    
	Ajax('xmyfav','/_funcs/get_myfav.asp');
	Ajax('xmyfav','/_funcs/get_myfav.asp');
	alert('En ny favorit ha lagts till i din lista!'); 
    window.history.go(); 
}
function cookieGetter(cname) // 
{ 
var searched = cname + "=" //8 
if (document.cookie.length > 0) //9 
     { 
     nstart = document.cookie.indexOf(searched) //10 
     if(nstart != -1) //11 
     { 
     nstart += searched.length //12 
     nend = document.cookie.indexOf(";", nstart ) //13 
     if (nend == -1) //14 
     nend = document.cookie.length //15 
     return unescape(document.cookie.substring(nstart,nend)) //16 
     } 
     } 
}

function sack(file) {
	this.xmlhttp = null;

	this.resetData = function() {
		this.method = "POST";
  		this.queryStringSeparator = "?";
		this.argumentSeparator = "&";
		this.URLString = "";
		this.encodeURIString = true;
  		this.execute = false;
  		this.element = null;
		this.elementObj = null;
		this.requestFile = file;
		this.vars = new Object();
		this.responseStatus = new Array(2);
  	};

	this.resetFunctions = function() {
  		this.onLoading = function() { };
  		this.onLoaded = function() { };
  		this.onInteractive = function() { };
  		this.onCompletion = function() { };
  		this.onError = function() { };
		this.onFail = function() { };
	};

	this.reset = function() {
		this.resetFunctions();
		this.resetData();
	};

	this.createAJAX = function() {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				this.xmlhttp = null;
			}
		}

		if (! this.xmlhttp) {
			if (typeof XMLHttpRequest != "undefined") {
				this.xmlhttp = new XMLHttpRequest();
			} else {
				this.failed = true;
			}
		}
	};

	this.setVar = function(name, value){
		this.vars[name] = Array(value, false);
	};

	this.encVar = function(name, value, returnvars) {
		if (true == returnvars) {
			return Array(encodeURIComponent(name), encodeURIComponent(value));
		} else {
			this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true);
		}
	}

	this.processURLString = function(string, encode) {
		encoded = encodeURIComponent(this.argumentSeparator);
		regexp = new RegExp(this.argumentSeparator + "|" + encoded);
		varArray = string.split(regexp);
		for (i = 0; i < varArray.length; i++){
			urlVars = varArray[i].split("=");
			if (true == encode){
				this.encVar(urlVars[0], urlVars[1]);
			} else {
				this.setVar(urlVars[0], urlVars[1]);
			}
		}
	}

	this.createURLString = function(urlstring) {
		if (this.encodeURIString && this.URLString.length) {
			this.processURLString(this.URLString, true);
		}

		if (urlstring) {
			if (this.URLString.length) {
				this.URLString += this.argumentSeparator + urlstring;
			} else {
				this.URLString = urlstring;
			}
		}

		// prevents caching of URLString
		this.setVar("rndval", new Date().getTime());

		urlstringtemp = new Array();
		for (key in this.vars) {
			if (false == this.vars[key][1] && true == this.encodeURIString) {
				encoded = this.encVar(key, this.vars[key][0], true);
				delete this.vars[key];
				this.vars[encoded[0]] = Array(encoded[1], true);
				key = encoded[0];
			}

			urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0];
		}
		if (urlstring){
			this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator);
		} else {
			this.URLString += urlstringtemp.join(this.argumentSeparator);
		}
	}

	this.runResponse = function() {
		eval(this.response);
	}

	this.runAJAX = function(urlstring) {
		if (this.failed) {
			this.onFail();
		} else {
			this.createURLString(urlstring);
			if (this.element) {
				this.elementObj = document.getElementById(this.element);
			}
			if (this.xmlhttp) {
				var self = this;
				if (this.method == "GET") {
					totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString;
					this.xmlhttp.open(this.method, totalurlstring, true);
				} else {
					this.xmlhttp.open(this.method, this.requestFile, true);
					try {
						this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
					} catch (e) { }
				}

				this.xmlhttp.onreadystatechange = function() {
					switch (self.xmlhttp.readyState) {
						case 1:
							self.onLoading();
							break;
						case 2:
							self.onLoaded();
							break;
						case 3:
							self.onInteractive();
							break;
						case 4:
							self.response = self.xmlhttp.responseText;
							self.responseXML = self.xmlhttp.responseXML;
							self.responseStatus[0] = self.xmlhttp.status;
							self.responseStatus[1] = self.xmlhttp.statusText;

							if (self.execute) {
								self.runResponse();
							}

							if (self.elementObj) {
								elemNodeName = self.elementObj.nodeName;
								elemNodeName.toLowerCase();
								if (elemNodeName == "input"
								|| elemNodeName == "select"
								|| elemNodeName == "option"
								|| elemNodeName == "textarea") {
									self.elementObj.value = self.response;
								} else {
									self.elementObj.innerHTML = self.response;
								}
							}
							if (self.responseStatus[0] == "200") {
								self.onCompletion();
							} else {
								self.onError();
							}

							self.URLString = "";
							break;
					}
				};

				this.xmlhttp.send(this.URLString);
			}
		}
	};

	this.reset();
	this.createAJAX();
}
