var ROOTURL = '/depts/socialwork/';
var TITLEFILTER = " - Social Work / School of Applied Sciences / University of Mississippi";


$(document).ready(function() {
	
	wfmenu.definemenu("megaanchor1", "megapulldown1");
	wfmenu.definemenu("megaanchor2", "megapulldown2");
	wfmenu.definemenu("megaanchor3", "megapulldown3");
	wfmenu.definemenu("megaanchor4", "megapulldown4");
	wfmenu.definemenu("megaanchor5", "megapulldown5");
	wfmenu.definemenu("megaanchor6", "megapulldown6");
	wfmenu.render($);

	if (! isdefined('isFrontPage')) {
	// if (true != isFrontPage) {
		// Generate Breadcrumbs
		$("div#breadCrumb ul").html(breadcrumbs());
		// Endow breadcrumbs with spirit
		jQuery("#breadCrumb").jBreadCrumb();

		swapHeaderImageForInteriorPages();
	}
	
});


function swapHeaderImageForInteriorPages() {
	// if ('' == stristr(location.href, 'Exercise_Science') && '' == stristr(location.href, 'Health_Promotion') && '' == stristr(location.href, 'Park_and_Recreation_Management')) {
	// 	return false;
	// }

	// All image lists
	var SWArray = new Array("sw-clipped-1.jpg", "sw-clipped-2.jpg", "sw-clipped-3.jpg", "sw-clipped-4.jpg");
	var allArray = SWArray;

	var imageListArray = allArray; // K.I.S.S. for SW

	var rnd_no = Math.round((imageListArray.length - 1)*Math.random());
	$('img.interior-header-image').attr('src', str_replace('sw-clipped-default.jpg', imageListArray[rnd_no], $('img.interior-header-image').attr('src')));

	return true;
}

function isdefined( variable) {
	return (typeof(window[variable]) == "undefined")?  false: true;
}

function breadcrumbs(){
	sURL       = new String;
	bits       = new Object;
	var x      = 0;
	var stop   = 0;
	var output = "<ul><li><a href='"+ROOTURL+"'>Home</a></li>\n";
	sURL       = location.href;
	sURL       = sURL.slice(8,sURL.length);
	chunkStart = sURL.indexOf("/");
	sURL       = sURL.slice(chunkStart+1,sURL.length)
	while(!stop){
		chunkStart = sURL.indexOf("/");
		if (chunkStart != -1){
			bits[x] = sURL.slice(0,chunkStart)
			sURL = sURL.slice(chunkStart+1,sURL.length);
		}else{
			stop = 1;
		}
		x++;
	}
	for(var i in bits){
		if ('depts' != bits[i] && 'socialwork' != bits[i] && 'SW' != bits[i]) {
			output += "<li><a href=\"";
			for(y=1;y<x-i;y++){
				output += "../";
			}
			output += bits[i] + "/\">" + str_replace("_", " ", bits[i]) + "</a></li>";
		}
	}
	output += "<li><span class='breadcrumb-landing'>"+str_replace (TITLEFILTER, '', $("title").html())+"</span></li>";
	output += "</ul>";
	return output;
}
function str_replace(search, replace, subject) {
	var result = "";
	var oldi = 0;
	for (i = subject.indexOf (search); i > -1; i = subject.indexOf (search, i)) {
		result += subject.substring (oldi, i);
		result += replace;
		i += search.length;
		oldi = i;
	}
	return result + subject.substring (oldi, subject.length);
}
function stristr (haystack, needle, bool) {
	// Finds first occurrence of a string within another, case insensitive  
	// 
	// version: 909.322
	// discuss at: http://phpjs.org/functions/stristr
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfxied by: Onno Marsman
	// *     example 1: stristr('Kevin van Zonneveld', 'Van');
	// *     returns 1: 'van Zonneveld'
	// *     example 2: stristr('Kevin van Zonneveld', 'VAN', true);
	// *     returns 2: 'Kevin '
	var pos = 0;

	haystack += '';
	pos = haystack.toLowerCase().indexOf( (needle+'').toLowerCase() );
	if (pos == -1){
		return false;
	} else{
		if (bool) {
			return haystack.substr( 0, pos );
		} else{
			return haystack.slice( pos );
		}
	}
}

// HIGHLIGHT blinker: use like: $(selector).highlightFade();
$.fn.highlightFade = function(){
	doBGFade( this,[255,255,000],[255,255,255],'transparent',30,20,4 );
}
function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) {
	var delta = maxValue - minValue;
	var stepp = minValue+(Math.pow(((1 / totalSteps)*actualStep),powr)*delta);
	return Math.ceil(stepp)
}
function doBGFade(elem,startRGB,endRGB,finalColor,steps,intervals,powr) {
	if (elem.bgFadeInt) window.clearInterval(elem.bgFadeInt);
	var actStep = 0;
	elem.bgFadeInt = window.setInterval(
		function() {
			elem.css("backgroundColor", "rgb("+
			easeInOut(startRGB[0],endRGB[0],steps,actStep,powr)+","+
			easeInOut(startRGB[1],endRGB[1],steps,actStep,powr)+","+
			easeInOut(startRGB[2],endRGB[2],steps,actStep,powr)+")"
		);
		actStep++;
		if (actStep > steps) {
			elem.css("backgroundColor", finalColor);
			window.clearInterval(elem.bgFadeInt);
		}
	}
	,intervals)
}
