function myCookie(name, value, expiry, path, domain)
{
	document.cookie= name + "=" + value + "; expires=" + expiry + "; " + " path=" + path + "; domain=" + domain + ";";
}

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 dc.substring(begin + prefix.length, end);
}
function loadingAction(divId, message_id)
{
//	if(!document.getElementById(divId)){ return false; }
	
	switch(message_id)
	{
		default:
			document.getElementById(divId).innerHTML = 'Passing it on&#133; please wait';
			break;
	}
}

function ajaxFunction(divId, page)
{
	var xmlHttp;
	try
    {
    	// Firefox, Opera 8.0+, Safari
	    xmlHttp=new XMLHttpRequest();
    }
	catch (e)
    {
	    // Internet Explorer
	    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)
		{
	    	document.getElementById(divId).innerHTML=xmlHttp.responseText;
    	}
    }
	xmlHttp.open("GET",page,true);
    xmlHttp.send(null);
}
	
function ajaxSubmit(f, divId, anchorHash)
{
	if(!anchorHash){ anchorHash = '' ;}
	
	if(window.XMLHttpRequest){
	var xmlReq = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
	var xmlReq = new ActiveXObject('Microsoft.XMLHTTP');
	}
	var formData = '', elem = '';
	for(var s=0; s<f.elements.length; s++){
	elem = f.elements[s];
	if(formData != ''){
	formData += '&';
	}
	formData += elem.name+"="+elem.value;
	}
	xmlReq.onreadystatechange = function(){
	if(xmlReq.readyState == 4){
	document.getElementById(divId).innerHTML = xmlReq.responseText;
	location.hash = anchorHash;
	}
	}
	xmlReq.open(f.method, f.action, true);
	xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlReq.send(formData);
	return false;
}

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.id; 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 == '');
}

// http://www.onlinebuttonsecrets.com

// Preload Over and Down state images
Image1= new Image(10,12);
Image1.src = "http://www.onlinebuttonsecrets.com/covers/abv3Down.gif";
Image2= new Image(10,12);
Image2.src = "http://www.onlinebuttonsecrets.com/covers/abv3Over.gif";
Image3= new Image(10,12);
Image3.src = "http://www.onlinebuttonsecrets.com/covers/abv3Up.gif";

function alexButton(state, ID)
{
	switch(state)
	{
		case "press":
			document.getElementById(ID).style.backgroundImage='url(http://www.onlinebuttonsecrets.com/covers/abv3Down.gif)';
			document.getElementById(ID).style.backgroundPosition='top';
			break;
		case "over":
			document.getElementById(ID).style.backgroundPosition='top';
			document.getElementById(ID).style.backgroundImage='url(http://www.onlinebuttonsecrets.com/covers/abv3Over.gif)';
			break;
		case "up":
		default:
		// Up	
			document.getElementById(ID).style.backgroundPosition='bottom';
			document.getElementById(ID).style.backgroundImage='url(http://www.onlinebuttonsecrets.com/covers/abv3Up.gif)';
			break;
	}
}

function linkify(URL,target, config)
{
	if(target != '')
	{
		// Open in a new window
		window.open(URL, target, config);
	}
	else
	{
		location.href=URL;
	}
}

function getElement(aID)
{
	return (document.getElementById) ?
		document.getElementById(aID) : document.all[aID];
}

function getIFrameDocument(aID){ 
	var rv = null; 
	var frame=getElement(aID);
	// if contentDocument exists, W3C compliant (e.g. Mozilla) 
	if (frame.contentDocument)
		rv = frame.contentDocument;
	else // bad IE  ;)
		rv = document.frames[aID].document;
	return rv;
}

function adjustMyFrameHeight()
{
	var frame = getElement("myFrame");
	var frameDoc = getIFrameDocument("myFrame");
	frame.height = frameDoc.body.offsetHeight;
}