var fadeInOutReg = {};
var opacityReg = {};
var deltaOpacityReg = {};
function stopFadeInOut(target)
{
	if(typeof(fadeInOutReg[target])!='undefined' && fadeInOutReg[target]!=null)
	{
		clearInterval(fadeInOutReg[target]);
		fadeInOutReg[target] = null;
	}
}
function stopAllFadeInOut()
{
	for(var target in fadeInOutReg)
	{
		clearInterval(fadeInOutReg[target]);
		fadeInOutReg[target] = null;
	}
	fadeInOutReg = {};
	OpacityReg = {};
	deltaOpacityReg = {};
}
function ApplyFadeInOut(target, tagName)
{
	fadeInOutReg[target] = setInterval("doFadeInOut('"+target+"', '"+tagName+"')", 100);
	opacityReg[target] = 100;
	deltaOpacityReg[target] = -10;
}
function doFadeInOut(target, tagName)
{
	opacityReg[target] += deltaOpacityReg[target];
	if(opacityReg[target]==0)
	{
		deltaOpacityReg[target] = 10;
	}
	if(opacityReg[target]==100)
	{
		deltaOpacityReg[target] = -10;
	}
	//alert(opacityReg[target] + ":" + deltaOpacityReg[target]);
	var elements = document.getElementsByTagName(tagName);
	for(var i=0; i<elements.length; i++)
	{
		if(elements[i].id==target)
			Element.setOpacity(elements[i],opacityReg[target]/100);
	}
}
function _site_disable_rate(siteid)
{
	var allSelects = document.getElementsByTagName("SELECT");
	for(var i=0; i<allSelects.length; i++)
		if(allSelects[i].id == "_site_rate_select_" + siteid)
		{
			allSelects[i].outerHTML = "<select disabled><option>rated</option></select>";
		}
}
function _site_updaterate(siteid)
{
	new Ajax.Request("phpmodules/get.php?item=sites_rate&id=" + siteid,
		{
			method:"GET",
			onComplete:function(transport)
			{
				if(transport.status==200)
				{
					var data = eval(transport.responseText);
					var siteid = data[0][0];
					var target = "display_rate_" + siteid;
					var rate = data[0][1];
					stopFadeInOut(target);
					var elements = document.getElementsByTagName("DIV");
					for(var i=0; i<elements.length; i++)
						if(elements[i].id == target)
						{
							elements[i].innerHTML = _display_rate_factory(rate);
							Element.setOpacity(elements[i], 1);
						}
				}
			}
		}
	);
}
function _site_rate(siteid, rate)
{
	if(rate<=0)
		return;
	new Ajax.Request("phpmodules/set.php?item=sites_rate&id=" + siteid + "&value=" + rate,
		{
			method:"GET",
			onComplete:function(transport)
			{
				if(transport.status==200)
				{
					switch(transport.responseText)
					{
						case "rated":
							alert("You have rated this site already!");
							break;
					}
				}
			}
		}
	);
}
function _site_report_popup(reportedid)
{
	$("report_id").value = reportedid;
	$("report_fullname").value = "";
	$("report_email").value = "";
	$("report_message").value = "";
	showPopup('popup_ReportSite');
}
function _site_report_submit()
{
	var reportedid = $("report_id").value;
	var fullname = $("report_fullname").value;
	var email = $("report_email").value;
	var message = $("report_message").value;
	_site_report(fullname, email, message, reportedid);
}
function _site_report(fullname, email, message, reportedid)
{
	new Ajax.Request("phpmodules/add.php",
		{
			method:"POST",
			parameters:{ "item":"sites_report", "fullname":fullname, "email":email, "message":message, "reportedid":reportedid },
			onComplete:function(transport)
			{
				if(transport.status==200)
				{
					switch(transport.responseText)
					{
						case "rated":
							alert("You have reported this site already!");
							break;
						default:
							alert(transport.responseText);
					}
				}
			}
		}
	);
}
function _site_open(url)
{
	url = "forward.html?url=" + url;
	var win = window.open(url, "_blank");
}
function _site_save(url, title)
{
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print)
	{ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)// ie
		window.external.AddFavorite(url, title);
}

// ONLOAD
function _onload()
{
	// Tao mask, dung cho Modal PopupWindow
	var maskDiv = document.createElement("div");
	maskDiv.id = "modalPopup_mask";
	Element.setStyle(maskDiv, "position:absolute; left:0px; top:0px; background-color:#BDC7C9; z-index:100; display:none");
	maskDiv.className = "mask";
	maskDiv.style.width = Element.getDimensions(document.body).width;
	maskDiv.style.height = document.body.scrollHeight;
	Element.setOpacity(maskDiv, 0.8);
	document.body.appendChild(maskDiv);
}
