/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

// Usage Example:
//	<a onMouseOut="delayhidemenu();" onMouseOver="dropdownmenu(this,event,menuau,'');" href="/about.php">

//Contents for What's New
var menune=new Array();
//menune.push('<a href="/photos">International&nbsp;Day&nbsp;2008&nbsp;Pictures</a>')
//menune.push('<a href="/docs/AnnualReport.pdf">Our&nbsp;2006-2007&nbsp;Annual&nbsp;Report&nbsp;(PDF)</a>')
//menune.push('<a href="/golf">Spring&nbsp;Golf&nbsp;Outing</a>')
//menune.push('<a href="/grange_census">Our&nbsp;Grange&nbsp;Fair&nbsp;Census</a>')
//menune.push('<a href="/camp2006.php">Architectural&nbsp;Fun&nbsp;&amp;&nbsp;Games&nbsp;Pictures</a>')
menune.push('<a href="/eitc">Business Owners: Get PA Tax Credits</a>')
//menune.push('<a href="/seniorlink">SeniorLink - new youth venture</a>')
//menune.push('<a href="/contest.php">International Day Artwork Contest is now underway</a>')
//menune.push('<a href="/garden.php?sel=july">Our Garden Wins First Place</a>')
//menune.push('<a href="/chests.php">Getting&nbsp;Closer:&nbsp;Historic&nbsp;Treasure&nbsp;Chests</a>')
//menune.push('<a href="/pressreleases.php">Press&nbsp;Releases</a>')
//menune.push('<a href="/website.php">New on the Website</a>')
// Note: The following might be inserted at beginning by cccinitevts.php IF there are any 
//			upcoming special or community events:
//		menune.unshift('<a href="/contest.php">2007 Intl Day Art Contest Winner Announced</a>')
// 	menune.unshift('<a href="/commevents">Where We Are This Month</a>')
//		menune.unshift('<a href="/specialevents">date and description of next special event</a>')

//Contents for About Us
var menuau=new Array()
menuau.push('<a href="/about">Our&nbsp;Mission</a>')
menuau.push('<a href="/about.php#board">The&nbsp;People&nbsp;Involved</a>')
//menuau.push('<a href="/news">Our&nbsp;Newsletter</a>')
//menuau.push('<a href="/docs/AnnualReport.pdf">Our&nbsp;Annual&nbsp;Report&nbsp;(PDF)</a>')
//menuau.push('<a href="/contact">Find&nbsp;Our&nbsp;Address/Phone/Fax/Email</a>')
//menuau.push('<a href="/contact">Request&nbsp;More&nbsp;Information</a>')
//menuau.push('<a href="/contact">Join&nbsp;Our&nbsp;Mailing&nbsp;List</a>')
menuau.push('<a href="/chest_request.php">Reserve&nbsp;a&nbsp;Treasure&nbsp;Chest</a>')
menuau.push('<a href="/contact">Contact&nbsp;Us</a>')
/*
//Contents for Programs & Events
var menupe=new Array()
menupe[0]='<a href="/programs">Summary</a>'
menupe[1]='<a href="/workshop">Workshops&nbsp;on&nbsp;Wheels</a>'
menupe[2]='<a href="/specialevents">Special&nbsp;Event&nbsp;Series</a>'
menupe[3]='<a href="/golf">Golf&nbsp;Outing</a>'
menupe[4]='<a href="/hitech">High&nbsp;Tech&nbsp;Teens</a>'
menupe[5]='<a href="/seniorlink">SeniorLink</a>'
menupe[6]='<a href="/cya">Congressional&nbsp;Youth&nbsp;Award</a>'
menupe[7]='<a href="/chests">Historic&nbsp;Treasure&nbsp;Chests</a>'
menupe[8]='<a href="/support">Buy&nbsp;Tickets&nbsp;and&nbsp;Memberships</a>'
*/
//Contents for Family Events
// Note: One of the following will be inserted at beginning by cccinitevts.php:
//			menufe.unshift('<a href="/specialevents">Description of next event</a>') - link to next scheduled event
//   OR	menufe.unshift('<a href="/specialevents">Special Event Series</a>') - if no upcoming events scheduled
var menufe=new Array()
//menufe[0]='<a href="/id">International&nbsp;Day</a>'

//Contents for Richboro School (phasing out references to this)
var menurs=new Array()
//menurs.push('<a href="/saveschool">Help&nbsp;Save&nbsp;the&nbsp;School</a>')
//menurs.push('<a href="/news?qtr=Spring&yr=2009#2">Betty&nbsp;Luff&nbsp;Interview</a>')
// Note: cccinitevts.php may append another link to the end

