// misc.js for frontend splash and forum functions

function fetch_stats()
{
new Ajax.Request('http://www.nationalsigleague.com/nslrip.php?do=stats', {asynchronous:true, onSuccess: function(t) {
if(t.responseText != 'error')
{
$('scont').innerHTML = t.responseText;
}
 },onFailure: function(t) {
 // we dont really need error handling for this, just act like nothing happened
 return;
}});
}

function popUp(URL, w, h) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0,width=' + w + ',height=' + h + '');");
}

// forum pcards
// incrementally expand/contract the dropdown and change the opacity //
function ddSlide(c,d){

  if(loop > 34 && d == -1)
  {
  clearInterval(c.timer);
  c.style.display = 'none';
  c.maxh = 0;
  // new for defaulting the error back...
  if(c.down().innerHTML == '<tbody><tr><td>Failed to communicate with the NSL Game Server.</td></tr></tbody>')
  {
  c.down().innerHTML = '<tr><td align="center"><img src="loading.gif"></td></tr>';
  }
  } 
  
  var currh = c.offsetHeight;
  var dist;
  if(d == 1){
    dist = (Math.round((c.maxh - currh) / DDSPEED));
  }else{
    dist = (Math.round(currh / DDSPEED));
  }
  if(dist <= 1 && d == 1){
    dist = 1;
  }
  c.style.height = currh + (dist * d) + 'px';
  c.style.opacity = currh / c.maxh;
  c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
  if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){
     clearInterval(c.timer);
  }
  loop ++;
}

// main function to handle the mouse events //
function ddMenu(id,d){
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  var ihatethis = document.getElementById(id + '-nslrip');
  if(d != -1 && ihatethis.done != 1)
  {
  ihatethis.timer = setTimeout(function(){NSLRip_populatepcard(id)},1000);
  }
  loop = 1;
  clearInterval(c.timer);
  if(d == 1){
    clearTimeout(h.timer);
    if(c.maxh && c.maxh <= c.offsetHeight){return}
    else if(!c.maxh){
      c.style.display = 'block';
      c.style.height = 'auto';
      c.maxh = c.offsetHeight;
      c.style.height = '0px';
    }
    c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
  }else{
    h.timer = setTimeout(function(){ddCollapse(c)},50);
  }
}

function NSLRip_populatepcard(elid)
{
var el = document.getElementById(elid + '-nslrip');
// this function grabs the good stuff and populates the pcard with it...
new Ajax.Request('http://www.nationalsigleague.com/nslrip.php?do=pinfo&uid=' + elid, {asynchronous:true, onSuccess: function(t) {
if(t.responseText != 'error')
{
el.bgColor = '#444444';
el.innerHTML = t.responseText;
el.done = 1;
} else {
el.innerHTML = '<tbody><tr><td>Failed to communicate with the NSL Game Server.</td></tr></tbody>';
}
clearTimeout(el.timer);
 },onFailure: function(t) {
        el.innerHTML = '<tbody><tr><td>Failed to communicate with the NSL Game Server.</td></tr></tbody>';
clearTimeout(el.timer);
    }});
}

// collapse the menu //
function ddCollapse(c){
  c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);
}

// cancel the collapse if a user rolls over the dropdown //
function cancelHide(id){
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  clearTimeout(h.timer);
  clearInterval(c.timer);
  if(c.offsetHeight < c.maxh){
    c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
  }
}