/* 
 * 
 *   invectorwetrust.com
 *   /2011
 * 
 *   Robert Schulke
 *   heartshapedwork.com
 *
 */


    
jQuery(
	function ($) {
		new skript.ivwt2011.init();
	}
);


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

var skript = 
{
	ivwt2011: {

		init: function() {
//			var $baseurl   = "http://null.heartshapedwork.com/ivwt";
			var $baseurl   = "http://invectorwetrust.com";
				$body      = $('body'),
				$gallery   = $('div#gallery'),
				$container = $('div#container'),
				$loader    = $('div#loader'),
				$baseTitle = " / ivwt",
				$lastUrl   = 0,


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

			debug = function (log_txt) {

				if (window.console != undefined) {
					console.log(log_txt);
				}

			}


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

			function loadImg(url) {

				$lastUrl = 0;
				$lastImage = url;

				$gallery.fadeTo('fast', 0);
				$container.fadeTo('fast', 0);

				$loader.delay(500).fadeTo('fast', 1);
				$('div#content').html('');

				$gallery.load(url + ' #image', function() {

					var $content = $('div#image');
					$thisCase = $content.attr('class');


// Preloading images --------------------------------------------------------

					$(function(){
					
						$('body').onImagesLoad({
					
							selectorCallback: selectorImagesLoaded
					
						});
					
						function selectorImagesLoaded($selector){ 
					

// All cases --------------------------------------------------------
	
							$('#image a.nav').bind("click", function(){

								loadURL($(this).attr('href'));

							});
							$('#image a.image').bind("click", function(){

								loadImg($(this).attr('href'));

							});
		
							var fadeColor = $('.slide').attr('alt');
							calcColor(fadeColor);
							$('body').animate({backgroundColor:fadeColor}, 550);
		
							$('a').removeClass($('body').attr('class'));
							$('body').attr('class', typoColor);
							$('a').addClass(typoColor);
		
							if (typoColor == "dark") {

								$('#logoImg').attr('src','wp-content/themes/ivwt/assets/images/logodark.png')

							} else {

								$('#logoImg').attr('src','wp-content/themes/ivwt/assets/images/logo.png')

							};


// Case single --------------------------------------------------------
	
							if ($thisCase == "single") {
		
								$.address.title($('#caption h2 a').attr('title') + $baseTitle);
								$('.slide').resizer();
		
								$loader.fadeTo('fast', 0);
								$gallery.fadeTo('fast', 1);
		
								$('a.active').removeClass('active');
//								$('a.linktitle').addClass('active');
							}


// Done cases --------------------------------------------------------

						}
					}); // done reploading

				}); // load
			} // loadImg


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

			function loadURL(url) {

				if ($lastUrl == url) {

					$lastUrl = 0;
					$container.fadeTo('normal', 0);
					$('.contentback').fadeTo('fast', 0);
					$('div#content').html('');
					$('a.active').removeClass('active');
					$.address.title($('#caption h2 a').attr('title') + $baseTitle);

					return false;

				} else {

					$lastUrl = url;

				}

				$container.fadeTo('fast', 0);
				$loader.delay(500).fadeTo('fast', 1);

				$container.load(url + ' #content', function() {

					var $content = $('div#content');
					$thisCase = $content.attr('class');

					var fadeColor = $('.slide').attr('alt');
					calcColor(fadeColor);

					$('#scrollbar1').tinyscrollbar({size: 'auto'});
					$('.thumb').css('backgroundColor', fadeColor);
					$('.end').css('backgroundColor', fadeColor);
					$('.track').css('backgroundColor', layerColor);


// Preloading images --------------------------------------------------------

					$(function(){
					
						$('body').onImagesLoad({
					
							selectorCallback: selectorImagesLoaded
					
						});
					
						function selectorImagesLoaded($selector){ 
					

// All cases --------------------------------------------------------

							$('#content a.nav').bind("click", function(){

								loadURL($(this).attr('href'));

							});
							
							$('#content a.image').bind("click", function(){

								loadImg($(this).attr('href'));

							});
		
							$('body').animate({backgroundColor:$('.slide').attr('alt')}, 350);
							$('a').addClass(typoColor);


// Case single --------------------------------------------------------
	
							if ($thisCase == "single") {
		
								$.address.title($('#caption h2 a').text() + ' / detail' + $baseTitle);
								$('.slide').resizer();
								$('.contentback').css('backgroundColor', layerColor);
								$('.contentback').fadeTo('fast', 0.5);
		
								$loader.fadeTo('fast', 0);
								$container.fadeTo('fast', 1);
		
								$('a.active').removeClass('active');
								$('a.linktitle').addClass('active');
		
							}


// Case archive --------------------------------------------------------
	
							if ($thisCase == "archive") {
		
								$.address.title('archive' + $baseTitle);
								$('.slide').resizer();
		
								$('.contentback').css('backgroundColor', layerColor);
								$('.contentback').fadeTo('fast', 0.5);
		
								$('.imgDescBack').each(function() {

									$(this).css('backgroundColor', $('body').css('backgroundColor'));

								});
		
								$('.imgDesc').each(function() {
									$(this).bind("mouseenter",function(){
									    $(this).find('.imgDescBack').animate({opacity: 0}, 250);
									    $(this).find('h4').animate({opacity: 0}, 250);
									}).bind("mouseleave",function() {
									    $(this).find('.imgDescBack').animate({opacity: 0.7}, 250);
									    $(this).find('h4').animate({opacity: 1}, 250);
									});
									
								});
		
								$loader.fadeTo('fast', 0);
								$container.fadeTo('fast', 1);
		
								$('a.active').removeClass('active');
								$('a.linkarchive').addClass('active');
		
							}


// Case page --------------------------------------------------------
	
							if ($thisCase == "page") {
		
								$.address.title('about' + $baseTitle);
								$('.slide').resizer();
		
								$('.contentback').css('backgroundColor', layerColor);
								$('.contentback').fadeTo('fast', 0.5);
		
								$loader.fadeTo('fast', 0);
								$container.fadeTo('fast', 1);
		
		
								$('a.active').removeClass('active');
								$('a.linkabout').addClass('active');
		
							}


// Done cases --------------------------------------------------------

						}
					}); // preloading images
	
				}); // load
			} // loadURL
		
			// Event handlers
			$.address.crawlable(1);
			$.address.externalChange(function(event) {


// Check for latest Post --------------------------------------------------------

				latestPost='';
				$.ajax({
					url:"/wp-admin/admin-ajax.php",
					type:'POST',
					async: false,
					data:'action=latest_post',
					success:function(results) {

						latestPost = results;

					}
				});


// Check for valid URL (#) --------------------------------------------------------

				if (location.href != $baseurl && location.href != $baseurl + "/") {
				
					if (location.href.indexOf('#!') < 0) {
				
						$("body").hide();
				
						var fullpath = location.href.split('/',5);
						if (fullpath[4]) {
							location.href = 'http://' + document.domain +"#!/"+fullpath[3] +"/"+fullpath[4];
						} else {
							location.href = 'http://' + document.domain +"#!/"+fullpath[3];
						}
				
					} else {
				
						if (event.value == "/archive" || event.value == "/about" || event.value.indexOf("/author") != -1 || event.value.indexOf("/tag") != -1) {
				
							loadImg($baseurl + "/"+latestPost);
							loadURL($baseurl + event.value);
				
						} else {
				
							loadImg($baseurl + event.value);
				
						}
				
					}
					
				} else {
				
					event.value = "/"+latestPost;
					loadImg($baseurl + event.value);
				
				}
			});
		

			$('a.nav').bind("click", function(){

				loadURL($(this).attr('href'));

			});

			$('a.image').bind("click", function(){

				loadImg($(this).attr('href'));

			});


// --------------------------------------------------------
	
			// Color Calculations
			function getDec(hexChar)  
			{  
			    switch(hexChar)  
			    {  
			        case '0': return 0;  
			        case '1': return 1;  
			        case '2': return 2;  
			        case '3': return 3;  
			        case '4': return 4;  
			        case '5': return 5;  
			        case '6': return 6;  
			        case '7': return 7;  
			        case '8': return 8;  
			        case '9': return 9;  
			        case 'A': return 10;  
			        case 'B': return 11;  
			        case 'C': return 12;  
			        case 'D': return 13;  
			        case 'E': return 14;  
			        case 'F': return 15;  
			        case 'a': return 10;  
			        case 'b': return 11;  
			        case 'c': return 12;  
			        case 'd': return 13;  
			        case 'e': return 14;  
			        case 'f': return 15;  
			    };  
			}  
			  
			function hexToDec(hex)   
			{  
			    var colorChars=hex.split('');              
			    var dec = (getDec(colorChars[0]) * 16) + getDec(colorChars[1]); 
			    return dec;  
			}  
			
			function calcColor(arg)  
			{  
			    var selectedColor = arg;  
			
			    // remove the '#'  
			    selectedColor = selectedColor.substring(selectedColor.indexOf('#') + 1);
			      
			    var r = hexToDec(selectedColor.substr(0, 2));  
			    var g = hexToDec(selectedColor.substr(2, 2));  
			    var b = hexToDec(selectedColor.substr(4, 2));  
			      
			    if ((r + g + b) < 386) {

			    	typoColor = "light";
			    	layerColor = "#000000";

			    } else {

			    	typoColor = "dark";
			    	layerColor = "#ffffff";

			    };
			}  


// --------------------------------------------------------
	
		} // init
	} //ivwt2011
} //skript

