// (c) 2007 otvali.org
// CLASS : MW_System_Load
// Init
function MW_System_Load()
{
	this.wib = screen.width;
	this.heb = screen.height;
	this.documes = (document.getElementById || document.createElement || document.getElementsByTagName) ? true : false;
	this.objects = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
	this.types = 'load';
}
MW_System_Load.prototype.addsevent = function(func)
{
	if(this.objects.addEventListener)
	{
		this.objects.addEventListener(this.types,func,false);
		return true;
	}
	else
	if (this.objects.attachEvent)
	{
		this.objects.attachEvent("on" + this.types,func);
	}
	else
	{
		return false;
	}
}
MW_System_Load.prototype.browser = function()
{
	this.ver = navigator.appVersion;
	this.agent = navigator.userAgent.toLowerCase();
	this.dom = document.getElementById ? 1:0;
	this.all = document.all ? 1:0;
	this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom) ? 1:0;
	this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom) ? 1:0;
	this.ie4 = (document.all && !this.dom) ? 1:0;
	this.ie = this.ie4 || this.ie5 || this.ie6;
	this.opera = this.agent.indexOf("opera")>-1;
	this.gecko = (this.agent.indexOf("gecko")!=-1) ? 1:0;
	this.bw = (this.ie || this.opera || this.gecko);
	return this;
}
MW_System_Load.prototype.findobj = function(obj)
{
	this.parent = window.document;
	if(this.parent[obj]){ return this.parent[obj]; }
	if(this.parent.all && this.parent.all[obj]){ return this.parent.all[obj]; }
	if(this.parent.layers && this.parent.layers[obj]){ return this.parent.layers[obj]; }
	if(this.parent.getElementById && this.parent.getElementById(obj)){ return this.parent.getElementById(obj); }
	return null;
}

var MW = new MW_System_Load();

function MW_System_Hint(){}

MW_System_Hint.prototype.show = function(obj,str,str1,str2,str3,pos)
{
	var hint = MW.findobj('hint');
	if(!obj){ return; }
	if(!MW.documes){ return; }
	if(!hint){ return; }
	hint.className = 'hint';
	hint.style.left = 15;
	hint.style.top = 50;

	obj.onmouseout = function(advance)
	{
		hint.style.width = '';
		hint.style.visibility = 'hidden';
		if(hint.firstChild) hint.removeChild(hint.firstChild);
		hint.appendChild(document.createTextNode(str));
		this.style.border = '1px solid #000000';
	};
	obj.onmousemove = function(advance)
	{
		//str = str.replace(/</g,"<");
		//str = str.replace(/>/g,">");
		hint.style.width = '';
		if (pos == 'right')
		{
			hint.style.backgroundImage = "url(../img/hint2.gif)";
		}
		else
		if (pos == 'small' || pos == 'small2')
		{
			hint.style.backgroundImage = "url(../img/hint3.gif)";
		}
		else
		{
			hint.style.backgroundImage = "url(../img/hint.gif)";
		}
	//	hint.innerHTML = str;
		if (pos == 'right')
		{
			hint.innerHTML = '<table border="0" cellspacing="0" cellpadding="0" id="hinttable"><tr><td id="hintrate" align="center"><img src="img/rate/' + str3 + '.gif" /></td><td id="hinttxt">' + str + '<br/>просмотров: ' + str1 + ' | комментариев: ' + str2 + '</td><td id="hintleft" /></tr><tr><td id="hintspace" colspan="3" /></tr></table>';
		}
		else
		if (pos == 'small')
		{
			hint.innerHTML = '<div id="hintsmall">Скачано: ' + str1 + '</div>';
		}
		else
		if (pos == 'small2')
		{
			hint.innerHTML = '<div id="hintsmall">Просмотров: ' + str1 + '</div>';
		}
		else
		{
			hint.innerHTML = '<table border="0" cellspacing="0" cellpadding="0" id="hinttable"><tr><td id="hintleft" /><td id="hinttxt">' + str + '<br/>просмотров: ' + str1 + ' | комментариев: ' + str2 + '</td><td id="hintrate" align="center"><img src="img/rate/' + str3 + '.gif" /></td></tr><tr><td id="hintspace" colspan="3" /></tr></table>';
		}
		vc = document.getElementsByTagName((document.compatMode && document.compatMode=="CSS1Compat") ? "HTML":"BODY")[0];
		x = window.event ? event.clientX + vc.scrollLeft : advance.pageX;
		y = window.event ? event.clientY + vc.scrollTop : advance.pageY;
		vcwidth = vc.clientWidth ? vc.clientWidth + vc.scrollLeft : window.innerWidth + window.pageXOffset;
		vcheight = vc.innerHeight ? window.innerHeight + window.pageYOffset : vc.clientHeight + vc.scrollTop;

		if (pos != 'small' && pos != 'small2')
		{
			this.style.border = '1px solid #93e800';
		}
		
		if(hint.offsetWidth>500){ hint.style.width = '200'; }
		if((x + hint.offsetWidth + 15) > vcwidth)
		{
			hint.style.left = x - hint.offsetWidth - 4;
		}
		else
		{
			hint.style.left = x + 15;
		}

		if((y + hint.offsetHeight + 19) > vcheight)
		{
			hint.style.top = y - hint.offsetHeight;
		}
		else
		{
			hint.style.top = y + 25;
		}

		if (pos == 'small' || pos == 'small2')
		{
			hint.style.top = y - 70;
		}
		else
		{
			hint.style.top = y - 70;
		}

		if (pos == 'right')
		{
			hint.style.left = x - 240;
		}
		else
		{
			hint.style.left = x - 30;
		}
		//if(typeof(hint.style.MozOpacity)!="undefined"){
			hint.style.opacity = '1';
			hint.style.filter = "alpha(opacity:100)";
		//}
		hint.style.visibility = 'visible';
	};
}
MW_System_Hint.prototype.initialize = function()
{
	var hint = document.createElement("DIV");
	hint.setAttribute('id','hint');

	document.getElementsByTagName('body')[0].appendChild(hint);
	hint.style.visibility = 'hidden';
	var hintmarker = ['a','img'];
	var textmarker = ['title','alt'];
	var lenmarker = hintmarker.length;
	for(var i=0; i<lenmarker; i++)
	{
		atr = document.getElementsByTagName(hintmarker[i]);
		for(var j=0; j<atr.length; j++)
		{
	//		if(viewhint=atr[j].getAttribute(textmarker[i]))
	//		{
				if(atr[j].className == 'preview')
				{
					//atr[j].removeAttribute(textmarker[i]);
					HINT.show(atr[j],atr[j].getAttribute('pname'),atr[j].getAttribute('views'),atr[j].getAttribute('comments'),atr[j].getAttribute('rate'),atr[j].getAttribute('pos'));
					atr[j].removeAttribute('pname');
					atr[j].removeAttribute('views');
					atr[j].removeAttribute('comments');
					atr[j].removeAttribute('rate');
					atr[j].removeAttribute('pos');
				}
	//		}
		}
	}
}
var HINT = new MW_System_Hint();
if(MW.objects){ MW.addsevent(HINT.initialize); }
