/*
 * main.js
 *  November 2010
 *  
 *  Javascript enhancements for Herte Center theme
 * 
 * by kchevalier@suntouchdesign.com
 * 
 */

$(document).ready(function() {
	CSShacks.init();
	Dropdown.init( '#nav ul' );
	FormInput.run( '#aside .wpcf7-form', 'input[name=your-name]' );
	FormInput.run( '#aside .wpcf7-form', 'input[name=your-email]' );
	FormInput.run( '#aside .wpcf7-form', 'input[name=your-phone]' );
	FormInput.run( '#aside .wpcf7-form', 'textarea[name=your-message]' );
	Lightbox.init( '.before-after-gallery ul.before-after-pair li a' );
});

var Lightbox = function(){
	var init = function( sel ){
		$( sel ).fancybox({
			title: $(this).attr('alt')
		});
	};
	return {
		init: init
	};
}();

var FormInput = function(){
	
	var editClass = 'inputHasValue';
	
	var run = function( formSel, inputSel ){
		var inputText = $( formSel + ' ' + inputSel ).val();
		$( formSel + ' ' + inputSel ).bind( 'focusin', function(evt){
			if ( !$(this).hasClass( editClass ) ) {
				$(this).val('');
				$(this).addClass( editClass );
			}
		} ).bind( 'focusout', function(evt){
			if ($(this).val() == '') {
				$(this).val( inputText );
				$(this).removeClass( editClass );
			} 
		} );
		$( formSel ).bind( 'submit', function(evt){
			if ( !$(this).children( inputSel ).hasClass( editClass ) ) {
				$(this).children( inputSel ).val('');
			}
		} );
	};
	
	return {
		run: run
	};
}();

var Dropdown = {
	init: function( sel ){
		if ( window.XMLHttpRequest ){
			$( sel ).children('li').hover(
				function() { $(this).children('ul').fadeIn( 150 ); },
				function() { $(this).children('ul').stop( true, true ).fadeOut( 100 ); }
			);
		}
	}
};

var CSShacks = {
	init: function() {
		$('input.wpcf7-submit').val('');
		$('#aside input[name=your-name]').val('Name');
		$('#aside input[name=your-email]').val('Email');
		$('#aside input[name=your-phone]').val('Phone');
		$('#aside textarea[name=your-message]').val('Your Message');
		$('.contact .#article .wpcf7 img.ajax-loader').attr( 'src', 'http://hertecenter.sundes.net/wp-content/plugins/contact-form-7/images/ajax-loader-og.gif' );
		$('#sidebar input#searchsubmit').val('');
		$('#commentform input#submit').val('');
	}
};

var Preloader = {
	
	cache: [],
	
	init: function() {},
	
	load: function( image ) {
		image = 'http://' + document.domain + image;
		var doLoad = true;
		var cacheLength = Preloader.cache.length;
		for ( var i=0; i<cacheLength; i++ ) {
			if ( Preloader.cache[i].src == image ) {
				doLoad = false;
				i = cacheLength;
				break;
			}
		}
		if ( doLoad ) {
			var cacheImage = document.createElement('img');
			cacheImage.src = image;
			Preloader.cache.push( cacheImage );
		}
	},
	
	auto: function() {
		$('img.cache').each(function(i) {
			Preloader.load( $(this).attr( 'src' ) );
		});
	}
};

