diff --git a/app/assets/javascripts/orbitdesktop.js b/app/assets/javascripts/orbitdesktop.js
index 7f82c625..f6ac193c 100755
--- a/app/assets/javascripts/orbitdesktop.js
+++ b/app/assets/javascripts/orbitdesktop.js
@@ -1,1405 +1,1406 @@
// 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;
- }
+ '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), []);
- };
+ return this.pushStack([].sort.apply(this, arguments), []);
+};
var sortAscending = function(a, b) {
- return $(a).find("h1").text() > $(b).find("h1").text() ? 1 : -1;
+ 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;
+ 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 = {};
- this.tp = "";
- this.sectionList;
- this.data_method;
- 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.contentHolder).empty().load("desktop",function(){
- o.desktopData["d_desktop"] = "";
- o.initializeDesktop("d_desktop","",false);
- })
- });
- })
- }
- }
- 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
- $(".docklist a").click(function(){
- var target = $(this).attr("id");
- var url = $(this).attr("href");
- o.data_method = $(this).attr("data-method");
- if(o.currenthtml!=target){
- if(o.desktopData[o.currentface] == "undefined")
- o.desktopData[o.currentface] = "";
- o.desktopData[o.currentface] = $(o.contentHolder).html();
- $("#content").hide("drop",o.transitionTime,function(){
- o.currenthtml = target;
- o.currentface = target;
- var cache = false;
- if(!o.desktopData[o.currentface]){
- $(o.contentHolder).empty().load(url,function(){
- if(typeof o.data_method != "undefined"){
- if(o.data_method != "")
- window.o[o.data_method](target,url,cache);
- }
- });
- }else{
- $(o.contentHolder).html(o.desktopData[o.currentface]);
- cache = true;
- if(typeof o.data_method != "undefined"){
- if(o.data_method != "")
- window.o[o.data_method](target,url,cache);
- }
- }
- });
- }
- return false;
- })
- $('body').on({
- click: function(){
- if(!$(this).hasClass('active')){
- var sub_data_method = $(this).attr('data-method');
- if(sub_data_method){
- $("#panel_r").load($(this).attr("href"),function(){
- // o.simple_drop_down();
+ 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 = {};
+ this.tp = "";
+ this.sectionList;
+ this.data_method;
+ this.initialize = function(){
- // o.tinyscrollbar_ext({
- // main: '.tinycanvas',
- // fill: '.s_grid_con'
- // })
- if(typeof o.data_method != "undefined"){
- if(o.data_method != ""){
- if(typeof sub_data_method != "undefined"){
- if(sub_data_method != ""){
- window.o[o.data_method][sub_data_method]();
- }
- }
- }
- }
- })
- }
- $('.s_menu a').removeClass('thmc1 thmtxt active');
- $(this).addClass('thmc1 thmtxt active');
- }
- return false;
- },
- mouseenter: function(){
- if(!$(this).hasClass('active')){
- $(this).switchClass('admtxt','thmc1 thmtxt',0);
- }
- },
- mouseleave: function(){
- var t = $(this).hasClass('active') ? '' : 'thmc1 thmtxt';
- $(this).switchClass(t,'admtxt',0);
- }
- },'.s_menu a');
- $(window).resize(function(){
- var ww = $(window).width();
- $("img#thmbackground").attr({"width":ww});
- if( $('.tinycanvas').length > 0 ){ $('.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,url,cache){ //this is for initializing main desktops that are sections and tiles
- if(!target)target = "desktop";
- 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 = $('
');
- $(this).append($newcol);
- $newcol.sortable({connectWith: '.g_col'});
- grps.push($newcol);
- $("#group_wrapper").width($("#group_wrapper").width()+225);
- });
- $("div#desktop .g_col").sortable('refresh');
- },
- update:function(){
- if(first){
- first = false;
- var newpostitions = new Array;
- var groupids = new Array;
- $.each($("div#desktop .group"),function(i,grp){
- var groupone = new Array;
- groupids.push($(grp).attr("id"));
- $ul = $(grp).find(".g_col .element");
- $.each($ul,function(){
- groupone.push($(this).attr("id"));
- })
- newpostitions.push(groupone);
- });
- $.post("/desktop/newpositions",{"sectionid":o.sectionId,"newpos":newpostitions,"groupids":groupids});
- }
- var s = $(this).find('.element').length;
- if(s!=0){
- last = $(this).find('.element').eq(s-1).position(),
- lasth = $(this).find('.element').eq(s-1).outerHeight(true);
- if ((last.top+lasth)>528){
- $(this).sortable('cancel');
- }
- }
- $("#group_wrapper ul").each(function(){
- if($(this).find('.element').length == 0)
- $(this).animate({"width":"0px"},500,function(){$(this).remove();});
- })
- },
- receive: function(event, ui){
- var s = $(this).find('.element').length,
- last = $(this).find('.element').eq(s-1).position(),
- lasth = $(this).find('.element').eq(s-1).outerHeight(true);
- if ((last.top+lasth)>528){
- $(ui.sender).sortable('cancel');
- }
- }
- });
+ var theme = o.theme;
+ var custom = false;
- o.tinyscrollbar_ext({
- main: '.tinycanvas'
- })
+ $.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.simple_drop_down();
- $("div#group_wrapper ul li[data-category=app]").click(function(){
- o.appWindow({
- title : $(this).find("a").attr("href"),
- appid : $(this).find("a").attr("href")
- });
- });
- }
- var loadTiles = function(id){ //This will load tiles for a specific desktop .. id of section has to be passed here to load tiles
- $("div#desktop div#group_wrapper").empty();
- $.getJSON("/desktop/getgroups",{sectionid:id},function(groups){
- var tilecolors = o.themesettings.tilecolor;
- var opacity = ["op05","op06","op07","op08","op09"];
- $.each(groups,function(i,group){
- group.sort(o.sortJSON("position",true,parseInt));
- // var $group = $(''),
- var colindex = 0,
- $group = $('
'),
- $col = $(''),
- $li,
- bdsum = 0,
- bwsum = 0,
- bhsum = 0,
- small = 0,
- single = false;
- $group.append($col);
- for(j=0;j 8 || bhsum > 6){
- bdsum = 0, bhsum = 0, colindex++,j--;
- $group.append('');
- }else{
- var tilecolor = tilecolors[Math.floor(Math.random()*tilecolors.length)];
- var op = opacity[Math.floor(Math.random()*opacity.length)];
- if(j==0)$group.attr("id",tile.group_id);
-
- if(tile.data_category == "app")
- $li = $(''+tile.title+' ');
- else
- $li = $(''+tile.title+' Loading...
');
-
- $group.find('.col'+colindex).append($li);
- }
- }
- $("div#desktop div#group_wrapper").append($group);
- })
- bindHandlers();
- o.initializeWidgets();
- })
- }
- var loadSectionList = function(){ //This will load the section list from the db
- $.getJSON("/desktop/getsectionlist",{desktopid:o.desktopId},function(sectionlist){
- o.sectionList = eval(sectionlist);
- $.each(sectionlist,function(i,section){
- var tempstyle="";
- if(i==0){
- tempstyle = "style='display:none;'";
- $("#desktop #section_heading").text(section.name);
- }
- $("div#desktop ul#section_list").append($(''+section.name+' '));
- })
- bindSecondaryHandlers();
- })
- }
- var bindSecondaryHandlers = function(){ //This is the secondary bind handler function which is used to bind events which are repeatative
- $("div#desktop ul#section_list li.section_name").click(function(){
- $("div#desktop li.section_name").show();
- $(this).hide();
- $("#desktop #section_heading").text($(this).text());
- o.sectionId = $(this).find("a").attr("href");
- loadTiles(o.sectionId);
- })
- }
- if(cache){
- bindHandlers();
- o.initializeWidgets();
- bindSecondaryHandlers();
- $("div#desktop ul#section_list").empty();
- $.each(o.sectionList,function(i,section){
- var tempstyle="";
- if(section._id==o.sectionId){
- tempstyle = "style='display:none;'";
- $("div#desktop span#section_heading").text(section.name);
- }
- $("div#desktop ul#section_list").append($(''+section.name+' '));
- })
- bindSecondaryHandlers();
- }else{
- loadTiles(o.sectionId);
- loadSectionList();
- }
- };
-
- this.tempFunc = function(th){
- $.post("desktop/twitter",function(){});
- };
-
- this.initializeAppSearch = function(target,url,cache){ //this is application search ie is app manager initialization
-
- var searchArray,allApps;
- var bindHandlers = function(){ // bind handler for app manager page
- var gn = $('.g_col').length,
- gw = $('.g_col').outerWidth(true);
- $("#app_manager #group_wrapper").css("width",gn*gw);
- // $("div#app_manager .group_search").css("width",$(window).width()-200);
- //for textbox search
- $("#app_manager #searchbox").focus(function(){$(this).val("");}).keyup(function(e){
- if($(this).val()){
- $("div#app_manager .search_result").empty();
- $("div#app_manager #seperator").hide();
- searchArray = $("div#app_manager .element:containsi("+$(this).val()+")");
- if(searchArray.length>0){
- $("div#app_manager #seperator").show();
- searchArray.each(function(){
- var $newelement = $(''+$(this).html()+'
');
- $("div#app_manager .search_result").prepend($newelement);
- })
- }
- }else{$("div#app_manager #seperator").hide();$("div#app_manager .search_result").empty();}
- }).blur(function(){$(this).val("Search");});
-
- //for Alphabet sorting
- $("div#app_manager a#alphabet_sort_btn").click(function(){
- switch ($(this).attr("href")){
- case "ascending":
- $(this).attr("href","descending").find(".thmtxt").text("Alphabet [Z-A]");
- allApps = $("div#app_manager .group_search .element").sort(sortAscending);
- break;
- case "descending":
- $(this).attr("href","ascending").find(".thmtxt").text("Alphabet [A-Z]");
- allApps = $("div#app_manager .group_search .element").sort(sortDescending);
- break;
- }
- $("div#app_manager #app_list").empty();
- var count = 0, colindex = 0;
- $('#app_list').append('
');
- $.each(allApps,function(i,app){
- count++;
- if( count > 4 ){
- count = 1, colindex+=1;
- $('#app_list').append('
');
- $('.g_col.col'+ colindex).append(app);
- } else {
- $('.g_col.col'+ colindex).append(app);
- }
- })
- return false;
- })
- o.tinyscrollbar_ext({
- main: '.tinycanvas'
- })
- }
- var loadApps = function(){ //this load apps for sorting and searching
- $.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
- var count = 0, colindex = 0;
- $('#app_list').append('
');
- $.each(appss,function(i,apps){
- $.each(apps,function(i,app){
- var $app;
- count++;
- $app = $(''+app.title+' ');
- if( count > 4 ){
- count = 1, colindex+=1;
- $('#app_list').append('
');
- $('.g_col.col'+ colindex).append($app);
- } else {
- $('.g_col.col'+ colindex).append($app);
- }
- })
- })
-
- bindHandlers();
- })
- }
- if(cache)
- bindHandlers();
- else
- loadApps();
- };
- this.initializeSectionsManager = function(target,url,cache){ // this is init function for section manager
-
- var elementParent,element,slabel;
- var bindHandlers = function(){ // this is bind handler for section manager page
- var groupWrapperWidth = 0;
- $("div#sections .group").width(400);
- $("div#sections .group").each(function(){groupWrapperWidth+=$(this).width();})
- groupWrapperWidth+=200;
- groupWrapperHeight = $(".group").height() + 20;
- $("#group_wrapper").width(groupWrapperWidth);
- $("div#sections #group_wrapper .grp").sortable({
- start:function(){
- slabel = $(this).siblings('.section_label');
- slabel.find('li:hidden').stop(1,1).fadeIn(500);
- },
- stop:function(){
- slabel.find('li:not(:nth-child(1))').stop(1,1).fadeOut(500);
- }
- });
- $("div#sections .section_label li:not(:nth-child(1))").droppable({
- drop:function(event, ui){
- elementParent = ui.draggable.parents('.group');
- var $item = $( this ),
- $list = $( '#'+$item.data("category") );
+ $(o.contentHolder).empty().load("desktop",function(){
+ o.desktopData["d_desktop"] = "";
+ o.initializeDesktop("d_desktop","",false);
+ })
+ });
+ })
+ }
+ }
+ 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
+ $(".docklist a").click(function(){
+ var target = $(this).attr("id");
+ var url = $(this).attr("href");
+ o.data_method = $(this).attr("data-method");
+ if(o.currenthtml!=target){
+ if(o.desktopData[o.currentface] == "undefined")
+ o.desktopData[o.currentface] = "";
+ o.desktopData[o.currentface] = $(o.contentHolder).html();
+ $("#content").hide("drop",o.transitionTime,function(){
+ o.currenthtml = target;
+ o.currentface = target;
+ var cache = false;
+ if(!o.desktopData[o.currentface]){
+ $(o.contentHolder).empty().load(url,function(){
+ if(typeof o.data_method != "undefined"){
+ if(o.data_method != "")
+ window.o[o.data_method](target,url,cache);
+ }
+ });
+ }else{
+ $(o.contentHolder).html(o.desktopData[o.currentface]);
+ cache = true;
+ if(typeof o.data_method != "undefined"){
+ if(o.data_method != "")
+ window.o[o.data_method](target,url,cache);
+ }
+ }
+ });
+ }
+ return false;
+ })
+ $('body').on({
+ click: function(){
+ if(!$(this).hasClass('active')){
+ var sub_data_method = $(this).attr('data-method');
+ if(sub_data_method){
+ $("#panel_r").load($(this).attr("href"),function(){
+ // o.simple_drop_down();
- if($list.children('.element').length>=24){
- o.notify("Section is full.","alert");
- }
- else{
- ui.draggable.hide('fast',function(){
- $(this).appendTo($list).fadeIn();
- });
- $.post("/desktop/save_desktop_settings",{"save":"appnewsection","appid":ui.draggable.attr("id"),"newsectionid":$(this).data("content"),"desktopid":o.desktopId});
- if(o.sectionId == $(this).data("content") || o.sectionId == elementParent.attr("id")){
- o.desktopData["home"]="";
- }
- }
- $(this).find('span.tile').addClass('op06',400);
- },
- over:function(){
- $(this).find('span.tile').removeClass('op06');
- },
- out:function(){
- $(this).find('span.tile').addClass('op06');
- },
- accept: '.to_drop'
- });
- o.tinyscrollbar_ext({
- main: '.tinycanvas'
- })
+ // o.tinyscrollbar_ext({
+ // main: '.tinycanvas',
+ // fill: '.s_grid_con'
+ // })
+ if(typeof o.data_method != "undefined"){
+ if(o.data_method != ""){
+ if(typeof sub_data_method != "undefined"){
+ if(sub_data_method != ""){
+ window.o[o.data_method][sub_data_method]();
+ }
+ }
+ }
+ }
+ })
+ }
+ $('.s_menu a').removeClass('thmc1 thmtxt active');
+ $(this).addClass('thmc1 thmtxt active');
+ }
+ return false;
+ },
+ mouseenter: function(){
+ if(!$(this).hasClass('active')){
+ $(this).switchClass('admtxt','thmc1 thmtxt',0);
+ }
+ },
+ mouseleave: function(){
+ var t = $(this).hasClass('active') ? '' : 'thmc1 thmtxt';
+ $(this).switchClass(t,'admtxt',0);
+ }
+ },'.s_menu a');
+ $(window).resize(function(){
+ var ww = $(window).width();
+ $("img#thmbackground").attr({"width":ww});
+ if( $('.tinycanvas').length > 0 ){ $('.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,url,cache){ //this is for initializing main desktops that are sections and tiles
+ if(!target)target = "desktop";
+ 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 = $('');
+ $(this).append($newcol);
+ $newcol.sortable({connectWith: '.g_col'});
+ grps.push($newcol);
+ $("#group_wrapper").width($("#group_wrapper").width()+225);
+ });
+ $("div#desktop .g_col").sortable('refresh');
+ },
+ update:function(){
+ if(first){
+ first = false;
+ var newpostitions = new Array;
+ var groupids = new Array;
+ $.each($("div#desktop .group"),function(i,grp){
+ var groupone = new Array;
+ groupids.push($(grp).attr("id"));
+ $ul = $(grp).find(".g_col .element");
+ $.each($ul,function(){
+ groupone.push($(this).attr("id"));
+ })
+ newpostitions.push(groupone);
+ });
+ $.post("/desktop/newpositions",{"sectionid":o.sectionId,"newpos":newpostitions,"groupids":groupids});
+ }
+ var s = $(this).find('.element').length;
+ if(s!=0){
+ last = $(this).find('.element').eq(s-1).position(),
+ lasth = $(this).find('.element').eq(s-1).outerHeight(true);
+ if ((last.top+lasth)>528){
+ $(this).sortable('cancel');
+ }
+ }
+ $("#group_wrapper ul").each(function(){
+ if($(this).find('.element').length == 0)
+ $(this).animate({"width":"0px"},500,function(){$(this).remove();});
+ })
+ },
+ receive: function(event, ui){
+ var s = $(this).find('.element').length,
+ last = $(this).find('.element').eq(s-1).position(),
+ lasth = $(this).find('.element').eq(s-1).outerHeight(true);
+ if ((last.top+lasth)>528){
+ $(ui.sender).sortable('cancel');
+ }
+ }
+ });
+
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas'
+ })
+
+ o.simple_drop_down();
+ $("div#group_wrapper ul li[data-category=app]").click(function(){
+ o.appWindow({
+ title : $(this).find("a").attr("href"),
+ appid : $(this).find("a").attr("href")
+ });
+ });
+ }
+ var loadTiles = function(id){ //This will load tiles for a specific desktop .. id of section has to be passed here to load tiles
+ $("div#desktop div#group_wrapper").empty();
+ $.getJSON("/desktop/getgroups",{sectionid:id},function(groups){
+ var tilecolors = o.themesettings.tilecolor;
+ var opacity = ["op05","op06","op07","op08","op09"];
+ $.each(groups,function(i,group){
+ group.sort(o.sortJSON("position",true,parseInt));
+ // var $group = $(''),
+ var colindex = 0,
+ $group = $('
'),
+ $col = $(''),
+ $li,
+ bdsum = 0,
+ bwsum = 0,
+ bhsum = 0,
+ small = 0,
+ single = false;
+ $group.append($col);
+ for(j=0;j 8 || bhsum > 6){
+ bdsum = 0, bhsum = 0, colindex++,j--;
+ $group.append('');
+ }else{
+ var tilecolor = tilecolors[Math.floor(Math.random()*tilecolors.length)];
+ var op = opacity[Math.floor(Math.random()*opacity.length)];
+ if(j==0)$group.attr("id",tile.group_id);
+
+ if(tile.data_category == "app")
+ $li = $(''+tile.title+' ');
+ else
+ $li = $(''+tile.title+' Loading...
');
+
+ $group.find('.col'+colindex).append($li);
+ }
+ }
+ $("div#desktop div#group_wrapper").append($group);
+ })
+ bindHandlers();
+ o.initializeWidgets();
+ })
+ }
+ var loadSectionList = function(){ //This will load the section list from the db
+ $.getJSON("/desktop/getsectionlist",{desktopid:o.desktopId},function(sectionlist){
+ o.sectionList = eval(sectionlist);
+ $.each(sectionlist,function(i,section){
+ var tempstyle="";
+ if(i==0){
+ tempstyle = "style='display:none;'";
+ $("#desktop #section_heading").text(section.name);
+ }
+ $("div#desktop ul#section_list").append($(''+section.name+' '));
+ })
+ bindSecondaryHandlers();
+ })
+ }
+ var bindSecondaryHandlers = function(){ //This is the secondary bind handler function which is used to bind events which are repeatative
+ $("div#desktop ul#section_list li.section_name").click(function(){
+ $("div#desktop li.section_name").show();
+ $(this).hide();
+ $("#desktop #section_heading").text($(this).text());
+ o.sectionId = $(this).find("a").attr("href");
+ loadTiles(o.sectionId);
+ })
+ }
+ if(cache){
+ bindHandlers();
+ o.initializeWidgets();
+ bindSecondaryHandlers();
+ $("div#desktop ul#section_list").empty();
+ $.each(o.sectionList,function(i,section){
+ var tempstyle="";
+ if(section._id==o.sectionId){
+ tempstyle = "style='display:none;'";
+ $("div#desktop span#section_heading").text(section.name);
+ }
+ $("div#desktop ul#section_list").append($(''+section.name+' '));
+ })
+ bindSecondaryHandlers();
+ }else{
+ loadTiles(o.sectionId);
+ loadSectionList();
+ }
+ };
+
+ this.tempFunc = function(th){
+ $.post("desktop/twitter",function(){});
+ };
+
+ this.initializeAppSearch = function(target,url,cache){ //this is application search ie is app manager initialization
+
+ var searchArray,allApps;
+ var bindHandlers = function(){ // bind handler for app manager page
+ var gn = $('.g_col').length,
+ gw = $('.g_col').outerWidth(true);
+ $("#app_manager #group_wrapper").css("width",gn*gw);
+ // $("div#app_manager .group_search").css("width",$(window).width()-200);
+ //for textbox search
+ $("#app_manager #searchbox").focus(function(){$(this).val("");}).keyup(function(e){
+ if($(this).val()){
+ $("div#app_manager .search_result").empty();
+ $("div#app_manager #seperator").hide();
+ searchArray = $("div#app_manager .element:containsi("+$(this).val()+")");
+ if(searchArray.length>0){
+ $("div#app_manager #seperator").show();
+ searchArray.each(function(){
+ var $newelement = $(''+$(this).html()+'
');
+ $("div#app_manager .search_result").prepend($newelement);
+ })
+ }
+ }else{$("div#app_manager #seperator").hide();$("div#app_manager .search_result").empty();}
+ }).blur(function(){$(this).val("Search");});
+
+ //for Alphabet sorting
+ $("div#app_manager a#alphabet_sort_btn").click(function(){
+ switch ($(this).attr("href")){
+ case "ascending":
+ $(this).attr("href","descending").find(".thmtxt").text("Alphabet [Z-A]");
+ allApps = $("div#app_manager .group_search .element").sort(sortAscending);
+ break;
+ case "descending":
+ $(this).attr("href","ascending").find(".thmtxt").text("Alphabet [A-Z]");
+ allApps = $("div#app_manager .group_search .element").sort(sortDescending);
+ break;
+ }
+ $("div#app_manager #app_list").empty();
+ var count = 0, colindex = 0;
+ $('#app_list').append('
');
+ $.each(allApps,function(i,app){
+ count++;
+ if( count > 4 ){
+ count = 1, colindex+=1;
+ $('#app_list').append('
');
+ $('.g_col.col'+ colindex).append(app);
+ } else {
+ $('.g_col.col'+ colindex).append(app);
+ }
+ })
+ return false;
+ })
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas'
+ })
+ }
+ var loadApps = function(){ //this load apps for sorting and searching
+ $.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
+ var count = 0, colindex = 0;
+ $('#app_list').append('
');
+ $.each(appss,function(i,apps){
+ $.each(apps,function(i,app){
+ var $app;
+ count++;
+ $app = $(''+app.title+' ');
+ if( count > 4 ){
+ count = 1, colindex+=1;
+ $('#app_list').append('
');
+ $('.g_col.col'+ colindex).append($app);
+ } else {
+ $('.g_col.col'+ colindex).append($app);
+ }
+ })
+ })
+
+ bindHandlers();
+ })
+ }
+ if(cache)
+ bindHandlers();
+ else
+ loadApps();
+ };
+ this.initializeSectionsManager = function(target,url,cache){ // this is init function for section manager
+
+ var elementParent,element,slabel;
+ var bindHandlers = function(){ // this is bind handler for section manager page
+ var groupWrapperWidth = 0;
+ $("div#sections .group").width(400);
+ $("div#sections .group").each(function(){groupWrapperWidth+=$(this).width();})
+ groupWrapperWidth+=200;
+ groupWrapperHeight = $(".group").height() + 20;
+ $("#group_wrapper").width(groupWrapperWidth);
+ $("div#sections #group_wrapper .grp").sortable({
+ start:function(){
+ slabel = $(this).siblings('.section_label');
+ slabel.find('li:hidden').stop(1,1).fadeIn(500);
+ },
+ stop:function(){
+ slabel.find('li:not(:nth-child(1))').stop(1,1).fadeOut(500);
+ }
+ });
+ $("div#sections .section_label li:not(:nth-child(1))").droppable({
+ drop:function(event, ui){
+ elementParent = ui.draggable.parents('.group');
+ var $item = $( this ),
+ $list = $( '#'+$item.data("category") );
+
+ if($list.children('.element').length>=24){
+ o.notify("Section is full.","alert");
+ }
+ else{
+ ui.draggable.hide('fast',function(){
+ $(this).appendTo($list).fadeIn();
+ });
+ $.post("/desktop/save_desktop_settings",{"save":"appnewsection","appid":ui.draggable.attr("id"),"newsectionid":$(this).data("content"),"desktopid":o.desktopId});
+ if(o.sectionId == $(this).data("content") || o.sectionId == elementParent.attr("id")){
+ o.desktopData["home"]="";
+ }
+ }
+ $(this).find('span.tile').addClass('op06',400);
+ },
+ over:function(){
+ $(this).find('span.tile').removeClass('op06');
+ },
+ out:function(){
+ $(this).find('span.tile').addClass('op06');
+ },
+ accept: '.to_drop'
+ });
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas'
+ })
- };
- var loadApps = function(){ // this loads apps from db to in each sections
- $.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
- var $group,$lii,$li;
- var z=0;
- for(section in o.sectionList){
- $group = $('');
- for(x=0;x<4;x++){
- if(x==0){
- $li = $(''+o.sectionList[z].name+' ');
- $group.find("ul.section_grp").append($li);
- }
- if(z!=x){
- $lii = $(''+o.sectionList[x].name+' ');
- $group.find("ul.section_grp").append($lii);
- }
- }
- z++;
- $("div#group_wrapper").append($group);
- }
- var yy=1,y=0;
- $.each(appss,function(i,apps){
+ };
+ var loadApps = function(){ // this loads apps from db to in each sections
+ $.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
+ var $group,$lii,$li;
+ var z=0;
+ for(section in o.sectionList){
+ $group = $('');
+ for(x=0;x<4;x++){
+ if(x==0){
+ $li = $(''+o.sectionList[z].name+' ');
+ $group.find("ul.section_grp").append($li);
+ }
+ if(z!=x){
+ $lii = $(''+o.sectionList[x].name+' ');
+ $group.find("ul.section_grp").append($lii);
+ }
+ }
+ z++;
+ $("div#group_wrapper").append($group);
+ }
+ var yy=1,y=0;
+ $.each(appss,function(i,apps){
- $.each(apps,function(i,app){
- $li = $(''+app.title+' ');
- $("ul#section"+yy).append($li);
- })
- if(y==1){
- y=-1;
- yy++;
- }
- y++;
- })
- bindHandlers();
- })
- }
- if(cache)
- bindHandlers();
- else
- loadApps();
-
- };
- this.initializeSettings = function(target,url,cache){ //this is to initialize setting page
-
- this.initializeSettings.sections = function(){ // this load section page in setting page
- var bindHandlers = function(){ // binding handlers in section page
- $('.tinycanvas').each(function(){
- var h = $(this).parent().height(),
- sh = $(this).siblings('.s_tab').height();
- o.tinyscrollbar_ext({
- main : $(this),
- height : h-sh-24,
- },{
- axis : "y"
- })
- });
-
- $("a#name_save_btn").click(function(){
- var desktopnm = new Array;
- $("#desktop_names input").each(function(){
- desktopnm.push($(this).val());
- })
- $.post("/desktop/save_desktop_settings",{"save":"desktopnames","desktopid":o.desktopId,"desktopnms":desktopnm},function(result,status){
- if(result[0].success=="true"){
- o.notify("Names Saved!!","success",2);
- }else
- o.notify("Name saving failed!!","imp",2);
- })
- $.each(o.sectionList,function(i,sec){
- sec.name = desktopnm[i];
- })
- })
- }
-
- $.getJSON("/desktop/get_desktop_settings",{"get":"sectionnames","desktopid":o.desktopId},function(sectionnames){
- $("#desktop_names input").each(function(i){
- $(this).val(sectionnames[i]);
- })
- bindHandlers();
- })
-
-
- }
- this.initializeSettings.themes = function(){ // this opens themes page in setting page
- var bindHandlers = function(){ // binding handlers in themes page
- // live change theme
- $(".theme_list > .ssl_item").click(function(){
- o.changeTheme($(this).attr("id"));
- // $(".theme_list > li").removeClass('thmc1').data('clicked',null).find('.theme_name').removeClass('thmtxt');
- // $(this).addClass('thmc1').data('clicked',true).find('.theme_name').addClass('thmtxt');
- $.post("/desktop/save_desktop_settings",{"save":"theme","desktopid":o.desktopId,"theme":$(this).attr("id")},function(result,status){
- if(result[0].success=="true"){
- o.notify("Theme Saved!!","success",2);
- loadthmc();
- } else {
- o.notify("Theme saving failed!!","imp",2);
- }
- });
- });
+ $.each(apps,function(i,app){
+ $li = $(''+app.title+' ');
+ $("ul#section"+yy).append($li);
+ })
+ if(y==1){
+ y=-1;
+ yy++;
+ }
+ y++;
+ })
+ bindHandlers();
+ })
+ }
+ if(cache)
+ bindHandlers();
+ else
+ loadApps();
- $('.tinycanvas').each(function(){
- var h = $(this).parent().height(),
- sh = $(this).siblings('.s_tab').height();
+ };
+ this.initializeSettings = function(target,url,cache){ //this is to initialize setting page
- o.tinyscrollbar_ext({
- main: $(this),
- height: h-sh-24
- },{
- axis: 'y'
- })
- });
+ this.initializeSettings.sections = function(){ // this load section page in setting page
+ var bindHandlers = function(){ // binding handlers in section page
+ $('.tinycanvas').each(function(){
+ var h = $(this).parent().height(),
+ sh = $(this).siblings('.s_tab').height();
+ o.tinyscrollbar_ext({
+ main : $(this),
+ height : h-sh-24,
+ },{
+ axis : "y"
+ })
+ });
- o.single_select();
- o.simple_tab();
-
- $('.color-picker').miniColors({
- change:function(hex){
- var changewhat = $(this).attr("for");
- var previewarea = $("#theme_preview_area");
- switch(changewhat){
- case "thmtxt":
- case "thmtxth":
- previewarea.find("."+changewhat).css({"color":hex});
- break;
- case "g_sep":
- previewarea.find("."+changewhat).css({"border-color":hex});
- break;
- case "background":
- previewarea.css({"background-color":hex});
- break;
- default:
- previewarea.find("."+changewhat).css({"background-color":hex});
- break;
- }
- }
- });
-
- $("a#theme_submit").click(function(){
- o.confirm({
- message : "Are you sure that you want to save custom theme?",
- highlighted : 1,
- buttons : ["Yes","No"]
- },function(reply){
- if(reply){
- var colors = new Array;
- $("#color_input input").each(function(){
- colors[$(this).attr("for")] = $(this).val();
- })
- var dhtml ="";
- $("head").find("#dyn_css").remove();
- $("head").append(dhtml);
- $.post("/desktop/save_desktop_settings",{"save":"customtheme","desktopid":o.desktopId,"theme":dhtml},function(result,status){
- if(result[0].success=="true")
- o.notify("Custom theme saved!!","success",2);
- else
- o.notify("Custom theme saving failed!!","imp",2);
- })
- }
- })
- });
-
- $(".stock_wallpaper .ssl_item").click(function(){
- var wallpapername = $(this).find("img").attr("alt");
- o.changeWallpaper(wallpapername);
- })
- }
- var loadthmc = function(){ // a general function to load the themecolor in color selector
- $('.color-picker').each(function(){
- var cc = $(this).attr('for'), hex, color;
- switch(cc){
- case 'thmtxt':
- case 'thmtxth':
- hex = 'color';
- break;
- case 'g_sep':
- hex = 'border-left-color';
- break;
- default:
- hex = 'background-color';
- break;
- }
- if(cc=="background")
- color = $("#theme_preview_area").css("background-color");
- else
- color = $('#theme_preview_area .'+cc).css(hex);
- $(this).miniColors("value", o.rgb2hex(color));
- });
- }
-
-
- $.getJSON("/desktop/get_desktop_settings",{"get":"theme","desktopid":o.desktopId},function(theme){
- $('#st1 .theme_list [id='+theme+']')
- .addClass("thmc1 active", 300)
- .find("span")
- .addClass("thmtxt");
+ $("a#name_save_btn").click(function(){
+ var desktopnm = new Array;
+ $("#desktop_names input").each(function(){
+ desktopnm.push($(this).val());
+ })
+ $.post("/desktop/save_desktop_settings",{"save":"desktopnames","desktopid":o.desktopId,"desktopnms":desktopnm},function(result,status){
+ if(result[0].success=="true"){
+ o.notify("Names Saved!!","success",2);
+ }else
+ o.notify("Name saving failed!!","imp",2);
+ })
+ $.each(o.sectionList,function(i,sec){
+ sec.name = desktopnm[i];
+ })
+ })
+ }
- bindHandlers();
- loadthmc();
- })
-
- }
-
- this.initializeSettings.connection = function(){
+ $.getJSON("/desktop/get_desktop_settings",{"get":"sectionnames","desktopid":o.desktopId},function(sectionnames){
+ $("#desktop_names input").each(function(i){
+ $(this).val(sectionnames[i]);
+ })
+ bindHandlers();
+ })
- var bindHandlers = function(){
- $("#connection_setting ul a").click(function(){
- var what = $(this).attr("for"),
- type = $(this).attr("href"),
- $ul = $("#"+type+"_connection"),
- usernm = $ul.find("input[type=text]").val(),
- pwd = $ul.find("input[type=password]").val();
- switch(what){
- case "save":
- case "new":
- if(usernm!="" && pwd!=""){
- $ul.find("input[type=text]").replaceWith(""+usernm+"
")
- $ul.find("input[type=password]").replaceWith("••••••
");
- $(this).text("Edit").attr("for","edit");
- $(this).parent().find("a[for=delete]").show();
- $ul.find("span.c_status").text("Connected").addClass("c_status_on");
- if(what=="save")
- what="edit";
- saveaccount(usernm,pwd,type,what);
- }
- break;
- case "edit":
- var un = $ul.find("div.usrnm").text();
- $ul.find("div.usrnm").replaceWith(' ');
- $ul.find("div.pwd").replaceWith(' ');
- $(this).text("Save").attr("for","save");
- break;
- case "delete":
- var $this = $(this);
- o.confirm({
- message : "Are you sure that you want to remove this account?",
- buttons : ["Yes","No"],
- highlighted : 2
- },function(reply){
- if(reply){
- $this.hide();
- $ul.find("div.usrnm").replaceWith(' ');
- $ul.find("div.pwd").replaceWith(' ');
- $ul.find("span.c_status").text("No Connection").removeClass("c_status_on");
- $this.parent().find("a[for=edit]").text("Connect").attr("for","new");
- saveaccount("","",type,what);
- }
- })
- break;
- }
- })
- var $conlist = $('.s_form'),
- conlist_w = $conlist.length * $conlist.outerWidth(true) + ($conlist.length - 1) * 25;
+ }
+ this.initializeSettings.themes = function(){ // this opens themes page in setting page
+ var bindHandlers = function(){ // binding handlers in themes page
+ // live change theme
+ $(".theme_list > .ssl_item").click(function(){
+ o.changeTheme($(this).attr("id"));
+ // $(".theme_list > li").removeClass('thmc1').data('clicked',null).find('.theme_name').removeClass('thmtxt');
+ // $(this).addClass('thmc1').data('clicked',true).find('.theme_name').addClass('thmtxt');
+ $.post("/desktop/save_desktop_settings",{"save":"theme","desktopid":o.desktopId,"theme":$(this).attr("id")},function(result,status){
+ if(result[0].success=="true"){
+ o.notify("Theme Saved!!","success",2);
+ loadthmc();
+ } else {
+ o.notify("Theme saving failed!!","imp",2);
+ }
+ });
+ });
- $('#connection_setting').width(conlist_w);
+ $('.tinycanvas').each(function(){
+ var h = $(this).parent().height(),
+ sh = $(this).siblings('.s_tab').height();
- o.tinyscrollbar_ext({
- main: '.tinycanvas'
- })
-
- }
- var saveaccount = function(usernm,pwd,type,what){
- $.post("/desktop/save_account_info",{email:usernm,password:pwd,account:type,dowhat:what},function(result){
- if(what!="delete"){
- if(result[0].success=="true")
- o.notify(type+" account connected!!","success",2);
- else
- o.notify(type+" account connection failed!!","imp",2);
- }else{
- if(result[0].success=="true")
- o.notify(type+" account removed!!","success",2);
- else
- o.notify(type+" account removal failed!!","imp",2);
- }
- })
- }
-
- $.getJSON("/otheraccounts/getaccounts",function(accounts){
- $.each(accounts,function(i,account){
- $ul = $("#"+account.type+"_connection");
- $ul.find("input[type=text]").replaceWith(""+account.email+"
")
- $ul.find("input[type=password]").replaceWith("••••••
");
- $ul.find("a[for=new]").text("Edit").attr("for","edit");
- $ul.find("a[for=delete]").show();
- $ul.find("span.c_status").text("Connected").addClass("c_status_on");
- })
- bindHandlers();
- })
-
-
- }
- };
- this.initializeOrbitTimeline = function(target,url,cache){
-
- var timeline = new orbitTimeline("#timeline");
- timeline.initialize();
-
- };
- this.initializeJournalPapers = function(target,url,cache){ // this init journal papers
-
- this.initializeJournalPapers.list = function(){ // to open list part in journal papers page
- var journalData;
- var bindHandlers = function(){ // to bind handlers for list page
- o.simple_drop_down();
+ o.tinyscrollbar_ext({
+ main: $(this),
+ height: h-sh-24
+ },{
+ axis: 'y'
+ })
+ });
- o.tinyscrollbar_ext({
- main: '.tinycanvas',
- fill: '.list_t'
- })
+ o.single_select();
+ o.simple_tab();
-
- $("#journal_selection_options a").click(function(){
- switch($(this).attr("href")){
- case "all":
- $(".list_item_action > .icon-check-empty").switchClass("icon-check-empty","icon-check",0);
- break;
- case "none":
- $(".list_item_action > .icon-check").switchClass("icon-check","icon-check-empty",0);
- break;
- }
- return false;
- })
- $("#journal_view_selection a").click(function(){
- switch($(this).attr("href")){
- case "journal":
- journalview();
- break;
- case "keywords":
- keywordsview();
- break;
- case "title":
- titleview();
- break;
- case "abstract":
- abstractview();
- break;
- case "file":
- fileview();
- break;
- }
- return false;
- })
- }
+ $('.color-picker').miniColors({
+ change:function(hex){
+ var changewhat = $(this).attr("for");
+ var previewarea = $("#theme_preview_area");
+ switch(changewhat){
+ case "thmtxt":
+ case "thmtxth":
+ previewarea.find("."+changewhat).css({"color":hex});
+ break;
+ case "g_sep":
+ previewarea.find("."+changewhat).css({"border-color":hex});
+ break;
+ case "background":
+ previewarea.css({"background-color":hex});
+ break;
+ default:
+ previewarea.find("."+changewhat).css({"background-color":hex});
+ break;
+ }
+ }
+ });
- var bindSecondaryHandlers = function(){
- $("#journal_p div#paper_list a").click(function(){
- if($(this).hasClass("icon-check-empty")){
- $(this).switchClass("icon-check-empty","icon-check",0);
- } else if($(this) .hasClass("icon-check")) {
- $(this).switchClass("icon-check","icon-check-empty",0);
- } else if($(this).hasClass("icon-star")){
- $(this).removeClass("icon-star").addClass("icon-star-empty");
- } else if($(this).hasClass("icon-star-empty")){
- $(this).removeClass("icon-star-empty").addClass("icon-star");
- }
- return false;
- })
- }
+ $("a#theme_submit").click(function(){
+ o.confirm({
+ message : "Are you sure that you want to save custom theme?",
+ highlighted : 1,
+ buttons : ["Yes","No"]
+ },function(reply){
+ if(reply){
+ var colors = new Array;
+ $("#color_input input").each(function(){
+ colors[$(this).attr("for")] = $(this).val();
+ })
+ var dhtml ="";
+ $("head").find("#dyn_css").remove();
+ $("head").append(dhtml);
+ $.post("/desktop/save_desktop_settings",{"save":"customtheme","desktopid":o.desktopId,"theme":dhtml},function(result,status){
+ if(result[0].success=="true")
+ o.notify("Custom theme saved!!","success",2);
+ else
+ o.notify("Custom theme saving failed!!","imp",2);
+ })
+ }
+ })
+ });
- var journalview = function(){
- $("#journal_p div#paper_list div.overview").empty();
- var column = $(''),
- counter = 1,
- li;
- $.each(journalData,function(i,journal){
- $.each(journal.papers,function(j,paper){
- li = $(''+journal.title+'
'+paper.title+'
');
- column.find("ul").append(li);
- if(counter%5==0){
- $("#journal_p div#paper_list div.overview").append(column);
- column = $('');
- }
- counter++;
- })
- })
- $("#journal_p div#paper_list div.overview").append(column);
- bindSecondaryHandlers();
- }
- var fileview = function(){
- $("#journal_p div#paper_list div.overview").empty();
- var column = $(''),
- counter = 1,
- li = $(' ');
- $.each(journalData,function(i,journal){
- $.each(journal.papers,function(j,paper){
- li.append(''+journal.title+'
');
- $.each(paper.files,function(k,file){
- var thistitle = file.title;
- if(!file.title)
- thistitle = "Untitled File";
- var img = $('');
- li.append(img);
- })
- column.find("ul").append(li);
- if(counter%5==0){
- $("#journal_p div#paper_list div.overview").append(column);
- column = $('');
- }
- counter++;
- })
- })
- $("#journal_p div#paper_list div.overview").append(column);
- bindSecondaryHandlers();
- }
+ $(".stock_wallpaper .ssl_item").click(function(){
+ var wallpapername = $(this).find("img").attr("alt");
+ o.changeWallpaper(wallpapername);
+ })
+ }
+ var loadthmc = function(){ // a general function to load the themecolor in color selector
+ $('.color-picker').each(function(){
+ var cc = $(this).attr('for'), hex, color;
+ switch(cc){
+ case 'thmtxt':
+ case 'thmtxth':
+ hex = 'color';
+ break;
+ case 'g_sep':
+ hex = 'border-left-color';
+ break;
+ default:
+ hex = 'background-color';
+ break;
+ }
+ if(cc=="background")
+ color = $("#theme_preview_area").css("background-color");
+ else
+ color = $('#theme_preview_area .'+cc).css(hex);
+ $(this).miniColors("value", o.rgb2hex(color));
+ });
+ }
- var keywordsview = function(){
- $("#journal_p div#paper_list div.overview").empty();
- var column = $(''),
- counter = 1,
- li;
- $.each(journalData,function(i,journal){
- $.each(journal.papers,function(j,paper){
- li = $(''+paper.title+'
'+paper.keywords+'
');
- column.find("ul").append(li);
- if(counter%5==0){
- $("#journal_p div#paper_list div.overview").append(column);
- column = $('');
- }
- counter++;
- })
- })
- $("#journal_p div#paper_list div.overview").append(column);
- bindSecondaryHandlers();
- }
- var titleview = function(){
- $("#journal_p div#paper_list div.overview").empty();
- var column = $(''),
- counter = 1,
- li;
- $.each(journalData,function(i,journal){
- $.each(journal.papers,function(j,paper){
- li = $(''+paper.title+'
');
- column.find("ul").append(li);
- if(counter%5==0){
- $("#journal_p div#paper_list div.overview").append(column);
- column = $('');
- }
- counter++;
- })
- })
- $("#journal_p div#paper_list div.overview").append(column);
- bindSecondaryHandlers();
- }
+ $.getJSON("/desktop/get_desktop_settings",{"get":"theme","desktopid":o.desktopId},function(theme){
+ $('#st1 .theme_list [id='+theme+']')
+ .addClass("thmc1 active", 300)
+ .find("span")
+ .addClass("thmtxt");
- var abstractview = function(){
- $("#journal_p div#paper_list div.overview").empty();
- var column = $(''),
- li;
- $.each(journalData,function(i,journal){
- $.each(journal.papers,function(j,paper){
- li = $(''+paper.title+'
'+paper.abstract+paper.abstract+'
');
- column.find("ul").append(li);
- $("#journal_p div#paper_list div.overview").append(column);
- column = $('');
- })
- })
- $("#journal_p div#paper_list div.overview").append(column);
- bindSecondaryHandlers();
- }
-
- $.getJSON("/desktop_publications/getjournals",function(journals){
- journalData = eval(journals);
- journalview();
- bindHandlers();
- })
- }
-
- this.initializeJournalPapers.addpaper = function(){ // to open add pages in journal papers page
- var bindHandlers = function(){ // to bind handlers for add page
- o.simple_drop_down();
+ bindHandlers();
+ loadthmc();
+ })
- o.tinyscrollbar_ext({
- main: '.tinycanvas',
- fill: '.s_grid_con'
- })
- }
- bindHandlers();
- }
-
-
- };
- this.initializeAppstore = function(target,url,cache){
-
-
- this.initializeAppstore.widgets = function(){
- var bindHandlers = function(){
- $("#widget_list a").click(function(){
- var sectionid = $(this).attr("for");
- var widgetid = $(this).parent().parent().attr("for");
- switch($(this).attr("href")){
- case "addthis":
- $this = $(this);
- o.confirm({
- message: "Are you sure you want to add this widget?",
- buttons: ['Yes','No'],
- highlighted: 1
- },function(reply){
- if(reply){
- $.post("desktop_appstore/widgets_settings",{section:sectionid, widget:widgetid, what:"add"},function(result){
- if(result[0].success){
- $this.attr("href","removethis");
- $targetDom = $this.parent().parent().find("div.status");
- $parentDom = $this.parent();
- if($targetDom.find("a").length == 0)
- $targetDom.html("Status : Installed on");
- $targetDom.append(" ").append($this);
- if($parentDom.find("a").length == 0)
- $parentDom.empty();
- o.desktopData["home"]="";
- o.notify("Widget added.","success",2);
- }else{
- o.notify(result[0].error,"imp",2);
- }
- })
- }
- })
- break;
- case "removethis":
- $this = $(this);
- o.confirm({
- message: "Are you sure you want to remove this widget?",
- buttons: ['Yes','No'],
- highlighted: 2
- },function(reply){
- if(reply){
- $.post("desktop_appstore/widgets_settings",{section:sectionid, widget:widgetid, what:"remove"},function(result){
- if(result[0].success){
- $this.attr("href","addthis");
- $targetDom = $this.parent().parent().find("div.not_status");
- $parentDom = $this.parent();
- if($targetDom.html()=="")
- $targetDom.html("Install on");
- $targetDom.append(" ").append($this);
- if($parentDom.find("a").length == 0)
- $parentDom.html("Status : Downloaded");
- o.desktopData["home"]="";
- o.notify("Widget removed.","success",2);
- }
- })
- }
- })
- break;
- }
- return false;
- });
-
- o.tinyscrollbar_ext({
- main: '.tinycanvas',
- fill: '.list_t'
- })
- }
-
+ }
- $.getJSON("/desktop_appstore/getuserwidgets",function(userwidgets){
- var column = $(''),
- counter = 1,
- li;
- $.each(userwidgets,function(i,widge){
- if(!widge.status)widge.status = "Downloaded";
- var brick = widge.shape.split(' '),
- bw = parseInt(brick[0].substr(1)),
- bh = parseInt(brick[1].substr(1)),
- shp = bw+" X "+bh;
- li = $(''+widge.name+'
Author : '+widge.author+'
Shape : '+shp+'
Status : '+widge.status+'
');
- var cur_section_names = new Array();
- var section_names = new Array();
- var section_links = new Array();
- if(widge.section){
- var s_name_list = "";
- $.each(widge.section,function(x,sec){
- $.each(o.sectionList,function(j,s){
- if(s._id==sec){
- cur_section_names.push(s.name);
- s_name_list+= ""+s.name +" ";
- }
- })
- })
- var section_names = o.getArrayfromJson(o.sectionList,"name");
- var section_links = o.getArrayfromJson(o.sectionList,"_id");
- var s_name_list_not = "";
- $.each(section_names,function(j,sec_name){
- if($.inArray(sec_name,cur_section_names)==-1){
- var sec_link = section_links[j];
- s_name_list_not+= ""+sec_name+" ";
- }
- })
- li.find("div.status").html("Status : Installed on "+s_name_list);
- if(s_name_list_not)
- li.find("div.not_status").html("Install on "+s_name_list_not);
- }else{
- li.find("div.not_status").html("Install on "+o.sectionList[0].name+" "+o.sectionList[1].name+" "+o.sectionList[2].name+" "+o.sectionList[3].name)+" ";
- }
- //console.log(section_names);
- column.find("ul").append(li);
- if(counter%4==0){
- $("#apps_store div#widget_list").append(column);
- column = $('');
- }
- counter++;
- })
- $("#apps_store div#widget_list").append(column);
-
- })
-
- }
- this.initializeAppstore.onlinestore = function(){
- var bindHandlers = function(){
+ this.initializeSettings.connection = function(){
- }
-
- bindHandlers();
-
- }
- this.initializeAppstore.onlinestore();
- bindHandlers();
- }
- this.initializeBooks = function(target,url,cache){
-
+ var bindHandlers = function(){
+ $("#connection_setting ul a").click(function(){
+ var what = $(this).attr("for"),
+ type = $(this).attr("href"),
+ $ul = $("#"+type+"_connection"),
+ usernm = $ul.find("input[type=text]").val(),
+ pwd = $ul.find("input[type=password]").val();
+ switch(what){
+ case "save":
+ case "new":
+ if(usernm!="" && pwd!=""){
+ $ul.find("input[type=text]").replaceWith(""+usernm+"
")
+ $ul.find("input[type=password]").replaceWith("••••••
");
+ $(this).text("Edit").attr("for","edit");
+ $(this).parent().find("a[for=delete]").show();
+ $ul.find("span.c_status").text("Connected").addClass("c_status_on");
+ if(what=="save")
+ what="edit";
+ saveaccount(usernm,pwd,type,what);
+ }
+ break;
+ case "edit":
+ var un = $ul.find("div.usrnm").text();
+ $ul.find("div.usrnm").replaceWith(' ');
+ $ul.find("div.pwd").replaceWith(' ');
+ $(this).text("Save").attr("for","save");
+ break;
+ case "delete":
+ var $this = $(this);
+ o.confirm({
+ message : "Are you sure that you want to remove this account?",
+ buttons : ["Yes","No"],
+ highlighted : 2
+ },function(reply){
+ if(reply){
+ $this.hide();
+ $ul.find("div.usrnm").replaceWith(' ');
+ $ul.find("div.pwd").replaceWith(' ');
+ $ul.find("span.c_status").text("No Connection").removeClass("c_status_on");
+ $this.parent().find("a[for=edit]").text("Connect").attr("for","new");
+ saveaccount("","",type,what);
+ }
+ })
+ break;
+ }
+ })
- this.initializeBooks.list = function(){
- var bindHandlers = function(){
- o.simple_drop_down();
+ var $conlist = $('.s_form'),
+ conlist_w = $conlist.length * $conlist.outerWidth(true) + ($conlist.length - 1) * 25;
- o.tinyscrollbar_ext({
- main: '.tinycanvas',
- fill: '.list_t'
- })
- }
+ $('#connection_setting').width(conlist_w);
-
- bindHandlers();
-
- }
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas'
+ })
- this.initializeBooks.addbook = function(){
- var bindHandlers = function(){
- o.simple_drop_down();
+ }
+ var saveaccount = function(usernm,pwd,type,what){
+ $.post("/desktop/save_account_info",{email:usernm,password:pwd,account:type,dowhat:what},function(result){
+ if(what!="delete"){
+ if(result[0].success=="true")
+ o.notify(type+" account connected!!","success",2);
+ else
+ o.notify(type+" account connection failed!!","imp",2);
+ }else{
+ if(result[0].success=="true")
+ o.notify(type+" account removed!!","success",2);
+ else
+ o.notify(type+" account removal failed!!","imp",2);
+ }
+ })
+ }
- o.tinyscrollbar_ext({
- main: '.tinycanvas',
- fill: '.s_grid_con'
- })
+ $.getJSON("/otheraccounts/getaccounts",function(accounts){
+ $.each(accounts,function(i,account){
+ $ul = $("#"+account.type+"_connection");
+ $ul.find("input[type=text]").replaceWith(""+account.email+"
")
+ $ul.find("input[type=password]").replaceWith("••••••
");
+ $ul.find("a[for=new]").text("Edit").attr("for","edit");
+ $ul.find("a[for=delete]").show();
+ $ul.find("span.c_status").text("Connected").addClass("c_status_on");
+ })
+ bindHandlers();
+ })
- }
-
- bindHandlers();
-
- }
- this.initializeBooks.list();
- }
- this.initializeSeminar = function(target,url,cache){
-
+ }
+ };
+ this.initializeOrbitTimeline = function(target,url,cache){
- this.initializeSeminar.list = function(){
- var bindHandlers = function(){
- o.tinyscrollbar_ext({
- main : ".tinycanvas",
- fill : ".list_t"
- })
- }
+ var timeline = new orbitTimeline("#timeline");
+ timeline.initialize();
-
- bindHandlers();
-
- }
+ };
+ this.initializeJournalPapers = function(target,url,cache){ // this init journal papers
- this.initializeSeminar.addseminar = function(){
- var bindHandlers = function(){
- o.simple_drop_down();
+ this.initializeJournalPapers.list = function(){ // to open list part in journal papers page
+ var journalData;
+ var bindHandlers = function(){ // to bind handlers for list page
+ o.simple_drop_down();
- o.tinyscrollbar_ext({
- main: '.tinycanvas',
- fill: '.s_grid_con'
- })
- }
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas',
+ fill: '.list_t'
+ })
- bindHandlers();
-
- }
- this.initializeSeminar.list();
-
- }
- this.initializeResearchDomain = function(target,url,cache){
-
- this.initializeResearchDomain.list = function(){
- var bindHandlers = function(){
- o.tinyscrollbar_ext({
- main : ".tinycanvas",
- fill : ".list_t"
- })
- }
-
- bindHandlers();
-
- }
- this.initializeResearchDomain.add_this = function(){
- var bindHandlers = function(){
-
- }
+ $("#journal_selection_options a").click(function(){
+ switch($(this).attr("href")){
+ case "all":
+ $(".list_item_action > .icon-check-empty").switchClass("icon-check-empty","icon-check",0);
+ break;
+ case "none":
+ $(".list_item_action > .icon-check").switchClass("icon-check","icon-check-empty",0);
+ break;
+ }
+ return false;
+ })
+ $("#journal_view_selection a").click(function(){
+ switch($(this).attr("href")){
+ case "journal":
+ journalview();
+ break;
+ case "keywords":
+ keywordsview();
+ break;
+ case "title":
+ titleview();
+ break;
+ case "abstract":
+ abstractview();
+ break;
+ case "file":
+ fileview();
+ break;
+ }
+ return false;
+ })
+ }
-
- bindHandlers();
-
- }
- this.initializeResearchDomain.list();
-
- }
- this.initializeResearchProject = function(target,url,cache){
-
- this.initializeResearchProject.list = function(){
- var bindHandlers = function(){
- o.tinyscrollbar_ext({
- main : ".tinycanvas",
- fill : ".list_t"
- })
- }
+ var bindSecondaryHandlers = function(){
+ $("#journal_p div#paper_list a").click(function(){
+ if($(this).hasClass("icon-check-empty")){
+ $(this).switchClass("icon-check-empty","icon-check",0);
+ } else if($(this) .hasClass("icon-check")) {
+ $(this).switchClass("icon-check","icon-check-empty",0);
+ } else if($(this).hasClass("icon-star")){
+ $(this).removeClass("icon-star").addClass("icon-star-empty");
+ } else if($(this).hasClass("icon-star-empty")){
+ $(this).removeClass("icon-star-empty").addClass("icon-star");
+ }
+ return false;
+ })
+ }
-
- bindHandlers();
-
- }
- this.initializeResearchProject.add_this = function(){
- var bindHandlers = function(){
- o.simple_drop_down();
+ var journalview = function(){
+ $("#journal_p div#paper_list div.overview").empty();
+ var column = $(''),
+ counter = 1,
+ li;
+ $.each(journalData,function(i,journal){
+ $.each(journal.papers,function(j,paper){
+ li = $(''+journal.title+'
'+paper.title+'
');
+ column.find("ul").append(li);
+ if(counter%5==0){
+ $("#journal_p div#paper_list div.overview").append(column);
+ column = $('');
+ }
+ counter++;
+ })
+ })
+ $("#journal_p div#paper_list div.overview").append(column);
+ bindSecondaryHandlers();
+ }
+ var fileview = function(){
+ $("#journal_p div#paper_list div.overview").empty();
+ var column = $(''),
+ counter = 1,
+ li = null;
+ $.each(journalData,function(i,journal){
+ $.each(journal.papers,function(j,paper){
+ li = null;
+ li = $(' ');
+ li.append(''+journal.title+'
');
+ $.each(paper.files,function(k,file){
+ var thistitle = file.title;
+ if(!file.title)
+ thistitle = "Untitled File";
+ var img = $('');
+ li.append(img);
+ })
+ column.find("ul").append(li);
+ if(counter%5==0){
+ $("#journal_p div#paper_list div.overview").append(column);
+ column = $('');
+ }
+ counter++;
+ })
+ })
+ $("#journal_p div#paper_list div.overview").append(column);
+ bindSecondaryHandlers();
+ }
+ var keywordsview = function(){
+ $("#journal_p div#paper_list div.overview").empty();
+ var column = $(''),
+ counter = 1,
+ li;
+ $.each(journalData,function(i,journal){
+ $.each(journal.papers,function(j,paper){
+ li = $(''+paper.title+'
'+paper.keywords+'
');
+ column.find("ul").append(li);
+ if(counter%5==0){
+ $("#journal_p div#paper_list div.overview").append(column);
+ column = $('');
+ }
+ counter++;
+ })
+ })
+ $("#journal_p div#paper_list div.overview").append(column);
+ bindSecondaryHandlers();
+ }
- o.tinyscrollbar_ext({
- main: '.tinycanvas',
- fill: '.s_grid_con'
- })
- }
+ var titleview = function(){
+ $("#journal_p div#paper_list div.overview").empty();
+ var column = $(''),
+ counter = 1,
+ li;
+ $.each(journalData,function(i,journal){
+ $.each(journal.papers,function(j,paper){
+ li = $(''+paper.title+'
');
+ column.find("ul").append(li);
+ if(counter%5==0){
+ $("#journal_p div#paper_list div.overview").append(column);
+ column = $('');
+ }
+ counter++;
+ })
+ })
+ $("#journal_p div#paper_list div.overview").append(column);
+ bindSecondaryHandlers();
+ }
-
- bindHandlers();
-
- }
- this.initializeResearchProject.list();
-
- }
- this.loadWallpaper = function(wallpaper){ // this is to load new wallpaper
- if(!wallpaper)wallpapernm = o.themesettings.background;else wallpapernm = wallpaper
- var ww = $(window).width();
- var wh = $(window).height();
- if(!wallpaper)
- $("img#thmbackground").attr({"src":"/"+o.themefolder+"/"+o.theme+"/images/"+wallpapernm,"width":ww}).css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","height":"auto"});
- else
- $("img#thmbackground").attr({"src":o.wallpaperPath+wallpaper,"width":ww}).css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","height":"auto"});
-
- $("div#bgover").css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","width":ww,"height":wh});
- };
-
- this.loadIconCache = function(){ // this function load or refresh icon cache for the theme
- var imgs = $("ul.docklist img");
- $.each(imgs,function(){
- var setting_name = $(this).attr("id").replace("_icon","");
- $(this).attr("src","/"+o.themefolder+"/"+o.theme+"/images/"+o.themesettings.icons[setting_name])
- })
- };
- this.initializeWidgets = function(){ // this function will initialize all the widgets in the desktop
- var elements = $("#group_wrapper li.element");
- $.each(elements,function(){
- var widget = $(this);
- if(widget.attr("data-category")=="widget"){
- var widgename = widget.attr("data-content");
- $.getScript(widget.attr("js-link"),function(){
- widget.find("div.appholder").load(widget.attr("data-content"));
- });
- $(this).find("div.appholder").append( ' ')
- }
-
- })
- };
- this.saveWallpaper = function(wallpaper){ // this function saves wallpaper in db
- $.post("/desktop/save_desktop_settings",{"save":"wallpaper","wallpapernm":wallpaper,"desktopid":o.desktopId},function(result){
- if(result[0].success=="true")
- o.notify("Wallpaper saved!!","success",2);
- else
- o.notify("Wallpaper saving failed!!","imp",2);
- })
- };
- this.tinyscrollbar_ext = function(target,tinysettings){
- //main : dom on which tinyscrollbar has to be applied
- //fill : number or object for width
- //height : height for the target element
- //tinysettings : tinyscrollbar settings
+ var abstractview = function(){
+ $("#journal_p div#paper_list div.overview").empty();
+ var column = $(''),
+ li;
+ $.each(journalData,function(i,journal){
+ $.each(journal.papers,function(j,paper){
+ li = $(''+paper.title+'
'+paper.abstract+paper.abstract+'
');
+ column.find("ul").append(li);
+ $("#journal_p div#paper_list div.overview").append(column);
+ column = $('');
+ })
+ })
+ $("#journal_p div#paper_list div.overview").append(column);
+ bindSecondaryHandlers();
+ }
- if(typeof target.main == "undefined"){
- o.notify('tinyscrollbar: target undefined','imp',2);
- return;
- }else{
- target.main = $(target.main);
- }
- //var target.fill = $
- var tinysettings = ( typeof tinysettings == 'undefined' ) ? {"axis":"x"} : tinysettings ;
-
- var count,baseWidth,fillArray,pxs;
-
- if( typeof target.fill == 'string' ){
- fillArray = target.main.find(target.fill);
- count = fillArray.length;
- baseWidth = $(target.fill).eq(1).outerWidth(true);
- target.main.find('.overview').width( baseWidth * count);
- } else if( typeof target.fill == 'number' ){
- target.main.find('.overview').width( target.fill );
- } else if( typeof target.fill == 'undefined' ){
-
- } else {
- o.notify('tinyscrollbar: setting width failed','imp',2);
- }
- if(target.height)
- target.main.height(target.height);
+ $.getJSON("/desktop_publications/getjournals",function(journals){
+ journalData = eval(journals);
+ journalview();
+ bindHandlers();
+ })
+ }
- target.main
- .tinyscrollbar( tinysettings )
- .find('.scrollbar')
- .delay(1500)
- .addClass('op00', 500);
- };
- this.simple_drop_down = function(){
- // simple dropdown menu
- if( !$('.sdm').children('.sdm_o').length > 0 ){
- return;
- } else {
- $('.sdm').hover(function(){
- $(this).stop(1,1).toggleClass('thmc2 thmtxt');
- }, function(){
- $(this).stop(1,1).toggleClass('thmc2 thmtxt');
- });
- $('.sdm').find('a').hover(function(){
- $(this).stop(1,1).toggleClass('thmc2 thmtxt');
- }, function(){
- $(this).stop(1,1).toggleClass('thmc2 thmtxt');
- });
- }
- };
- this.simple_tab = function(){
- // tab
- var $anchor = $('.s_tab a[href*=#]'),
- $tabcontent = $('.st_c');
+ this.initializeJournalPapers.addpaper = function(){ // to open add pages in journal papers page
+ var bindHandlers = function(){ // to bind handlers for add page
+ o.simple_drop_down();
- $anchor.each(function(){
- $(this).click(function(){
- var target = $(this).attr('href');
- $anchor.removeClass('thmc2 thmtxt admtxt admbg').addClass('admtxt admbg');
- $(this).toggleClass('thmc2 thmtxt admtxt admbg');
- $tabcontent.hide();
- $(target).show();
- if( $('.tinycanvas').length > 0 ){
- $('.tinycanvas').tinyscrollbar_update();
- }
- return false;
- });
- });
- };
- this.single_select = function(){
- // single select
- $('.ssl .ssl_item').each(function(){
- var $des = $(this).find('.ssl_des');
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas',
+ fill: '.s_grid_con'
+ })
+ }
+ bindHandlers();
+ }
- $(this).on({
- click: function(){
- $(this).switchClass('','thmc1 active',0);
- $(this).siblings('.thmc1').switchClass('thmc1 active','',0);
- if( $des.length > 0 ){
- $(this).parents('.ssl').find('.ssl_des').removeClass('thmtxt');
- $des.addClass('thmtxt');
- }
- },
- mouseenter: function(){
- if( !$(this).hasClass('active') ){
- $(this).addClass('thmc1');
+ };
+ this.initializeAppstore = function(target,url,cache){
- if( $des.length > 0 ){
- $des.addClass('thmtxt');
- }
- }
- },
- mouseleave: function(){
- if( !$(this).hasClass('active') ){
- $(this).removeClass('thmc1');
- if( $des.length > 0 ){
- $des.removeClass('thmtxt');
- }
- }
- }
- });
- });
- }
- o.initialize();
+ this.initializeAppstore.widgets = function(){
+ var bindHandlers = function(){
+ $("#widget_list a").click(function(){
+ var sectionid = $(this).attr("for");
+ var widgetid = $(this).parent().parent().attr("for");
+ switch($(this).attr("href")){
+ case "addthis":
+ $this = $(this);
+ o.confirm({
+ message: "Are you sure you want to add this widget?",
+ buttons: ['Yes','No'],
+ highlighted: 1
+ },function(reply){
+ if(reply){
+ $.post("desktop_appstore/widgets_settings",{section:sectionid, widget:widgetid, what:"add"},function(result){
+ if(result[0].success){
+ $this.attr("href","removethis");
+ $targetDom = $this.parent().parent().find("div.status");
+ $parentDom = $this.parent();
+ if($targetDom.find("a").length == 0)
+ $targetDom.html("Status : Installed on");
+ $targetDom.append(" ").append($this);
+ if($parentDom.find("a").length == 0)
+ $parentDom.empty();
+ o.desktopData["home"]="";
+ o.notify("Widget added.","success",2);
+ }else{
+ o.notify(result[0].error,"imp",2);
+ }
+ })
+ }
+ })
+ break;
+ case "removethis":
+ $this = $(this);
+ o.confirm({
+ message: "Are you sure you want to remove this widget?",
+ buttons: ['Yes','No'],
+ highlighted: 2
+ },function(reply){
+ if(reply){
+ $.post("desktop_appstore/widgets_settings",{section:sectionid, widget:widgetid, what:"remove"},function(result){
+ if(result[0].success){
+ $this.attr("href","addthis");
+ $targetDom = $this.parent().parent().find("div.not_status");
+ $parentDom = $this.parent();
+ if($targetDom.html()=="")
+ $targetDom.html("Install on");
+ $targetDom.append(" ").append($this);
+ if($parentDom.find("a").length == 0)
+ $parentDom.html("Status : Downloaded");
+ o.desktopData["home"]="";
+ o.notify("Widget removed.","success",2);
+ }
+ })
+ }
+ })
+ break;
+ }
+ return false;
+ });
+
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas',
+ fill: '.list_t'
+ })
+ }
+
+
+ $.getJSON("/desktop_appstore/getuserwidgets",function(userwidgets){
+ var column = $(''),
+ counter = 1,
+ li;
+ $.each(userwidgets,function(i,widge){
+ if(!widge.status)widge.status = "Downloaded";
+ var brick = widge.shape.split(' '),
+ bw = parseInt(brick[0].substr(1)),
+ bh = parseInt(brick[1].substr(1)),
+ shp = bw+" X "+bh;
+ li = $(''+widge.name+'
Author : '+widge.author+'
Shape : '+shp+'
Status : '+widge.status+'
');
+ var cur_section_names = new Array();
+ var section_names = new Array();
+ var section_links = new Array();
+ if(widge.section){
+ var s_name_list = "";
+ $.each(widge.section,function(x,sec){
+ $.each(o.sectionList,function(j,s){
+ if(s._id==sec){
+ cur_section_names.push(s.name);
+ s_name_list+= ""+s.name +" ";
+ }
+ })
+ })
+ var section_names = o.getArrayfromJson(o.sectionList,"name");
+ var section_links = o.getArrayfromJson(o.sectionList,"_id");
+ var s_name_list_not = "";
+ $.each(section_names,function(j,sec_name){
+ if($.inArray(sec_name,cur_section_names)==-1){
+ var sec_link = section_links[j];
+ s_name_list_not+= ""+sec_name+" ";
+ }
+ })
+ li.find("div.status").html("Status : Installed on "+s_name_list);
+ if(s_name_list_not)
+ li.find("div.not_status").html("Install on "+s_name_list_not);
+ }else{
+ li.find("div.not_status").html("Install on "+o.sectionList[0].name+" "+o.sectionList[1].name+" "+o.sectionList[2].name+" "+o.sectionList[3].name)+" ";
+ }
+ //console.log(section_names);
+ column.find("ul").append(li);
+ if(counter%4==0){
+ $("#apps_store div#widget_list").append(column);
+ column = $('');
+ }
+ counter++;
+ })
+ $("#apps_store div#widget_list").append(column);
+
+ })
+
+ }
+ this.initializeAppstore.onlinestore = function(){
+ var bindHandlers = function(){
+
+ }
+
+ bindHandlers();
+
+ }
+ this.initializeAppstore.onlinestore();
+ bindHandlers();
+ }
+ this.initializeBooks = function(target,url,cache){
+
+
+ this.initializeBooks.list = function(){
+ var bindHandlers = function(){
+ o.simple_drop_down();
+
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas',
+ fill: '.list_t'
+ })
+ }
+
+
+ bindHandlers();
+
+ }
+
+ this.initializeBooks.addbook = function(){
+ var bindHandlers = function(){
+ o.simple_drop_down();
+
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas',
+ fill: '.s_grid_con'
+ })
+
+ }
+
+ bindHandlers();
+
+ }
+ this.initializeBooks.list();
+
+ }
+ this.initializeSeminar = function(target,url,cache){
+
+
+ this.initializeSeminar.list = function(){
+ var bindHandlers = function(){
+ o.tinyscrollbar_ext({
+ main : ".tinycanvas",
+ fill : ".list_t"
+ })
+ }
+
+
+ bindHandlers();
+
+ }
+
+ this.initializeSeminar.addseminar = function(){
+ var bindHandlers = function(){
+ o.simple_drop_down();
+
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas',
+ fill: '.s_grid_con'
+ })
+ }
+
+ bindHandlers();
+
+ }
+ this.initializeSeminar.list();
+
+ }
+ this.initializeResearchDomain = function(target,url,cache){
+
+ this.initializeResearchDomain.list = function(){
+ var bindHandlers = function(){
+ o.tinyscrollbar_ext({
+ main : ".tinycanvas",
+ fill : ".list_t"
+ })
+ }
+
+
+ bindHandlers();
+
+ }
+ this.initializeResearchDomain.add_this = function(){
+ var bindHandlers = function(){
+
+ }
+
+
+ bindHandlers();
+
+ }
+ this.initializeResearchDomain.list();
+
+ }
+ this.initializeResearchProject = function(target,url,cache){
+
+ this.initializeResearchProject.list = function(){
+ var bindHandlers = function(){
+ o.tinyscrollbar_ext({
+ main : ".tinycanvas",
+ fill : ".list_t"
+ })
+ }
+
+
+ bindHandlers();
+
+ }
+ this.initializeResearchProject.add_this = function(){
+ var bindHandlers = function(){
+ o.simple_drop_down();
+
+ o.tinyscrollbar_ext({
+ main: '.tinycanvas',
+ fill: '.s_grid_con'
+ })
+ }
+
+
+ bindHandlers();
+
+ }
+ this.initializeResearchProject.list();
+
+ }
+ this.loadWallpaper = function(wallpaper){ // this is to load new wallpaper
+ if(!wallpaper)wallpapernm = o.themesettings.background;else wallpapernm = wallpaper
+ var ww = $(window).width();
+ var wh = $(window).height();
+ if(!wallpaper)
+ $("img#thmbackground").attr({"src":"/"+o.themefolder+"/"+o.theme+"/images/"+wallpapernm,"width":ww}).css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","height":"auto"});
+ else
+ $("img#thmbackground").attr({"src":o.wallpaperPath+wallpaper,"width":ww}).css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","height":"auto"});
+
+ $("div#bgover").css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","width":ww,"height":wh});
+ };
+
+ this.loadIconCache = function(){ // this function load or refresh icon cache for the theme
+ var imgs = $("ul.docklist img");
+ $.each(imgs,function(){
+ var setting_name = $(this).attr("id").replace("_icon","");
+ $(this).attr("src","/"+o.themefolder+"/"+o.theme+"/images/"+o.themesettings.icons[setting_name])
+ })
+ };
+ this.initializeWidgets = function(){ // this function will initialize all the widgets in the desktop
+ var elements = $("#group_wrapper li.element");
+ $.each(elements,function(){
+ var widget = $(this);
+ if(widget.attr("data-category")=="widget"){
+ var widgename = widget.attr("data-content");
+ $.getScript(widget.attr("js-link"),function(){
+ widget.find("div.appholder").load(widget.attr("data-content"));
+ });
+ $(this).find("div.appholder").append( ' ')
+ }
+
+ })
+ };
+ this.saveWallpaper = function(wallpaper){ // this function saves wallpaper in db
+ $.post("/desktop/save_desktop_settings",{"save":"wallpaper","wallpapernm":wallpaper,"desktopid":o.desktopId},function(result){
+ if(result[0].success=="true")
+ o.notify("Wallpaper saved!!","success",2);
+ else
+ o.notify("Wallpaper saving failed!!","imp",2);
+ })
+ };
+ this.tinyscrollbar_ext = function(target,tinysettings){
+ //main : dom on which tinyscrollbar has to be applied
+ //fill : number or object for width
+ //height : height for the target element
+ //tinysettings : tinyscrollbar settings
+
+ if(typeof target.main == "undefined"){
+ o.notify('tinyscrollbar: target undefined','imp',2);
+ return;
+ }else{
+ target.main = $(target.main);
+ }
+ //var target.fill = $
+ var tinysettings = ( typeof tinysettings == 'undefined' ) ? {"axis":"x"} : tinysettings ;
+
+ var count,baseWidth,fillArray,pxs;
+
+ if( typeof target.fill == 'string' ){
+ fillArray = target.main.find(target.fill);
+ count = fillArray.length;
+ baseWidth = $(target.fill).eq(1).outerWidth(true);
+ target.main.find('.overview').width( baseWidth * count);
+ } else if( typeof target.fill == 'number' ){
+ target.main.find('.overview').width( target.fill );
+ } else if( typeof target.fill == 'undefined' ){
+
+ } else {
+ o.notify('tinyscrollbar: setting width failed','imp',2);
+ }
+ if(target.height)
+ target.main.height(target.height);
+
+ target.main
+ .tinyscrollbar( tinysettings )
+ .find('.scrollbar')
+ .delay(1500)
+ .addClass('op00', 500);
+ };
+ this.simple_drop_down = function(){
+ // simple dropdown menu
+ if( !$('.sdm').children('.sdm_o').length > 0 ){
+ return;
+ } else {
+ $('.sdm').hover(function(){
+ $(this).stop(1,1).toggleClass('thmc2 thmtxt');
+ }, function(){
+ $(this).stop(1,1).toggleClass('thmc2 thmtxt');
+ });
+ $('.sdm').find('a').hover(function(){
+ $(this).stop(1,1).toggleClass('thmc2 thmtxt');
+ }, function(){
+ $(this).stop(1,1).toggleClass('thmc2 thmtxt');
+ });
+ }
+ };
+ this.simple_tab = function(){
+ // tab
+ var $anchor = $('.s_tab a[href*=#]'),
+ $tabcontent = $('.st_c');
+
+ $anchor.each(function(){
+ $(this).click(function(){
+ var target = $(this).attr('href');
+ $anchor.removeClass('thmc2 thmtxt admtxt admbg').addClass('admtxt admbg');
+ $(this).toggleClass('thmc2 thmtxt admtxt admbg');
+ $tabcontent.hide();
+ $(target).show();
+ if( $('.tinycanvas').length > 0 ){
+ $('.tinycanvas').tinyscrollbar_update();
+ }
+ return false;
+ });
+ });
+ };
+ this.single_select = function(){
+ // single select
+ $('.ssl .ssl_item').each(function(){
+ var $des = $(this).find('.ssl_des');
+
+ $(this).on({
+ click: function(){
+ $(this).switchClass('','thmc1 active',0);
+ $(this).siblings('.thmc1').switchClass('thmc1 active','',0);
+
+ if( $des.length > 0 ){
+ $(this).parents('.ssl').find('.ssl_des').removeClass('thmtxt');
+ $des.addClass('thmtxt');
+ }
+ },
+ mouseenter: function(){
+ if( !$(this).hasClass('active') ){
+ $(this).addClass('thmc1');
+
+ if( $des.length > 0 ){
+ $des.addClass('thmtxt');
+ }
+ }
+ },
+ mouseleave: function(){
+ if( !$(this).hasClass('active') ){
+ $(this).removeClass('thmc1');
+
+ if( $des.length > 0 ){
+ $des.removeClass('thmtxt');
+ }
+ }
+ }
+ });
+ });
+ }
+ o.initialize();
}
orbitDesktop.prototype.themefolder = "themes";
@@ -1411,6 +1412,6 @@ orbitDesktop.prototype.iconPath = "/assets/icons/";
orbitDesktop.prototype.currentLanguage = "en";
orbitDesktop.prototype.currentUsername = "Harry";
var uselessfunction = function(){
- $.post("/desktop/temp_func",{sectionid:"4f83e7bbbd98eb041600001d"});
+ $.post("/desktop/temp_func",{sectionid:"4f83e7bbbd98eb041600001d"});
}