//Contents for Volunteer 
var menuvo=new Array()
menuvo.push('<a href="/volunteer">Adult&nbsp;Volunteer&nbsp;Opportunities</a>')
menuvo.push('<a href="/student.php#youth">Youth&nbsp;Volunteer&nbsp;Programs</a>')
menuvo.push('<a href="/student.php#student">Summer&nbsp;Gardening&nbsp;for&nbsp;Students</a>')
//menuvo.push('<a href="/volunteer.php#intlday">International&nbsp;Day&nbsp;Volunteers&nbsp;Needed</a>')
menuvo.push('<a href="/volist">List&nbsp;of&nbsp;Current&nbsp;Openings</a>')

//Contents for Educational Programs
var menuei=new Array()
menuei[0]='<a href="/workshop">Workshops&nbsp;on&nbsp;Wheels</a>'
menuei[1]='<a href="/chests">Historic&nbsp;Treasure&nbsp;Chests</a>'
menuei[2]='<a href="/chest_request.php">Reserve&nbsp;a&nbsp;Treasure&nbsp;Chest</a>'
/*
//Contents for International Day
var menuid=new Array()
menuid[0]='<a href="/id">International&nbsp;Day&nbsp;Website</a>'
menuid[1]='<a href="/contest.php">Artwork&nbsp;Competition</a>'
menuid[2]='<a href="/volunteer.php#intlday">2007 Adult Volunteer Opportunities</a>'
menuid[3]='<a href="/student.php#youth">2007 Youth Volunteers Needed</a>'
*/
//Contents for Community Involvement
// Note: The following might be inserted at beginning by ccccal.php IF there are any 
//			upcoming community events:
// 	menuci.unshift('<a href="/commevents.php">Where We Are This Month</a>')
var menuci=new Array()
menuci[0]='<a href="/student#student">Student&nbsp;Summer&nbsp;Gardening</a>'
menuci[1]='<a href="/student#youth">Youth&nbsp;Volunteer&nbsp;Programs</a>'
menuci[2]='<a href="/cya">Congressional&nbsp;Youth&nbsp;Award</a>'
menuci[3]='<a href="/hitech">High&nbsp;Tech&nbsp;Teens</a>'
menuci[4]='<a href="/seniorlink">SeniorLink</a>'

//Contents for You Can Help
var menuhu=new Array()
menuhu[0]='<a href="/support">Buy&nbsp;Tickets&nbsp;and&nbsp;Memberships</a>'
menuhu[1]='<a href="/support">Business&nbsp;&amp;&nbsp;Community&nbsp;Partners</a>'
menuhu[2]='<a href="/partners">Donate&nbsp;Goods&nbsp;&amp;&nbsp;Services</a>'
menuhu[3]='<a href="/eitc">PA Tax Credit Info for Businesses</a>'
//menuhu[4]='<a href="/golf">Annual&nbsp;Golf&nbsp;Outing</a>'

//Contents for CCCaddr
var cccaddr=new Array()
cccaddr[0]='Childrens Cultural Center<br>'
cccaddr[1]='50 North Main Street<br>'
cccaddr[2]='Doylestown, PA 18901-3730'

var menuwidth='auto' //default menu width
var menubgcolor='lightyellow'  //menu bgcolor
var disappeardelay=250  //menu disappear speed onMouseout (in milliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editing needed

var ie4=document.all
var ns6=document.getElementById&&!document.all
var dropmenuobj;  // set up first time needed

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, wd){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
//if (wd!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=wd
//}
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 topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
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){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6) {
if (what.constructor.toString().indexOf("Array")==-1)
dropmenuobj.innerHTML='<a href="#" onClick="return false">' + what + '</a>';
else
dropmenuobj.innerHTML=what.join("");
}
}

function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) 
	event.cancelBubble=true;
else if (e.stopPropagation)
	e.stopPropagation();
clearhidemenu();
if (!dropmenuobj)
	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 true;  // true=>click opens mouseovered link, false=>click closes dropmenu
}

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)
}

