// from quirksmode.org
var W3CDOM = (document.createElement && document.getElementsByTagName);

var searchform, searchinput, searchquery;
var maincontent, relatedcontent, container;
var printbutton;
var pageerror, pageinfo;

// from quirksmode.org
function trueMouseOut(e) {
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	while (reltg != tg && reltg.nodeName != 'BODY')
		reltg = reltg.parentNode
	if (reltg == tg) return false;
	return true;
}

// from quirksmode.org
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

// from quirksmode.org
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

// from quirksmode.org
function eraseCookie(name) {
	createCookie(name,"",-1);
}

// from SitePoint
function addLoadListener(fn)
{
  if (!W3CDOM) return;
  if (typeof window.addEventListener != 'undefined') 
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
}

function ajaxObject(script, handle)
{
  var xmlHttp;
  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch (e)
  {
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        alert("Your browser does not support AJAX!");
        return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange=function()
  {
    if(xmlHttp.readyState==4 || AJAX.readyState=="complete")
    {
      eval(handle + "(xmlHttp.responseText)");
    }
  }
  
  xmlHttp.open("GET", script, true);
  xmlHttp.send(null);
}

function initSearch()
{
  searchform = document.getElementById('searchform');
  searchinput = document.getElementById('searchinput');
  searchquery = document.getElementById('searchquery');
  searchform.onsubmit = function()
  {
    searchquery.value = 'site:www.ohiodiscgolf.org ' + searchinput.value;
    searchinput.value = '';
  }
}

function resizeContent()
{
  
  relatedcontent = document.getElementById('relatedcontent');
  maincontent = document.getElementById('maincontent');
  container = document.getElementById('container');
  var arr = new Array();
  if(!maincontent)
  {
    maincontent = document.getElementById('mainhomecontent');
  }
  if(maincontent)
  {
    if(!relatedcontent)
    {
      maincontent.style.width = '930px';
      var divs = new Array(maincontent);
    }
    else
    {
      var divs = new Array(relatedcontent, maincontent);
    }
    // modified from http://www.paulbellows.com/getsmart/balance_columns/
    var maxHeight = 0;
    for (var i = 0; i < divs.length; i++)
    {
      if (divs[i].offsetHeight > maxHeight) maxHeight = divs[i].offsetHeight;
    }
    for (var i = 0; i < divs.length; i++)
    {
      divs[i].style.height = maxHeight + 'px';
      if (divs[i].offsetHeight > maxHeight)
      {
        divs[i].style.height = (maxHeight - (divs[i].offsetHeight - maxHeight)) + 'px';
      }
    }
    container.style.height = 200 + maxHeight + 'px';
  }
}

function initPrintButton()
{
  printbutton = document.getElementById('printbutton');
  var loc = window.location.toString();
  loc = loc.replace(/http\:\/\/www\.ohiodiscgolf\.org\//, '');
  loc = '/print/' + loc;
  printbutton.setAttribute('href', loc);
}

function checkPageMessages()
{
  pageinfo = document.getElementById('pageinfo');
  pageerror = document.getElementById('pageerror');
  
  if(pageerror)
  {
    window.setTimeout("pageerror.style.display = 'none'", 5000);
  }
  if(pageinfo)
  {
    window.setTimeout("pageinfo.style.display = 'none'", 5000);
  }
}

function toggleSubmittedForm()
{
  var inputs;
  var theforms = document.getElementsByTagName('FORM');
  for (var x = 0; x < theforms.length; x++)
  {
    theforms[x].inputs = theforms[x].getElementsByTagName('INPUT');
    theforms[x].onsubmit = function ()
    {
      for(var y = 0; y < this.inputs.length; y++)
      {
        if(this.inputs[y].type == 'submit' || this.inputs[y].type == 'image')
          this.inputs[y].disabled = true;
      }
    }
  }
}

addLoadListener(toggleSubmittedForm);
addLoadListener(resizeContent);
addLoadListener(initPrintButton);
addLoadListener(checkPageMessages);