var oImage = new Image();
var aImage = new Array();

try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}

function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    	obj.addEventListener(evType, fn, useCapture);
    	return true;
  } else if (obj.attachEvent){
    	var r = obj.attachEvent("on"+evType, fn);
    	return r;
  }
}

function createXMLHttpRequest() {
   try { return new ActiveXObject("MSXML2.XmlHttp"); } catch(e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
   try { return new XMLHttpRequest(); } catch(e) {}
   try { return window.createRequest(); } catch(e) {}
   return null;
}

function givefocus(field) {
	var objField = document.getElementById(field);
	objField.focus();
	if ((objField.type == "text" || objField.type == "password" || objField.type == "textarea") && (document.all)) { 
  		objField.blur();
  		objField.select();
	}
}

function isFunction(a) {
    return typeof a == 'function';
}

function isObject(a) {
   return (typeof a == 'object' && !!a) || isFunction(a);
}

function windowHeight() {
	var y = 0;
	if (typeof(window.innerHeight) == 'number' ) { y = window.innerHeight; }
	else if (document.documentElement && document.documentElement.clientHeight ) { y = (document.documentElement.clientHeight); }
	else if (document.body && document.body.clientHeight) { y = document.body.clientHeight; }
	return y;
}

function windowWidth() {
	var x = 0;
	if (typeof(window.innerWidth) == 'number' ) { x = window.innerWidth; }
	else if (document.documentElement && document.documentElement.clientWidth ) { x = document.documentElement.clientWidth; }
	else if (document.body && document.body.clientWidth) { x = document.body.clientWidth; }
	return x;
}

function centerObject(obj) {
	var coords = {x: 0, y: 0};
	var x = (windowWidth() / 2) - (obj.offsetWidth / 2);
  	var y = (windowHeight() / 2) - (obj.offsetHeight / 2);
	coords.x = parseInt(x);
	coords.y = parseInt(y);
	return coords;
}

function scrollHeight() {
	var x;
	if (document.documentElement && document.documentElement.scrollHeight) { x = document.documentElement.scrollHeight; }
	else if (self.offsetHeight) { x = self.offsetHeight; }
	else if (document.body) { x = document.body.scrollHeight; }
	return x;
}

function scrollTop() {
	var y;
	if (document.documentElement && document.documentElement.scrollTop) { y = document.documentElement.scrollTop; }
	else if (self.pageYOffset) { y = self.pageYOffset; }
	else if (document.body) { y = document.body.scrollTop; }
	return y;
}

function siteMap(sUrl) {
	var coords = {x: 0};
	var oSitemap = document.getElementById("sitemapcontainer");
	coords = centerObject(oSitemap);
	oSitemap.style.left = coords.x + 'px';
	oSitemap.style.visibility = 'visible';
	
	http_request = createXMLHttpRequest();
	http_request.onreadystatechange = displaySitemap;
	http_request.open('GET',sUrl + '?random=' + Math.random(), true);
	http_request.send(null);
}

function siteMapPos() {
	var coords = {x: 0};
	var oSitemap = document.getElementById("sitemapcontainer");
	if (oSitemap.style.visibility == 'visible') {
		coords = centerObject(oSitemap);
		oSitemap.style.left = coords.x + 'px';
	}
}

function displaySitemap() {
	if (http_request.readyState == 4) { 
   		if (http_request.status == 200) {
			document.getElementById('sitemapcontainer').innerHTML = http_request.responseText;
			sitemapstyler()
     	}
	 	else { 
        	alert('Ett problem uppstod när sidkartan skulle visas');
     	} 
    }
}

function closeSiteMap() {
	var oSitemap = document.getElementById("sitemapcontainer");
	oSitemap.style.visibility = 'hidden';
}

this.sitemapstyler = function(){
	var sitemap = document.getElementById("sitemap")
	if(sitemap) {
		this.listItem = function(li){
			if(li.getElementsByTagName("ul").length > 0){
				var ul = li.getElementsByTagName("ul")[0];
				ul.style.display = "none";
				var span = document.createElement("span");
				span.className = "collapsed";
				span.onclick = function(){
					ul.style.display = (ul.style.display == "none") ? "block" : "none";
					this.className = (ul.style.display == "none") ? "collapsed" : "expanded";
				};
				li.appendChild(span);
			};
		};
		
		var items = sitemap.getElementsByTagName("li");
		for(var i=0;i<items.length;i++){
			listItem(items[i]);
		};
	};	
};

function validateForm() {
	
	if (document.getElementById("frmHeadline").value.length == 0) 
  	{
		alert('Du har inte angivit någon rubrik');
		givefocus('frmHeadline');
		return false;
  	}

	if (document.getElementById("frmSender").value.length == 0) 
  	{
		alert('Du har inte angivit någon avsändare');
		givefocus('frmSender');
		return false;
  	}
	
	if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("frmSender").value)) {
	    alert("Du har fyllt i en ogiltig e-postadress");
	    givefocus('frmSender');
	    return false;
    }

	if (document.getElementById("frmMessage").value.length == 0) 
  	{
		alert('Du har inte angivit något meddelande');
		givefocus('frmMessage');
		return false;
  	}
}

