/*

	default.js
	----------

	This file contains the primary functions for "baylinartist.com" in jQuery.

*/

// global vars
var browserLeft = 0;
var maxBrowserLeft = 0;
var dialog;
var curQuote = -1;
var totalQuotes = 0;

// main document load
$(document).ready(function() {
	
	// check for sw class
	$('.sw').hover(hoverOver,hoverOut);
	
	// check for menuHover class
	$('.menuHover').hover(menuOver,menuOut);
	$('.menuHover a').hover(subMenuOver,subMenuOut);
	
	// setup home browser
	if ($('#home-artist-browser').length) $('#home-artist-browser').each(browserSetup);
	
	// hover on buttons
	$('.ui-button').hover(buttonOver,buttonOut);
	
	// mp3 player
	$('.mp3player').each(mp3player);
	
	// gallery
	if ($('.gallerizer').length) $('.gallerizer').each(gallerize);

	// quotes
	if ($('#artist-quotes').length) $('#artist-quotes').each(faderize);

	// video player
	$('.videoPlayer').bind("click",videoPlayer);
	
	// news opacity
	$('#news-bg').animate({opacity:0.2},{duration:0});
	
	// search function
	/*
	$('#interior-search form').bind("submit",function(e){
		e.preventDefault();
		alert("Not yet available!");
	});
		
	// search function
	$('#home-search form').bind("submit",function(e){
		e.preventDefault();
		alert("Not yet available!");
	});
	*/

	// lightbox
	$('a[rel=lightbox]').lightBox({
		overlayBgColor: '#000',
		overlayOpacity: 0.8,
		imageLoading: siteSubFolder + '/css/images/lightbox-ico-loading.gif',
		imageBtnClose: siteSubFolder + '/css/images/lightbox-btn-close.gif',
		imageBtnPrev: siteSubFolder + '/css/images/lightbox-btn-prev.gif',
		imageBtnNext: siteSubFolder + '/css/images/lightbox-btn-next.gif',
		containerResizeSpeed: 350
	});
	
	// check for subsection in in-school page
	$('#in-school-' + pageLabel).fadeIn();

});

// faderizer
function faderize() {
	
	totalQuotes = $(this).children("div.quote-item").length;
	nextQuote();
	
}

// next quote
function nextQuote() {
	
	if (curQuote > -1) $($("div.quote-item")[curQuote]).fadeOut(1000);
	curQuote++;
	if (curQuote == totalQuotes) curQuote = 0;
	$($("div.quote-item")[curQuote]).fadeIn(1000);
	sIFR.replace(Helvetica77, {
	  selector: 'div.sifr_white',
	  wmode: "transparent",
	  css: '.sIFR-root { font-size: 14; color: #ffffff; letter-spacing: -0.3; leading: 2 }'
	});
	$(this).delay(6000,nextQuote);
	
}

