var m_ImagePath = 'http://images.stardock.com/gc2mv/';

//This is being set at the bottom of the document now. Im using George's GetDomain function so this is dynmaic.
var m_WebPath; // = 'http://metaverse.galciv2.com/';
var m_CSSPath = 'css/';

document.write('<style type="text/css">@import "' + m_CSSPath + 'style.css";</style>');
if(navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera', 0) == -1) {
	document.write('<link rel="stylesheet" href="' + m_CSSPath + 'style_ie.css">');
}else if(navigator.userAgent.indexOf('Opera', 0) >= 0){
	document.write('<link rel="stylesheet" href="' + m_CSSPath + 'style_op.css">');
}else if(navigator.userAgent.indexOf('Netscape', 0) >= 0){
	document.write('<link rel="stylesheet" href="' + m_CSSPath + 'style_ns.css">');
}else{
	document.write('<link rel="stylesheet" href="' + m_CSSPath + 'style_mz.css">');
}



// Login Dialog Box Options ================================
var m_LoginPasswordTimerID = 0;
function LoginFocus(item){
	if(item.value == ''){
		item.className='LoginBox_UserName';
	}
	//if(m_LoginPasswordTimerID==0){
	//   checkLoginPasswordField();
	//}
}
function LoginBlur(item){
	if(item.value == '')	{
		item.className='LoginBox_UserName LoginBox_UserName_BG';
	}else{
		item.className='LoginBox_UserName';
	}
}
function PasswordFocus(item){
	item.className='LoginBox_Password';
}
function PasswordBlur(item){
	if(item.value == '')	{
		item.className='LoginBox_Password LoginBox_Password_BG'
	}else{
		item.className='LoginBox_Password';
	}
}
function checkLoginPasswordField()
{
   if(document.getElementById('_Login__PasswordField')){
      PasswordBlur(document.getElementById('_Login__PasswordField'));
      if(m_LoginPasswordTimerID!=0){
         clearTimeout(m_LoginPasswordTimerID);
      }
      m_LoginPasswordTimerID = setTimeout("checkLoginPasswordField()",250);
   }
}
// ============= End Login Dialog Functions ================



//"More Info" DDL Menu
var m_ListResults_MoreOptionsMenu_Id;
var m_ListResults_MoreOptionsMenu_Item;
function showHideListResultsMenu(item, id)
{

	if(item.src.indexOf('spacer.gif')>0){
		item.src=m_ImagePath + 'listitem_uparrow.gif';
		document.getElementById(id).className='ListResults_MoreOptionsMenu Show';
	}else{
		item.src=m_ImagePath + 'spacer.gif'
		document.getElementById(id).className='ListResults_MoreOptionsMenu Hide';
	}
	if(m_ListResults_MoreOptionsMenu_Id!=null&&m_ListResults_MoreOptionsMenu_Id!=id){
		document.getElementById(m_ListResults_MoreOptionsMenu_Id).className='ListResults_MoreOptionsMenu Hide';
		m_ListResults_MoreOptionsMenu_Item.src=m_ImagePath + 'spacer.gif';
	}
	m_ListResults_MoreOptionsMenu_Id = id;
	m_ListResults_MoreOptionsMenu_Item = item;
}



//QueryString Parsing Functions
function PageQuery(q) {
if(q.length > 1) this.q = q.substring(1, q.length);
else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[i];
}
}
this.getKeyValuePairs = function() { return this.keyValuePairs; }
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return '';
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() { return this.keyValuePairs.length; } 
}

function queryString(key){
var page = new PageQuery(window.location.search); 
return unescape(page.getValue(key)); 
}
function displayItem(key){
if(queryString(key)=='false') 
{
document.write("you didn't enter a ?name=value querystring item.");
}else{
document.write(queryString(key));
}
}


//Cookie Parsing code
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}