/* top babelfish script - use our stored version of their gif to speed things up a bit. Replaces this line: 
   <script language="JavaScript1.2" src="http://www.altavista.com/static/scripts/translate_engl.js"></script>
*/
var URL = location.href;
function showbabel(){
if  (location.href.indexOf ("babelfish.altavista.com")==-1){
document.write("<Map name=translate_eng >");
document.write("<AREA COORDS=100,130,125,146 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_es' target=translate>");
document.write("<AREA COORDS=70,130,93,146 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_pt' target=translate>");
document.write("<AREA COORDS=39,130,65,146 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_it' target=translate>");
document.write("<AREA COORDS=8,130,31,146 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_fr' target=translate>");
document.write("<AREA COORDS=99,110,123,126 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_ko' target=translate>");
document.write("<AREA COORDS=70,110,95,126 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_ja' target=translate>");
document.write("<AREA COORDS=38,110,65,126 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_de' target=translate>");
document.write("<AREA COORDS=5,110,32,126 SHAPE=rect href='http://babelfish.altavista.com/babelfish/tr?doit=done&url="+URL+"&lp=en_zh' target=translate>");
document.write("<AREA COORDS=0,1,129,38 SHAPE=rect href='http://babelfish.altavista.com' target=translate>");
document.write("</Map>");
document.write("<img src=/images/trans_en.gif width=131 height=156 usemap=#translate_eng border=0 alt='Babel Fish Translation'>")
} else {
document.write( "<img src=http://babelfish.altavista/static/i/af/trans_en_off.gif width=131 height=156 border=0>")
}
}
/* end babelfish script */

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

/* Other JS functions */
<!-- hide this script from non-javascript-enabled browsers
function MM_findObj(n, d) { //v3.0
  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); return x;
}

// Functions that swap images
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

// Functions that use Bucks County Historical Events in one of the 12 bchistx.js files
// getHistoryEvent - returns string text of month,day event, or '' if none avail
//		mon has range 1-12
//		date has range 1-31
//		bBoxFmt=1 means to format the returned text for the calendar display box, else one string
function getHistoryEvent(mon,date,bBoxFmt) {
	var retstr='';
	var mqyear,mqtxt,datxt,evtcnt,evtidx;
	if (mon==evtmon) {  // correct bchistx.js was included (sanity check)
		// array syntax supports multiple event arrays per date, but for now assume just one.
		if (evt[date]) {
			evtcnt = evt[date].length;
			evtidx = 0;	// TBD - someday enhance to get more than just the first event on this day
							//   Or maybe provide 'prev' and 'next' links so viewer can cycle thru them???
			mqyear=evt[date][evtidx][0];
			mqtxt=evt[date][evtidx][1];
			datxt = evtmonth + ' ' + date + ', ' + mqyear;
			if (bBoxFmt)
				retstr = '<b>' + datxt + ':</b><br>' + mqtxt;
			else
				retstr = datxt + ': ' + mqtxt;
		}
	}
	return retstr;
}
// email definitions - used by gen_email_link()
var em1='jliney';
var em2='childrenscul';
var em3='turalcenter.org';
var cccemstr=em1+'@'+em2+em3;
// cccevt - display info in calendar display box
var caldispobj;  // filled in the first time we need it, then it's good for page duration
function cccevt(evtxt) {
	if (!caldispobj)
		caldispobj=document.getElementById? document.getElementById("pgcaldisp") : pgcaldisp;
	if (caldispobj) {
		caldispobj.innerHTML=evtxt;
	}
}
// cccclr - clear info from calendar display box
function cccclr() {
	if (caldispobj) {
		caldispobj.innerHTML='&nbsp;';
	}
}
// hist - called from within calendar to find historical info for display box
function hist(evtmon,evtdate) {
	histxt = getHistoryEvent(evtmon,evtdate,1);
	if (histxt)
		cccevt(histxt);
}

/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* Sample usage:
<a href="javascript:subpage('test.htm', 'contentarea');">test</a>
	OR apply 1 or more CSS and/or JS styles to the loaded page as follows:
<a href="javascript:subpage('test.htm', 'contentarea'); loadobjs('external.css', 'feature.js')">test</a>  
<div id="contentarea"></div>
*/
var bustcachevar=1; //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function subpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}

/**Variation: Combo Menu Load Ajax snippet
Sample Usage:
<form>
<select id="ajaxmenu" size="1" onChange="ajaxcombo('ajaxmenu', 'contentarea')">
<option value="">Select a file to load</option> ("" tells script not to load anything)
<option value="page1.htm">Page 1</option>
<option value="page2.htm">Page 2</option>
<option value="subdirectory/page3.htm">Page 3</option>
</select>
</form>

<div id="contentarea"></div>
**/
function ajaxcombo(selectobjID, loadarea){
var selectobj=document.getElementById? document.getElementById(selectobjID) : ""
if (selectobj!="" && selectobj.options[selectobj.selectedIndex].value!="")
subpage(selectobj.options[selectobj.selectedIndex].value, loadarea)
}

// stop hiding -->


