jQuery.noConflict();

jQuery(document).ready(function(){

	// CONTACT FORM SUBMIT
	jQuery('#form').submit(function() { 

		jQuery(this).ajaxSubmit({
			target:        '#result',
			beforeSubmit: checkIfValid,
			clearForm: true 
		});
							
		return false;	 /* important */	
	});
	   	
    // FIRE UP LOGO AND MAIN NAV HOVER EFFECTS
    jQuery('#navigation li, #header h1')
        .removeClass('highlight')
        .find('a')
        .append('<span class="hover" />').each(function () {
                var jQueryspan = jQuery('> span.hover', this).css('opacity', 0);
                jQuery(this).hover(function () {
                    // on hover
                    jQueryspan.stop().fadeTo(500, 1);
                }, function () {
                    // off hover
                    jQueryspan.stop().fadeTo(500, 0);
                });
    });
    
    	// FIRE UP HOME PAGE IMAGE ROTATOR
	jQuery('#slideshow').cycle({
		timeout: 9000,
		speed: 5000,
		before: onSlideshowBefore,
		after: onSlideshowAfter
	});
	function onSlideshowBefore() { 
	    jQuery('#copyright').fadeOut(2000); 
	}
	function onSlideshowAfter() { 
	    jQuery('#copyright').fadeIn(500).html(this.title); 
	}
	
	// FIRE UP PORTFOLIO CYCLE AND DYNAMIC TEXT
	initPortfolio();
	
	// LOAD PORTFOLIO LIST LINKS VIA AJAX
	jQuery("#portfolio-links li a").click(function(){ 

		var toLoad = jQuery(this).attr('href')+' #portfolio-content';
		
		jQuery('#portfolio-content').load(toLoad,'',initSifrAndPortfolio);

		return false;

	});
	
	// FIRE UP CONTACT FORM SHOW AND HIDE
	jQuery("div.panel_button, a.contact-me").click(function(){
			jQuery("div#panel").animate({
			height: "236px"
		})
		.animate({
			height: "211px"
		}, "normal");
		jQuery("div.panel_button").toggle();
	});	
	jQuery("div#hide_button").click(function(){
		jQuery("div#result").empty();
		jQuery('#form').clearForm();
		jQuery("div#panel").animate({
			height: "0px"
		}, "normal");
	});
	
});

// CLIENT SIDE FORM VALIDATION BEFORE SUBMIT
function checkIfValid(formData, jqForm, options) { 

	var form = jqForm[0]; 
	
	if (!form.one.value) { 
		jQuery('#result').fadeOut(500);
		jQuery('#result').fadeIn(500).html('<p>Please enter your name</p>'); 
		return false; 
	}
	
	if (!form.four.value) {
		jQuery('#result').fadeOut(500);
		jQuery('#result').fadeIn(500).html('<p>Please enter a question or comment</p>');
		return false; 
	}
	
	if (form.three.value != "20") {
		jQuery('#result').fadeOut(500);
		jQuery('#result').fadeIn(500).html('<p>Please check your math answer</p>');
		return false; 
	}
	
	if (form.two.value) {
		
		if(isValidEmailAddress(form.two.value)) {
			return true;
		}
		else
		{
			jQuery('#result').fadeOut(500);
			jQuery('#result').fadeIn(500).html('<p>Please enter a valid email address</p>');
			return false; 	
		}
	}	
}

// EMAIL VALIDATION FUNCTION
function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

// CALLBACK DURING AJAX LOAD OF PORTFOLIO CONTENT
function initSifrAndPortfolio() { 

	initPortfolio();
	
	sIFR.replace(fgb, {
	  selector: 'h2',
	  css: '.sIFR-root { background-color: #ffffff; color: #828282; }'
	});
}

function initPortfolio() {

    // FIRE UP PORTFOLIO IMAGE ROTATOR
	jQuery('#portfolio-slideshow').cycle({
		prev:   '#prev', 
		next:   '#next',
		timeout: 0,
		before: onPortfolioBefore,
		after: onPortfolioAfter
	});
	function onPortfolioAfter(curr, next, opts) {
	    var index = opts.currSlide;
	    jQuery('#prev')[index == 0 ? 'hide' : 'show']();
	    jQuery('#next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
	    jQuery('#description p').fadeIn(500).html(this.alt);
	}
	function onPortfolioBefore() {
		jQuery('#description p').fadeOut(500);
	}

	// FIRE UP TEXT LINKS FADE EFFECT
	jQuery("#middler a, a.text-link").hover(function(){
		jQuery(this).fadeTo("slow", 0.7);
		},function(){
		jQuery(this).fadeTo("slow", 1.0);
	});

}

jQuery(window).load(function () {

	jQuery.preload(['wordplay.gif','me_tree.jpg','portfolio_cp_1.gif','portfolio_cp_2.gif','portfolio_cp_3.gif','portfolio_dj_1.jpg','portfolio_dj_2.jpg','portfolio_wos_1.jpg','portfolio_wos_2.jpg','portfolio_wos_4.gif','portfolio_wos_3.jpg','portfolio_wos_5.gif','portfolio_dwg_1.gif','portfolio_dwg_2.gif','portfolio_hmh_1.jpg','portfolio_hmh_2.jpg','portfolio_hmh_3.jpg','portfolio_efn_1.jpg','portfolio_efn_2.gif','portfolio_qh_1.gif','portfolio_qh_2.gif','portfolio_qh_3.gif','portfolio_bray_1.gif','portfolio_bray_2.gif' ], {
    base:'/img/'
	});
	
});

