function open_join_mailing_list_popup(){
	newWin=window.open('http://www.patronmail.com/pmailweb/PatronSetup?oid=486','patron_signup','height=500,width=640,scrollBars=1,resizable=0');newWin.focus();
}


/***********************************************************navbar stuff******************************************/

var navbar_close_delay=1000;
var goodbye_navbar=null;

function keep_navbar_open(){
	clearInterval(goodbye_navbar);
}



function open_navbar_menu(target_item,navbar_item_id,is_last){
	clear_out_navbar();
	make_top_menu_item_selected(target_item);
	var button_location=findPos(target_item);
	var submenu_to_show=document.getElementById("subnav_"+navbar_item_id);
	if(submenu_to_show){
		//NOTE: the display needs to be set to BLOCK here before the offsetWidth is checked below, otherwise it will return as zero
		submenu_to_show.style.visibility="hidden";
		submenu_to_show.style.display="inline";
		submenu_to_show.style.visibility="hidden";
		//alert("test");
		//Note: need to make it so the last item on the right is based on the right edge
		
		var target_x=findPosX(target_item);
		var target_y=findPosY(target_item)+20;
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			target_y+=4;
		}
		var target_width=target_item.offsetWidth;
		//alert(findPosX(target_item));
		submenu_to_show.style.position="absolute";	
		submenu_to_show.style.top=target_y+'px';
		if(is_last==1){
			var parent_right_edge=target_width+target_x;
			target_x=parent_right_edge-submenu_to_show.offsetWidth;
			
		}
		submenu_to_show.style.left=target_x+'px';
		
		submenu_to_show.style.display="block";
		submenu_to_show.style.visibility="visible";
	}
	
	keep_navbar_open();
	
	//alert("x:"+button_location[0]+","+"y:"+button_location[1]);
}

function set_navbar_clear_out_timer(){
	clearInterval(goodbye_navbar);
	goodbye_navbar=setTimeout("clear_out_navbar()",navbar_close_delay);
}


function clear_out_navbar(){
	//loop through all top level items
	for(var i=0; i<all_top_level_ids.length; i++){
		//make each of their sub menus hidden
		var this_top_level_item=document.getElementById("top_nav_item_"+all_top_level_ids[i]);
		make_top_menu_item_deselected(this_top_level_item);
		var submenu_to_hide=document.getElementById("subnav_"+all_top_level_ids[i]);
		if(submenu_to_hide){
			submenu_to_hide.style.display="none";
		}
	}
}
function make_top_menu_item_selected(target_item){
	target_item.className="menu_item_selected";
}

function make_top_menu_item_deselected(target_item){
	target_item.className="menu_item";
}

function get_window_dimensions(){
	//modified from code from http://www.javascripter.net/faq/browserw.htm
	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		}
		var dimensions_array=new Array(winW,winH);
		return dimensions_array;
	}
	return false;
}
/**************************************from quirksmode ********************************************/
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
function get_page_scroll(){
	var x,y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	my_output=new Array(x,y);
	return my_output;
}

//*******************************************form validation ******************************************/

function ai_check_support_form(form){
	if(
	   (inForm(form.member_amount) && (trim(form.member_amount.value) == ""))&&
	   (inForm(form.donor_amount) && (trim(form.donor_amount.value) == ""))&&
	   (inForm(form.support_amount) && (trim(form.support_amount.value) == ""))&&
	   (inForm(form.sponsor_amount) && (trim(form.sponsor_amount.value) == ""))
	   ){
		alert('please enter a donation amount.'); 
		return false;
		
	}
	if(inForm(form.name) && (trim(form.name.value) == "")){
		alert('please enter your name.'); return false;}
	if(inForm(form.b_address1) && (trim(form.b_address1.value) == "")){
		alert('please enter your billing address.'); return false;}
	if(inForm(form.b_city) && (trim(form.b_city.value) == "")){
		alert('please enter your billing city.'); return false;}
	if(inForm(form.b_state) && (trim(form.b_state.value) == "")){
		alert('please enter your billing state.'); return false;}
	if(inForm(form.b_zip) && (trim(form.b_zip.value) == "")){
		alert('please enter your billing zip code.'); return false;}
		
	if(inForm(form.email) && !(/[A-Za-z0-9_\.\-]+@+[A-Za-z0-9_\-]+\.[A-Za-z]+/.test(form.email.value))){
		alert('please enter a valid email address');
		return false;}
	if(inForm(form.phone_da) && (trim(form.phone_da.value) == "")){
		alert('please enter your daytime phone.'); return false;}
		
	var isOneChecked = false;
    for (var i=0; i < form.card_type.length; i++)
    {
         if(form.card_type[i].checked){
            isOneChecked = true;
            break;
         }
    }

    if (!isOneChecked) {
        alert('please choose a credit chard type.');
         return(false);
    }
	
	if(inForm(form.card_number) && (trim(form.card_number.value) == "")){
		alert('please enter your credit card number.'); return false;}
		
	if(inForm(form.card_expiration_date) && (trim(form.card_expiration_date.value) == "")){
		alert('please enter your credit card expiration date.'); return false;}
		
	form.submit();
}
/********************************************data entry ***********************************************/