// gallery
function gallerize() {
		
	var galleryTime = 4000;

	var curImage = 0;
	var allChildren = $(this).children("a");
	var totalImages = allChildren.length;
	
	// set up loading icon
	$(this).append('<div id="gallery-loader"><img src="' + siteSubFolder + '/css/images/lightbox-ico-loading.gif" /></div>');
	
	$(this).children("a").each(function(i,el) {
		
		// hide each initial image
		$(this).animate({opacity:0},{duration:0});
		$(this).css("display","none");
		
		// get the filename
		var myFilename = $(this).attr("alt");
		
		// get an object reference
		var myObject = $(this);
		
		myObject.append('<img src="' + myFilename + '" border="0" />');
		
		// ajax-load the image
		/*
		$.get($(this).attr("alt"),function(data) {
			myObject.append('<img src="' + myFilename + '" border="0" />');
		});
		*/
		
		// set up the "fade-in" routine for calling repeatedly later
		$(this).bind("fadeIn",function() {
			$(this).css("display","block");
			if (totalImages == 1) {
				$(this).animate({opacity:1},2000);
			} else {
				var myNext = $(allChildren[curImage+1]);
				if (curImage + 1 == totalImages) {
					myNext = $(allChildren[0]);
					myNext.css("z-index","3"); // fix for the first image being below the last in DOM
				}
				myNext.css("display","none");
				$(this).animate({opacity:1},2000,function() {
					$(this).css("z-index","2"); // put it back!
					var myPrev = $(allChildren[curImage-1]);
					if (curImage == 0) myPrev = $(allChildren[totalImages-1]);
					myPrev.animate({opacity:0},0);
					$(this).animate({opacity:1},galleryTime,function() {
						$(this).trigger("fadeOut");
					});
				});
			}
		});
		
		// set up the "fade-out" routine for calling repeatedly later
		$(this).bind("fadeOut",function() {
			curImage++;
			if (curImage == totalImages) curImage = 0;
			$(allChildren[curImage]).css("display","block");
			$(allChildren[curImage]).trigger("fadeIn");
		});
		
		// if this is the first time through the routine, call the initial "fade-in" after 1 second
		if (i == 0) {
			$(this).animate({opacity:0},1000,function() {
				$(this).trigger("fadeIn");
			});
		}
	});
	
}


// mp3 player
function mp3player() {
	
	var playerID = $(this).attr("id") + '_player';
	$(this).append('<div id="' + playerID + '"></div>')	
	swfobject.embedSWF(siteSubFolder + "/swf/miniPlayer.swf", playerID, "48", "16", "8", siteSubFolder + "/swf/expressInstall.swf", { mediaPath: "", sampleName: upload_url + $(this).attr("id") }, { wmode:"transparent",menu:"false" }, { id:playerID, name:playerID });
	
}

// video player
function videoPlayer(e) {
	
	e.preventDefault();
	
	if (dialog != null) {
		$(dialog).remove();
	}
	
	dialog = $('<div></div>').prepend('body');
	var myTitle = $(this).attr("title");
	var myID = $(this).attr("href");
	$(dialog).load(siteSubFolder + "/ajax/bigVideo.php?i=" + myID).dialog({
		title: myTitle,
		position: "center",
		bgiframe: true,
		width: 365,
		height: 380,
		modal: true,
		zIndex: 950
	});
	
}

// browser
function browserSetup() {
	
	var imgWidth = 98 + 5; // image width + margin
	
	// sets maximum distance we can move the quick browser
	maxBrowserLeft = -(($(this).children("a").length - 8) * imgWidth);
	
	// create captions
	$(this).children("a.artist-element").each(function() {
		var myDiv = '<div class="artist-caption">' + $(this).attr("title") + '</div>';
		$(this).append(myDiv);
		$(this).children("div").animate({opacity:0},{duration:0,queue:false});
		$(this).children("div").css("display","block");
	});

	// set all children hover
	$(this).children("a.artist-element").hover(artistOver,artistOut);
	
	// wrap the img's in a container
	$(this).wrapInner('<div id="browser-artists"></div>');
	
	// wrap the container in a mask
	$(this).wrapInner('<div id="browser-mask"></div>');
	
	// add the brackets
	$(this).prepend('<a class="browser-bracket bracket-left" href=""><img src="i/bracket-left.gif" border="0" /></a>');
	$(this).append('<a class="browser-bracket bracket-right" href=""><img src="i/bracket-right.gif" border="0" /></a>');
	
	// set bracket left
	$('.bracket-left').click(function(e) {
		e.preventDefault();
		if (browserLeft < 0) {
			browserLeft += imgWidth;
			$('#browser-artists').animate({left: browserLeft},{duration:600});
		}
	});

	// set bracket right
	$('.bracket-right').click(function(e) {
		e.preventDefault();
		if (browserLeft > maxBrowserLeft) {
			browserLeft -= imgWidth;
			$('#browser-artists').animate({left: browserLeft},{duration:600});
		}
	});
	
	$(this).fadeIn();
			
}

