/*-----------------------------------------------------------
    Toggles element's display value
    Input: any number of element id's
    Output: none 
    ---------------------------------------------------------*/
function toggleDisp() {
    for (var i=0;i<arguments.length;i++){
        var d = $(arguments[i]);
        if (d.style.display == 'none')
            d.style.display = 'block';
        else
            d.style.display = 'none';
    }
}
/*-----------------------------------------------------------
    Toggles tabs - Closes any open tabs, and then opens current tab
    Input:     1.The number of the current tab
                    2.The number of tabs
                    3.(optional)The number of the tab to leave open
                    4.(optional)Pass in true or false whether or not to animate the open/close of the tabs
    Output: none 
    ---------------------------------------------------------*/
function toggleTab(num,numelems) {
    var tempc = 'gallery_'+num;
	var c = $(tempc);
	if(c.style.display != 'none'){
		 Effect.toggle(tempc,'blind',{duration:0.5, queue:{scope:'menus', limit: 3}});
	}
	else {
		Effect.toggle('gallery_'+num,'blind',{duration:0.5, queue:{scope:'menus', position:'end', limit: 3}});
		$('galhead_'+num).style.marginTop="10px";
	}
	var i;
	var togs = new Array();
	for(i=0;i<numelems;i++) {
		if(num != i) {
			$('gallery_'+i).style.display='none';
			$('galhead_'+i).style.marginTop="0px";
		}
	}
	
}

function showHideMain() {	
	var tempc = 'mainContent';
	var c = $(tempc);
	if(c.style.display != 'none'){
		Effect.toggle(tempc,'appear',{duration:1});
	}
	else {
		Effect.toggle(tempc,'blind',{duration:1, queue:{scope:'menus', position:'end', limit: 3}});
	}
}





var nextImageId = 0;
var nextSlide = 0;
var rotator;
function showSlides() {
	var i=0;
	var returnString = "<div style='width:320px;height:20px;background-color:#979e9c;'><!--<a href='gallery.php'><img src='images/gallery_title.gif' border='0'></a>--></div>";
	for(i=0;i<3;i++) {
		returnString += "<div style='position:relative;display:block;width:110px;height:140px;float:left;background:url(images/slideback.jpg)'><img id='slide"+i+"' src='"+slides['general'][nextImageId]+"' width='110' height='140' alt='Jason Ruta' border='0' /></div>";
		nextImageId++;
	}
	returnString += "";
	$('slides').innerHTML = returnString;
	setTimeout('rotateSlides()', 1000);
}

function rotateSlides() {
	Effect.Fade('slide'+nextSlide+'', {	
				afterFinish: function(effect){
					$('slide'+nextSlide+'').src = slides['general'][nextImageId];
				} 
			});
	setTimeout('fadeIn()',1000);
	preload(slides['general'][nextImageId]);
}

function fadeIn() {
	Effect.Appear('slide'+nextSlide+'', {queue: 'end', delay: 0, afterFinish: function(effect){
				setTimeout('rotateSlides()', 1000);
				if(nextSlide == 2) nextSlide = 0;
				else nextSlide++;
				if(nextImageId >= (slides['general'].length-1)) nextImageId = 0;
				else nextImageId++;
			}});	
}

function showIt(id,newsCount) {	
	var tempc = id;
	var c = $(tempc);
	if(c.style.display != 'none'){
		Effect.toggle(tempc,'appear',{duration:1});
	}
	else {
		Effect.toggle(tempc,'appear',{duration:1, queue:{scope:'menus', position:'end', limit: 3}});
	}
	var i;
	for(i=0;i<newsCount;i++) {
		if(id != i) {
			$(''+i+'').style.display='none';
		}
	}
}

function playVideo(src) {
	$('videoPlayer').innerHTML = insertFlash( "flash/FLVPlayer_Progressive.swf",450, 228, 8, "video", "&MM_ComponentVersion=1&skinName=flash/Clear_Skin_3&streamName=../video/"+src+"&autoPlay=true&autoRewind=true" );	
}
function playAudio(src) {
	var tempc = 'audioPlayer';
	var c = $(tempc);
	if(c.style.display != 'none'){
	Effect.toggle(tempc,'blind',{duration:1, afterFinish: slideIn });
	setTimeout("playIt('"+src+"')", 1000);
	}
	else {
		slideIn();
	}
	//switchPlay(0);
}

function playIt(src) {
	$('audioPlayer').innerHTML = insertFlash( "flash/mp3_player.swf", 200, 20, 7, "player", "file=../audio/"+src+".mp3&soundVolume=60&autoplay=true&repeat=false" );
}
function slideIn() {
	var tempc = 'audioPlayer';
	Effect.toggle(tempc,'blind',{duration:1, queue:{scope:'menus', position:'end', limit: 3}});	
}
function ajax_do (url) {
	
	//clearTimeout(splashTimer);
	//clearTimeout(galleryTimer);
        // Does URL begin with http?
        if (url.substring(0, 4) != 'http') {
                url = base_url + url;
        }

        // Create new JS element
        var jsel = document.createElement('SCRIPT');
        jsel.type = 'text/javascript';
        jsel.src = url;
		
        // Append JS element (therefore executing the 'AJAX' call)
        document.body.appendChild (jsel);
}

function preload(img) {
	var newImage = new Image();
	newImage.src = img;	
}

function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}
function switchPlay(onoff) {
	if(onoff == '0') $('switchPlay').innerHTML = "<a href=\"Javascript:getFlashMovieObject('player').playIt();switchPlay('1');\">play</a>";	
	else $('switchPlay').innerHTML = "<a href=\"Javascript:getFlashMovieObject('player').muteIt();switchPlay('0');\">mute</a>";	

}
function insertFlash( src, width, height, version, name, FlashVars )
{
	var output = '';
	
	output += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + version + ',0,0,0" width="' + width + '" height="' + height + '" id="' + name + '" align="middle">';
	output += '<param name="allowScriptAccess" value="sameDomain" />';
	output += '<param name="movie" value="' + src + '" />';
	output += '<param name="quality" value="high" />';
	output += '<param name="bgcolor" value="#ffffff" />';
	output += '<param name="wmode" value="transparent" />';
	output += '<param name="scale" value="noscale" />';
	output += '<param name="FlashVars" value="' + FlashVars + '" />';
	
	output += '<embed src="' + src + '" quality="high" FlashVars="' + FlashVars + '" wmode="transparent" bgcolor="#ffffff" width="' + width + '" height="' + height + '" name="' + name + '" scale="noscale" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	output += '</object>';

	return output;
}
function writeFlash( src, width, height, version, name, FlashVars )
{
	document.write( insertFlash( src, width, height, version, name, FlashVars ) );
}

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);