  function DoQuery()
  {
    //SetRealmCookie($('zone')[$('zone').selectedIndex].value, $('realms')[$('realms').selectedIndex].value);
    document.location.href = './?z=' + $('zone')[$('zone').selectedIndex].value + '&r=' + $('realms')[document.getElementById('realms').selectedIndex].value + '&c=' +  $('charname').value;
  
  }
  
  function EnterCheck(e)
  {
    var keynum;
  
    if(window.event) // IE
      {
      keynum = e.keyCode;
      }
    else if(e.which) // Netscape/Firefox/Opera
      {
      keynum = e.which;
      }
    if(keynum == 13) DoQuery();
  }
  
  function $(id) { return document.getElementById(id); }  
  
  function ChangeZone(zone, realm)
  {
    
    var _ = $('realms');
    var _d = $('zone');
    
    var j = 0;
    var idx = -1;
    
    _.options.length = 0;


    for(i=0;i<_d.options.length;i++)    
    {      
      if(_d.options[i].value == zone)
      {
        
        _d.selectedIndex = i;
      }
    }
   
    for(i=0;i<realmlist.length;i++)
    {
      if(realmlist[i].RealmZone == zone)
      {
          _.options[j] = new Option(realmlist[i].RealmName, realmlist[i].RealmName); 
          if(realmlist[i].RealmName == realm) { idx = j; }
          j++;
      }
    
    }
    
    if(idx != -1) 
    {
      _.selectedIndex = idx;
    
    }
    
  }

  function DisplayCalc(key)
  {
  
    keyu = unescape(key);
  
    document.location.hash = key;
    
    var _ = $('output');
    var __ = $(key + '-container');
    
    _.innerHTML = __.innerHTML;
    
  
  }
  
  function SetKey()
  {

    if(document.location.hash.length == 0 && !doDisplay)
    {
      document.location.hash = 'static:info';
    }
    
    t = document.location.hash;
   
    if(t.length > 0)
    {
      tt = t.split('#');
         
      ttt = tt[1].split(':');
      
      if(ttt.length == 2)
      {
        DisplayStatic(ttt[1]);
      }
      else
      {
        DisplayCalc(tt[1]);
      }
    }      
  
  }
  
  function DisplayStatic(page)
  {
  
    var _rc = $('repcalc');
    
      if(!toggled)
        pagetemp = _rc.innerHTML;  
    
      var __ = $(page + '-container');
      toggled = true;
      
      _rc.innerHTML = __.innerHTML;
      
      if(doDisplay)
      _rc.innerHTML += '<div style="text-align: right;"><a href="javascript:;" onclick="GoBack();">Back to the reputation display</a>&nbsp;</div>';
     
      document.location.hash = 'static:' + page;
      
  }
  
  function GoBack()
  {
    if(toggled)
    {
      var _rc = $('repcalc');      
      _rc.innerHTML = pagetemp;
      document.location.hash = 'top';      
      toggled = false;
      
    }
  
  }

  function CheckForm()
  {
  
    var _sm = $('submsg');
    var _em = $('email');
    var _cf = $('comment-ta');
    
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    
    if(_cf.value.length>25 && filter.test(_em.value))
    {
      _sm.disabled=false;
    }
    else
    {
      _sm.disabled=true;
    }  
  
  }
  
  function SubmitMessage()
  {
    
    var qs = '';
    var _em = $('email');
    var _cf = $('comment-ta');
    var _tp = $('topic')[$('topic').selectedIndex].value;    
    
    qs = '?email=' + escape(_em.value) + '&topic=' + escape(_tp) + '&comment=' + escape(_cf.value) + '&action=send'; 
  
    if(msg != qs)
    {
      sendReq(SubmitMessageCallback, '/mail.php' + qs);
      msg = qs;
    }
    else
    {
      $('result-mail').innerHTML = '<br />Please do not submit the same message twice, thanks!';
    }
    
   }
   
  function SubmitMessageCallback()
  {
    if(req.readyState == 4){ 
        var response = req.responseText;
		    
		    if(response == 'OK')
		    {
          $('result-mail').innerHTML = '<br />Thank you for your message, I will answer your as soon as possible!';
        
        }
        else
        {
           $('result-mail').innerHTML = '<br />Could not send mail, likely a technical problem. Please retry later!';
         
        }
		    
		  delete(req);
  	}
  }   

  function ActivateCommentField(obj) 
  {
    var _cf = $('commentfield');
    
    if(obj.value != '')
    { 
      _cf.style.display = ''; 
    }
    else
    {
      _cf.style.display = 'none';
    }
  }

  function SwapRepbarText(o, rl, rc, rv, p, nrl)
  {
  
    if(rb == 0)
    {
      var t = rv - rc;
      var _ = t + ' reputation needed for ' + nrl;
      
      rb = 1;
    }
    else
    {
      var _ = p + '% into ' + rl + ' (' + rc + '/' + rv + ')'; 
      rb = 0;
    }
    
    $(o).innerHTML = _;
    
  }

  function SyndicationSnippet(o) { 
  
    if(o == 1) { 
    
      $('syndicationSnippet-container').innerHTML = document.getElementById('syndication-dynamic').innerHTML;
      
    }
    else
    {
      $('syndicationSnippet-container').innerHTML = document.getElementById('syndication-static').innerHTML;
    
    }
  
  }
  
  function SetRealmCookie(zone, realm) {
  
    document.cookie = 'wrc_zone=' + zone + ';wrc_realm=' + realm + '; expires=Thu, 01-Jan-70 00:00:01 GMT;';
      
    var d = new Date();
    d = new Date(d.getTime() + 1000*60*60*24*14);
    document.cookie = 'wrc_zone=' + zone + ';wrc_realm=' + realm + '; expires=' + d.toGMTString() + ';';
  
  }
  
  function trim(s) {
    return s.replace (/^\s+/, '').replace (/\s+$/, '');
  }
  
  function GetRealmCookie() {
  
    if(document.cookie) {
    
      c = document.cookie;
      var wrc_zone = '';
      var wrc_realm = '';
      
      tmp = c.split(';');
      for(i=0;i<tmp.length;i++) {
        
        tmp2 = tmp[i].split('=');
        
        if(trim(tmp2[0]) == 'wrc_zone') {        
          wrc_zone = trim(tmp2[1]);      
        }
      
        if(trim(tmp2[0]) == 'wrc_realm') {        
          wrc_realm = trim(tmp2[1]);      
        }
        
        
      }
      
      ChangeZone(wrc_zone, wrc_realm); 
      
    }  
  }