var MultiLink = function() {}

MultiLink.prototype.init = function() {
	this.data = [];
	this.timeoutId = null;
	this.width = 250;
	this.height = 50;
	this.layer = this.getLayer();
	this.layer.elm.$mlink = this;
	this.id = MultiLink.objects.length;
	MultiLink.objects[this.id] = this;
	return this;
}
/*
MultiLink.prototype.getLayer = function() {
	var layer = new layerObj(null,0,0,false,0,this.width,this.height);
	layer.setClip(0,0,this.width,this.height);
	layer.css.overflow = 'auto';
	layer.css.overflowY = 'auto';
	layer.css.overflowX = 'hidden';
	return layer;
}
*/
MultiLink.prototype.getLayer = function() {
	return new layerObj('m_link');
}

MultiLink.prototype.setData = function(data) {
	this.data = data;
}

MultiLink.prototype.getHeaderHTML = function() {
	var rStr = '';
	rStr += '<table width=' + (this.width - 16) + ' bgcolor="#EEEEEE">';
	return rStr;
}

MultiLink.prototype.getSingleSectionHTML = function(text, link) {
	var rStr = '';
	rStr += '<tr>';
	rStr += '<td>';
	rStr += '<a href="'+link+'">'+text+'</a>';
	rStr += '</td>';
	rStr += '</tr>';
	return rStr;
}

MultiLink.prototype.getFooterHTML = function() {
	var rStr = '';
	rStr += '</table>';
	return rStr;
}

MultiLink.prototype.generate = function(data, x, y, w, h) {
	this.clearAutoHide();
	var rStr = '';
	rStr += this.getHeaderHTML();
	for(var i = 0; i < data.length; i++) {
		rStr += this.getSingleSectionHTML(data[i].text, data[i].link);
	}
	rStr += this.getFooterHTML();
	this.layer.writeHTML(rStr);
	var xPos = x;
	if(x + this.layer.getWidth() > w) xPos = w -  this.layer.getWidth();
	if(xPos < 0) xPos = 0;
	var yPos = y;
	if(y + this.layer.getHeight() > h) yPos = h -  this.layer.getHeight();
	if(yPos < 0) yPos = 0;
	this.layer.moveTo(xPos, yPos);
	this.layer.show();
	this.layer.elm.onmouseout = function() {
		this.$mlink.setAutoHide();
	}
	this.layer.elm.onmouseover = function() { this.$mlink.clearAutoHide() }
}
MultiLink.prototype.hide = function() {
	this.layer.hide();
	this.layer.moveTo(0,0);
}
MultiLink.prototype.setAutoHide = function() {
	if(this.timeoutId != -1) clearTimeout(this.timeoutId);
	this.timeoutId = setTimeout('MultiLink.objects['+this.id+'].hide()', 500);
}

MultiLink.prototype.clearAutoHide = function() {
	if(this.timeoutId != -1) clearTimeout(this.timeoutId);
	this.timeoutId = -1;
}
MultiLink.prototype.open = function(ary) {
	if(!isInit) {
		alert('Proszę czekać na załadowanie strony.');
		return;
	}
	var w = parseInt(is.ie ? (self.document.body.scrollLeft + self.document.body.clientWidth) : (self.innerWidth + self.scrollX));
	var h = parseInt(is.ie ? (self.document.body.scrollTop + self.document.body.clientHeight) : (self.innerHeight + self.scrollY));
	this.generate(ary, mouseX-10, mouseY-10, w, h);	
}
MultiLink.objects = [];

