var defaultBackground = "#F8F8FF";

//--------------------------------------


//--------------------------------------


		
var menuwidth='150px' //default menu width
var menubgcolor='Seashell'  //menu bgcolor
var disappeardelay=250 //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu


function into(oObj)
{
	oObj.style.cursor="pointer"; 
	oObj.style.cursor = "hand";
}

function outof(oObj)
{
	oObj.style.cursor="default";
}	

function rollin(oObj)
{
	oObj.style.cursor="pointer"; 
	oObj.style.cursor = "hand";
	oObj.style.background="Seashell";
}

function rollout(oObj)
{
oObj.style.cursor="default";
oObj.style.background=defaultBackground;

}

function copr()
{

	return("Copyright(C) AMSAT 2009 All Rights Reserved\n");

}

function checkEric(oObj)
{

	if(oObj.value == "e")
	{
		oObj.value="Eric Christensen";
		oMail=document.getElementById("email");
		oMail.value="\"Christensen, Eric\" <CHRISTENSENE@MAIL.ECU.EDU>";
	}

}	

function	checkClient()
{

	var winWidth;
	
	if(typeof(window.innerWidth) == 'number')
		winWidth=window.innerWidth;
	else
		winWidth=document.body.clientWidth;
	
	if(winWidth < 801)
		document.body.leftMargin=0;

}

function checkContact(form) { 
	var errors = false; 
	var missingFields="";

// Check to make sure there is a valid name, email address and phone number before allowing the form to be submitted

	if(form.name.value==""){
		errors=true;
		missingFields += "Name, ";
	}

	if(form.emailaddr.value==""){
		errors=true;
		missingFields += "Email Address, ";
	}

	if(form.reason.value=="none"){
		errors=true;
		missingFields += "Reason for Contact,";
	}
	if(form.Information.value==""){
		errors=true;
		missingFields += "Description";
	}


// if there aren't any errors, submit the form, otherwise issue an alert

	if (errors == false) { 

		return(true);

	} else {
		
		alert("You must provide the information in the required (*) fields.\n\nMissing fields are: \n" + missingFields + "\n\nPlease try again");
		return(false);
	} 
}

NS4 = (document.layers) ? true : false;

function checkEnter(event, oForm)
{
	var code = 0;
	
	if (NS4)
		code = event.which;
	else
		code = event.keyCode;
	
	if (code == 13)
  	 {
  	 document.oForm.submit();
  	 return false;
  	 }
	else
   	return true;
}


function printIt()
{
	var printDiv="<table>" + document.getElementById('theBody').innerHTML + "</table>";
	thePopup=window.open("","myWindow");
	popBody=thePopup.document.body;
	popBody.innerHTML=printDiv;
	thePopup.onafterprint="alert('donePrinting')";

	thePopup.window.print();
	thePopup.close();

}

// the next three functions support the editDonatCats.php utility

function addOption(sSelect, sSource)
{
	var oSelect=document.getElementById(sSelect);
	var sValue=document.getElementById(sSource).value;
	document.getElementById(sSource).value = "";
	var oOption=new Option();
	oOption.text=sValue;
	oOption.value=sValue;
	var insertVal=oSelect.length;
	oSelect[insertVal]=oOption;
}



function delOption(sSelect)
{
	var oSelect=document.getElementById(sSelect);
	oSelect.remove(oSelect.selectedIndex);


}

function selectAllList(sSelect)
{
	var oSelect=document.getElementById(sSelect);

	var i=oSelect.length;
	while(i)
		oSelect.options[--i].selected=true;		
}

function doConfirm(prompt, retloc)
{

	var message="Do you want to abandon saving changes to this " + prompt + "?\n\n";
	message += "OK - click OK to abandon this " + prompt + " without saving changes\n";
	message += "CANCEL - click Cancel to continue editing this " + prompt;

	var answer=confirm(message);
	if(answer==true)
		document.location.href=retloc + ".php";
}

function confirmDelete(thisType)
{
	var prompt="This action is not reverseable!\n";
	prompt +="Are you absolutely sure you want to obliterate this " + thisType + " forever?\n\n";
	prompt += "OK - clicking OK means you are absolutely sure you want to delete this " + thisType;
	prompt += ".\nCANCEL - clicking Cancel means you do not want to delete this " + thisType;
	
	return(confirm(prompt))
}