Event.observe(window,'load',initPosition);
function initPosition() {
	positionChatIcon();
	Event.observe(window, 'scroll', positionChatIcon);
	Event.observe(window, 'resize', positionChatIcon);
	Event.observe($('chatIcon'), 'mouseover', this.showFlyoutIcon.bind(this));
}

window.hideFlyoutWait = 500; //milliseconds to wait before closing on mouseout
window.hideFlyoutTimer = null;

function showFlyoutIcon() {
	clearTimeout(hideFlyoutTimer);
	var t = ($('chatIcon').cumulativeOffset().top)-($('chatFlyout').getHeight()-$('chatIcon').getHeight()-4);
	var cl = $('chatIcon').cumulativeOffset().left;
	var r = cl + $('chatIcon').getWidth();
	var fl = (r - $('chatFlyout').getWidth())+3;
	$('chatFlyout').setStyle({top: t+"px", left: fl+"px"});
	$('chatFlyout').show();
	Event.observe($('chatFlyout'), 'mouseout', startHideFlyoutIconTimer);
	Event.observe($('chatFlyout'), 'mouseover', showFlyoutIcon);
}

function hideFlyout(){
	$('chatFlyout').hide();
}

function startHideFlyoutIconTimer() {
	clearTimeout(hideFlyoutTimer);
	hideFlyoutTimer = setTimeout(hideFlyout, hideFlyoutWait);
}

function positionChatIcon() {
	hideFlyout();
	
	var iconPadding = 5;
	//set left position of 'floatingIconContainer'
	var c = $('wrapper').cumulativeOffset().left + $('wrapper').getWidth() + iconPadding;
	$('floatingIconContainer').setStyle({left: c+"px"});
	
	//set top position of 'floatingIconContainer'
    var vpOffset = document.viewport.getScrollOffsets();
    var vpDim = document.viewport.getDimensions();
    var ficDim = $('floatingIconContainer').getDimensions();
	var targetTop = (vpDim.height + vpOffset.top) - (ficDim.height+5);
	var footerTop = $('wrapper').select('.feedBackWrapper')[0].cumulativeOffset().top;
	if (targetTop > footerTop) {
		targetTop = footerTop;
	}
	$('floatingIconContainer').setStyle({top: targetTop+"px"});
}