var xmlhttp_statusbar;
var xmlhttp_statusbar_pm;
var xmlhttp_statusbar_memo;
var SBUserId = 0;
var CurrentSBElement;

function PositionStatusBar() {
	var obj = document.getElementById('statusbar');
	if (obj) {
	   obj.style.left = getX(document.getElementById('container')) + "px";
	   obj.style.display = 'block';
	}
}

function getX( oElement ) {
   var iReturnValue = 0;
   while( oElement != null ) {
      iReturnValue += oElement.offsetLeft;
      oElement = oElement.offsetParent;
   }
   return iReturnValue;
}

function getY() {
	var ViewPortHeight;
	if (typeof window.innerWidth != 'undefined') {
	   ViewPortHeight = window.innerHeight + window.pageYOffset;
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
	   ViewPortHeight = document.documentElement.clientHeight + document.documentElement.scrollTop;
	} else {
	   ViewPortHeight = document.getElementsByTagName('body')[0].clientHeight + window.pageYOffset;
	}
	return ViewPortHeight;
}

function LoadStatusObject(user_id,obj) {
	var url = 'http://www.bryllupsvenner.no/custom/statusbar/statusbar.inc.php?action=load&status_user_id=' + user_id + '&status_object=' + obj;
	if (obj == "pm") {
	   RunXMLSB('GET',url,null,true,xmlhttp_statusbar_pm);
	} else if (obj == "memo") {
	   RunXMLSB('GET',url,null,true,xmlhttp_statusbar_memo);
	} else {
	   RunXMLSB('GET',url,null,true,xmlhttp_statusbar);
	}
	SBUserId = user_id;
}

function RunXMLSB(mode,url,params,load,myvar) {
	// code for Mozilla, etc.
	if (window.XMLHttpRequest) {
	   myvar=new XMLHttpRequest();
	   if (load) myvar.onreadystatechange = function() { LoadObjectSB(myvar); }
	   myvar.open(mode,url,true);
	   if (params) {
	      myvar.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	      myvar.setRequestHeader("Content-length", params.length);
	      myvar.setRequestHeader("Connection", "close");
	   }
	   myvar.send(params);
	} else if (window.ActiveXObject) {    // code for IE
	   myvar=new ActiveXObject("Microsoft.XMLHTTP");
	   if (myvar) {
	      if (load) myvar.onreadystatechange = function() { LoadObjectSB(myvar); }
	      myvar.open(mode,url,true);
	      if (params) {
	         myvar.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	         myvar.setRequestHeader("Content-length", params.length);
	         myvar.setRequestHeader("Connection", "close");
	      }
	      myvar.send(params);
	   }
	}
}

function LoadObjectSB(myvar) {
	if (myvar.readyState==4) {
	   if (myvar.status==200) {
	      var str = myvar.responseText.split("::");
	      var obj = document.getElementById(str[0] + '_status');
	      if (obj) {
	         obj.innerHTML = str[1];
	         if (CurrentSBElement) LoadPopup(CurrentSBElement.id,str[0]);
	         if (str[0] == "memo") {
	            if (str[2]) {
	               obj.style.background = "url(http://www.bryllupsvenner.no/custom/statusbar/statusbar_background_blue.gif)";
	            } else {
	               obj.style.background = '';
	            }
	         }
	      }
	   }
	}
}

function LoadPopup(id,type) {
	var obj = document.getElementById(id);
	if (obj) {
	   CurrentSBElement = obj;
	   var pobj = document.getElementById(type + '_status');
	   obj.style.left = pobj.style.left;
	   obj.style.display = 'block';
	}
}

function ClosePopup(id) {
	var obj = document.getElementById(id);
	obj.style.display = 'none';
	CurrentSBElement = null;
}

function NextObj(obj,closeObj) {
	var cObj = document.getElementById(closeObj);
	if (cObj) {
	   ClosePopup(cObj.id);
	}
	var obj = document.getElementById(obj);
	CurrentSBElement = obj;
	obj.style.display = 'block';
}

function MemoIsRead(user_id,memo_id) {
	var url = 'http://www.bryllupsvenner.no/custom/statusbar/statusbar.inc.php?action=readmemo&status_user_id=' + user_id + '&memo_id=' + memo_id;
	RunXMLSB('GET',url,null,false);
	LoadStatusObject(62,'memo');
}

function ReLoadStatusObject(user_id,obj,time) {
	//window.setInterval("LoadStatusObject(" + user_id + ",'" + obj + "');",time);
}

window.onresize = PositionStatusBar;
addLoadEvent(PositionStatusBar);
addLoadEvent(function() { window.setInterval("LoadStatusObject(" + SBUserId + ",'pm');",5000); });
addLoadEvent(function() { window.setInterval("LoadStatusObject(" + SBUserId + ",'memo');",10000); });