var m_MaskLayerIndex = 0;
function createLayerMask()
{
   try{
      var _maskZIndex = 2999;
      var mask = document.createElement('img');
      mask.src = 'http://images.stardock.com/gc2mv/spacer.gif';
      mask.id = '_layerMask_' + m_MaskLayerIndex;
      mask.className = 'LayerMask01';
      var _width = document.body.clientWidth;
      if(document.body.scrollWidth >= _width){ 
         _width = document.body.scrollWidth; 
      }
      var _height = document.body.clientHeight;
      if(document.body.scrollHeight >= _height){ 
         _height = document.body.scrollHeight; 
      }
      mask.style.width  = _width;
      mask.style.height = _height;
      
      var _maskIndex = 0;
      if(m_MaskLayerIndex!=0){
         _maskIndex = m_MaskLayerIndex - 1;
      }
      if(document.getElementById('_layerMask_' + _maskIndex)){
         _maskZIndex = document.getElementById('_layerMask_' + _maskIndex).style.zIndex + 10;
      }
      mask.style.zIndex = _maskZIndex;
      
      document.getElementsByTagName('BODY')[0].appendChild(mask);
      m_MaskLayerIndex = m_MaskLayerIndex + 1;
      return _maskZIndex;
   }catch(e){
      return m_MaskLayerIndex;
   }
}
function destroyLayerMask()
{
   try{
      var _maskIndex = 0;
      if(m_MaskLayerIndex!=0){
         _maskIndex = m_MaskLayerIndex - 1;
      }
      if(document.getElementById('_layerMask_' + _maskIndex)){
         var mask = document.getElementById('_layerMask_' + (m_MaskLayerIndex-1));
         document.getElementsByTagName('BODY')[0].removeChild(mask);
         m_MaskLayerIndex = m_MaskLayerIndex - 1;
      }
   }catch(e){ }
}


function newPopupPosition(mode)
{
	if(mode == 1){
		if((document.body.clientWidth) >= 760){
			return (document.body.clientWidth / 2) - 343;
		}else{
			return 138;
		}
	}else if(mode == 2){
		return document.body.scrollTop + 113;
	}else{
		if(document.getElementById("InfoPopupBox")){
			if((document.body.clientWidth) >= 760){
				document.getElementById("InfoPopupBox").style.left=(document.body.clientWidth / 2) - 343;
			}else{
				document.getElementById("InfoPopupBox").style.left=138;
			}
			document.getElementById("InfoPopupBox").style.top=infoPosition(2);
		}
	}
}
function getNewPopupContent(id,id_or_string,enableCloseButton)
{
	var str = '';
	str += '<table width=700 cellpadding=0 cellspacing=0><tr><td height=45 valign=bottom>';
		str += '<div class="InfoBox_Header"><div class="InfoBox_CloseBtn"><img src="' + m_ImagePath + 'spacer.gif" width=31 height=21 onMouseOver="this.src=\'' + m_ImagePath + 'infobox-close_down.gif\'; this.style.cursor=\'pointer\';"  onMouseOut="this.src=\'' + m_ImagePath + 'spacer.gif\'; this.style.cursor=\'\';" ';
		if(enableCloseButton==1){
			str += ' onClick="hideNewPopupMenu(\'' + id +'\');"';
		}
		str += ' title="Close"></div></div>';
	str += '</td></tr>';
	str += '<tr><td>';
		str += '<div class="InfoBox_Body">';
			str += '<div class="InfoBox_ContentArea" id="InfoBox_ContentArea_' + id + '">';

		      if(document.getElementById(id_or_string)){ // This item must be an id.
				var obj = document.getElementById(id_or_string);
	  
				var _tmpClassName = obj.className;
				var _tmpType = obj.tagName;
				var _tmpPreventCopyCut = false;
               
				str += obj.innerHTML;
				/*
				Look for the property "preventcopycut=true". If true we will NOT 
				copy/cut the item's innerHTML to this new element we are creating. 
				Otherwise, we will copy/cut the content to this new item. This 
				will prevent unwanted duplicate IDs from existing.
	        */
	        if(document.getElementById(id_or_string).preventcopycut=='true'){
				_tmpPreventCopyCut = true;
	        }else{
					try{
					    var _obj = obj.parentNode;
	               _obj.removeChild(obj);
					}catch(e){
					     if(document.getElementById(obj)){
	                  obj.innerHTML = "";
				         obj.id = "";
	               }
					}
	        } 
         }else{ // This item must be text.
            str += id_or_string;
         }
	
			str += '</div>';
		str += '</div>';
	str += '</td></tr>';
	str += '<tr><td height=17 valign=top>';
		str += '<div class="InfoBox_Footer">&nbsp;</div>';
	str += '</td></tr></table>';
	str += '<div id="old_' + id + '" elementactionid="'+ id_or_string +'" elementactionclassname="' + _tmpClassName + '" elementactiontype="' + _tmpType +'" elementactionpreventcopycut="' + _tmpPreventCopyCut + '" class="Hide">elementactionid="'+ id_or_string +'";elementactionclassname="' + _tmpClassName + '";elementactiontype="' + _tmpType +'";elementactionpreventcopycut="' + _tmpPreventCopyCut + '";</div>';
	return str; 
}
function openNewPopup(id_or_string, DblClick2Close, enableCloseButton)
{
   var _id = 0;
   var _bIsNewObject = false; 
   while(_bIsNewObject == false){
      var _objName = 'InfoPopupBox_';
      _objName = _objName + _id;
      if(document.getElementById(_objName)){ 
         _bIsNewObject = false;
      }else{
         _bIsNewObject = true;
      }  
      _id++;
   }	
   
   var _maskZIndex = createLayerMask();
   
	if(document.getElementById(_objName)){ hideInfoMenu(_objName); }
	var d = document.createElement('div');
	d.id=_objName;
	d.className = 'InfoBox_Constraints';
	d.innerHTML = getNewPopupContent(_objName, id_or_string, enableCloseButton);
   d.style.zIndex = _maskZIndex + 1;
   if(DblClick2Close==1){
	   d.ondblclick = function() { hideNewPopupMenu(_objName); };
	}
	
	d.style.left = newPopupPosition(1);
	d.style.top = newPopupPosition(2);
	document.getElementsByTagName('BODY')[0].appendChild(d);
	return _objName;
}

