function DrawReloadHTML(elementname)
{
  var el = null;
  el = document.getElementById(elementname); 
  if (el != null)
  {
    el.innerHTML = '<img src="/img/loading.gif" style="vertical-align:middle;" alt="loading" /><span style="vertical-align:middle;">Loading...</span>';
  }
}

function ClearDiv(elementname)
{
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.innerHTML = "";
  } 
}

function HideDiv(elementname)
{
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.style.visibility = "hidden";
    el.style.display = "none";
  } 
}

function ShowDiv(elementname)
{
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.style.visibility = "visible";
    el.style.display = "block";
    
    el.style.left = Math.floor(Math.round((document.documentElement.offsetWidth/2)+document.body.scrollLeft)-parseFloat(el.clientWidth)/2)+'px';
    el.style.top = "100px";
  } 
}

function ShowCenteredDiv(elementname)
{	
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.style.visibility = "visible";
    el.style.display = "block";
    
	var xy = getCenteredElement(el);
    el.style.left = xy[0] + 'px';
    el.style.top = xy[1] + 'px';
  } 
}

function ShowOffsetCenteredDiv(elementname, offsetx, offsety)
{   
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.style.visibility = "visible";
    el.style.display = "block";
    
    var xy = getCenteredElement(el);
    el.style.left = offsetx + xy[0] + 'px';
    el.style.top = offsety + xy[1] + 'px';
  } 
}

function IsVisible(elementname)
{
  var el = null;
  el = document.getElementById(elementname); 
  //alert(el.style.visibility); 
  if (el != null && el.style.visibility == 'visible' && el.style.visibility != "") return true;
  
  return false;
}

function findPos(obj) 
{
	var curleft = curtop = 0;

	if (obj.offsetParent) 
	{
		do 
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} 
		while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function ShowDivXY(divpos,elementname,scrollelement)
{
  var el = null;
  var screl = null;
  el = document.getElementById(elementname);
  screl = document.getElementById(scrollelement);
  screlsize = [0,0];
  if (screl)
  {
  	screlsize[0] = screl.scrollLeft;
  	screlsize[1] = screl.scrollTop;
  }
  else
  {
  	screlsize[0] = 0;
  	screlsize[1] = 0;
  }
  divpos = document.getElementById(divpos);
  pos = findPos(divpos);
  //alert(document.getElementById("techTreeOverflow").scrollLeft);
  //pos[1] -= document.getElementById("techTreeOverflow").scrollTop;
  if (el != null && divpos != null)
  {
    el.style.visibility = "visible";   
    el.style.display = "block";
    el.style.left = pos[0]-screlsize[0]+5+'px';
    el.style.top  = pos[1]-screlsize[1]+divpos.clientHeight+5+"px";
  } 
}

function ShowDivXY2(divpos,elementname,offsetx,offsety)
{
  if (offsetx == null) offsetx = 0;
  if (offsety == null) offsety = 0;
  var el = null;
  var screl = null;
  el = document.getElementById(elementname);
  divpos = document.getElementById(divpos);
  pos = findPos(divpos);
  if (el != null && divpos != null)
  {
    el.style.visibility = "visible";   
    el.style.display = "block";
    el.style.left = offsetx + pos[0]+5+'px';
    el.style.top  = offsety + pos[1]+divpos.clientHeight+5+"px";
  } 
}

function CloseDiv(elementname)
{
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.style.visibility = "hidden";
    el.style.display = "none";
    el.style.position = "absolute";
  } 
}

function OpenDiv(elementname)
{
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.style.visibility = "visible";
    el.style.display = "block";
    el.style.position = "relative";
  } 
}

function OpenCloseDiv(elementname)
{
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
  	if (el.style.visibility != "hidden")
  	{
    	el.style.visibility = "hidden";
	    el.style.display = "none";
    	//el.style.position = "absolute";
  	}
  	else
  	{
	    el.style.visibility = "visible";
	    el.style.display = "block";
    	//el.style.position = "relative";
  	}
  } 
}

function SetOpenCloseImage(img, elementname, openimg, closeimg)
{
	if (img)
	{
		var el = null;
  		el = document.getElementById(elementname);
  		if (el != null)
  		{
  			if (el.style.visibility == "hidden")
  			{
  				img.src = openimg;
  			}
  			else
  			{  			
  				img.src = closeimg;
  			}
		}
	}
}

