$(document).ready(function() {
	
	//Capture a tag in nav
	$("#nav").delegate("a","click", function(){
		window.location.hash = $(this).attr("href");
		return false;
	});
	
	//Hash change
	$(window).bind('hashchange', function() {
		var newHash = window.location.hash.substring(1) + '.htm';
		if(newHash=='default.htm'){
			window.location.href="/";
		} else {
			//window.location.href = newHash;
			$('#top').load(newHash + " #top");
			$('#middle').load(newHash + " #middle");
			//console.log(newHash);
		}
	});
	
	//Trigger hash changes on page reload
	$(window).trigger('hashchange');
	    
	//Display tech news
	$.ajax({
	    type: "GET",
		url: "scripts/news.xml",
		dataType: "xml",
		success: function(xml) {
			var icount = 0;
			var tmp = "<ul>";
			
			$(xml).find('item').each(function(){
				if(icount<5){
					var ttitle = $(this).find('title').text();
					var tlink = $(this).find('link').text();
					var tdesc = $(this).find('description').text()
					var tdate = $(this).find('pubDate').text()
									
		                	tmp += '<li>';
		               	 //Title
		                	tmp += '<h4>' + '<a href="' + tlink + '">' + ttitle + '</a>' + '</h4>';
		                	//Date
		                	tmp += '<div>' + $.format.date(tdate,"MM.dd") + '</div> ';
		                	//Text
		                	tmp += tdesc;
		                
		               	tmp += '</li>'	
		                
					icount += 1	
					
				}	 
			});
	        tmp += "</ul>";
		  if(tmp!='<ul></ul>'){ 
		  	$('#latest-news').html(tmp);	 
		  }
		}
	});    
    
	//Display tweets
	$.ajax({
	    type: "GET",
		url: "scripts/twitter.xml",
		dataType: "xml",
		success: function(xml) {
			var icount = 0;
			var tmp = "<ul>";
			$(xml).find('status').each(function(){
				if(icount<5){
					var tdate = $(this).find('created_at').first().text();
					var ttext = $(this).find('text').text()
					tmp += "<li><div>" + $.format.date(tdate,"dd.MMM") + "</div> " + ttext + "</li>";				 
					icount += 1
				}
			});
	        tmp += "</ul>"; 
		  if(tmp!='<ul></ul>'){ 
	        	$('#tweets').html(tmp);	 
		  }
		}
	});
	
	//Page specific
	
	//Cycle images
	$('#showcase-work').cycle({
		fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
	});
	
	//Form submit
	$('#submit').live('click', function () { 	
		//Get form data
		var name = $('#name');
		var email = $('#email');
		var subject = $('#subject');
		var message = $('#message');
		//var recaptcha = $('#recaptcha')

		//Validate		
		if (name.val()=='') {
			name.focus();
			name.addClass('highlight');
			return false;
		} else name.removeClass('highlight');
	
		if(email.val()==''){
			email.focus();
			email.addClass('highlight');		
			return false;
		} else email.removeClass('highlight');
		
		if(!isValidEmailAddress(email.val())){
			email.addClass('highlight');		
			return false;
		} else email.removeClass('highlight');		
	
		if (subject.val()=='') {
			subject.focus();
			subject.addClass('highlight');
			return false;
		} else subject.removeClass('highlight');		
	
		if (message.val()=='') {
			message.focus();
			message.addClass('highlight');
			return false;
		} else message.removeClass('highlight');
				
		//Submit form
		$('#form-load').show();
		$('#form-message').fadeOut('slow');
		$.ajax({
	        url: "email.asp",
	        //GET method is used
	        type: "POST",
	        //pass the data         
	        data: $('#form-message').serialize(),     
	        //Do not cache the page
	        cache: false,
	        //success
	        success: function (r) {
	        	$('#form-message').reset(); 
	        	$('#form-fail').hide();
	         	$('#form-load').hide();
	         	$('#form-sent').fadeIn('slow');
	         	$('#form-sent').delay(5000).fadeOut('slow'); 
	         	$('#form-message').delay(6000).fadeIn('slow');           
	        },
	        error: function (r) {
	        	$('#form-load').hide();
	        	$('#form-fail').html(r.responseText);
		        $('#form-fail').fadeIn('slow');
		        $('#form-message').fadeIn('slow'); 
	        }       
	    });
	    
	    //Cancel default submit action
        return false;
    });
    
	jQuery.fn.reset = function () {
		$(this).each (function() { this.reset(); });
	}	
});
