//--------------------------------------------------------------------------------

/*

1. variables for works
2. linksHover();
3. randomizeWork();
4. loadWork();
5. navigateWork();
6. seeAllWork();
7. smoothScroll();
8. homeBG();
9. randomFacts();
10. $(document).ready(function(){});

*/




//--------------------------------------------------------------------------------

// variables for works

var workArr = new Array();

workArr[0] = "work-travel42.php"; 
workArr[1] = "work-validateme.php"; 
workArr[2] = "work-insurancecalculator.php"; 
workArr[3] = "work-driscolls.php"; 
workArr[4] = "work-travelagewestve.php"; 
workArr[5] = "work-icap.php"; 
workArr[6] = "work-apartments.php"; 
workArr[7] = "work-builderconcepthome.php"; 
workArr[8] = "work-spanishstudio.php"; 
workArr[9] = "work-rogerbrown.php"; 



//--------------------------------------------------------------------------------

function linksHover() {

	$("#logo-off").mouseenter(function() {
		$(this).stop().animate({"opacity": "0"}, 200);
	}).mouseleave(function() {
		$(this).stop().animate({"opacity": "1"}, 200);
	});

	$("#n-about a").mouseenter(function() {
		$(this).animate({"width": "+=10px"}, 100);
	}).mouseleave(function() {
		$(this).animate({"width": "-=10px"}, 100);
	});

	$("#n-contact a").mouseenter(function() {
		$(this).animate({"width": "+=10px"}, 100);
	}).mouseleave(function() {
		$(this).animate({"width": "-=10px"}, 100);
	});

	$("#n-portfolio a").mouseenter(function() {
		$(this).animate({"width": "+=10px"}, 100);
	}).mouseleave(function() {
		$(this).animate({"width": "-=10px"}, 100);
	});

	$("#n-portfolio-list a").mouseenter(function() {
		$(this).animate({"width": "+=10px"}, 100);
	}).mouseleave(function() {
		$(this).animate({"width": "-=10px"}, 100);
	});

	$("#contact-email").mouseenter(function() {
		$(this).stop().animate({"opacity": ".5"}, 200);
	}).mouseleave(function() {
		$(this).stop().animate({"opacity": "1"}, 200);
	});

	$("#contact-linkedin").mouseenter(function() {
		$(this).stop().animate({"opacity": ".5"}, 200);
	}).mouseleave(function() {
		$(this).stop().animate({"opacity": "1"}, 200);
	});

	$("#contact-twitter").mouseenter(function() {
		$(this).stop().animate({"opacity": ".5"}, 200);
	}).mouseleave(function() {
		$(this).stop().animate({"opacity": "1"}, 200);
	});

	$("#contact-lastfm").mouseenter(function() {
		$(this).stop().animate({"opacity": ".5"}, 200);
	}).mouseleave(function() {
		$(this).stop().animate({"opacity": "1"}, 200);
	});

	$("#contact-goodreads").mouseenter(function() {
		$(this).stop().animate({"opacity": ".5"}, 200);
	}).mouseleave(function() {
		$(this).stop().animate({"opacity": "1"}, 200);
	});

}



//--------------------------------------------------------------------------------

function randomizeWork() {

	var randomWork = Math.floor(Math.random()*workArr.length);
	var randomWorkHash = workArr[randomWork].replace(".php","");
	document.location.hash = randomWorkHash;
	$("#content .work").load(workArr[randomWork]);	
	
}



//--------------------------------------------------------------------------------

function loadWork() {

	var getWork = $("#content .work");

	// if hash isn't empty, load content accordingly
	if ((document.location.hash).length > 0) {
		getWork.html("");
		var getID = document.location.hash.replace("#","");
		var getHashLink = document.location.hash.replace("#","") + ".php";
		getWork.attr("id",getID).load(getHashLink).innerHTML += '';
	} else {
		randomizeWork();
		getWork.innerHTML += '';
		var getID = document.location.hash.replace("#","");
		getWork.attr("id",getID);
	}

	// when hash link is changed manually, load content accordingly
	$(window).bind('hashchange', function() {
		var getID = document.location.hash.replace("#","");
		var getHashLink = document.location.hash.replace("#","") + ".php";
		getWork.attr("id",getID).load(getHashLink).innerHTML += '';
	});

}



//--------------------------------------------------------------------------------

