main = {};

main.getHashValue = function() {
    var arr = window.location.hash.split("#");
    var hasValue = arr[1];
    if (typeof hasValue != "undefined") {
        var hashLen = hasValue.indexOf("?");
        if(hashLen>0){
            return hasValue.substring(0,hashLen);
        } else {
        	return hasValue;
        }
    } else {
    	return "";
    }
}

main.init = function() {
	main.hashChange(main.getHashValue());
}


main.hashChange = function (newHash) {
	if (newHash == "") newHash = "home";
	var a = newHash.split("/");
	var section = a[0];

	$.getJSON("?"+newHash, function(data) {
		for (var i in data) {
			if (i == 'menu') {
				$('#menu').html(data[i]);
			}
		}
		
		for (var i in data.update) {
			if (i == newHash) {
				 $('#content').html("<div id='"+section+"'>"+data.update[i]+"</div>");
				 return;
			}
		}
		for (var i in data.update) {
			var a = i.split("/");
			if (a[0] == section) {
				 $('#content').html("<div id='"+section+"'>"+data.update[i]+"</div>");
				 return;
			}
		}
		
		/*
	  $('.result').html('<p>' + data.foo + '</p>'
	    + '<p>' + data.baz[1] + '</p>');
	    */
	});
	
	/*
	var section = a.shift();
	$('#menu').load('?menu/'+section);
	$('#content').html(newHash);
	*/
}

var onHashChange = function(event) {
    
    //get hash function
    var getHashValue = function() {

        var arr = window.location.hash.split("#");

        var hasValue = arr[1];

        //sets default
        if (typeof hasValue == "undefined") {
            return false;
        }

        var hashLen = hasValue.indexOf("?");
        if(hashLen>0){
            hasValue = hasValue.substring(0,hashLen);
        }
        return hasValue;

    }
    
    //last hash
    var lastHash = getHashValue();

    //checker
    (function watchHash() {
        var hash = getHashValue();

        if (hash !== lastHash) {
            event(hash);
            lastHash = hash;
        }

        var t = setTimeout(watchHash, 100);

    })();

} 

onHashChange(function(newHash) {
    main.hashChange(newHash);
});

$(document).ready(function() {
	main.init();
});