function doublecheck_keyword_admin(theForm){
	var genre_selected = false;
	for (i = 0; i< theForm["genres[]"].length; i++){
		if(theForm["genres[]"][i].checked){
			genre_selected = true;
		}
	}
	if(!genre_selected){
		alert("Please select at least one Genre.");
		return false;
	}
	var theme_selected = false;
	for (i = 0; i< theForm["themes[]"].length; i++){
		if(theForm["themes[]"][i].checked){
			theme_selected = true;
		}
	}
	if(!theme_selected){
		alert("Please select at least one Theme.");
		return false;
	}

	return true;
	
}

/*****************************************archive ********************************************************/

/*
function toggle_display_archive_year(year){
	var this_btn=document.getElementById('archive_year_open_close_btn_'+year);
	var this_btn_inner_txt=document.getElementById('archive_year_inner_txt_'+year);
	var this_btn_img=document.getElementById('archive_year_img_'+year);
	var this_data_holder=this["archive_year_"+year+"_data_holder"];
	
	if(this_data_holder.state=='closed'){
		//open it
		this_data_holder.state="open";
		this_btn_inner_txt.innerHTML="Click to close";
		this_btn_img.src='images/website_images/x_black_over.png';
		//this_btn_img.className='year_x';
		this_btn.onmouseover=function(){
			roll_over_archive_year_opened(year);
		}
		this_btn.onmouseout=function(){
			roll_off_archive_year_opened(year);
		}
	}else{
		//close it
		this_data_holder.state="closed";
		this_btn_inner_txt.innerHTML="Click to open";
		this_btn_img.src='images/website_images/arrow_black_over.png';
		//this_btn_img.className='year_arrow';
		this_btn.onmouseover=function(){
			roll_over_archive_year_closed(year);
		}
		this_btn.onmouseout=function(){
			roll_off_archive_year_closed(year);
		}
	}
}

function roll_over_archive_year_opened(year){
	var this_btn=document.getElementById('archive_year_open_close_btn_'+year);
	this_btn.className='archive_year_open_close_over';
	var this_btn_img=document.getElementById('archive_year_img_'+year);
	this_btn_img.src='images/website_images/x_black_over.png';
}

function roll_off_archive_year_opened(year){
	var this_btn=document.getElementById('archive_year_open_close_btn_'+year);
	this_btn.className='archive_year_open_close';
	var this_btn_img=document.getElementById('archive_year_img_'+year);
	this_btn_img.src='images/website_images/x_black.png';
}

function roll_over_archive_year_closed(year){
	var this_btn=document.getElementById('archive_year_open_close_btn_'+year);
	this_btn.className='archive_year_open_close_over';
	var this_btn_img=document.getElementById('archive_year_img_'+year);
	this_btn_img.src='images/website_images/arrow_black_over.png';
}

function roll_off_archive_year_closed(year){
	var this_btn=document.getElementById('archive_year_open_close_btn_'+year);
	this_btn.className='archive_year_open_close';
	var this_btn_img=document.getElementById('archive_year_img_'+year);
	this_btn_img.src='images/website_images/arrow_black.png';
}

*/
function roll_over_archive_item(this_item){
	this_item.my_btn.className=this_item.rolled_over_class;
	if(this_item.state=="closed"){
		this_item.my_img.src=this_item.closed_img_rollover_src;
	}else{
		this_item.my_img.src=this_item.opened_img_rollover_src;
	}
}
function roll_off_archive_item(this_item){
	this_item.my_btn.className=this_item.rolled_off_class;
	if(this_item.state=="closed"){
		this_item.my_img.src=this_item.closed_img_src;
	}else{
		this_item.my_img.src=this_item.opened_img_src;
	}
}
function toggle_display_archive_item(this_item){
	if(this_item.state=='closed'){
		//open it
		this_item.state="open";
		this_item.my_inner_txt.innerHTML="Click to close";
		this_item.my_img.src=this_item.opened_img_rollover_src;
		//alert(this_item.my_content);
		this_item.my_content.style.display="block";
	}else{
		//close it
		this_item.state="closed";
		this_item.my_inner_txt.innerHTML="Click to open";
		this_item.my_img.src=this_item.closed_img_rollover_src;
		this_item.my_content.style.display="none";
	}
}


function getInternetExplorerVersion()
//from http://stackoverflow.com/questions/280879/how-can-i-determine-which-version-of-ie-a-user-is-running-in-javascript
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}


