﻿/*
	[Discuz!] (C)2001-2006 Comsenz Inc.
	This is NOT a freeware, use is subject to license terms

	$RCSfile: floatadv.js,v $
	$Revision: 1.1.2.1 $
	$Date: 2007/02/07 16:12:18 $
*/

var delta=0.15;
var collection;
var closeB=false;

function floaters() {
	this.items = [];
	this.addItem = function(id,x,y,content,_width)	{
  if(document.documentElement.clientWidth>=1680)
    {
    x=parseInt(document.documentElement.clientWidth/2) + 540;
    }
		document.write('<div id=' + id + ' style="z-index: 10; position: absolute; width:' + _width + 'px; left:' + (typeof(x) == 'string' ? eval(x) : x) + 'px;top:' + (typeof(y) == 'string'? eval(y) : y) + 'px">');
		document.write('<table border="0" cellspacing="0" cellpadding="0">');
		document.write('<tr><td><a href="javascript:closeBanner();"><img src="../images/close_layer.gif" border="0"/></a></td></tr>');
		document.write('<tr><td id="'+ id +'_content">'+ content +'</td></tr>');
		document.write('</table>');

		document.write('<div id="debug"></div></div>');
		
		 var newItem     = {};
     newItem.object    = document.getElementById(id);
     newItem.x     = x;
     newItem.y     = y;
	
     this.items[this.items.length]   = newItem;
     }
	this.play = function() {
		collection = this.items;
		setInterval('play()',30);
	}
}
function play() {
	if(screen.width<=800 || closeB)
   {
    for(var i=0;i<collection.length;i++)
    {
     collection[i].object.style.display = 'none';
    }
    return;
   }
   for(var i=0;i<collection.length;i++)
   {
    var followObj   = collection[i].object;
    var followObj_x   =document.documentElement.clientWidth-300;
    if(document.documentElement.clientWidth>=1680)
    {
    followObj_x=parseInt(document.documentElement.clientWidth/2) + 540;
    }
    var followObj_y   = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);

    if(followObj.offsetLeft!=(document.documentElement.scrollLeft+followObj_x)) {
     var dx=(document.documentElement.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
     dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx)); 
     followObj.style.left=followObj.offsetLeft+dx +"px";
     }

    if(followObj.offsetTop!=(document.documentElement.scrollTop+followObj_y)) {
     var dy=(document.documentElement.scrollTop+followObj_y-followObj.offsetTop)*delta;
     dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
     followObj.style.top=followObj.offsetTop+dy +"px";
     }
    followObj.style.display = '';
   }
  
}
function closeBanner() {
	closeB = true;
	return;
}

var theFloaters = new floaters();
