// JavaScript Document
// Writen by Nodin Weddington

function addslashes(str){
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\0/g,'\\0');
	return str;
}

function stripslashes(str){
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\0/g,'\0');
	str=str.replace(/\\\\/g,'\\');
	return str;
}

// Return window scrolling positions
function scrollXY(){
	var xscr = 0, yscr = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		yscr = window.pageYOffset;
		xscr = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		yscr = document.body.scrollTop;
		xscr = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		yscr = document.documentElement.scrollTop;
		xscr = document.documentElement.scrollLeft;
	}
	return [ xscr, yscr ];
}

// Return internal window size
function sizeXY(){
	var xwin = 0, ywin = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		xwin = window.innerWidth;
		ywin = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		xwin = document.documentElement.clientWidth;
		ywin = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		xwin = document.body.clientWidth;
		ywin = document.body.clientHeight;
	}
	return [ xwin, ywin ];
}

// Get the absolute position of an object
function objectXY(obj){
	var xobj = 0, yobj = 0;
	if (obj.offsetParent) {
		xobj = obj.offsetLeft;
		yobj = obj.offsetTop;
		while (obj = obj.offsetParent) {
			xobj += obj.offsetLeft;
			yobj += obj.offsetTop;
		}
	}
	return [ xobj, yobj ];
}

// Get the size of an object
function objectWH(obj){
	var wobj = 0, hobj = 0;
	wobj = obj.pixelWidth || obj.offsetWidth;
	hobj = obj.pixelHeight || obj.offsetHeight;
	return [ wobj, hobj ];
}

// doesn't work quite right
function waitSeconds(seconds){
	while(success==-1){
		var d = new Date();
		if(d.getSeconds() - t > seconds){
			success = false;
			break;
		}
	}
}

// Set opacity of an object in percent
function setOpacity(obj, value){
	obj.style.opacity = value/100;
	obj.style.filter = 'alpha(opacity=' + value*100 + ')';
}

// Template images to preload
var Pic=new Array(
	"http://www.bio.fsu.edu/redesign/graphics/GoldGradient1050x14.png",
	"http://www.bio.fsu.edu/redesign/graphics/fsuLogo8.png",
	"http://www.bio.fsu.edu/redesign/graphics/searchBarBg.png",
	"http://www.bio.fsu.edu/redesign/graphics/GarnetGradient1050x20.png",
	"http://www.bio.fsu.edu/redesign/graphics/newsBg.png",
	"http://www.bio.fsu.edu/redesign/graphics/thread.png"
);

var preLoad = new Array()
for (i = 0; i < Pic.length; i++){
	preLoad[i] = new Image();
	preLoad[i].src = Pic[i];
}

function changeBanner(response){ 
	// Format response from banner_change_info.php
	result = response.split('\r\n'); 
	banner_type = result[0];
	banner_src = result[1];
	banner_link = result[2];
	banner_title = result[3];
	banner_text = result[4];
	
	// Speed in milliseconds between each fade step (40 in all)
	slideShowSpeed = 50;
	
	// Preload the next image if it has not already been preloaded
	img_num = false;
	for(i=0; i<preLoad.length; i++){
		if(preLoad[i].src == banner_src){ img_num = i; }
	}
	if(img_num==false){
		img_num = preLoad.length;
		preLoad[img_num] = new Image();
		preLoad[img_num].src = banner_src;
	}
	
	// Build html for the next banner
	new_banner = '<a';
	if(banner_link!=''){ new_banner += ' href="'+banner_link+'"'; }
	if(BannerFadeChange=='True'){ new_banner += ' onmouseover="clearInterval(BannerInterval);" onmouseout="changeBannerInterval(FeatureType);"'; }
	new_banner += ' name="BannerLink" id="BannerLink" class="transparent_0"><img src="'+preLoad[img_num].src+'" align="middle" border="0" alt="Department of Biological Science">';
	if(banner_title!='' || banner_text!=''){ new_banner += '<div class="NoPrint hiddenInfo" style="position:absolute; bottom:0px; width:700px; border-top:1px solid #CDC092;"><div style="background:#333333; width:700px; height:100%; position:absolute; top:0;" class="transparent_80"></div><div style="position:relative; padding:10px; width:680px;"><p style="margin:0; color:#FFFFFF;">';
		if(banner_title!=''){ 
			new_banner += '<strong>'+banner_title;
			if(banner_title!='' && banner_text!=''){ new_banner += ': '; }
			new_banner += '</strong>'; 
		}
		new_banner += banner_text+'</p></div></div>';
	}
	new_banner += '</a>';
	new_banner = addslashes(new_banner);
	
	// Fade out
	for(i=19; i>0; i--){
		class_name = 'transparent_'+(i*5);
		run_command ='document.getElementById(\'BannerLink\').className=\''+class_name+'\'; document.getElementById(\'BannerLink\').style.display=\'block\';';
		//run_command = 'setOpacity(document.getElementById(\'BannerLink\'), ' + i*5 + ');';
		setTimeout(run_command, slideShowSpeed*(20-i));
	}
	
	// Change banner
	setTimeout('document.getElementById(\'BannerLink\').className=\'transparent_0\'; document.getElementById(\'Banner\').innerHTML=\''+new_banner+'\'; document.getElementById(\'BannerLink\').style.display=\'block\';', slideShowSpeed*20);
	
	// Fade in
	for(i=1; i<=20; i++){
		class_name = 'transparent_'+(i*5);
		run_command ='document.getElementById(\'BannerLink\').className=\''+class_name+'\'; document.getElementById(\'BannerLink\').style.display=\'block\';';
		//run_command = 'setOpacity(document.getElementById(\'BannerLink\'), ' + i*5 + ');';
		setTimeout(run_command, slideShowSpeed*(20+i));
	}
}
function changeBannerInterval(feature_type){
	BannerInterval = setInterval('ajax(\'http://www.bio.fsu.edu/redesign/banner_change_info.php?FeatureType='+feature_type+'\', changeBanner, \'\');', 16000 );
}