var HidePopupCallback;

function hideNewPopupMenu(id)
{
	try{
	   destroyLayerMask();
	   if(document.getElementById(id)){
	      if(document.getElementById('old_' + id)){
	         var obj = document.getElementById('old_' + id);
	         var _obj_Content = document.getElementById('InfoBox_ContentArea_' + id).innerHTML;
	         var _obj_type = "";
	         var _obj_className="";
	         var _obj_Id = 0;
	         var _objPreventCopyCut = "";
	         var str = "";
	         for (prop in obj)
	         {
	            
	            if(prop=='elementactionid'){
	               _obj_Id = obj[prop];   
	            }else if(prop=='elementactiontype'){
	               _obj_type = obj[prop];
	            }else if(prop=='elementactionclassname'){
	               _obj_className = obj[prop];
	            }else if(prop=='elementactionpreventcopycut'){
	               _objPreventCopyCut = obj[prop];
	            }
	         }
	         if(_obj_Id==0&&_obj_type==''&&_obj_className==''&&_objPreventCopyCut==''){
	            //Try a different methode instead.
	            _tmp = obj.innerHTML;
	            _obj_Id = findPropertyValue(_tmp, 'elementactionid="', '";')
	            _obj_type = findPropertyValue(_tmp, 'elementactiontype="', '";')
	            _obj_className = findPropertyValue(_tmp, 'elementactionclassname="', '";')
	            _objPreventCopyCut = findPropertyValue(_tmp, 'elementactionpreventcopycut="', '";')
	         }
	         if(_objPreventCopyCut!="true"){
               var _obj_d = document.createElement(_obj_type);
               _obj_d.id=_obj_Id;
               _obj_d.className = _obj_className;
               _obj_d.innerHTML = _obj_Content;
               _obj_d._tmpPreventCopyCut = _objPreventCopyCut;
               document.getElementsByTagName('BODY')[0].appendChild(_obj_d);
            }
	      }
	   }
		var d = document.getElementById(id);
		document.getElementsByTagName('BODY')[0].removeChild(d);
	
		if(HidePopupCallback != null)
	   {
	      if(typeof HidePopupCallback == 'function')
	         HidePopupCallback();
	   }
		
	}catch (e){
		window.status = e.message + '---' + id;
	}
}