function SetOnOffImage(img, imgid, onimg, offimg)
{
    if (img == null || img == "")
    {
        img = document.getElementById(imgid);
    }
    
    if (img)
    {
        if (img.src.indexOf(offimg) > 0)
        {
            img.src = onimg;
        }
        else
        {           
            img.src = offimg;
        }
    }
}

function GetMousePos(e) 
{
	if (document.layers)
	{
		xMousePos = e.pageX;
		yMousePos = e.pageY;
	} 
	else if (document.all) 
	{
		xMousePos = window.event.x + document.body.scrollLeft + document.documentElement.scrollLeft;
		yMousePos = window.event.y + document.body.scrollTop + document.documentElement.scrollTop;
	} 
	else if (document.getElementById) 
	{
		xMousePos = e.pageX;
		yMousePos = e.pageY;
	}
	return [xMousePos, yMousePos];
}

function disabletext(e)
{
	return false;
}

function ShowPlanetRenameDiv(elementname, pid, pname)
{
  var el = null;
  el = document.getElementById(elementname);
  if (el != null)
  {
    el.style.visibility = "visible";
    el.style.display = "block";
    //el.style.left = Math.floor(Math.round((document.documentElement.offsetWidth/2)+document.body.scrollLeft)-parseFloat(el.clientWidth)/2)+'px';
    //el.style.top = Math.floor(Math.round((document.documentElement.offsetHeight/3)+document.body.scrollTop)-parseFloat(el.clientHeight)/2)+'px';
    
	var xy = getCenteredElement(el);
    el.style.left = xy[0] + 'px';
    el.style.top = xy[1] + 'px';
    
    var id = document.getElementById("pid");
    if (id) id.value = pid;
    
    id = null;
    id = document.getElementById("newname");
    if (id) id.value = pname;
  } 
}

function getCenterXY(offsetScroll)
{
	var centerX = Math.round(document.documentElement.offsetWidth/2);
	var centerY = Math.round(document.documentElement.offsetHeight/3);
	if(!offsetScroll)
	{
		return [centerX, centerY];
	}
	else
	{
		var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft || 0;
		var scrollY = document.documentElement.scrollTop || document.body.scrollTop || 0;
		return[centerX + scrollX, centerY + scrollY];
	}
}

function getCenteredElement(el)
{
	var xy = getCenterXY(true);
    xy[0] = Math.floor(Math.round(xy[0] - parseFloat(el.clientWidth)/2));
    xy[1] = Math.floor(Math.round(xy[1] - parseFloat(el.clientHeight)/2));
    
    return xy;	
}

function setFormValue(input, value)
{
	var el = document.getElementById(input);
	if (el)
	{
		el.value = value;
	}
}

function ShowScreenThumb()
{
	if (timer) clearTimeout(timer);
	
	var img = document.getElementById("screenThumbID");
	if (img)
	{
		screensThumbs.current++;
		if (screensThumbs.current > screensThumbs.last) screensThumbs.current = screensThumbs.first;
		
		img.src="/img/screens/"+screensThumbs.current+".jpg";
		timer = setTimeout(ShowScreenThumb, 5000);
	}
}

var timerHandler;
var timerSeconds;
var timerElement;
function startTimer(elname, seconds)
{
	timerSeconds = seconds;
	timerElement = elname;
	
	setTimer();
}

function setTimer()
{
    var el = document.getElementById(timerElement);
    if (el)
    {
        if (timerHandler)
        {
            clearTimeout(timerHandler);
        }
        timerSeconds--;
        if (timerSeconds < 0) timerSeconds = 900;
        sec = timerSeconds%60;
        if (sec < 10) sec = "0"+sec;
        el.innerHTML = parseInt(timerSeconds/60)+':'+sec;
        timerHandler = setTimeout("setTimer()", 1000);
    }	
}

function openWindow(url, width, height)
{
	var w = window.open(url, 'voteing_window','scrollbars=1,resizable=1,width='+width+',height='+height);
}

function ShowDialogTurnInProgress()
{
    $("#main_dialog").dialog('open');
}
