var hideProcessMessageFlag = false;
var currentWindow = new Array();
var currentWindowDivNamePref = false;
var Timer = null;
var AcceptMessage=true;

window.size = function()
{
   var w = 0;
   var h = 0;
        var sleft = 0;
   var stop = 0;
   //IE
   if(!window.innerWidth)
   {
      //strict mode
      if(!(document.documentElement.clientWidth == 0))
      {
         w = document.documentElement.clientWidth;
         h = document.documentElement.clientHeight;
              sleft = document.documentElement.scrollLeft;
                        stop = document.documentElement.scrollTop;
      }
      //quirks mode
      else
      {
         w = document.body.clientWidth;
         h = document.body.clientHeight;
              sleft = document.body.scrollLeft;
                   stop = document.body.scrollTop;
      }
   }
   //w3c
   else
   {
      w = window.innerWidth-20;
      h = window.innerHeight;
      sleft = window.pageXOffset;
      stop = window.pageYOffset;
   }
   return {width:w,height:h,scrollleft:sleft,scrolltop:stop};
}


function showTooltip(term, content) {
	$('tooltip').innerHTML = '<div onclick="return calcClick(\''+term+'\');" class="body">'+content+'</div>';
	return false;
}
function hideTooltip(){ $('tooltip').style.visibility="hidden";  }
function clearTimer() { if (Timer) { clearTimeout(Timer); Timer = null; }}
function setTimer() { Timer = window.setTimeout('hideTooltip()', 250); }
function adjustTooltip(evt) {
   clearTimer();
   var top;
   var left;
   obj = window.size();
   MessageObj = $('tooltip');
   if (isMozilla) event=evt;
   var rightedge = obj.width-event.clientX;
   var bottomedge = obj.height-event.clientY;

   if (rightedge < MessageObj.offsetWidth)
      left= obj.scrollleft + event.clientX - MessageObj.offsetWidth;
   else
      left= obj.scrollleft+ event.clientX;
   if (bottomedge < MessageObj.offsetHeight)
      top = obj.scrolltop + event.clientY - MessageObj.offsetHeight;
   else
      top = obj.scrolltop + event.clientY;
      MessageObj.style.left = left+"px";
      MessageObj.style.top = top+"px";
      MessageObj.innerHTML = '<div class="body"><img src="'+HTTP_PATH+'views/delivery/img/working.gif" /> Loading...</div>';   
      MessageObj.style.visibility = "visible";
} 

// Adjust message window
function adjustMessage(divName, clienWidth, clientHeight) {
	MessageObj = $(divName);
	if (window.innerHeight) windowHeight2=window.innerHeight/2;
		else windowHeight2=window.document.body.offsetHeight/2;
	if (window.innerWidth) windowWidth2=window.innerWidth/2;
		else windowWidth2=window.document.body.offsetWidth/2;
	var thisTop = (document.body.scrollTop+windowHeight2-clientHeight/2);
	var thisLeft = (document.body.scrollLeft+windowWidth2-clienWidth/2);
	MessageObj.style.top = (thisTop>10?thisTop:10) + "px";
	MessageObj.style.left = (thisLeft>10?thisLeft:10) + "px";
}

// Hide process message window
function hideProcessMessage(){
	if(!hideProcessMessageFlag) { hideProcessMessageFlag = true; setTimeout("hideProcessMessage()",200); return false; }
	hideProcessMessageFlag = false;
	$("confirmation_message_bg").style.display="none";
	$("process_message").style.display="none";
	return false;
}
// Show process message window
function showProcessMessage(message){
	obj = window.size();
	$("confirmation_message_bg").style.width=obj.width+"px";
	$("confirmation_message_bg").style.height= document.body.scrollTop + (obj.height)+"px";
	$("confirmation_message_bg").style.display="block";
	adjustMessage("process_message", 200, 90);
	$("process_message").style.top;
	$("process_message").style.left;
	$("process_message").style.display="block";
	$("process_message_text").innerHTML = message;
	return false;
}

// Show system message window
function showSystemMessage(message){
	adjustMessage("system_message_content", 250, 130);
	$("system_message_content").style.display="block";
	$("system_message_text").innerHTML = message;
	return false;
}
// Hide system message window
function hideSystemMessage(){
	$("system_message_content").style.display="none";
	return false;
}

// Catch the object to move and its coordinateres
function windowMouseDown(divNamePref, ev) { 
	if (isMozilla) { event=ev; }
	currentWindowDivNamePref = divNamePref; 
	// Save offset
	currentWindow[divNamePref] = {
	"x" : event.clientX + document.body.scrollLeft - $(divNamePref).style.left.replace("px",""),
	"y" : event.clientY + document.body.scrollTop - $(divNamePref).style.top.replace("px","")
	};
}
// Move the object
function windowMouseMove(ev)  {
	if(!currentWindowDivNamePref) return false;
	if(!currentWindow[currentWindowDivNamePref]) return false;
	if (isMozilla) { event=ev; }
	$(currentWindowDivNamePref).style.left = (event.clientX + document.body.scrollLeft - currentWindow[currentWindowDivNamePref].x) + "px";
	$(currentWindowDivNamePref).style.top = (event.clientY + document.body.scrollTop - currentWindow[currentWindowDivNamePref].y) + "px";
	return false;
}

// Release the object
function windowMouseUp(divNamePref) { currentWindow[divNamePref] = null; currentWindowDivNamePref = false; } 

if (isMozilla) { document.addEventListener("mousemove",windowMouseMove,true); } 
document.onmousemove = windowMouseMove; 