// Main.js File

$(document).ready(function(){

// Set external links - XHTML Compatibility reasons
    $("a[rel='external']").attr("target","_blank");

// Logo onclick return home
    $("h1").click(function () {
        window.location = "/";
    });

// Tooltip init
    $("#thumbs > li > a").tooltip();


// Sort Filter    
	$("ul#sort a").click(function(e) {
	    e.preventDefault();
		$(this).css("outline","none");
		$("ul#sort .current").removeClass("current");
		$(this).addClass("current");
		
		var filterVal = $(this).text().toLowerCase().replace(/ /g,"-");
				
		if(filterVal == 'all') {
			$('ul#thumbs li').animate({opacity: 1.0}, 'slow');
			
		} 
		
		else {
			$('ul#thumbs li').each(function() {
				if(!$(this).hasClass(filterVal)) {
					//$(this).fadeOut('slow').addClass('hidden');
					$(this).css('opacity',1.0);
                   
					
				} else {
					//$(this).fadeIn('slow').removeClass('hidden');
                    //$(this).css('opacity',0.5);
                     $(this).animate({opacity: 0.1}, 'slow');
				}
			});
		}
    });     
});
// Sort Filter  

// Form validation 
    $(".required").after('<strong class="astrix">*</strong>');

    $("form").submit(function(e) {

        var trigger = "0";
        var emailre = /^[a-z0-9._-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i;
        $(".validation").remove();
        $("input").blur();
        $("#message").html("");
        
        $(".required",this).each ( function() {
            var listItem = $(this).parent().get(0);
            var theLabel = $(this).attr("id");
            
            if($(this).attr("value") == '') {
                $(listItem).addClass("invalid");
                $(listItem).append('<div class="validation">Required Field</div>');
                trigger = "1";
            }
            else {
                $(listItem).removeClass("invalid");
            }
        });

        $(".required" + ".email",this).each ( function() {
            var listItem = $(this).parent().get(0);
            var theLabel = $(this).attr("id");

            if((!$(this).attr("value").match(emailre)) && ($(this).attr("value") != '')) {
                $(listItem).addClass("invalid");
                $(listItem).append('<div class="validation">Invalid Email</div>');
                trigger = "1";
            }
        });        
        
        if(trigger == "1") {
            $(".validation").fadeIn();
            e.preventDefault();
        }
        else {
            e.preventDefault();
            var inputs = [];
          
            $(':input',this).each(function() {
                inputs.push(this.name + '=' + escape(this.value));
            })
          
            jQuery.ajax({
                data: inputs.join('&'),
                url: this.action,
                timeout: 2000,
                error: function() {
                    console.log("Failed to submit");
                },
            success: function(r) { 
              $('#message').append(r).fadeIn();
              $('#contact-form').clearForm();
            }
          })        
        
        }

        $(".invalid > .required:first").focus();
    });