function navigateWork() {	
	
	// for mouse clicks

	// change links for prev/next buttons, depending on active content
	function changeLinks() {
		var getWorkID = $("#content .work").attr("id") + ".php";	
		if (getWorkID == workArr[0]) {
			$("#navigator-prev").attr("href",workArr[9]);
			$("#navigator-next").attr("href",workArr[1]);
		} else if (getWorkID == workArr[1]) {
			$("#navigator-prev").attr("href",workArr[0]);
			$("#navigator-next").attr("href",workArr[2]);
		} else if (getWorkID == workArr[2]) {
			$("#navigator-prev").attr("href",workArr[1]);
			$("#navigator-next").attr("href",workArr[3]);
		} else if (getWorkID == workArr[3]) {
			$("#navigator-prev").attr("href",workArr[2]);
			$("#navigator-next").attr("href",workArr[4]);
		} else if (getWorkID == workArr[4]) {
			$("#navigator-prev").attr("href",workArr[3]);
			$("#navigator-next").attr("href",workArr[5]);
		} else if (getWorkID == workArr[5]) {
			$("#navigator-prev").attr("href",workArr[4]);
			$("#navigator-next").attr("href",workArr[6]);
		} else if (getWorkID == workArr[6]) {
			$("#navigator-prev").attr("href",workArr[5]);
			$("#navigator-next").attr("href",workArr[7]);
		} else if (getWorkID == workArr[7]) {
			$("#navigator-prev").attr("href",workArr[6]);
			$("#navigator-next").attr("href",workArr[8]);
		} else if (getWorkID == workArr[8]) {
			$("#navigator-prev").attr("href",workArr[7]);
			$("#navigator-next").attr("href",workArr[9]);
		} else if (getWorkID == workArr[9]) {
			$("#navigator-prev").attr("href",workArr[8]);
			$("#navigator-next").attr("href",workArr[0]);
		} 
		
	}
	changeLinks();

	// when prev/next button is clicked, 			
	$("#container .navigator").click(function() {
		// change the links accordingly
		changeLinks();
		var getLink = $(this).attr("href"); 
		var getHashLink = getLink.replace(".php","");
		// then change the url & load the new content
		document.location.hash = getHashLink;
		$("#content .work").load(getLink);
		$("#content .work").innerHTML += '';
		$("#content .work").attr("id",getHashLink);
		scrollTo(0,0);
		return false;
	}).ajaxStart(function() {  
		$("#loading").fadeIn(100);
	}).ajaxStop(function() {  
		$("#loading").fadeOut(100);
	});  



	// for keyboard left/right arrow

	// change links for prev/next buttons, depending on active content
	function loadWorkKeyboard() {
	    var getWorkIDKeyboard = $("#content .work").attr("id") + ".php";		
		$("#content .work").attr("id",getWorkIDKeyboard);
		if (getWorkIDKeyboard == workArr[0]) {
			loadPrev = workArr[10];
			loadNext = workArr[1];
		} else if (getWorkIDKeyboard == workArr[1]) {
			loadPrev = workArr[0];
			loadNext = workArr[2];
		} else if (getWorkIDKeyboard == workArr[2]) {
			loadPrev = workArr[1];
			loadNext = workArr[3];
		} else if (getWorkIDKeyboard == workArr[3]) {
			loadPrev = workArr[2];
			loadNext = workArr[4];
		} else if (getWorkIDKeyboard == workArr[4]) {
			loadPrev = workArr[3];
			loadNext = workArr[5];
		} else if (getWorkIDKeyboard == workArr[5]) {
			loadPrev = workArr[4];
			loadNext = workArr[6];
		} else if (getWorkIDKeyboard == workArr[6]) {
			loadPrev = workArr[5];
			loadNext = workArr[7];
		} else if (getWorkIDKeyboard == workArr[7]) {
			loadPrev = workArr[6];
			loadNext = workArr[8];
		} else if (getWorkIDKeyboard == workArr[8]) {
			loadPrev = workArr[7];
			loadNext = workArr[9];
		} else if (getWorkIDKeyboard == workArr[9]) {
			loadPrev = workArr[8];
			loadNext = workArr[10];
		} else if (getWorkIDKeyboard == workArr[10]) {
			loadPrev = workArr[9];
			loadNext = workArr[0];
		}

	}
	
	KEY_CODES = {
		37: 'left',
		38: 'up',
		39: 'right',
		40: 'down'
	}
 
	KEY_STATUS = { keyDown:false };
	for (code in KEY_CODES) {
		KEY_STATUS[KEY_CODES[code]] = false;
	}
 
	$(window).keydown(function(e) {
 		KEY_STATUS.keyDown = true;
	  	//e.preventDefault();
 		if(KEY_CODES[e.keyCode]) {
	  		if(e.keyCode == 37) {
		  		loadWorkKeyboard();
				$("#content .work").load(loadPrev);
				var getHashLink = loadPrev.replace(".php","");
			    document.location.hash = getHashLink;
				scrollTo(0,0);
	  		}
		  	else if(e.keyCode == 39) {
		  		loadWorkKeyboard();
				$("#content .work").load(loadNext);
				var getHashLink = loadNext.replace(".php","");
			    document.location.hash = getHashLink;
				scrollTo(0,0);
	  		}
		}
	}).keyup(function(e) {
		KEY_STATUS.keyDown = false;
		if (KEY_CODES[e.keyCode]) {	  	
			//e.preventDefault();
			KEY_STATUS[KEY_CODES[e.keyCode]] = false;
		}
	}).ajaxStart(function() {  
	    $("#loading").fadeIn(100);
	}).ajaxStop(function() {  
	    $("#loading").fadeOut(100);
	});  

}



