/* Mike Folsom
   Nissi Creative Services
	www.nissicreative.com
==================== */

/* SITE
==================== */
 
 
/* UTILITY FUNCTIONS
==================== */ 
function sendMail(user,domain,tld,subject,message) {
	if (!user) user = 'info';
	if (!domain) domain = 'prioritypestprotection';
	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)')
	.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')
	.addClass('placeholder')
	.focus(function(){
		if (this.value == this.defaultValue) {
			this.value = '';
			$(this).removeClass('placeholder');
		}
	})
	.blur(function() {
		if (this.value == '') {
			this.value = this.defaultValue;
			$(this).addClass('placeholder');
		}
	});
}

function makePlaceholders() {
	if (!Modernizr.input.placeholder) {
		$('[placeholder]').focus(function() {
			var input = $(this);
			if (input.val() == input.attr('placeholder')) {
				input.val('');
				input.removeClass('placeholder');
			}
		}).blur(function() {
			var input = $(this);
			if (input.val() == '' || input.val() == input.attr('placeholder')) {
				input.addClass('placeholder');
				input.val(input.attr('placeholder'));
			}
		}).blur();
		$('[placeholder]').parents('form').submit(function() {
			$(this).find('[placeholder]').each(function() {
				var input = $(this);
				if (input.val() == input.attr('placeholder')) {
					input.val('');
				}
			})
		});
	}
}


function ncsForms() {
	$('form.ncsform input').not(':radio, :checkbox, :button, :file, :image').addClass('text');
	
	$('form.ncsform input, form.ncsform textarea')
	.focus(function(){$(this).addClass('focused')})
	.blur(function(){$(this).removeClass('focused')});
	
	$('form.ncsform .required').each(function(){
		$(this).attr('title', this.title + ' Required');
		$(this).prev('label').append('<em>*</em>');
		});
	
	$('form.ncsform').has('.required').each(function(){
		$(this).prepend('<p class="alignright instructions"><em>*</em> indicates required field.</p>');
		});
}

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 init() {
	makeExternalLinks();
	handleLinkedFiles();
	makeRollovers();
	makeActionLinks();
	makeSelfClearingFields();
	makePlaceholders();
	ncsForms();
	ncsNotifications();
	ncsFade();
}