function messageBoxPosition(mode)
{
	if(mode == 1){
		if((document.body.clientWidth) >= 760){
			return (document.body.clientWidth / 2) - 249;
		}else{
			return 138;
		}
	}else if(mode == 2){
		return document.body.scrollTop + 113;
	}else{
		if(document.getElementById("InfoPopupBox")){
			if((document.body.clientWidth) >= 760){
				document.getElementById("InfoPopupBox").style.left=(document.body.clientWidth / 2) - 343;
			}else{
				document.getElementById("InfoPopupBox").style.left=138;
			}
			document.getElementById("InfoPopupBox").style.top=infoPosition(2);
		}
	}
}
function getMessageBoxContent(id,id_or_string,displayMode,enableCloseButton)
{
	var str = '';
	str += '<div style="background-image: url(http://images.stardock.com/gc2mv/showmessagebox01-top.gif); background-repeat: no-repeat; background-position: left top; width: 498px; height: 47px;">';
   str += '<img src="http://images.stardock.com/gc2mv/spacer.gif" style="position: absolute; margin-left: 437px; margin-top: 10px;" width=31 height=19 onMouseOver="this.style.cursor=\'pointer\';"  onMouseOut="this.style.cursor=\'\';" ';
      if(enableCloseButton==1){
			str += ' onClick="hideMessageBox(\'' + id +'\');"';
		}
   str += ' title="Close" />';
   str += '</div>';
   str += '<div style="background-image: url(http://images.stardock.com/gc2mv/showmessagebox01-bg.gif); background-repeat: repeat-y; background-position: left top; width: 498px;">';
      str += '<div style="background-image: url(http://images.stardock.com/gc2mv/showmessagebox01-top-bg.gif); background-repeat: no-repeat; background-position: left top; width: 498px;">';
         str += '<div style="padding-left: 30px; padding-right: 30px; padding-top: 5px; padding-bottom: 10px;" id="ShowMessage_ContentArea_' + id + '">';
               if(document.getElementById(id_or_string)){ // This item must be an id.
               var obj = document.getElementById(id_or_string);
               
               var _tmpClassName = obj.className;
               var _tmpType = obj.tagName;
               var _tmpPreventCopyCut = false;
               
               str += obj.innerHTML;
               /*
		            Look for the property "preventcopycut=true". If true we will NOT 
		            copy/cut the item's innerHTML to this new element we are creating. 
		            Otherwise, we will copy/cut the content to this new item. This 
		            will prevent unwanted duplicate IDs from existing.
		         */
		         if(document.getElementById(id_or_string).preventcopycut=='true'){
		            _tmpPreventCopyCut = true;
		         }else{
		            document.getElementById(id_or_string).innerHTML = "";
		            document.getElementById(id_or_string).id = "";
		         } 
            }else{ // This item must be text.
               str += id_or_string;
            }
         str += '</div>';
      str += '</div>';
   str += '</div>';
   str += '<div style="background-image: url(http://images.stardock.com/gc2mv/showmessagebox01-bottom.gif); background-repeat: no-repeat; background-position: left top; width: 498px; height: 43px;"></div>';
	str += '<div id="old_' + id + '" elementactionid="'+ id_or_string +'" elementactionclassname="' + _tmpClassName + '" elementactiontype="' + _tmpType +'" elementactionpreventcopycut="' + _tmpPreventCopyCut + '" class="Hide">elementactionid="'+ id_or_string +'";elementactionclassname="' + _tmpClassName + '";elementactiontype="' + _tmpType +'";elementactionpreventcopycut="' + _tmpPreventCopyCut + '";</div>';
	return str; 
}
function showMessageBox(id_or_string,DblClick2Close,displayMode, enableCloseButton)
{
   var _id = 0;
   var _bIsNewObject = false; 
   while(_bIsNewObject == false){
      var _objName = 'ShowMessageBox_';
      _objName = _objName + _id;
      if(document.getElementById(_objName)){ 
         _bIsNewObject = false;
      }else{
         _bIsNewObject = true;
      }  
      _id++;
   }
   
   var _maskZIndex = createLayerMask();
   
	if(document.getElementById(_objName)){ hideInfoMenu(_objName); }
	var d = document.createElement('div');
	d.id=_objName;
	d.className = 'InfoBox_Constraints';
	d.innerHTML = getMessageBoxContent(_objName, id_or_string,displayMode, enableCloseButton);
   d.style.zIndex = _maskZIndex;
   if(DblClick2Close==1){
	   d.ondblclick = function() { hideMessageBox(_objName); };
	}
	
	d.style.left = messageBoxPosition(1);
	d.style.top = messageBoxPosition(2);
	document.getElementsByTagName('BODY')[0].appendChild(d);
	return _objName;
}

