// JavaScript Document //harry //Inititialize function will initialize desktop $.extend($.expr[':'], { 'containsi': function (elem, i, match, array) { return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0; } }); $.fn.sort = function(c) { return this.pushStack([].sort.apply(this, arguments), []); }; var sortAscending = function(a, b) { return $(a).find("h1").text() > $(b).find("h1").text() ? 1 : -1; }; var sortDescending = function(a, b) { return $(a).find("h1").text() < $(b).find("h1").text() ? 1 : -1; }; var orbitDesktop = function(dom){ orbitDesktopAPI.apply(this); o = this; this.contentHolder = dom; this.themesettings = ""; this.theme = "4f8d3f493b67fcd05f086359"; this.transitionTime = 500; this.currenthtml = "desktop.html"; this.currentface = "home"; this.desktopData = {"home":"","settings":"","work":"","favorite":"","apps_manager":"","sections":"","journal_p":"","appstore":"","orbit":""}; this.tp = ""; this.sectionList; this.initialize = function(){ var theme = o.theme; var custom = false; $.getJSON("/desktop/get_desktop_settings",{"get":"desktop","desktopid":o.desktopId},function(desktopSettings){ if(desktopSettings){ if(desktopSettings.theme!="custom"){ theme = desktopSettings.theme; }else{ theme = "4f8d3f493b67fcd05f086359"; custom = true; } o.theme = theme; loadTheme(desktopSettings.customtheme,desktopSettings.wallpaper); }else{loadTheme();} }) var loadTheme = function(customtheme,customwallpaper){ //This function will load the theme from database $.getJSON("/"+o.themefolder+"/"+theme+"/settings/"+theme+".json",function(ts){ o.themesettings = eval(ts); $('head').append( $('').attr('href', "/"+o.themefolder+"/"+theme+"/css/"+ts.css)); if(custom){ $("head").find("#dyn_css").remove(); $("head").append(customtheme); } $(document).ready(function(){o.loadWallpaper(customwallpaper);o.bindDesktopEvents();o.loadIconCache();o.initializeDesktop();}); }) } } this.changeTheme = function(theme){ // this function is used for changing theme o.theme = theme; $.getJSON("/"+o.themefolder+"/"+theme+"/settings/"+theme+".json",function(ts){ o.themesettings = eval(ts); $('head').find("#dyn_css").remove(); $('head').append( $('').attr('href', "/"+o.themefolder+"/"+theme+"/css/"+ts.css)); o.loadWallpaper(); o.loadIconCache(); }) }; this.bindDesktopEvents = function(){ //this function will bind the global handlers to thd desktop, for example doc $("a#d_app_manager").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeAppSearch(target); }); } }); $("a#d_desktop").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeDesktop(target); }); } }); $("a#d_sections").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeSectionsManager(target); }); } }); $("#d_journal_p").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeJournalPapers(target); }); } }); $("a#d_settings").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeSettings(target); }); } }); $("a#d_appstore").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeAppstore(target); }); } }); $("a#d_orbit").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeOrbitTimeline(target); }); } }); $("a#d_books").click(function(){ var target = $(this).attr("href"); if(o.currenthtml!=target){ o.desktopData[o.currentface] = $(o.contentHolder).html(); $("#content").hide("drop",o.transitionTime,function(){ o.initializeBooks(target); }); } }); $(window).resize(function(){ var ww = $(window).width(); $("img#thmbackground").attr({"width":ww}); if( $('.tinycanvas') ){ $('.tinycanvas').tinyscrollbar_update(); } if($(o.contentHolder).find("div.app_frame").length > 0){ $(o.contentHolder).find("div.app_frame").each(function(){ var app_holder_height = $(this).height() - 72; var app_holder_width = $(this).width(); $(this).find("div.app_holder").height(app_holder_height); $(this).find("div.app_holder iframe").attr({"height":app_holder_height,"width":app_holder_width}); }) } }); var $widget_fn = $('.widget_fn'),$fn_des = $('.fn_des'); $widget_fn.hover(function(){ var fn_name = $(this).find('img').attr('alt'),nth = $(this).parents('.d_cate').index(),des_left = $('.dock_child').eq(nth).width(); $(this).addClass('thmc1'); $fn_des.text(fn_name).css({'top':nth * 60,'left': des_left + 60}).stop(true, true).fadeIn(); },function(){ $(this).removeClass('thmc1'); $fn_des.stop(true, true).fadeOut(); }); }; this.initializeDesktop = function(target){ //this is for initializing main desktops that are sections and tiles if(!target)target = "desktop"; o.currenthtml = target; o.currentface = "home"; var bindHandlers = function(){ // this function will bind all the handlers in the desktop var groupWrapperWidth = 0; $("div#desktop .group").each(function(){groupWrapperWidth+=$(this).outerWidth(true);}); var grps = new Array; $("div#desktop #group_wrapper").css("width",groupWrapperWidth); var first = true; $("div#desktop .g_col").sortable({ connectWith: ".g_col", tolerance: 'pointer' , revert: 300, containment: '#group_wrapper', helper: 'clone', stop:function(){ first = true; var grpwidth = 0; for(i in grps){ var grp = grps[i]; if(grp.find(".element").length == 0){ grp.animate({"width":"0px"},500,function(){$(this).remove();}); grpwidth+=225; } } grps = []; $("#group_wrapper").width($("#group_wrapper").width()-grpwidth); }, start:function(){ $("#group_wrapper").find("div.group").each(function(i,par){ var nextnumber = $(this).find("ul").length; $newcol = $('