// CORRECT IE background flicker
try { document.execCommand("BackgroundImageCache", false, true); }
catch(x) { }

//
// Ajax implementation
function ajax(url, settings)
{ 
	var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");

	// Callback
	request.onreadystatechange = function()
	{
		// Finished
		if(request.readyState == 4)
		{
			if(request.status == 200)
			{
				if(typeof(settings['onSuccess']) != 'undefined')
					settings['onSuccess'](request.responseText);
			}
			else
			{
				if(typeof(settings['onFailure']) != 'undefined')
					settings['onFailure'](request.status, request.responseText);
			}
		}
	};
	
	// Send the request
	if(typeof(settings['post']) != 'undefined')
	{
		request.open("POST", url, true);
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		request.send(settings['post']);
	}
	else
	{
		request.open("GET", url, true);
		request.send(null);
	}
}

function domRemoveAllChildren(node)
{
	while(node.firstChild)
	  node.removeChild(node.firstChild);
}

/*************************************************
	VIDEO STAR RANKING
*/
var array_text = new Array();array_text[0] = "not ranked yet";array_text[1] = "sucks";array_text[2] = "why not";array_text[3] = "decent";array_text[4] = "cool";array_text[5] = "sweet!";
function starIn(num, member)
{
	starInternal(num, true, member);
}
function starInternal(num, settext, member)
{
	var note = document.getElementById('video-rank-text');
	if(settext)
		note.innerHTML = (member ? array_text[num] : "Log-in to rank");
	else
		note.innerHTML = "Rank this video";
	for(var i = 1; i <= 5; i++)
	{
		var img = document.getElementById('star' + i);
		img.src = "http://2095.voxcdn.com/images/star-" + (num >= i ? "full" : "empty") + ".gif";
	}
}
function starOut(member, rank)
{
	starInternal(rank, false, member);
}
function starSel(num, member, id)
{
	if(member) location.href = "/rank/"+id+"/" + num;
}

/*************************************************
	VIDEO MOUSEOVERS
*/
function videoSel(elem)
{
	elem.style.borderColor = '#FF6600';
}
function videoUnSel(elem)
{
	elem.style.borderColor = '#606060';
}
function videoHomeSel(id, ie)
{
	var box = document.getElementById('hb'+id);
	if(ie)
		box.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src='http://2095.voxcdn.com/images/play-video-lit.png');";
	else
		box.src = "http://2095.voxcdn.com/images/play-video-lit.png";
}
function videoHomeUnSel(id, ie)
{
	var box = document.getElementById('hb'+id);
	if(ie)
		box.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src='http://2095.voxcdn.com/images/play-video-unlit.png');";
	else
		box.src = "http://2095.voxcdn.com/images/play-video-unlit.png";
}
function setPosAbsolute(movElem, locElem)
{
	var x = 0;
	var y = 0;
	while(locElem.nodeName != "BODY")
	{
		x += parseInt(locElem.offsetLeft);
		y += parseInt(locElem.offsetTop);
		locElem = locElem.parentNode;
	}
	movElem.style.left = x + 'px';
	movElem.style.top = y + 'px';
	xalert(x+"x "+y+"y");
}
	
/*************************************************
	VIDEO POPUP
*/
var vpIsIe = ((navigator.userAgent.toLowerCase().indexOf("msie") != -1) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1));
var vpOffsetX = 10;
var vpOffsetY = 15;
var vpActive;

function vpMouseMove(e)
{
	if(!vpIsIe) {
		x = e.pageX;
		y = e.pageY;
	} else{
		x = event.x + document.documentElement.scrollLeft;
		y = event.y + document.documentElement.scrollTop;
	}
	vpActive.style.left = x + vpOffsetX + 'px';
	vpActive.style.top = y + vpOffsetY + 'px';
	return true;
}

function vpHide(idDest)
{
	var vpDest = document.getElementById(idDest);
	vpDest.style.visibility = "hidden";
	vpDest.style.display = "none";
}

function vpShow(idDest, idSource)
{
	var vpSrc = document.getElementById(idSource);
	var vpDest = document.getElementById(idDest);

	// Set the document mouse move
	vpActive = vpDest;
	document.onmousemove = vpMouseMove;

	// Set the contents
	vpDest.innerHTML = vpSrc.innerHTML;
	vpDest.style.visibility = "visible";
	vpDest.style.display = "block";
}

/*************************************************
	VIDEO DIALOG
*/
var vdIsIe = ((navigator.userAgent.toLowerCase().indexOf("msie") != -1) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1));
var vdOffsetX = 0;
var vdOffsetY = 10;
var vdActive;

function vdMouseMove(e)
{
	if(!vdIsIe) {
		x = e.pageX;
		y = e.pageY;
	} else{
		x = event.x + document.documentElement.scrollLeft;
		y = event.y + document.documentElement.scrollTop;
	}
	vdActive.style.left = x + vdOffsetX + 'px';
	vdActive.style.top = y + vdOffsetY + 'px';
	return true;
}

function vdHide(id)
{
	var vd = document.getElementById(id);
	vd.style.visibility = "hidden";
	vd.style.display = "none";
}

function vdShow(id, urlname, thumbnail, title)
{
	var vd = document.getElementById(id);

	// Set the document mouse move
	vdActive = vd;
	document.onmousemove = vdMouseMove;

	// Set the contents
	vd.innerHTML = '<img src="' + thumbnail + '" alt="" style="float:left;margin-right:5px;border:1px black solid;width:80px;height:60px;" /><p style="float:left;width:120px;">' + title + '</p>';
	vd.style.visibility = "visible";
	vd.style.display = "block";
}
