try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}

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 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 isFunction(a) {
    return typeof a == 'function';
}

function isObject(a) {
   return (typeof a == 'object' && !!a) || isFunction(a);
}

function addEventHandlers() {
	var objects = document.getElementsByName('thumb');
	for (i = 0; i < objects.length; i++) {
		if (isObject(window.event)) { objects[i].onclick = function() { getThumb(event, this); return false }} else { objects[i].onclick = function(event) { getThumb(event, this); return false }}
	}
	setFocus();
	addEvent(window,'resize', updatePos, false);
}

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 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 getThumb(event, str) {
	var coords = {x: 0, y: 0};
	var oThumb = document.getElementById("thumbnail");
	oThumb.style.visibility = "hidden";
	http_request = createXMLHttpRequest();
	http_request.onreadystatechange = loadThumb;
	http_request.open('GET',str, true); 
 	http_request.send(null);
}

function loadThumb() {
	if (http_request.readyState == 4) { 
   		if (http_request.status == 200) {
			document.getElementById("thumbpic").innerHTML = http_request.responseText;
     	}
	 	else { 
        		alert('Ett problem uppstod när tumnagel skulle visas'); 
     	} 
    }
}

function updatePos() {
	if (document.getElementById("thumbnail").style.visibility == 'visible') { showThumb(); }
}

function showThumb() {
	var coords = {x: 0, y: 0};
	var oThumb = document.getElementById("thumbnail");
	var oShade = document.getElementById("shade");
	coords = centerObject(oThumb);
	if (document.all && !document.documentElement) { oThumb.style.top = (coords.y + scrollTop() + 30) + 'px'; }
	else { oThumb.style.top = (coords.y + 30) + 'px'; }
	oThumb.style.left = coords.x + 'px';
	oShade.style.height = scrollHeight() + 'px';
	oShade.style.visibility = 'visible'; 
	oThumb.style.visibility = 'visible'; 
}

function closeThumb() {
	document.getElementById("thumbnail").style.visibility = 'hidden';
	document.getElementById("shade").style.visibility = 'hidden';
}

function validateForm() {
	
	if (document.getElementById('frmHeadline').value.length == 0) 
  	{
		alert('Du har inte angivit någon rubrik');
		document.getElementById('frmHeadline').focus();
		return false;
  	}

	if (document.getElementById('frmSender').value.length == 0) 
  	{
		alert('Du har inte angivit någon avsändare');
		document.getElementById('frmSender').focus();
		return false;
  	}
	
	if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('frmSender').value))
    	{
	    alert('Du har fyllt i en ogiltig e-postadress');
		document.getElementById('frmSender').focus();
		document.getElementById('frmSender').select();
	    return false;
    	}

	if (document.getElementById('frmMessage').value.length == 0) 
  	{
		alert('Du har inte angivit något meddelande');
		document.getElementById('frmMessage').focus();
		return false;
  	}
}

function setFocus()
{
  var bFound = false;  
  for (f=0; f < document.forms.length; f++) 
  { 
    for(i=0; i < document.forms[f].length; i++) 
    { 
      if (document.forms[f][i].type != "hidden") 
      { 
        if (document.forms[f][i].disabled != true) 
        {
          try {
             document.forms[f][i].focus();
			 document.forms[f][i].select();
             var bFound = true;
          }
          catch(er) {
          }
        }
      }
      if (bFound == true) { break; }
    }
    if (bFound == true) { break; }
  }
}

addEvent(window,'load', addEventHandlers, false);