function hideMessageBox(id)
{
	try{
	   destroyLayerMask();
	   if(document.getElementById(id)){
	      if(document.getElementById('old_' + id)){
	         var obj = document.getElementById('old_' + id);
	         var _obj_Content = document.getElementById('ShowMessage_ContentArea_' + id).innerHTML;
	         var _obj_type = "";
	         var _obj_className = "";
	         var _obj_Id = 0;
	         var _objPreventCopyCut = "";
	         for (prop in obj)
	         {
	            if(prop=='elementactionid'){
	               _obj_Id = obj[prop];     
	            }else if(prop=='elementactiontype'){
	               _obj_type = obj[prop];
	            }else if(prop=='elementactionclassname'){
	               _obj_className = obj[prop];
	            }else if(prop=='elementactionpreventcopycut'){
	               _objPreventCopyCut = obj[prop];
	            }
	         }
	         if(_obj_Id==0&&_obj_type==''&&_obj_className==''&&_objPreventCopyCut==''){
	            //Try a different methode instead.
	            _tmp = obj.innerHTML;
	            _obj_Id = findPropertyValue(_tmp, 'elementactionid="', '";')
	            _obj_type = findPropertyValue(_tmp, 'elementactiontype="', '";')
	            _obj_className = findPropertyValue(_tmp, 'elementactionclassname="', '";')
	            _objPreventCopyCut = findPropertyValue(_tmp, 'elementactionpreventcopycut="', '";')
	         } 
	         if(_objPreventCopyCut!="true"){
               var _obj_d = document.createElement(_obj_type);
               _obj_d.id=_obj_Id;
               _obj_d.className = _obj_className;
               _obj_d.innerHTML = _obj_Content;
               _obj_d._tmpPreventCopyCut = _objPreventCopyCut;
               document.getElementsByTagName('BODY')[0].appendChild(_obj_d);
            }
	      }
	   }
		var d = document.getElementById(id);
		document.getElementsByTagName('BODY')[0].removeChild(d);
		
	}catch (e){
		window.status = e.message + '---' + id;
	}
}

function findPropertyValue(str,propStart,propEnd)
{   
   var a, b, a_sub;
   var _len = propStart.length;
   a = str.indexOf(propStart) ;
   a_sub = str.substring(a + _len)
   b = a_sub.indexOf(propEnd);
   return a_sub.substring(0,b);
}




function stripSearch(param) // hehehehehe
{
   var _url = window.location.href;
   if(_url.indexOf("?")!=-1){
      _url = _url.substring(0,_url.indexOf("?"));
   }
   var _item;
   var q = window.location.search;
   if(q.indexOf("?")==0){ q = q.substring(1); }
   if(q.substring(q.length-1)=="&"){ q = q.substring(0,q.length-1); }
   for(var i=0; i < q.split("&").length; i++) {
      var s = q.split("&")[i];
      if(i==0){ 
         _url += '?';  
      }else{
         _url += '&';
      }
      if(s.indexOf("search=")!=-1){
         _url += 'search=' + param;
      }else if(s.indexOf("p=")!=-1){
      }else{
         _url += s;
      }
   }
   if(_url.substring(_url.length-1)=="&"){ _url = _url.substring(0,_url.length-1); }   
   return _url;
}