// artist hovers
function artistOver() {
	$(this).children("div").animate({opacity:1},{queue:false});
	$(this).siblings("a.artist-element").animate({opacity:0.7},{queue:false});
}

function artistOut() {
	$(this).children("div").animate({opacity:0},{queue:false});
	$(this).siblings("a.artist-element").animate({opacity:1},{queue:false});
}

// image hovers
function hoverOver() {

	var myImage = $(this).children("img");

	if ($(myImage).attr("overFileName") == undefined) {

		var myFileName = $(myImage).attr("src");
		$(myImage).attr("myFileName",myFileName);

		var extStart = 0;

		if (myFileName.indexOf(".gif") > 1) {
			extStart = myFileName.indexOf(".gif");
		} else if (myFileName.indexOf(".jpg") > 1) {
			extStart = myFileName.indexOf(".jpg");
		} else {
			extStart = myFileName.indexOf(".png");
		}

		var overFileName = myFileName.substr(0,extStart) + "_over" + myFileName.substr(extStart,myFileName.length);
		$(myImage).attr("overFileName",overFileName);

	}

	$(myImage).attr("src",$(myImage).attr("overFileName"));

}

function hoverOut() {
	var myImage = $(this).children("img");
	$(myImage).attr("src",$(myImage).attr("myFileName"));
}

// menu top hovers
function menuOver() {
	if ($(this).hasClass("sw")) $(this).css("backgroundColor","#860038");
	$(this).children("ul").animate({opacity: 0},{duration: 0, queue: false});
	$(this).children("ul").css("display","block");
	$(this).children("ul").animate({opacity: 0.9},{duration: 300, queue: false});
	// $(this).children("ul").fadeIn();
}

function menuOut() {
	if ($(this).hasClass("sw")) $(this).css("backgroundColor","#00539b");
	// $(this).children("ul").fadeOut();
	$(this).children("ul").animate({opacity: 0},{duration: 300, queue: false}).css("display","none");
}

// sub-menu hovers
function subMenuOver() {
	
	if ($(this).parent().attr("class") == "last k12") {

		$(this).animate({
			color: "#aa9f4e"
		},{duration:150, queue: false});

	} else {
	
		$(this).animate({
			color: "#00539b"
		},{duration:150, queue: false});
		
	}
}

function subMenuOut() {

	if ($(this).parent().attr("class") == "last k12") {
		
		$(this).animate({
			color: "#ffffff"
		},{duration:150, queue: false});

	} else {
		
		$(this).animate({
			color: "#000"
		},{duration:150, queue: false});
		
	}
}

// button hovers
function buttonOver() {
	$(this).addClass("ui-state-hover"); 
}

function buttonOut() {
	$(this).removeClass("ui-state-hover");
}

// strip html
function stripHTML(oldString) {

  return oldString.replace(/<&#91;^>&#93;*>/g, "");
  
}

// function for a good now
function formatDate() {

	var myDate = new Date();
	var myString = "";
	
	myString = Math.abs(myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear() + " at ";
	
	var myHours = myDate.getHours();
	var ampm = "am";
	if (myHours > 12) {
		myHours -= 12;
		ampm = "pm";
	}
	
	myString += myHours + ":" + myDate.getMinutes() + ampm;
	
	return myString;

}

// function for changing sub nav
function artistNavClick(e) {

	// stop it
	e.preventDefault();
	
	// set new page label
	var newPageLabel = $(this).attr("href");

	// set bookmark
	location.hash = '#' + newPageLabel;
	
	// change the divs
	$("#artist-" + pageLabel).fadeOut(function() {
		$("#artist-" + newPageLabel).fadeIn();
	});
	
	// adjust the navs
	$('#artist-nav li').removeClass("selected");
	$(this).parent().addClass("selected");
	
	pageLabel = newPageLabel;
	
}
