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 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 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 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 ansokan() {
	if (document.getElementById("frmFornamn").value.length == 0) 
  	{
		alert('Du har inte angivit något förnamn');
		givefocus('frmFornamn');
		return false;
  	}

	if (document.getElementById("frmEfternamn").value.length == 0) 
  	{
		alert('Du har inte angivit något efternamn');
		givefocus('frmEfternamn');
		return false;
  	}
	
	if (document.getElementById("frmPersonnummer").value.length == 0) 
  	{
		alert('Du har inte angivit något personnummer');
		givefocus('frmPersonnummer');
		return false;
  	}
	
	if (document.getElementById("frmHemkommun").value.length == 0) 
  	{
		alert('Du har inte angivit någon hemkommun');
		givefocus('frmHemkommun');
		return false;
  	}
	
	if (document.getElementById("frmLan").value.length == 0) 
  	{
		alert('Du har inte angivit något län');
		givefocus('frmLan');
		return false;
  	}
	
	if (document.getElementById("frmHemadress").value.length == 0) 
  	{
		alert('Du har inte angivit någon hemadress');
		givefocus('frmHemadress');
		return false;
  	}
	
	if (document.getElementById("frmPostadress").value.length == 0) 
  	{
		alert('Du har inte angivit någon postadress');
		givefocus('frmPostadress');
		return false;
  	}
	
	if (document.getElementById("frmPostnr").value.length == 0) 
  	{
		alert('Du har inte angivit något postnr');
		givefocus('frmPostnr');
		return false;
  	}
	
	if (document.getElementById("frmOrt").value.length == 0) 
  	{
		alert('Du har inte angivit någon ort');
		givefocus('frmOrt');
		return false;
  	}
	
	if (document.getElementById("frmKortBeskrivning").value.length == 0) 
  	{
		alert('Du har inte angivit någon kort beskrivning om dig själv');
		givefocus('frmKortBeskrivning');
		return false;
  	}
	
	if (document.getElementById("frmMotivering").value.length == 0) 
  	{
		alert('Du har inte angivit någon motivering till varför du söker utbildningen');
		givefocus('frmMotivering');
		return false;
  	}
	
	if (document.getElementById("frmMotivering").value.length == 0) 
  	{
		alert('Du har inte angivit någon motivering till varför du söker utbildningen');
		givefocus('frmMotivering');
		return false;
  	}
}

function intresseAnmalan() {
	
	if (document.getElementById("frmNamn").value.length == 0) 
  	{
		alert('Du har inte angivit något namn');
		givefocus('frmNamn');
		return false;
  	}

	if (document.getElementById("frmAdress").value.length == 0) 
  	{
		alert('Du har inte angivit någon adress');
		givefocus('frmAdress');
		return false;
  	}

	if (document.getElementById("frmPostadress").value.length == 0) 
  	{
		alert('Du har inte angivit någon postadress');
		givefocus('frmPostadress');
		return false;
  	}
	
	if (document.getElementById("frmTelefon").value.length == 0) 
  	{
		alert('Du har inte angivit något telefonnummer');
		givefocus('frmTelefon');
		return false;
  	}
	
	if (document.getElementById("frmTelefon").value.length == 0) 
  	{
		alert('Du har inte angivit något telefonnummer');
		givefocus('frmTelefon');
		return false;
  	}
	
	if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("frmEpost").value)) {
	    alert("Du har fyllt i en ogiltig e-postadress");
	    givefocus('frmEpost');
	    return false;
    }
}

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 addEventHandlers() {
	var objects = document.getElementsByName('blank');
	for (i = 0; i < objects.length; i++) {
		objects[i].target = '_blank';
	}
	addEvent(window,'load', sitemapstyler, false);
}

window.onload = addEventHandlers;