// JavaScript Document
//Harry Bomrah
var orbitDesktopAPI = function(){
	o = this;
	this.notify = function(msg,type,time){
		var $notify = $("#orbitnote");
		var img, n_height;
		if(!type)type="";
		switch(type){
			case "alert":
			img = "note_alert.png";
			break;
			case "imp":
			img = "note_imp.png";
			break;
			case "success":
			img = "note_success.png";
			break;
			default:
			img = "note_alert.png";
			break;
		}
		$notify.find("img#note_img").attr("src",o.notifyImgPath+img);
		$notify.find(".note_message").text(msg);
		n_height = $notify.outerHeight();
		if(!time)time=5000; else time=time*1000;
		$notify
			.css({'top':-n_height, 'display':'block', 'opacity':0})
			.animate({top:0,opacity:1},200)
			.delay(time)
			.animate({top:-n_height,opacity:0},200);
	};
	this.executeFunc = function(func,callbackFn){
		func.call(this);
		if(callbackFn){
			callbackFn.call(this,func);
		}
	};
	this.sortJSON = function(field, reverse, primer){
	   var key = function (x) {return primer ? primer(x[field]) : x[field]};
	   return function (a,b) {
	       var A = key(a), B = key(b);
	       return ((A < B) ? -1 : (A > B) ? +1 : 0) * [-1,1][+!!reverse];                  
	   }
	};
	this.rgb2hex = function(rgb) {
	    rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
	    var hex = function(x) {
	        return ("0" + parseInt(x).toString(16)).slice(-2);
	    }
	    return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
	};
	this.changeWallpaper = function(wallpaper){
		$("img#thmbackground").attr("src",o.wallpaperPath+wallpaper);
		o.saveWallpaper(wallpaper);
	};
	this.confirm = function(settings,callbackfn){
		if(!settings.buttons)settings.buttons=["Ok","Cancel"];
		if(settings.highlighted!=1 && settings.highlighted!=2)settings.highlighted=2;
		if(!settings.message)settings.message = "Are you sure?"
		var $confirm = $("#orbitdiag");
		$confirm.find(".diag_action a").removeClass("thmc1 thmtxt").addClass("admbg admtxt");
		$confirm.find(".diag_message").text(settings.message);
		if(settings.highlighted == 1)
			$confirm.find("#diag_confirm").removeClass("admbg admtxt").addClass("thmc1 thmtxt");
		if(settings.highlighted == 2)
			$confirm.find("#diag_cancel").removeClass("admbg admtxt").addClass("thmc1 thmtxt");
		$confirm.find("#diag_confirm").text(settings.buttons[0]).one("click",function(){
			$confirm.stop(1,1).fadeOut();
			$confirm.find(".diag_action a").unbind();
			if(typeof callbackfn=="function")
				callbackfn.call(this,true);
		});
		$confirm.find("#diag_cancel").text(settings.buttons[1]).one("click",function(){
			$confirm.stop(1,1).fadeOut();
			$confirm.find(".diag_action a").unbind();
			if(typeof callbackfn=="function")
				callbackfn.call(this,false);
		});
		$confirm.stop(1,1).fadeIn();
	};
};
orbitDesktopAPI.prototype.notifyImgPath = "temp";
orbitDesktopAPI.prototype.wallpaperPath = "temp";
