// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function start_slideshows(announcement_count, home_image_count) {
	if(announcement_count > 1) {
		start_slideshow(1, announcement_count, 5000, 'announcements'); 
	}
	if(home_image_count > 1) {
		start_slideshow(1, home_image_count, 7000, 'home_images'); 
	}
	
}

/* --- SLIDING UPPER DROP-DOWN MENU --- */
/* Original code at Leigeber Web Development Blog at http://www.leigeber.com/2008/11/drop-down-menu/ */

var menu=function(){
	var t=15,z=50,s=6,a;
	function dd(n){this.n=n; this.h=[]; this.c=[]}
	dd.prototype.init=function(p,c){
		a=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
		for(i;i<l;i++){
			var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
			h.onmouseover=new Function(this.n+'.st('+i+',true)');
			h.onmouseout=new Function(this.n+'.st('+i+')');
		}
	}
	dd.prototype.st=function(x,f){
		var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
		clearInterval(c.t); c.style.overflow='hidden';
		if(f){
			p.className+=' '+a;
			if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
			if(c.mh==c.offsetHeight){c.style.overflow='visible'}
			else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
		}else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
	}
	function sl(c,f){
		var h=c.offsetHeight;
		if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
			if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
			clearInterval(c.t); return
		}
		var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
		c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
		c.style.height=h+(d*f)+'px'
	}
	return{dd:dd}
}();

/* --- SLIDESHOW --- */
/* Original code at the Pixelmator website at http://www.pixelmator.com/ */

function start_slideshow(start_frame, end_frame, delay, elementID) {
	setTimeout(switch_slides(start_frame,start_frame,end_frame, delay, elementID), delay);
}

function switch_slides(frame, start_frame, end_frame, delay, elementID) {
	return (function() {
		Effect.Fade(elementID + frame);
		if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
		setTimeout("Effect.Appear('" + elementID + frame + "');", 0);
		setTimeout(switch_slides(frame, start_frame, end_frame, delay, elementID), delay + 0);
	})
}

//loadingbar = new Image();
//loadingbar.src = "/images/div_background.jpg";

/* Element Fade In and Out */

// *******************************************************************
// fader.js - a small JavaScript mouseOver fade in and out library
// Developed by Martin Joergensen, (c) 2005
// martin@globalflyfisher.com, http://globalflyfisher.com
// This code is licensed under the Noncommercial Creative Commons License
// You are not only encouraged to use it noncommercially but also to develop it
// Please credit me if you use or redistribute it

function _fade_in(element, opacity) {
    obj = document.getElementById(element);
    if (opacity==0)
        obj.style.visibility="visible";
    if (opacity <= 100) {
        _set_opacity(obj, opacity);
        opacity+=10;
        window.setTimeout("_fade_in(\'"+element+"\',"+opacity+")", 90);
	}
}

function _fade_out(element, opacity) {
    obj = document.getElementById(element);
    if (opacity > 0) {
        _set_opacity(obj, opacity);
        opacity-=10;
        window.setTimeout("_fade_out(\'"+element+"\',"+opacity+")", 90);
	}
    if (opacity<10) {
        obj.style.visibility="hidden";
	}
}

function _set_opacity(obj, opacity) {
    opacity=(opacity==100) ? 99.999 : opacity;
    // IE/Win
    obj.style.filter="alpha(opacity:"+opacity+")";
    // Safari<1.2, Konqueror
    obj.style.KHTMLOpacity=opacity/100;
    // Older Mozilla and Firefox
    obj.style.MozOpacity=opacity/100;
    // Safari 1.2, newer Firefox and Mozilla, CSS3
    obj.style.opacity=opacity/100;
}
    
function fade_in(element) {
    var obj=document.getElementById(element);
	if(obj.style.visibility != "visible")
    	window.setTimeout("_fade_in(\'"+element+"\', 0)", 250);
}

function fade_out(element) {
	_fade_out(element, 100);
}

function showhide(showhide, element){
	if(showhide == "show") {
		document.getElementById(element).style.visibility="visible";
	}
	else if(showhide == "hide") {
		document.getElementById(element).style.visibility="hidden"; 
	}
}