/***************************
 * SITE-SPECIFIC FUNCTIONS *
 ***************************/
 function embedSlideshow(id) {
	document.write('<div id="embed_' + id + '"style="margin-bottom: 15px; text-align:center"></div>');
	var so = new SWFObject("/flash/embedded_slideshow.swf", "slideshow_" + id, "360", "270", "8", "#FFFFFF");
	so.addVariable("id", id);
	so.addParam("wmode", "transparent");
	so.write("embed_" + id);
}

function embedSidebarSlideshow(id) {
	document.write('<div id="sidebarembed_' + id + '"style="margin-bottom: 15px;"></div>');
	var xmlfile = '/ssp_director/images.php?album='+id;
	var so = new SWFObject("/flash/embedded_slideshow_165.swf", "slideshow" + id, "165", "105", "8", "#FFFFFF");
	so.addVariable("xmlfile", xmlfile);
	so.addParam("wmode", "transparent");
	so.write("sidebarembed_" + id);
}

function embedLeftSidebarSlideshow(id) {
	document.write('<div id="sidebarembed_' + id + '"style="margin-bottom: 15px;"></div>');
	var xmlfile = '/ssp_director/images.php?album='+id;
	var so = new SWFObject("/flash/embedded_slideshow_155.swf", "slideshow" + id, "155", "99", "8", "#FFFFFF");
	so.addVariable("xmlfile", xmlfile);
	so.addParam("wmode", "transparent");
	so.write("sidebarembed_" + id);
}

function bindSlideshows() {
	$('a[rel*=slideshow]').click(function(evt){
		evt.preventDefault();
		var url = $(this).attr('href');
		if ($.browser.msie) {
			openWindow(url,'width=520,height=475,resizable=yes');
		} else {
			tb_show('Slideshow Viewer',url + '?TB-iframe=true&width=500&height=455');
		}
	});
}

function bindMediaPlayer() {
	$('a[rel*=video]').click(function(evt){
		evt.preventDefault();
		var url = $(this).attr('href');
		if ($.browser.msie) {
			openWindow(url,'width=520,height=320,resizable=yes');
		} else {
			tb_show('Media Player',url + '?TB-iframe=true&width=500&height=320');
		}
	});
}

function styleQuicklinks() {
	$('.quicklinks').prepend('<div><img src="/images/quicklinks.png" alt="Quick Links" width="155" height="25" /></div>');
	$('.quicklinks').append('<div class="separate"><img src="/images/quicklinks-bottom.png" alt="" width="155" height="9" style="vertical-align: bottom" /></div>');
}
 
/*********************
 * UTILITY FUNCTIONS *
 *********************/
 
function sendMail(user,domain,tld,subject,message) {
	if (!user) user = 'info';
	if (!domain) domain = 'habitatnashville';
	if (!tld) tld = 'org';
	locationstring = 'mailto:' + user + '@' + domain + '.' + tld;
	if (subject) locationstring += '?subject=' + encodeURIComponent(subject);
	if (message) locationstring += '&body=' + encodeURIComponent(message);
	window.location = locationstring;
}

function sendExternalMail(subject,message,cc) {
	locationstring = 'mailto:';
	if (subject) locationstring += "?subject=" + encodeURIComponent(subject);
	if (message) locationstring += "&body=" + encodeURIComponent(message);
	if (cc) locationstring += "&cc=" + encodeURIComponent(cc);
	window.location = locationstring;
}

function openWindow(url,features) {
	var newWin = window.open(url,'popup',features);
	newWin.focus();
}

function closeWindow() {
	if (window.opener) {
		self.close();	
	}
}

function printPage() {
	if (window.print != null) {
		window.print();
	}
	else {
		alert("To print this page, please select Print from your browser's File menu.");
	}
}

function preload() {
	var path = '/images/';
	var images = new Array('');
	var preload = new Array('');
	var j = images.length;
	for (var i=0; i<images.length; i++) {
		preload[j] = new Image;
		preload[j++].src = path + images[i];
	}
}

function makeExternalLinks(){
    $('a, area').filter(function(){
        return this.hostname && this.hostname != location.hostname;
    })
	 .attr({
		target: "_blank", 
		title: "Opens in a new window"
	})
	.not(':has(img)')
	.addClass('external-link');
}

function handleLinkedFiles() {
	// Open linked files in a new window
	$('a').filter(function() {
        return (/(pdf$)|(doc$)|(ppt$)|(pps$)/i).test( $(this).attr('href'));
	}).attr('target','_blank');
	// Assign a class to link
	$('a[href$=".pdf"]').not('a:has(img)').addClass('pdf-link');
	$('a[href$=".doc"]').not('a:has(img)').addClass('doc-link');
	$('a[href$=".pps"], a[href$=".ppt"]').not('a:has(img)').addClass('ppt-link');
	$('a[href^="javascript:printPage"]').not('a:has(img)').addClass('printer-link');
}

function makeRollovers(){
	$('a.rollover').each(function() { // preload over states
		var img = new Image();
		var upimage = $(this).find('img').attr('src');
		img.src = upimage.replace('_up','_ov');
	});
	$('a.rollover').hover(
		function(){
			var overimage = $(this).find('img').attr('src').replace('_up','_ov');
			$(this).find('img').attr('src',overimage);
		},
		function(){
			var upimage = $(this).find('img').attr('src').replace('_ov','_up');
			$(this).find('img').attr('src',upimage);
		}
	);
}

function makeActionLinks() {
	$('a.action').append(' &#187;');
}

function makeSelfClearingFields() {
	$('input.self-clearing, textarea.self-clearing').focus(function(){
		var field = $(this);
		if (field.val() == field.attr('defaultValue')) {
			field.val('');
			field.removeClass('placeholder');
		}
	})
	.blur(function() {
		var field = $(this);
		if (field.val()=='') {
			field.val(field.attr('defaultValue'));
			field.addClass('placeholder');
		}
	});
}

function ncsForms() {
	$('form.ncsform input[type="text"]').addClass('text');
	
	$('form.ncsform input, form.ncsform textarea')
	.focus(function(){$(this).addClass('focused')})
	.blur(function(){$(this).removeClass('focused')});
}

function ncsNotifications() {
	$('.notice, .warning').prepend('<a class="dismiss fade" title="Dismiss this message."><img src="/images/icons/dismiss.png" alt="Dismiss" width="16" height="16" /></a>');
	
	$('a.dismiss').click(function(){
		$(this).parent().fadeOut();
	});
}

function ncsFade() {
	$('.fade').hover(function(){
		$(this).fadeTo('fast', 0.5);
	}, function(){
		$(this).fadeTo('fast', 1);
	});
}

function styleBlockquotes() {
	$('blockquote .cite').prev().append('<img src="/images/close-quote.png" style="position:absolute; vertical-align:top; margin-left: 2px;" />');
}

function init() {
	makeExternalLinks();
	handleLinkedFiles();
	makeRollovers();
	makeActionLinks();
	makeSelfClearingFields();
	ncsForms();
	ncsNotifications();
	ncsFade();
	$('.sf-menu').superfish();
	$('.sf-menu li li').css('opacity','0.95');
	$('a[href^="javascript:printPage"]').addClass('print');
	bindSlideshows();
	bindMediaPlayer();
	styleQuicklinks();
	styleBlockquotes();
	$('.notification').slideDown('slow');
	$('#notification-close').click(function(){$('.notification').slideUp('fast');});
}

