
var floatingChatBoxEffect;
var floatingChatBoxScrolling = false;
var floatingChatBoxPopping = 0;

switch (1) {
	case 2:
		floatingChatBoxEffect = floatingChatBox_pop;
		break;
	default:
		floatingChatBoxEffect = floatingChatBox_scroll;
		break;
}


function $i()
{
  var elements = new Array();
	var elm = null;
	
  for (var i = 0; i < arguments.length; i++)
	{
    elm = arguments[i];
    if(typeof elm == 'string')
      elm = document.getElementById(elm);

    if(arguments.length == 1)
      return elm;

    elements.push(elm);
  }

  return elements;
}


function floatingChatBox_close() {
	$i("floatingChatBox").style.display = "none";
}

function floatingChatBox_calculateHeights() {
	var fArea = $i("floatingChatArea");
	var fBox = $i("floatingChatBox");
	var dHeight = document.body.scrollHeight;

	var fTop = fArea.offsetTop;
	var oKeepAbove = $i("fx_footer");
	var newHeight;
	var oKeepAboveTop = oKeepAbove.offsetTop;
	
	newHeight = dHeight - fTop - 35;
	if (oKeepAbove) {
		if (newHeight + fTop > oKeepAboveTop) {
			newHeight = oKeepAboveTop - fTop;
		}
	}
	
	if (newHeight < fBox.offsetHeight) {
		newHeight = fBox.offsetHeight;
		fArea.style.position="relative";
	}
	
	fArea.style.height = newHeight + "px";
}

function floatingChatBox_init() {
	if ($("manualContainer"))
		return;
	floatingChatBox_calculateHeights();
	
	floatingChatBoxEffect();
}

function floatingChatBox_scroll() {
	var fBox = $i("floatingChatBox");
	var fArea = $i("floatingChatArea");
	var de = document.documentElement;

	if (fBox.style.display == "none")
		return;
		
	var pageTop = window.pageYOffset ? window.pageYOffset : (de ? de.scrollTop : document.body.scrollTop);
	var pageBottom = pageTop + (window.innerHeight ? window.innerHeight : document.documentElement.clientHeight);
	//alert(fBox.clientHeight);
	//alert("Top: " + pageTop + "\nBottom: " + pageBottom + "\nOffsetTop: " + fArea.offsetTop + "\nOffsetHeight: " + fBox.offsetHeight);
	if (pageBottom > fArea.offsetTop) {
		var newTop = pageBottom - fArea.offsetTop - fBox.offsetHeight - 13;

		if ($i("lsb_text"))
			newTop -= 26;
		
		if (newTop > fArea.offsetHeight - fBox.offsetHeight)
			newTop = fArea.offsetHeight - fBox.offsetHeight;
		if (newTop < 0)
			newTop = 0;

		if (fBox.offsetTop != newTop) {
			fBox.mTo = newTop;
			//fBox.setAttribute("mTo", newTop);
			if (!floatingChatBoxScrolling) {
				floatingChatBoxScrolling = true;
				setTimeout("floatingChatBox_scrollStep()", 50);
			}
		}
	}
}

function floatingChatBox_scrollStep() {
	var fBox = $i("floatingChatBox");
	var top = fBox.offsetTop;
	var target = 0 + fBox.mTo;  //fBox.getAttribute("mTo");
	var diff = target - top;

	if (Math.abs(diff) <= 2) {
		fBox.style.top = target + "px";
		floatingChatBoxScrolling = false;
	}
	else {
		var step = diff / 20;
		if (Math.abs(step) < 1) {
			step = 1 * ((step < 0) ? -1 : 1);
		}
		fBox.style.top = (fBox.offsetTop + step) + "px";
		setTimeout("floatingChatBox_scrollStep()", 30);
	}
}

function floatingChatBox_pop() {
	var fBox = $i("floatingChatBox");
	var fArea = $i("floatingChatArea");
	var de = document.documentElement;

	if (fBox.style.display == "none")
		return;

	var pageTop = window.pageYOffset ? window.pageYOffset : (de ? de.scrollTop : document.body.scrollTop);
	var pageBottom = pageTop + (window.innerHeight ? window.innerHeight : document.documentElement.clientHeight);
	if (pageBottom > fArea.offsetTop) {
		var newTop = pageBottom - fArea.offsetTop - fBox.offsetHeight - 13;

		if ($i("lsb_text"))
			newTop -= 26;
		if (newTop > fArea.offsetHeight - fBox.offsetHeight)
			newTop = fArea.offsetHeight - fBox.offsetHeight;
		if (newTop < 0)
			newTop = 0;

		if (fBox.offsetTop != newTop) {
			fBox.mTo = newTop;

			if (floatingChatBoxPopping == 0) {
				floatingChatBoxPopping = 5;
				setTimeout("floatingChatBox_popShow()", 100);
			} else {
				floatingChatBoxPopping = 5;
			}
		}
	}
}

function floatingChatBox_popShow() {
	if (floatingChatBoxPopping > 0) {
		floatingChatBoxPopping--;
		setTimeout("floatingChatBox_popShow()", 100);
		return;
	}

	var fBox = $i("floatingChatBox");
	fBox.style.top = fBox.mTo + "px";
}

function floatingChatBox_immediate() {

	var fBox = $i("floatingChatBox");
	var fArea = $i("floatingChatArea");
	var de = document.documentElement;
	
	floatingChatBox_calculateHeights();

	if (fBox.style.display == "none")
		return;

	var pageTop = window.pageYOffset ? window.pageYOffset : (de ? de.scrollTop : document.body.scrollTop);
	var pageBottom = pageTop + (window.innerHeight ? window.innerHeight : document.documentElement.clientHeight);
	if (pageBottom > fArea.offsetTop) {
		var newTop = pageBottom - fArea.offsetTop - fBox.offsetHeight - 13;

		if ($i("lsb_text"))
			newTop -= 26;

		if (newTop > fArea.offsetHeight - fBox.offsetHeight)
			newTop = fArea.offsetHeight - fBox.offsetHeight;
		if (newTop < 0)
			newTop = 0;

		if (fBox.offsetTop != newTop) {
			fBox.style.top = newTop + "px";
		}
	}
}

function floatingChatBox_updatePageHeight() {
	if ($("manualContainer"))
		return;
	floatingChatBox_init();
	setTimeout("floatingChatBox_updatePageHeight()", 5000);
}

var oldfun = window.onload;
if (typeof window.onload != 'function') {
	window.onload = function() {
		floatingChatBox_init();
		floatingChatBox_updatePageHeight();
	}
} else {
	window.onload = function() {
		oldfun();
		floatingChatBox_init();
		floatingChatBox_updatePageHeight();
	}
}

window.onscroll = floatingChatBoxEffect;

//
/*
function floatingChatBox_click() {
	if ($i("floatingChatBox").style.display != "none")
		window.location.href = "";
}
*/