$(document).ready(function() {

	// To make links external add the external class to them - class="external"
	$("a.external").attr({ target: "_blank"});
	
	$(".external a").attr({ target: "_blank"});

	// ------------------------------------------------------	
	
	// Add Navigation
	//$('div#header').append('<ul id="mainnav" class="clearfix"><li><a id="navall" href="index.php?category=all">All</a></li><li><a id="navclient" href="index.php?category=client">Clients</a></li><li><a id="navmultimedia" href="index.php?category=multimedia">Multimedia</a></li><li><a id="navpersonal" href="index.php?category=personal">Personal Work</a></li></ul>');
	$('div#header').append('<ul id="mainnav" class="clearfix"><li><a id="navall" href="index.php?category=all">All</a></li><li><a id="navclient" href="index.php?category=client">Clients</a></li><li><a id="navmultimedia" href="index.php?category=multimedia">Multimedia</a></li></ul>');
	$('div#header').removeClass('noscrollable');
	
	// Find Current Project Category and set current class in main nav
	var current = $('body').attr("class");	
	$('ul#mainnav li').each(function(){
		if ($(this).children().attr("id") == 'nav'+current) {
			$(this).children().addClass('current');
		} 
	});
		
	// Add scrollable class - to change styles and initialize scrollable
	$('div#scrollcont').removeClass('noscrollable');
	$('div#scrollcont').addClass('scrollable');
	
	// ------------------------------------------------------	
	
	// Filter Out Projects by Category
	var category = $('body').attr("class");
	if (category != 'all') {
		$('ul#projects li').each(function(){
			if (!$(this).hasClass(category)) {
				$(this).remove();
			} 
		});
	}
	
	// ------------------------------------------------------	

	if ($('ul#projects li').length > 3) {
		// Add navigation for scrollable
		$('div.scrollable').before('<div class="navi"></div>');
		// Add Previos and Next Buttons
		$('div.scrollable').after('<a class="prevbtn"></a> <a class="nextbtn"></a>');
	}
			
	// ------------------------------------------------------	
	
	// initialize scrollable  
    $('div.scrollable').scrollable({ 
        size: 3, 
        items: '#projects',   
        hoverClass: 'hover',
		prev: '.prevbtn',
		next: '.nextbtn',
		speed: 300
    }).navigator();	
	
	// ------------------------------------------------------
	// --------------- Single Project Box -------------------
			
	// ----------------------------
	// LOAD CONTENT FROM HASH VALUE
			
	// Check for hash value in URL and load that project if it exists
	var href = $('ul#projects a.launchproj').each(function(){
		
		var prjHref = $(this).attr('href');
		
		$(this).attr({ href : 'projectinfo/' + prjHref.substr(0, prjHref.length) });
		
	});
	
	// Find if content exist based on project href
	var hash = window.location.hash.substr(1);
	
	var href = $('ul#projects a.launchproj').each(function(){
		
		var href = $(this).attr('href');
		
		if(hash == href.substr(0, href.length-5) && hash != ''){
			
			var toLoad = $(this).attr('href');
			$('div#projectbox').css({display : "block"});
			$('div#projectinfo').load(toLoad, '', showContent());
		}
		
	});
	
	// Show Content - Display property is set to 'none'
	function showContent() {
		$('div#projectinfo').fadeIn(300);
		
		setTimeout(function(){
			
			// initialize scrollable  
		    $('div.projscrollable').scrollable({ 
		        size: 1,
				clickable: true,
				speed: 300
		    }).navigator({
			    navi: ".projnavi"
			}).find("img.overlaylaunch").each(function(index) { 
				$(this).overlay({
					expose: { 
				        color: '#E9E9E9', 
				        loadSpeed: 200, 
				        opacity: 0.5 
				    }
				}); 
			});	
			
			// To make links external add the external class to them - class="external"
			$("a.external").attr({ target: "_blank"});
			$(".external a").attr({ target: "_blank"});
													
			hideLoader();
		}, 310);
		
	}
		
	// ------------------------------
	// LOAD CONTENT FROM PROJECT LINK
		
	// Load project from projectinfo folder into div#projectinfo
	$('ul#projects a.launchproj').click(function(){
				
		var toLoad = $(this).attr('href');

		// Bring Loader In
		$('#loader').remove();
		$('#projwrapper').append('<span id="loader">LOADING...</span>');
		$('#loader').fadeIn(150);
		// ------
		
		loadContent();
		
		window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
		
		function loadContent() {
			$('div#projectbox').fadeIn(300);
			
			setTimeout(function(){
				$('div#projectinfo').load(toLoad, '', showNewContent());				
			}, 310);
		}
		
		function showNewContent() {
			$('div#projectinfo').fadeIn(300);
			
			setTimeout(function(){
				
				// initialize scrollable  
			    $('div.projscrollable').scrollable({ 
			        size: 1,
					clickable: true,
					speed: 300
			    }).navigator({
				    navi: ".projnavi"
				}).find("img.overlaylaunch").each(function(index) { 
					$(this).overlay({
						expose: { 
					        color: '#E9E9E9', 
					        loadSpeed: 200, 
					        opacity: 0.5 
					    }
					}); 
				});
				
				// To make links external add the external class to them - class="external"
				$("a.external").attr({ target: "_blank"});
				$(".external a").attr({ target: "_blank"});
												
				hideLoader();
			}, 310);
		}
				
		function hideLoader() {
			$('#loader').fadeOut(800);
		}
		
		return false;

	});
	
	// -------------
	// CLOSE BUTTON
	
	$('div#projectbox a.close').click(function(){
		$('div#projectbox').fadeOut(350);
		
		// Remove div#projectinfo content after fadeOut
		setTimeout(function(){
			$('div#projectinfo').empty();
		}, 360);
		
	});
		
	// ------------------------------------------------------
	// ----------------- Form Validation --------------------
	
	// Add check boxes to form
	$("form#contactform div.indv_box input, form#contactform textarea").after("<span class='checked'/>");
		
	// Form Focus - remove text
	$("form#contactform input.text, form#contactform textarea").focus(function() {
		if (this.value == this.defaultValue) {
			$(this).val("");
		};
	});
	
	// Form Blur - Return Text
	$("form#contactform input, form#contactform textarea").blur(function() {
		if (this.value == ''){  
			this.value = (this.defaultValue ? this.defaultValue : '');
		}
		
		if (this.value == this.defaultValue) {
			$(this).nextAll("span").fadeOut(2000);
		};
		
		if (this.value != '' && this.value != this.defaultValue && this.id != 'email') {
			$(this).nextAll("span").fadeIn(2000);
		};		
				
		this.value = trim(this.value);
	});
	
	// Trim String
	function trim(stringToTrim) {
		return(stringToTrim.replace(/^\s+|\s+$/g,""));
	}
	
	// Email Validation
	$("form#contactform input#email").blur(function() {
		var emailToVal = this.value;
	
		if (this.value == this.defaultValue) {
			$(this).nextAll("span").fadeOut(2000);
		};
		
		if (this.value != '' && this.value != this.defaultValue) {
			var emailPattern = /^\w+([\.\-]?\w+)*@{1}\w+([\.\-]?\w+)*(\.{1}[a-zA-Z]{2,4})+$/;
			var validation = emailPattern.test(emailToVal);
	
			if (validation) {
				$(this).nextAll("span").fadeIn(2000);
			} else {				
				$(this).nextAll("span").fadeOut(500);
			}
		}
	});
	
	// Clear all checked values
	$("form#contactform input.reset").click(function() {
		$("form#contactform input, form#contactform textarea").nextAll("span").fadeOut(500);
	});
	
	// ------------------------------------------------------
	// ------------------------------------------------------
});