var msg_request_failed = 'Loading failed! Press F5 to reload the page.';

var loadByAnchor = function(){
	var sL = document.location.toString();
	
	if (sL.match('#')) {
		var sLang = location.href.replace(base_url,'').split('/')[0];
		var sA = sL.replace(base_url, '').replace('#', '');
		
		if(sA != sLang + '/myself'){
			var oA = $('a[rel=internal][href=' + sA + '],a[rel=prev][href=' + sA + '],a[rel=next][href=' + sA + ']').eq(0);
			
			oA.trigger('click');
		};
	};
};

$('document').ready(function(){
	
	/* AJAX - site requests */
	$('a[rel=internal],a[rel=prev],a[rel=next]').live('click', function(e){
		e.preventDefault();
		
		var oA = $(this);
		var oT = $('#teaser');
		var oC = $('#content').find('.inner');

		// fade in loading messgage (on complete start ajax)
		$('#loading').fadeIn(500, function(){
	        $.ajax({
	            type: "GET",
	            url: oA.attr('href'),
	            success: function(json){
	        		
	        		switch(json.type){
	        			case 'json':
	        				
	        				if(json.teaser != ''){oT.html(json.teaser);};		// set teaser
	        					
	        				if(json.content != ''){oC.html(json.content);};		// set content 
	        				
	        				$('title').html(json.title);						// set title
	        				
	        				var lang = location.href.replace(base_url,'').split('/')[0];
	        				location.href = base_url + lang + '/#' + oA.attr('href').replace(lang + '/', '');
	        				
	        				$('#loading').fadeOut(250);							// fade out loading
	        				
	        				break;
	        				
	        			default:
	        				alert(msg_request_failed);
	        				break;
	        		};
	            },
	            error: function(){
	                $.fancybox.close();
	                alert(msg_request_failed);
	            },
	            dataType: "json"
	        });
		});
	});
	
	/* AJAX - submit form requests */
	$('.form').live('submit', function(e){
		e.preventDefault();
		
		var oF = $(this);
		var oT = $('#teaser');
		var oC = $('#content').find('.inner');
		
		// fade in loading messgage (on complete start ajax)
		$('#loading').fadeIn(500, function(){
	        $.ajax({
	            type: "POST",
	            url: oF.attr('action'),
	            data: oF.serialize(),
	            success: function(json){
	        		
	        		switch(json.type){
	        			case 'json':
	        				
	        				if(json.teaser != ''){oT.html(json.teaser);};		// set teaser
	        					
	        				if(json.content != ''){oC.html(json.content);};		// set content 
	        				
	        				$('title').html(json.title);						// set title
	        				
	        				$('#loading').fadeOut(250);							// fade out loading
	        				
	        				break;
	        				
	        			default:
	        				alert(msg_request_failed);
	        				break;
	        		};
	            },
	            error: function(){
	                $.fancybox.close();
	                alert(msg_request_failed);
	            },
	            dataType: "json"
	        });
		});
	});
	
	/* DIALOG (fanybox.net) */
    $('.fancybox-dialog').live('click', function(e){
        e.preventDefault();
        $.fancybox({
            'padding'           : 15,
            'hideOnContentClick': false,
            'hideOnOverlayClick': false,
            'overlayColor'      : '#121213',
            'overlayOpacity'    : 0.4,
			'transitionIn'      : 'none',
			'transitionOut'     : 'none',
			'showCloseButton'   : true,
			'autoDimensions'    : true,
			'enableEscapeButton': true,
			'enableNavArrows'   : false,
            'href'              : $(this).attr('href'),
            'type'              : 'ajax',
            'onClosed'          : function(){
	        	$('#top').animate({
	        		'margin-top': '-95px'
	        	});
        	}
        });
    });
    
    /* DIALOG - open all external links by (fancybox.net / iframe) */
	$('a[rel=external]').live('click', function(e){
		e.preventDefault();
		
		$.fancybox({
			'width'             : '95%',
			'height'            : '95%',
            'padding'           : 15,
            'hideOnContentClick': false,
            'hideOnOverlayClick': false,
            'overlayColor'      : '#121213',
            'overlayOpacity'    : 0.4,
			'transitionIn'      : 'none',
			'transitionOut'     : 'none',
			'showCloseButton'   : true,
			'autoDimensions'    : true,
			'enableEscapeButton': true,
			'enableNavArrows'   : false,
			'href'              : $(this).attr('href'),
			'type'				: 'iframe',
            'onClosed'          : function(){
	        	$('#top').animate({
	        		'margin-top': '-95px'
	        	});
    		}
		});
	});
    
    $('.fancybox-close').live('click', function(e){
    	$.fancybox.close();
    });
    
    /* PROJECT BACK BUTTON HANDLING */
    $('.set-project').live('click', function(e){
    	e.preventDefault();
    	
    	var c = $('#top');
    	
    	if(c.length == 0){
    		$('body').append('<div id="top"><p><a href="#" class="fancybox-dialog close-last-project">back to project</a></p></div>');
    		c = $('#top');
    	};
    	
    	c.find('a').attr('href', $(this).attr('href'));
    });
	
    $('.show-last-project').live('click', function(e){
    	e.preventDefault();
    	
    	$('#top').animate({
    		'margin-top': '-30px'
    	});
    });
    
    $('.close-last-project').live('click', function(e){
    	e.preventDefault();
    	
    	$('#top').animate({
    		'margin-top': '-95px'
    	});
    });	
	
	/* CARD - SKILL HIGHLIGHT */
	$('.card-highlight').live('click',function(e){
		e.preventDefault();
		
		var elm = $(this);
		
		var sSearch = elm.find('span').html();
		
		$('.card').find('li').removeClass('highlight');
		
		$('.card-reset').fadeIn();
		
		if(elm.hasClass('active')){
			elm.removeClass('active');
			$('.card-reset').fadeOut();
		} else {
			$('.card-highlight.active').removeClass('active');
			$('.card').find('.' + sSearch).addClass('highlight').fadeIn();
			elm.addClass('active');
		};
	});
	
	$('.card-reset').live('click',function(e){
		e.preventDefault();
		
		$('.card').find('li').removeClass('highlight');
		$('.card').find('.active').removeClass('active');
		
		$('.card-reset').fadeOut(800);
	});

	/* WORK ENTRY HANDLING */
	$('.work_entry').live('mouseenter', function(){
		var elm = $(this);
		$(elm).find('img').animate({'height': '170px', 'width': '181px', 'margin' : '15px'}, 250);
	});
	
	$('.work_entry').live('mouseleave', function(){
		var elm = $(this);
		$(elm).find('img').stop().animate({'height': '200px', 'width': '211px', 'margin' : '0'}, 150);
	});
	
	/* load content by url anchor */
	loadByAnchor();
});