function StripSearchA(newTerm)
{
   var loc = window.location.href;
   //Remove spaces, cause they suck.
   //loc = loc.replace(/%20/g, '');
   //loc = loc.replace(/ /g, '');
   //Need spaces because the mp (map) parameter has spaces in the name. ie: http://localhost/index.aspx?g=toptournaments&mp=RockandHardPlace
   
   var rePage1 = new RegExp("&p=([a-zA-Z0-9])+");
   var rePage2 = new RegExp("/\\?p=([a-zA-Z0-9])+");
   var rePage3 = new RegExp("&p=");   
   var rePage4 = new RegExp("/\\?p=");    //this is killing my &mp=[value] parameter.

   var reSearch1 = new RegExp("&search=([a-zA-Z0-9])+");
   var reSearch2 = new RegExp("search=([a-zA-Z0-9])+");
   var reSearch3 = new RegExp("&search=");
   var reSearch4 = new RegExp("search=");
   
   loc = loc.replace(rePage1,"");
   loc = loc.replace(rePage2,"");
   loc = loc.replace(rePage3,"");
   loc = loc.replace(rePage4,"");
   loc = loc.replace(reSearch1, "");
   loc = loc.replace(reSearch2, "");   
   loc = loc.replace(reSearch3, "");
   loc = loc.replace(reSearch4, "");  

   if(loc.indexOf("search") == -1)
   {
      if(loc.indexOf("?") == -1) 
      {
         if(loc.substring(loc.length - 1) == "/")
            loc = loc + "?search=" + newTerm;
         else
            if(loc.substring(loc.length - 4, loc.length) == "aspx")
               loc = loc + "?search=" + newTerm;
            else
               loc = loc + "/?search=" + newTerm;
               
      }
      else
      {
         if((loc.indexOf("&") == -1) && (loc.substring(loc.length - 1) == "?"))
            loc = loc + "search=" + newTerm;
         else
            loc = loc + "&search=" + newTerm;
      }   
         
   }

   return loc;

}

function noenter() 
{
  return !(window.event && window.event.keyCode == 13);
}


function showSpaceStationInfo(id)
{
   var d = document.createElement('img');
   d.id = 'menuitem_' + id;
   d.className = 'SpaceStation_InfoBox';
   d.src = m_ImagePath + 'space-station-' + id + '.gif';
   document.getElementById(id).appendChild(d);
}
function killSpaceStationInfo(id)
{
   try{
      var d = document.getElementById('menuitem_' + id);
      document.getElementById(id).removeChild(d);
   }catch (e){
   }
}
function  updateSpaceStationInfoBox(str,str1)
{
   document.getElementById('StationMenuDescription').innerHTML = str;
   document.getElementById('StationMenuDescriptionCaption').innerHTML = str1;
}
function playSound(soundobj) 
{
   try{
      var thissound=document.getElementById(soundobj);
      thissound.Play();
   }catch(e){
   }                
}
function highlightSpaceStationItem(id,mode)
{
   if(mode==0){
       document.getElementById(id + '_Inner').className='SpaceStation_Item_Selected'; 
       showSpaceStationInfo(id);     
       playSound('click1');
   }else{
      document.getElementById(id + '_Inner').className='SpaceStation_Item'; 
      killSpaceStationInfo(id);
   }
}

function accessSpaceStationItem(url)
{
   playSound('click2'); 
   location.href=url;
}


function checkLoginBoxText()
{
   try{
      var item;
      if(document.getElementById("_Login__UserField")){
         item = document.getElementById("_Login__UserField");
      }else if(document.getElementById("_PageControl__Login__UserField")){
         item = document.getElementById("_PageControl__Login__UserField");
      }
      if(item.value!=""){
        item.className='LoginBox_UserName';
      }
   }catch(e){}
}

