//goodies
//http://www.gscottolson.com/weblog/2007/12/09/sum-array-prototype-for-javascript/
Array.prototype.sum = function() {
  return (! this.length) ? 0 : this.slice(1).sum() +
      ((typeof this[0] == 'number') ? this[0] : 0);
};
//http://www.martienus.com/code/javascript-remove-duplicates-from-array.html
Array.prototype.unique = function () {
	var r = new Array();
	o:for(var i = 0, n = this.length; i < n; i++)
	{
		for(var x = 0, y = r.length; x < y; x++)
		{
			if(r[x]==this[i])
			{
				continue o;
			}
		}
		r[r.length] = this[i];
	}
	return r;
}
//http://javascript.about.com/library/blarmaxmin.htm
Array.prototype.max = function() {
	var max = this[0];
	var len = this.length;
	for (var i = 1; i < len; i++) if (this[i] > max) max = this[i];
	return max;
}
Array.prototype.min = function() {
	var min = this[0];
	var len = this.length;
	for (var i = 1; i < len; i++) if (this[i] < min) min = this[i];
	return min;
}

//globals
var BROWSER = null;

//site
var Site = {
	init: function() {
		Site.navigation.init();
		Site.navstates();
		Site.mapoverlay();
		SlideShow.init();
		
		$('.accordion').accordion({
			autoHeight: false
		});
		
		/*/header bg random - NOW IN PHP (header.php)
		var randomBg = Math.floor(Math.random()*5);
		if(randomBg == 0){
			randomBg = 1;
		}
		$('#header').css({
			background: "url('/wp-content/themes/stc/images/header-bg-"+randomBg+".gif')"
		});
		*/
		//blog list alternating bg color style
		if($('ul.blogList').length >0){
			for(var i = 0; i<$('ul.blogList li').length; i++){
				if(i % 2 == 0){
					$('ul.blogList li:eq('+i+')').addClass('white')
				}
			}
		}
		//comment list alternation bg color style
		if($('ol.commentlist').length >0){
			for(var i = 0; i<$('ol.commentlist li').length; i++){
				if(i % 2 == 0){
					$('ol.commentlist li:eq('+i+')').addClass('grey')
				}
			}
			//submit btn over
			$('#submit').mouseover(function(){
				$(this).css({'background-position' : '0 -24px'});
			}).mouseout(function(){
				$(this).css({'background-position' : '0 0'});
			});
		}
		//archives
		if($('ul.archiveList').length >0){
			//archive alternating bg color style
			for(var i = 0; i<$('ul.archiveList li.achiveItem').length; i++){
				if(i % 2 == 0){
					$('ul.archiveList li.achiveItem:eq('+i+')').addClass('white')
				}
			}
			//archives sorting
			Site.archives();
		}
		//shorten news feature
		if($('.news').length >0){
			$('.featuredPost .postContent').each(function(i){
				var htmlStr = $(this).html();
				
				if(htmlStr.indexOf('<!-- more -->') > 0){
					var moreCut = htmlStr.substring(0, htmlStr.indexOf('<!-- more -->'));
					$(this).html(moreCut);
				}else {
					$(this).html(htmlStr)
				}
			});
		}
		//paypal btn over
		if($('.getinvolved').length >0){
			$('.getinvolved .makeadonation input.paypal').mouseover(function(){
				$(this).attr('src', '/wp-content/themes/stc/images/makeadonation-over.gif');
			}).mouseout(function(){
				$(this).attr('src', '/wp-content/themes/stc/images/makeadonation.gif');
			})
		}
		
	},
	navstates: function(){
		//navigation states
		if($('body').hasClass('page-id-17') || $('body').hasClass('parent-pageid-17')){
			$('ul.mainNav li.whoweare').addClass('active');
		}
		if($('body').hasClass('page-id-13') || $('body').hasClass('parent-pageid-13')){
			$('ul.mainNav li.whatwedo').addClass('active');
		}
		if($('body').hasClass('blog')){
			$('li.ourlatestthinking').addClass('active');
		}
		if($('body').hasClass('page-id-6') || $('body').hasClass('parent-pageid-6')){
			$('ul.mainNav li.getinvolved').addClass('active');
		}
		if($('body').hasClass('page-id-63')){
			$('li.meetOurSchoolLeaders').addClass('active');
		}
		if($('body').hasClass('page-id-405') || $('body').hasClass('page-id-435') || $('body').hasClass('page-id-437')){
			$('li.newsevents').addClass('active');
		}
		//subpages
		if($('body').hasClass('page-id-10')){
			$('li.whoweare ul.subnav li.our-executive-team').addClass('active');
		}
		if($('body').hasClass('page-id-7')){
			$('li.whoweare ul.subnav li.our-regional-councils').addClass('active');
		}
		if($('body').hasClass('page-id-9')){
			$('li.whoweare ul.subnav li.our-board-of-directors').addClass('active');
		}
		if($('body').hasClass('page-id-4')){
			$('li.whatwedo ul.subnav li.regional-councils').addClass('active');
		}
		if($('body').hasClass('page-id-11')){
			$('.modcontent ul li.meetOurSchoolLeaders a').addClass('active');
		}
	},
	mapoverlay: function(){
		function openmap(){
			//white out ani
			$('#whiteOut').css({
				opacity: 0,
				right: 0,
				height: $('.contentWrapper').height()
			});
			$("#whiteOut").show();
			$("#whiteOut").animate({
				opacity: 0.5
			});
			//map ani
			$("#map").css({
				opacity: 0,
				width: 0,
				right: 0
			});
			$("#map").show();
			$("#map").animate({
				opacity: 1,
				width: 902
			},null, function(){
				//init map after slide out animation finishes
				Map.init();
				
			});
		}
		function closemap(){
			$("#map").animate({
				width: 0,
				right: 0,
				opacity: 0
			});
			$("#whiteOut").fadeOut();
			$("#map").fadeOut();
		}
		$('a.mapclick').click(function(){
			openmap();
		});
		$('a.mapclose').click(function(){
			closemap();
		});
	},
	archives: function(){
		function sortList(sort, d){
			var id = sort+d;
			$('ul.archiveList').hide();
			$('#'+id).fadeIn();
		};
		/*archives nav clicks*/
		//date click 
		$('.archivesNav ul li.date a').toggle(
			function(){
				$('.archivesNav ul li').removeClass('up');
				$('.archivesNav ul li').removeClass('down');
				$(this).parent('li').addClass('up');
				sortList('date','asc');
			},
			function(){
				$('.archivesNav ul li').removeClass('up');
				$('.archivesNav ul li').removeClass('down');
				$(this).parent('li').addClass('down');
				sortList('date','dsc');
			}
		);
		//contibutor click
		$('.archivesNav ul li.contributor a').toggle(
			function(){
				$('.archivesNav ul li').removeClass('up');
				$('.archivesNav ul li').removeClass('down');
				$(this).parent('li').addClass('down');
				sortList('author','asc');
			},
			function(){
				$('.archivesNav ul li').removeClass('up');
				$('.archivesNav ul li').removeClass('down');
				$(this).parent('li').addClass('up');
				sortList('author','dsc');
			}
		);
		//entryTitle click
		$('.archivesNav ul li.entryTitle a').toggle(
			function(){
				$('.archivesNav ul li').removeClass('up');
				$('.archivesNav ul li').removeClass('down');
				$(this).parent('li').addClass('down');
				sortList('title','asc');
			},
			function(){
				$('.archivesNav ul li').removeClass('up');
				$('.archivesNav ul li').removeClass('down');
				$(this).parent('li').addClass('up');
				sortList('title','dsc');
			}
		);

	}
};
//navigation animations
Site.navigation = {
	DELAY: 100,
	TIMEOUT: null,
	OPEN: false,
	init: function(){
		$('ul.mainNav li').hover(Site.navigation.open, Site.navigation.close)
	},
	open: function(){
		var $item = $(this);
		Site.navigation.TIMEOUT = setTimeout(function(){
			if(Site.navigation.OPEN === false){
				$item.css('background-position','0 -33px');
				$item.children('a').css('background-position','0 -15px');
				$item.children('.dropdown').slideDown('fast',function(){Site.navigation.OPEN === true});
			}
		},Site.navigation.DELAY);
	},
	close: function(){
		clearTimeout(Site.navigation.TIMEOUT);
		if($(this).hasClass('active')){
			//if active
			$(this).css('background-position','0 -66px');
			$(this).children('a').css('background-position','0 -30px');
			$(this).children('.dropdown').slideUp();
		}else{
			$(this).css('background-position','0 0');
			$(this).children('a').css('background-position','0 0px');
			$(this).children('.dropdown').slideUp();
		}
	}
};



$(Site.init);

