//--------------------------------------------------------------------------------

function seeAllWork() {

	function showTooltip(obj) {
		var getName = obj.find("img").attr("alt");	
		obj.find("div").html(getName).fadeIn(200);
	};
	function hideTooltip(obj) {
		obj.find("div").fadeOut(200);
	};

	$("#work-list li:nth-child(5n)").addClass("last");

	$("#n-portfolio-list a").click(function() {
		$("#work-list").fadeIn(200);
		
		$("html").click(function() {
			$("#work-list").fadeOut(200);
		});
		$("#work-list li").click(function() {
			$("#work-list").fadeOut(200);
			scrollTo(0,0);
		})
		
		$("#work-list-close").click(function() {
			$("#work-list").fadeOut(200);
			return false;
		})
		$("#work-list").click(function(event){
			event.stopPropagation();
		});

		return false;
	});

	$("#work-list li").mouseenter(function(obj) {
	    var obj = $(this);
	    showTooltip(obj);
	}).mouseleave(function(obj){
	    var obj = $(this);
	    hideTooltip(obj);
	});
	
}



//--------------------------------------------------------------------------------

function smoothScroll() {

    $("a.link-scroll[href*=#]").click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
        && location.hostname == this.hostname) {
            var $target = $(this.hash);
            $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
            if ($target.length) {
                var targetOffset = $target.offset().top;
                $("html,body").animate({scrollTop: targetOffset},500);
                return false;
            }
        }
    });
}



//--------------------------------------------------------------------------------

function homeBG() {
	var BGImageArray = ["bg-01.jpg","bg-02.jpg","bg-03.jpg","bg-04.jpg","bg-05.jpg","bg-06.jpg","bg-07.jpg","bg-08.jpg","bg-09.jpg","bg-10.jpg","bg-11.jpg"];
	var BGImage = BGImageArray[Math.floor(Math.random()*BGImageArray.length)]
	$("body").ezBgResize({
	    img     : "_images/" + BGImage, // Relative path example.  You could also use an absolute url (http://...).
	    opacity : 1, // Opacity. 1 = 100%.  This is optional.
	    center  : true // Boolean (true or false). This is optional. Default is true.
	});
}



//--------------------------------------------------------------------------------

function randomFacts() {

	var factArr = new Array();
	factArr[0] = "likes fruits a lot, especially citrus";
	factArr[1] = "can speak 3.5 languages and wants to learn more";
	factArr[2] = "changes up his hairstyle pretty often";
	factArr[3] = "will buy you coffee if you can pronounce his last name correctly";
	factArr[4] = "is more of a tea guy than a coffee guy";
	factArr[5] = "&rsquo;s favorite word is &lsquo;mellifluous&rsquo;";
	factArr[6] = "has a broad taste in music, but R&amp;B is still his favorite genre";
	factArr[7] = "likes bright colors. Bright, bright colors.";
	factArr[8] = "has 6 pairs of Converse shoes (and counting&hellip;)";
	factArr[9] = "likes the summer, but not necessarily the heat";

	var randomize = Math.floor(Math.random()*factArr.length);
	$("#home-desc-random span").html(factArr[randomize]);

}



//--------------------------------------------------------------------------------

$(document).ready(function(){
	linksHover();
	smoothScroll();
});