function getDomain(){
	var _strHost = location.hostname;
	var _strOut = new Array();
	var _str = '';
	_strOut = _strHost.split('.');
	for(var i=0;i<_strOut.length;i++){
		if(i==_strOut.length-2 || i+1==_strOut.length){
			_str += _strOut[i];
			if(i+1!=_strOut.length){
				_str += '.';
			}	
		}
	}
	return _str;	
}

function getHostName()
{
   return location.hostname;
}

function UniqueId()
{
   var d = new Date();
   var id = d.getDay() + d.getDate() + d.getFullYear() + "." + d.getHours() + d.getMinutes() + d.getSeconds() + "." + d.getMilliseconds();
   return id;
}

function positionObject(id)
{
	var _maskZIndex = createLayerMask();
	var d = document.getElementById(id);
	var _className = d.className;
    	//Strip out Hide, Show, Invisible, Visible from className first.
    	_className = _className.replace(/Hide/g, "");
    	_className = _className.replace(/Show/g, "");
    	_className = _className.replace(/Invisible/g, "");
    	_className = _className.replace(/Visible/g, "");
	
	d.style.zIndex		= _maskZIndex + 1;
	d.style.position	= 'absolute';
	d.style.left		= newPopupPosition(1);
	d.style.top			= newPopupPosition(2);
   d.className = _className;
   
   try{
      var _obj = document.getElementsByTagName('SELECT');
      for(i=0;i<=_obj.length;i++){
         _className = _obj[i].className;
         _className = _className.replace(/Hide/g, "");
         _className = _className.replace(/Show/g, "");
         _className = _className.replace(/Invisible/g, "");
         _className = _className.replace(/Visible/g, "");
         _obj[i].className = _className + ' Invisible';
      }
   }catch(e){
   }
}
function hideObject(id)
{
	destroyLayerMask();
	var d = document.getElementById(id);
	var _className = d.className;
    	//Strip out Hide, Show, Invisible, Visible from className first.
    	_className = _className.replace(/Hide/g, "");
    	_className = _className.replace(/Show/g, "");
    	_className = _className.replace(/Invisible/g, "");
    	_className = _className.replace(/Visible/g, "");
    	d.className = _className + ' Hide';
    	
   try{
      var _obj = document.getElementsByTagName('SELECT');
      for(i=0;i<=_obj.length;i++){
         _className = _obj[i].className;
         _className = _className.replace(/Hide/g, "");
 	      _className = _className.replace(/Show/g, "");
 	      _className = _className.replace(/Invisible/g, "");
 	      _className = _className.replace(/Visible/g, "");
         _obj[i].className = _className;
      }
   }catch(e){
   }
}

//Help Box Code Start =====================================
var m_helpLinkTabId = 0;
var m_helpLinkTabCount = 0;
function buildHelpBox()
{
   if(typeof(m_helpLinks) != 'object'){ return; }
   
   var d = document.createElement('div');
   d.id         = '_helpBox';
   d.className  = 'HelpBoxConstraints Hide';
   document.getElementsByTagName('BODY')[0].appendChild(d);
   
   var i = document.createElement('img');
   i.src        = 'http://images.stardock.com/gc2mv/spacer.gif';
   i.className  = 'HelpBoxCloseButton Hand';
   i.width      = 31;
   i.height     = 19;
   i.onclick    = function() { hideObject('_helpBox'); };
   i.title      = 'Close';                         
   d.appendChild(i);
   
   var d1 = document.createElement('div');
   d1.id        = '_helpBoxBody';
   d1.className = 'HelpBoxBodyConstraints';
   d.appendChild(d1);
   
   var d2 = document.createElement('div');
   d2.id        = '_helpBoxTabs';
   d2.className = 'HelpBoxTabConstraints';
   d.appendChild(d2);
   
   buildHelpLinks();
}
function buildHelpLinks()
{
   var _body = document.getElementById('_helpBoxBody');
   var _tabs = document.getElementById('_helpBoxTabs');
   var _className;
   var i = 0;
   for(prop in m_helpLinks){
      if(m_helpLinkTabId==i){
         _body.innerHTML = m_helpLinks[prop][1];
         _className = 'HelpBoxTab_Selected';
      }else{
         _className = 'HelpBoxTab_NotSelected';
      }
      	var d = document.createElement('div');
         d.id = '_helpBoxTab_' + i;
         d.className = _className
         d.innerHTML = "<a href=\"javascript:selectHelpBoxTab(" + i + ");\" class=\"HelpBoxTabLinks\">" + m_helpLinks[prop][0] + "</a>";
         _tabs.appendChild(d);
      i++;
   }
   m_helpLinkTabCount = i - 1;
}
function selectHelpBoxTab(tabId)
{
   for(var i=0; i <= m_helpLinkTabCount; i++){
      document.getElementById('_helpBoxTab_' + i).className='HelpBoxTab_NotSelected';
   }
   document.getElementById('_helpBoxTab_' + tabId).className='HelpBoxTab_Selected';
   var ii = 0;
   for(prop in m_helpLinks){
      if(tabId==ii){
         document.getElementById('_helpBoxBody').innerHTML = m_helpLinks[prop][1];
      }
      ii++;
   }
}
//Help Box Code End =====================================

