function addLoadEvent(func) {
 var oldonload = window.onload;
 if (typeof window.onload != 'function') {
  window.onload = func;
 }
 else {
  window.onload = function() {
   oldonload();
   func();
  }
 }
}

function insertAfter(newElement, targetElement) {
 var parent=targetElement.parentNode;
 if(parent.lastChild==targetElement) {
  parent.appendChild(newElement);
 }
 else {
  parent.insertBefore(newElement, targetElement.nextSibling);
 }
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}



function Hijax() {
 var container, url, canvas, data, loading, callback, request;
 this.setContainer = function(value) {
  container = value;
 }; 
 this.setUrl = function(value) {
  url = value;
 }; 
 this.setCanvas = function(value) {
  canvas = value;
 }; 
 this.setLoading = function(value) {
  loading = value;
 }; 
 this.setCallback = function(value) {
  callback = value;
 };
 
 this.captureData = function() {
  if (container.nodeName.toLowerCase() == "form") {
   container.onsubmit = function() {
    var query = "";
    for (var i=0; i<this.elements.length; i++) {
     query += this.elements[i].name;
     query += "=";
     query += escape(this.elements[i].value);
     query += "&";
    }
    data = query;
    return !start();
   };
  }
  else {
   var links = container.getElementsByTagName("a");
   for (var i=0; i<links.length; i++) {
    links[i].onclick = function() {
     var query = this.getAttribute("href").split("?")[1];
     url += "?"+query;
     return !start();
    };
   }
   links = null;
  }
 };

 var start = function() {
  request = getHTTPObject();
  if(!request || !url) {
   return false;
  }
  else {
   initiateRequest();
   return true;
  }
 };

 var getHTTPObject = function() {
  var xmlhttp = false;
  if (window.XMLHTTPRequest) {
   xmlhttp = new XMLHTTPRequest();
  }
  else if (window.ActiveXObject) {
   try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }
   catch (e) {
    try {
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) {
     xmlhttp = false;
    }
   }
  }
  return xmlhttp;
 };
 
 var initiateRequest = function() {
  if(loading) {
   loading();
  }
  request.onReadystatechange = completeRequest;
  if (data) {
   request.open("POST", url, true);
   request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   request.send(data);
  }
  else {
   request.open("GET", url, true);
   request.send(null);
  }
 };

 var completeRequest = function() {
  if (request.readyState == 4) {
   if (request.status == 200 || request.status == 304) {
    if (canvas) {
     canvas.innerHTML = request.responseText;
    }
    if (callback) {
     callback();
    }
   }
  }
 };
} 


function stripe(par, elm, start) {
 if(!document.getElementsByTagName) return false;
 if(!document.getElementById) return false;
 var stripes=document.getElementById(par).getElementsByTagName(elm);
 if (start==null) {start=1};
 for(var j=(start-1); j<stripes.length; j+=2) {
  stripes[j].style.backgroundColor='#cafca7'; 
 }
 for(var j=start; j<stripes.length; j+=2) {
  stripes[j].style.backgroundColor='#fff'; 
 }
}

function checkform(input) {
 if(!document.getElementsByTagName) return false;
 if(!document.getElementById) return false;
 var form=input.parentNode, inputs=form.getElementsByTagName("input");
 for (var i=0; i<inputs.length; i+=2) {
  if (inputs[i].getAttribute("type")!="radio") { continue; }
  if (inputs[i].checked==false && inputs[i+1].checked==false) { var errors=true; break; }
 }
 if (errors==true) { alert("Please make a selection for every game"); return false; }
}

function emails(leagues) {
 if(!document.getElementsByTagName) return false;
 if(!document.getElementById) return false;
 var all_checks=document.getElementsByTagName("input");
 var count=0;
 for (var i=0; i<all_checks.length; i++) {
  if(all_checks[i].getAttribute("type")!="checkbox") { continue; }
  if(all_checks[i].getAttribute("name")=="copy_picks") { continue; }
  if(all_checks[i].getAttribute("name")=="mid_season_email") { continue; }
  if(all_checks[i].checked==true) {
   if(all_checks[i].getAttribute("name")=="48hr_email" || all_checks[i].getAttribute("name")=="24hr_email") {  
    count++;
   }
   else {
    count=count+leagues;
   }
  }
 }
 var amount=count;
 switch(amount) {
  case 0:
   document.getElementById("email").style.display="none";
   break;
  case 1:
   document.getElementById("email").style.display="block";
   document.getElementById("email").innerHTML="The specified settings may generate 1 email per week"
   new Effect.Highlight(document.getElementById("email"), { startcolor: '#ffff99', endcolor: '#ffffff', restorecolor: '#ffffff' });
   break;
  default:
   document.getElementById("email").style.display="block";
   document.getElementById("email").innerHTML="The specified settings may generate up to "+amount+" emails per week"
   new Effect.Highlight(document.getElementById("email"), { startcolor: '#ffff99', endcolor: '#ffffff', restorecolor: '#ffffff' });
   break;
 }
}

function confirm_delete(member) {
 var answer=confirm("Do you really wish to remove "+member+" from your league?")
 if (answer) {
  return true;
 }
 else {
  return false;
 }
}

