// the events when the command gets exec
var ip;
$.getJSON("http://jsonip.appspot.com?callback=?",function(data){ip = data.ip;});

var typedString = "";
var openURL = "";
var command;
$('#commandEntry').keypress(function(e) {
  if (e.keyCode == '13') {
		$("#commandcontainer").append("<p>[jerrymannel.com]<b>"+$.cookie("pwd")+"</b>#: "+$("#commandEntry").val()+"</p>");
		command = $("#commandEntry").val();
		command = command.replace(/\s+/g, " ");
		command = command.replace(/^\s*/g, "");
		commandSplit = command.split(" ");
		commandSplit[0] = commandSplit[0].replace(/\s*/g, "");
		
		switch (commandSplit[0])
		{
			case ""			:	break;
			case "cd"		:	switch(commandSplit[1])
								{
									case ".."	: if($.cookie("pwd") != "/") {$.cookie("pwd", "/")}; break;
									default		:	switch(commandSplit[1])
													{
														case "blog"		:	$.cookie("pwd", "blog"); break;
														case "others"	:	$.cookie("pwd", "others"); break;
														case "photo"	:	$.cookie("pwd", "photo"); break;
														case "tech"		:	$.cookie("pwd", "tech"); break;
														case "twitter"	:	$.cookie("pwd", "twitter"); break;
														default			:	$("#commandResult").append("something is wrong </br>")
													}
								}; break;
			case "clear" 	:	$("#commandcontainer").remove(); $("#commandResult").append("<div id=\"commandcontainer\"></div>"); break;
			case "exit" 	:	location.href = "index.php";break;
			case "help"		:	$("#commandcontainer").append("list of supported commands are - </br>");
								$("#commandcontainer").append("cd, clear, exit, help, home, ls, open, pwd, whoami</br>");
								break;
			case "home"		:	$.cookie("pwd", "/");break;
			case "ls"		:	switch($.cookie("pwd"))
								{
									case "/" 		: $("#commandcontainer").append("<p>blog/&nbsp;&nbsp;&nbsp;&nbsp;others/&nbsp;&nbsp;&nbsp;&nbsp;photo/&nbsp;&nbsp;&nbsp;&nbsp;tech/</p>");break;
									case "blog"		:
									case "tech"		:
									case "photo"	:	$("#commandcontainer").append("<img class='loader' src='images/ajax-loader.gif'/>")
														$.ajax({
															type: "POST",
															async : false,
															url : "geek.php",
															data: ({command : $.cookie("pwd") }),
															success: function(data){
																	$("#commandcontainer").append( data );
																	$("#commandcontainer .loader").remove()
																	}
														});break;
									case "others"	:	$("#commandcontainer").append("<p><i> [ try 'open &lt;name&gt;' ]</i></p>");
														$("#commandcontainer").append("<p>twitter&nbsp;&nbsp;&nbsp;&nbsp;facebook&nbsp;&nbsp;&nbsp;&nbsp;flickr&nbsp;&nbsp;&nbsp;&nbsp;linkedin</p>");
														break;
								};break;
			case "open"		:	if(commandSplit.length==1) {$("#commandcontainer").append("<p>You just can't open everything you find!</p>");break;}
								switch(commandSplit[1])
								{
									case "twitter"	:
									case "facebook"	:
									case "flickr"	:
									case "linkedin"	:	$("#commandcontainer").append("<img class='loader' src='images/ajax-loader.gif'/>")
														$.ajax({
															type: "POST",
															async : false,
															url : "geek.php",
															data: ({command : commandSplit[1] }),
															success: function(data){
																	$("#commandcontainer").append( data );
																	$("#commandcontainer .loader").remove()
																	}
														});break;
									default			:	openURL = $.cookie("pwd")+commandSplit[1];
														location.href = $("#"+openURL).attr("href");
								};break;
			case "pwd"		:	$("#commandcontainer").append($.cookie("pwd")+"</br>"); break;
			case "whoami"	:	$("#commandcontainer").append("You are [<i>"+ip+"</i>], using [<i>"+BrowserDetect.browser+"</i>] browser version [<i>"+BrowserDetect.version+"</i>] running on [<i>"+BrowserDetect.OS+"</i>]<br>");break;
			default			:	$("#commandcontainer").append("'"+commandSplit[0]+"' is not a recognized command.<br> type 'help' for the list of available commands.</br>");
		}
		$("#commandEntry").val("");
	}
});

function setPathPromt()
{
	$("#path span").remove();
	$("#path").append("<span>"+$.cookie("pwd")+"</span>");
};

// whoami code
// (c) quirksmode.org
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