//CheckBrowser Code Start ===============================
// Intended to display a warning for users running
// out-of-date and unsupported browsers.
function checkBrowser()
{
   return; //Pat has a billion worries about this, so it's been nixed. AAP 4/4/06
   
   var _str = '';
   if(document.getElementById('___checkBrowser')){ document.getElementsByTagName('BODY')[0].removeChild(document.getElementById('___checkBrowser')); }

   if(navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera', 0) == -1) {
      return;
   }else if(navigator.userAgent.indexOf('Opera', 0) >= 0){
      _str = '<a href="http://www.mozilla.com/firefox/"><img src="http://images.stardock.com/gc2mv/upgrade-opera.gif" border=0></a>';
   }else if(navigator.userAgent.indexOf('Netscape', 0) >= 0){
      _str = '<a href="http://www.mozilla.com/firefox/"><img src="http://images.stardock.com/gc2mv/upgrade-opera.gif" border=0></a>';
   }else{
      if(navigator.userAgent.indexOf("Firefox")!=-1){
         var versionindex = navigator.userAgent.indexOf("Firefox")+8;
         if(parseInt(navigator.userAgent.charAt(versionindex))>=1){
            var _versionArray = navigator.userAgent.substring(versionindex).split('.');
            var _isValidVersion = false;
            if(parseInt(_versionArray[0])>=1 && parseInt(_versionArray[1])>=5 && parseInt(_versionArray[2])>=0 && parseInt(_versionArray[3])>=1){
               return;
            }else{
               _str = '<a href="http://www.mozilla.com/firefox/"><img src="http://images.stardock.com/gc2mv/upgrade-firefox.gif" border=0></a>';
            }
         }else{
            _str = '<a href="http://www.mozilla.com/firefox/"><img src="http://images.stardock.com/gc2mv/upgrade-firefox.gif" border=0></a>';
         }
      }else{
         _str = '<a href="http://www.mozilla.com/firefox/"><img src="http://images.stardock.com/gc2mv/upgrade-opera.gif" border=0></a>';
      }
   }
   var d = document.createElement('div');
   d.id = '___checkBrowser';
   d.style.position = 'absolute';
   d.style.left = document.body.clientWidth - 190;
   d.style.top = 0;
   d.style.height = 190;
   d.style.width = 190;
   d.innerHTML = _str;
   document.getElementsByTagName('BODY')[0].appendChild(d)
}
//CheckBrowser Code End =================================

if(getHostName() == 'localhost')
   m_WebPath = 'http://' + getHostName() + '/';
else
   m_WebPath = 'http://metaverse.galciv2.com/';
   
   
function EMPIRE_STATUS()
{
   this.Open = 0;
   this.Closed = 1;
   this.InviteOnly = 2;
   //this.NeedKey = 3;
   this.Moderated = 4;
}