function newsLetter() {
	if (document.getElementById("frmNewsletter").value.length == 0) 
  	{
		alert('Du har inte angivit någon e-postadress');
		givefocus('frmNewsletter');
		return false;
  	}
	
	if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("frmNewsletter").value)) {
	    alert("Du har fyllt i en ogiltig e-postadress");
	    givefocus('frmNewsletter');
	    return false;
    }
}

function preloadImages() {
  if (document.images) {
	  aImage[0] = new Array()
	  aImage[0][0] = "pics/kok/nordana/preview/01_dsc0079.jpg";
	  aImage[0][1] = "01";
	  aImage[0][2] = "?p=nordana-1";
	  aImage[0][3] = "Visa nordanå - Bildspel 1";
	  
	  aImage[1] = new Array()
	  aImage[1][0] = "pics/kok/nordana/preview/02_dsc1966.jpg";
	  aImage[1][1] = "01";
	  aImage[1][2] = "?p=nordana-2";
	  aImage[1][3] = "Visa nordanå - Bildspel 2";
	  
	  aImage[2] = new Array()
	  aImage[2][0] = "pics/kok/nordana/preview/03_dsc7887.jpg";
	  aImage[2][1] = "01";
	  aImage[2][2] = "?p=nordana-3";
	  aImage[2][3] = "Visa nordanå - Bildspel 3";
	  
	  aImage[3] = new Array()
	  aImage[3][0] = "pics/kok/nordana/preview/04_dsc4477.jpg";
	  aImage[3][1] = "01";
	  aImage[3][2] = "?p=nordana-4";
	  aImage[3][3] = "Visa nordanå - Bildspel 4";
	  
	  aImage[4] = new Array()
	  aImage[4][0] = "pics/kok/nordana/preview/05_dsc4445.jpg";
	  aImage[4][1] = "01";
	  aImage[4][2] = "?p=nordana-5";
	  aImage[4][3] = "Visa nordanå - Bildspel 5";
	  
	  aImage[5] = new Array()
	  aImage[5][0] = "pics/kok/sunnanaker/preview/01_dsc3513.jpg";
	  aImage[5][1] = "02";
	  aImage[5][2] = "?p=sunnanaker-1";
	  aImage[5][3] = "Visa sunnanåker - Bildspel 1";
	  
	  aImage[6] = new Array()
	  aImage[6][0] = "pics/kok/sunnanaker/preview/02_dsc5640.jpg";
	  aImage[6][1] = "02";
	  aImage[6][2] = "?p=sunnanaker-2";
	  aImage[6][3] = "Visa sunnanåker - Bildspel 2";
	  
	  aImage[7] = new Array()
	  aImage[7][0] = "pics/kok/sunnanaker/preview/03_dsc8181.jpg";
	  aImage[7][1] = "02";
	  aImage[7][2] = "?p=sunnanaker-3";
	  aImage[7][3] = "Visa sunnanåker - Bildspel 3";
	  
	  aImage[8] = new Array()
	  aImage[8][0] = "pics/kok/sunnanaker/preview/04_dsc0026.jpg";
	  aImage[8][1] = "02";
	  aImage[8][2] = "?p=sunnanaker-4";
	  aImage[8][3] = "Visa sunnanåker - Bildspel 4";
	  
	  aImage[9] = new Array()
	  aImage[9][0] = "pics/kok/rostabo/preview/01_dsc0270.jpg";
	  aImage[9][1] = "03";
	  aImage[9][2] = "?p=rostabo-1";
	  aImage[9][3] = "Visa röstabo - Bildspel 1";
	  
	  aImage[10] = new Array()
	  aImage[10][0] = "pics/kok/rostabo/preview/02_dsc1927.jpg";
	  aImage[10][1] = "03";
	  aImage[10][2] = "?p=rostabo-2";
	  aImage[10][3] = "Visa röstabo - Bildspel 2";
	  
	  for (var i = 0; i < aImage.length; i++) {
		 oImage.src = aImage[i][0];
	  }
   }
}

function switchImage(anchor, i) {
	
	var anchors = document.getElementsByName("img" + aImage[i][1]);
	var imgLink = document.getElementById("anchor" + aImage[i][1]);
	var obj = document.getElementById("thumb" + aImage[i][1]);
	
	for (x = 0; x < anchors.length; x++) {
		anchors[x].className = "";
	}
	
	anchor.className = "selected";
	anchor.href = "#";
	obj.title = aImage[i][3];
	imgLink.href = aImage[i][2];
	
	
	
	if (document.all && !window.opera) {
		obj.style.filter = "progid:DXImageTransform.Microsoft.Fade(Overlap=1.00)";
		obj.filters[0].apply();
		obj.style.visibility = "visible";
    	obj.filters[0].play();
	}
	else {
		obj.style.visibility = "visible"; 
	}
	obj.src = aImage[i][0];
}

addEvent(window,'load', sitemapstyler, false);
addEvent(window,'resize', siteMapPos, false);
