/////////////////////////////
// CHATBOX

var chatbox_bottom = 0;
var chatbox_right = 0;
var chatboxbtn_bottom = 0;
var chatboxbtn_right = 0;

var chatbox_xOffset = 0;
var chatbox_yOffset = 0;

var chatbox_contentID = "chatbox_content";
var chatbox_buttonID = "chatbox_button";

var chatbox_isEnabled = false;

function chatbox_init()
{
  // initialize bottom and right margin for scrolling
  chatbox = document.getElementById('chatbox_content');
  //chatbox_bottom = 50;
  //chatbox_right = 10;
  chatbox_bottom = 60;
  chatbox_right = 10;
  
  chatboxbtn = document.getElementById(chatbox_buttonID);
  //chatboxbtn_bottom = 20;
  //chatboxbtn_right = 10;
  chatboxbtn_bottom = 20;
  chatboxbtn_right = 10;
    
  //document.documentElement.addEventListener("scroll", chatbox_updatepos, false);
  //window.attachEvent("onscroll", chatbox_updatepos);
  
  //document.getElementById(chatbox_contentID).style.display = "block";
  document.body.onscroll = chatbox_updatepos;
  window.onscroll = chatbox_updatepos;
  chatbox_updatepos();
}

function chatbox_updatepos()
{
  var ScrollXY = chatbox_getscrollxy();
    
  document.getElementById(chatbox_contentID).style.bottom = (chatbox_bottom - ScrollXY[1] + chatbox_yOffset) + "px";
  document.getElementById(chatbox_contentID).style.right = (chatbox_right - ScrollXY[0] + chatbox_xOffset) + "px";
  
  document.getElementById(chatbox_buttonID).style.bottom = (chatboxbtn_bottom - ScrollXY[1] + chatbox_yOffset) + "px";
  document.getElementById(chatbox_buttonID).style.right = (chatboxbtn_right - ScrollXY[0] + chatbox_xOffset) + "px";
}

function chatbox_getscrollxy()
{
  var scrolledX = 0;
  var scrolledY = 0;
  if (self.pageYOffset)
  {
    scrolledX = self.pageXOffset;
    scrolledY = self.pageYOffset;
  }
  else if (document.documentElement && document.documentElement.scrollTop)
  {
    scrolledX = document.documentElement.scrollLeft;
    scrolledY = document.documentElement.scrollTop;
  }
  else if (document.body)
  {
    scrolledX = document.body.scrollLeft;
    scrolledY = document.body.scrollTop;
  }

  var centerX = 0;
  var centerY = 0;
  if( self.innerHeight ) {
    centerX = self.innerWidth;
    centerY = self.innerHeight;
  } else if( document.documentElement && document.documentElement.clientHeight ) {
    centerX = document.documentElement.clientWidth;
    centerY = document.documentElement.clientHeight;
  } else if( document.body ) {
    centerX = document.body.clientWidth;
    centerY = document.body.clientHeight;
  }
  
  var scrollxy = new Array();
  
  scrollxy[0] = scrolledX;
  scrollxy[1] = scrolledY;
  
  return scrollxy;
}

/*
// Hover
function chatbox_updateposB() {
  var scrolledX = 0;
  var scrolledY = 0;
  if( self.pageYOffset ) {
    scrolledX = self.pageXOffset;
    scrolledY = self.pageYOffset;
  } else if( document.documentElement && document.documentElement.scrollTop ) {
    scrolledX = document.documentElement.scrollLeft;
    scrolledY = document.documentElement.scrollTop;
  } else if( document.body ) {
    scrolledX = document.body.scrollLeft;
    scrolledY = document.body.scrollTop;
  }

  var centerX = 0;
  var centerY = 0;
  if( self.innerHeight ) {
    centerX = self.innerWidth;
    centerY = self.innerHeight;
  } else if( document.documentElement && document.documentElement.clientHeight ) {
    centerX = document.documentElement.clientWidth;
    centerY = document.documentElement.clientHeight;
  } else if( document.body ) {
    centerX = document.body.clientWidth;
    centerY = document.body.clientHeight;
  }
  
  var bottomOffset = bottomMargin - scrolledY;
  var rightOffset = rightMargin - scrolledX;
  
  document.getElementById(chatbox_contentID).style.bottom = bottomOffset + "px";
  document.getElementById(chatbox_contentID).style.right = rightOffset + "px";
}
*/

var xmlHttp;

function chatbox_toggle()
{
    if (chatbox_isEnabled)
    {
        chatbox_isEnabled = false;
        chatbox_hide();
    }
    else
    {
        chatbox_isEnabled = true;
        chatbox_show();
    }
}

function chatbox_hide()
{
  document.getElementById(chatbox_contentID).style.display="none";
  
  xmlHttp=chatbox_getajaxobj();
  if (xmlHttp==null)
  {
    return;
  }
  
  var url="/chatbox.php?close=1";

  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function chatbox_show()
{
  xmlHttp=chatbox_getajaxobj();
  if (xmlHttp==null)
  {
    return;
  }
  
  var url="/chatbox.php";
    
  xmlHttp.onreadystatechange=chatbox_statechanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function chatbox_statechanged()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    {
        var chatbox = document.getElementById(chatbox_contentID);
        chatbox.innerHTML=xmlHttp.responseText;
        chatbox.style.display = "block";
    }
}

function chatbox_getajaxobj()
{
    var xmlHttp=null;
    
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
        // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}