/***************************
 * SITE-SPECIFIC FUNCTIONS *
 ***************************/
 
 
/*********************
 * UTILITY FUNCTIONS *
 *********************/
 
function sendMail(user,domain,tld,subject,message) {
	if (!user) user = 'info';
	if (!domain) domain = 'reaching';
	if (!tld) tld = 'com';
	locationstring = 'mailto:' + user + '@' + domain + '.' + tld;
	if (subject) locationstring += '?subject=' + encodeURIComponent(subject);
	if (message) locationstring += '&body=' + encodeURIComponent(message);
	window.location = locationstring;
}

function openWindow(url,features) {
	var newWin = window.open(url,'new-window',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 makeExternalLinks(){
    $('a, area').filter(function(){
        return this.hostname && this.hostname != location.hostname;
    })
	 .attr({
		target: "_blank", 
		title: "Opens in a new window"
	})
	.not(':has(img), a.button')
	.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('print-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);
		}
	);
	$('input.rollover').hover(
		function() {
			var overimage = $(this).attr('src').replace('_up','_ov');
			$(this).attr('src', overimage);
		},
		function() {
			var upimage = $(this).attr('src').replace('_ov','_up');
			$(this).attr('src', upimage);
		}
	);
}

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

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

function init() {
	makeExternalLinks();
	handleLinkedFiles();
	makeRollovers();
	makeActionLinks();
	makeSelfClearingFields();
	$('.panel').before('<div class="panel-top"></div>').after('<div class="panel-bottom"></div>');
	$('#email-signup').ajaxForm({
		target: '#email-response',
		url: '/ajax/process_email_signup.php',
		success: function() {
			$('#email-response').dialog({
				modal: true,
				title: 'Email List',
				buttons: { "Ok": function() { $(this).dialog("close"); } }
			})
		},
		resetForm: true
	});
	$('a[href*=donate]').click(function(){
		$('#donations-message').dialog({
			modal: true,
			width: 400,
			buttons: { "Ok": function() { $(this).dialog("close"); } }
		});
		return false;
	});
}
