function ajaxRequest(){
  // var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
   var activexmodes=["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
      "MSXML2.XMLHttp","Microsoft.XMLHttp" ];
   if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
      for (var i=0; i<activexmodes.length; i++){
         try{
            return new ActiveXObject(activexmodes[i])
         }
         catch(e){}
      }
   } else if (window.XMLHttpRequest) // if Mozilla, Safari etc
   return new XMLHttpRequest()
   else return false
}

var myrequest=new ajaxRequest()

function status(content,callback) {
   myrequest=new ajaxRequest()
   myrequest.onreadystatechange = function() {
      if (myrequest.readyState==4) {
         if (myrequest.status==200 || window.location.href.indexOf("http")==-1) {
            //FadeIn(10,content);
            document.getElementById(content).innerHTML=myrequest.responseText;
            document.getElementById('loading-status').style.display='none';
            var str = document.getElementById(content).getElementsByTagName('script');
            for (var i in str) {
               try {
                  self.eval(str[i].innerHTML);
               } catch(e) {}
            }
            if (typeof callback=='function') callback();
         } else {
            document.getElementById(content).innerHTML="An error has occured making the request"
         }
      } else if (myrequest.readyState==1) {
         //document.getElementById(content).innerHTML=document.getElementById("loading_status").innerHTML;
         document.getElementById('loading-status').style.display='block';
         //sleep(10000);
         //setOpacity(50,content);
         //FadeIn(10,content);
      }
   }
}

function link(url) {
   status("news");
   myrequest.open("POST", url, true);
   myrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   myrequest.send("ajax=1");
}

function post(form, obj) {
   var content,url,submit;
   
   content = 'news';
   url = document.forms[form].action;
   if (obj) submit = '&'+obj.name+'='+obj.value; else submit='';

   postForm(content,url,form,'',submit+'&ajax=1');
}

function postForm(content,url,form,callback,ajax) {
   status(content,callback)
   //var key=encodeURIComponent(document.getElementById("key").value)
   //var parameters="key="+key
   param = new Array();
   for (i=0;i<document.forms[form].elements.length;i++) {
      var el = document.forms[form].elements[i];
      if (el.name!='') {
         if (el.type=='checkbox') {
            if (el.checked) param[i] = el.name+'='+el.value;
         } else if (el.type=='radio') {
            if (el.checked) param[i] = el.name+'='+el.value;
         } else if (el.type=='select-one') {
            for (var j=0; j<el.options.length; j++) {
               if (el.options[j].selected) param[i] = el.name+'='+el.options[j].value;
            }
         } else if (el.type=='submit') {
         
         } else param[i] = el.name+'='+el.value;
      }
   }
   parameters = param.join('&');
   if (ajax!='') parameters += ajax;
   myrequest.open("POST", url, true)
   myrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
   myrequest.send(parameters)
}

function toggleMenu(id) {
   menu = document.getElementById('allMenu').value;
   arrMenu = menu.split('|');
   for (i=0; i<arrMenu.length-1; i++) {
      document.getElementById("kat_"+arrMenu[i]).style.display="none";
   }
   document.getElementById("kat_"+id).style.display="";
}

function setOpacity(opacity,element){
	//write by Johan Känngård and modivied by me
	var o=document.getElementById(element).style;
	
	opacityValue = (opacity/100);
		
	o.opacity=opacityValue; //Opera
	o.MozOpacity=opacityValue; //Mozilla+Firefox
	o.KhtmlOpacity=opacityValue; //Konqueror
	o.filter="alpha(opacity="+opacity+")"; //IE

	
	return true;
}

function FadeOut(speed,element){
	for(i=0;i<speed;i++){
		opacity-=0.1;
		setOpacity(opacity,element);
		
		if(opacity<=0){
			clearInterval(interval);
			return;
		}
	}
}

function FadeIn(speed,element){
   var opacity = 0;
   setOpacity(opacity,element);
   var interval = setInterval(function(){
      opacity+=0.1;
      setOpacity(opacity,element);
   	if(opacity>=100) clearInterval(interval);
   },speed);
}
