// 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":"","books":"","seminar_p":"","research_d":"","research_p":""}; 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( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').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( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').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); }); } }); $("a#d_seminar_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.initializeSeminar(target); }); } }); $("a#d_research_d").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.initializeResearchDomain(target); }); } }); $("a#d_research_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.initializeResearchProject(target); }); } }); $(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){ //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 = $('<ul class="g_col g_col_w2 col'+nextnumber+' ui-sortable">'); $(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 = $('<div class="group"><ul class="grp ui-sortable"></ul></div>'), var colindex = 0, $group = $('<div class="group"></div>'), $col = $('<ul class="g_col g_col_w2 col'+ colindex +'"/>'), $li, bdsum = 0, bwsum = 0, bhsum = 0, small = 0, single = false; $group.append($col); for(j=0;j<group.length;j++){ var tile = group[j]; var brick = tile.shape.replace(' holder_f','').split(' '), bw = parseInt(brick[0].substr(1)), bh = parseInt(brick[1].substr(1)), bd = bw * bh; if(bh==1 && bw==1){ small++; }else if(bh!=1 && bw!=1){ single = true; } if(small==2){ small=0; single=false; }else if(small==1 && single==true){ bh++; small=0; single=false; }else{small=0;single=false;} bdsum+=bd; bwsum+=bw; bhsum+=bh; if(bdsum > 8 || bhsum > 6){ bdsum = 0, bhsum = 0, colindex++,j--; $group.append('<ul class="g_col g_col_w2 col'+ colindex +'"/>'); }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 = $('<li id="'+tile._id+'" class="element '+tile.shape+' hp vp" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><a href="'+tile.data_content+'" class="appicon" onclick="return false;"><img src="'+o.iconPath+tile.data_content+'.png" alt="" ></a><h1 class="appname thmtxt">'+tile.title+'</h1></li>'); else $li = $('<li id="'+tile._id+'" class="element '+tile.shape+' hp vp" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><h1 class="appname thmtxt">'+tile.title+'</h1><div class="appholder">Loading...</div></li>'); $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($('<li class="section_name" '+tempstyle+'><a class="admtxt hp w2 hh2" onclick="return false;" href="'+section._id+'" >'+section.name+'</a></li>')); }) 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(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ loadTiles(o.sectionId); loadSectionList(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); 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($('<li class="section_name" '+tempstyle+'><a class="admtxt hp w2 hh2" onclick="return false;" href="'+section._id+'" >'+section.name+'</a></li>')); }) bindSecondaryHandlers(); } }; this.tempFunc = function(th){ $.post("desktop/twitter",function(){}); }; this.initializeAppSearch = function(target){ //this is application search ie is app manager initialization o.currenthtml = target; o.currentface = "apps_manager"; 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 = $('<div class="search element w1 h1 hp vp thmc2" data-category="desktop">'+$(this).html()+'</div>'); $("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('<div class="g_col g_col_w1 col'+ colindex +'"/>'); $.each(allApps,function(i,app){ count++; if( count > 4 ){ count = 1, colindex+=1; $('#app_list').append('<div class="g_col g_col_w1 col'+ colindex +'"/>'); $('.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('<div class="g_col g_col_w1 col'+ colindex +'"/>'); $.each(appss,function(i,apps){ $.each(apps,function(i,app){ var $app; count++; $app = $('<div class="element w1 h1 hp vp thmc2" data-category="'+app.data_category+'" data-content="'+app.data_content+'"><span class="tile thmc2"></span><a href="'+app._id+'" class="appicon"><img src="'+o.iconPath+app.data_content+'.png" alt="" onclick="return false;"></a><h1 class="appname thmtxt">'+app.title+'</h1></div>'); if( count > 4 ){ count = 1, colindex+=1; $('#app_list').append('<div class="g_col g_col_w1 col'+ colindex +'"/>'); $('.g_col.col'+ colindex).append($app); } else { $('.g_col.col'+ colindex).append($app); } }) }) bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ loadApps(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); bindHandlers(); } }; this.initializeSectionsManager = function(target){ // this is init function for section manager o.currenthtml = target; o.currentface = "sections"; 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 = $('<div class="group" id="'+o.sectionList[section]._id+'"><div class="section_label"><ul class="section_grp"></ul></div><ul class="grp" id="section'+(z+1)+'"></ul></div>'); for(x=0;x<4;x++){ if(x==0){ $li = $('<li class="element w1 h1 hp vp thmtxt" data-content="'+o.sectionList[z]._id+'"><span class="tile thmc1"></span><span class="thmtxt">'+o.sectionList[z].name+'</span></li>'); $group.find("ul.section_grp").append($li); } if(z!=x){ $lii = $('<li class="element w1 h1 hp vp thmtxt" style="display: none;" data-category="section'+(x+1)+'" data-content="'+o.sectionList[x]._id+'"><span class="tile thmc2 op06"></span><span class="thmtxt">'+o.sectionList[x].name+'</span></li>'); $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 = $('<li class="element to_drop w1 hh2 hp vp" data-category="'+app.data_category+'" data-content="'+app.data_content+'" id="'+app._id+'"><div class="appicon"><img src="'+o.iconPath+app.data_content+'.png" class="" width="30" /></div><h1 class="appname thmtxth">'+app.title+'</h1></li>'); $("ul#section"+yy).append($li); }) if(y==1){ y=-1; yy++; } y++; }) bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ loadApps(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); bindHandlers(); } }; this.initializeSettings = function(target){ //this is to initialize setting page o.currenthtml = target; o.currentface = "settings"; var bindHandlers = function(){ // this is the bind handler function for setting page $("div#settings ul#setting_left_nav li a").on({ click: function(){ if(!$(this).data("clicked")){ var tfunc = $(this).attr("href"); switch(tfunc){ case "themes": themes(); break; case "sections": sections(); break; case "connection": connection(); break; } $("div#settings ul#setting_left_nav li a").removeClass('thmc1 thmtxt').data('clicked',null); $(this).addClass('thmc1 thmtxt').data('clicked',true); } }, mouseenter: function(){ $(this).removeClass('admtxt').addClass('thmc1 thmtxt'); }, mouseleave: function(){ var t = $(this).data('clicked') ? '' : 'thmc1 thmtxt'; $(this).removeClass(t).addClass('admtxt'); } }); } var 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]; }) }) } $("div#settings div#panel_r").load("/desktop/settingsections",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 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); } }); }); $('.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 ="<style> .thmc1 { background: "+colors['thmc1']+"; }.thmc2 { background: "+colors['thmc2']+"; }.thmc3 { background: #FFFFFF; }.thmc4 { background: "+colors['thmc4']+"; }.thmtxt { color: "+colors['thmtxt']+"; }.thmtxth { color: "+colors['thmtxth']+"; }.g_sep { border-color: "+colors['g_sep']+";} body{background-color: "+colors['background']+"} </style>"; $("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)); }); } $("div#settings div#panel_r").load("/desktop/settingthemes",function(){ $.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"); bindHandlers(); loadthmc(); }) }) } var connection = function(){ 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("<div class='c_info usrnm'>"+usernm+"</div>") $ul.find("input[type=password]").replaceWith("<div class='c_info pwd'>••••••</div>"); $(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('<input type="text" value="'+un+'">'); $ul.find("div.pwd").replaceWith('<input type="password">'); $(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('<input type="text">'); $ul.find("div.pwd").replaceWith('<input type="password">'); $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; $('#connection_setting').width(conlist_w); 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); } }) } $("div#settings div#panel_r").load("/desktop/settingconnection",function(){ $.getJSON("desktop/getaccounts",function(accounts){ $.each(accounts,function(i,account){ $ul = $("#"+account.type+"_connection"); $ul.find("input[type=text]").replaceWith("<div class='c_info usrnm'>"+account.email+"</div>") $ul.find("input[type=password]").replaceWith("<div class='c_info pwd'>••••••</div>"); $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(); }) }) } $(o.contentHolder).empty().load("/desktop/"+target,function(){ bindHandlers(); themes(); }); }; this.initializeOrbitTimeline = function(target){ o.currenthtml = target; o.currentface = "orbit"; var bindHandlers = function(){ var timeline = new orbitTimeline("#timeline"); timeline.initialize(); } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop_orbit/"+target,function(){ bindHandlers(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); bindHandlers(); } }; this.initializeJournalPapers = function(target){ // this init journal papers o.currenthtml = target; o.currentface = "journal_p"; var bindHandlers = function(){ // bind handler for journal paper $('.s_menu a').on({ click: function(){ if(!$(this).hasClass('active')){ var tfunc = $(this).attr('href'); switch(tfunc){ case 'list': list(); break; case 'addpaper': addpaper(); break; } $('.s_menu a').removeClass('thmc1 thmtxt active'); $(this).addClass('thmc1 thmtxt active'); } }, 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); } }); } var 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: '.list_t' }) $("#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; } return false; }) } 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; }) } var journalview = function(){ $("#journal_p div#paper_list div.overview").empty(); var column = $('<div class="g_col list_t"><ul></ul></div>'), counter = 1, li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+journal.title+'</div><div class="list_t_des">'+paper.title+'</div></li>'); column.find("ul").append(li); if(counter%5==0){ $("#journal_p div#paper_list div.overview").append(column); column = $('<div class="g_col list_t"><ul></ul></div>'); } counter++; }) }) $("#journal_p div#paper_list div.overview").append(column); bindSecondaryHandlers(); } var keywordsview = function(){ $("#journal_p div#paper_list div.overview").empty(); var column = $('<div class="g_col list_t"><ul></ul></div>'), counter = 1, li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.keywords+'</div></li>'); column.find("ul").append(li); if(counter%5==0){ $("#journal_p div#paper_list div.overview").append(column); column = $('<div class="g_col list_t"><ul></ul></div>'); } counter++; }) }) $("#journal_p div#paper_list div.overview").append(column); bindSecondaryHandlers(); } var titleview = function(){ $("#journal_p div#paper_list div.overview").empty(); var column = $('<div class="g_col list_t"><ul></ul></div>'), counter = 1, li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div></li>'); column.find("ul").append(li); if(counter%5==0){ $("#journal_p div#paper_list div.overview").append(column); column = $('<div class="g_col list_t"><ul></ul></div>'); } counter++; }) }) $("#journal_p div#paper_list div.overview").append(column); bindSecondaryHandlers(); } var abstractview = function(){ $("#journal_p div#paper_list div.overview").empty(); var column = $('<div class="g_col list_t"><ul></ul></div>'), li; $.each(journalData,function(i,journal){ $.each(journal.papers,function(j,paper){ li = $('<li class="list_t_item" style="height:auto;"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.abstract+paper.abstract+'</div></li>'); column.find("ul").append(li); $("#journal_p div#paper_list div.overview").append(column); column = $('<div class="g_col list_t"><ul></ul></div>'); }) }) $("#journal_p div#paper_list div.overview").append(column); bindSecondaryHandlers(); } $("div#journal_p div#panel_r").load("/desktop/journal_p_list",function(){ $.getJSON("/desktop_publications/getjournals",function(journals){ journalData = eval(journals); journalview(); bindHandlers(); }) }) } var addpaper = function(){ // to open add pages in journal papers page var bindHandlers = function(){ // to bind handlers for add page o.simple_drop_down(); o.tinyscrollbar_ext({ main: '.tinycanvas', fill: '.s_grid_con' }) } $("div#journal_p div#panel_r").load("/desktop/journal_p_add",function(){ bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ bindHandlers(); list(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); bindHandlers(); list(); } }; this.initializeAppstore = function(target){ o.currenthtml = target; o.currentface = "appstore"; var bindHandlers = function(){ $('.s_menu a').on({ click: function(){ if(!$(this).hasClass('active')){ var tfunc = $(this).attr('href'); switch(tfunc){ case 'widgets': widgets(); break; case 'onlinestore': onlinestore(); break; } $('.s_menu a').removeClass('thmc1 thmtxt active'); $(this).addClass('thmc1 thmtxt active'); } }, 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); } }); } var 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' }) } $("div#apps_store div#panel_r").load("/desktop_appstore/widgets",function(){ $.getJSON("/desktop_appstore/getuserwidgets",function(userwidgets){ var column = $('<div class="g_col list_t"><ul></ul></div>'), 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 = $('<li class="list_t_item" for="'+widge._id+'"><div class="list_t_title">'+widge.name+'</div><div class="list_t_des">Author : '+widge.author+'</div><div class="list_t_des">Shape : '+shp+'</div><div class="list_t_des status">Status : '+widge.status+'</div><div class="list_t_des not_status"></div></li>'); 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+= "<a href='removethis' for='"+s._id+"' style='text-decoration:underline;'>"+s.name +"</a> "; } }) }) 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+= "<a href='addthis' for='"+sec_link+"' style='text-decoration:underline;'>"+sec_name+"</a> "; } }) 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 <a href='addthis' for='"+o.sectionList[0]._id+"' style='text-decoration:underline;'>"+o.sectionList[0].name+"</a> <a href='addthis' for='"+o.sectionList[1]._id+"' style='text-decoration:underline;'>"+o.sectionList[1].name+"</a> <a href='addthis' for='"+o.sectionList[2]._id+"' style='text-decoration:underline;'>"+o.sectionList[2].name+"</a> <a href='addthis' for='"+o.sectionList[3]._id+"' style='text-decoration:underline;'>"+o.sectionList[3].name)+"</a>"; } //console.log(section_names); column.find("ul").append(li); if(counter%4==0){ $("#apps_store div#widget_list").append(column); column = $('<div class="g_col list_t" style="width:350px;"><ul></ul></div>'); } counter++; }) $("#apps_store div#widget_list").append(column); bindHandlers(); }) }) } var onlinestore = function(){ var bindHandlers = function(){ } $("div#apps_store div#panel_r").load("/desktop_appstore/onlinestore",function(){ bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop_appstore/"+target,function(){ onlinestore(); bindHandlers(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); onlinestore(); bindHandlers(); } } this.initializeBooks = function(target){ o.currenthtml = target; o.currentface = "books"; var bindHandlers = function(){ $('.s_menu a').on({ click: function(){ if(!$(this).hasClass('active')){ var tfunc = $(this).attr('href'); switch(tfunc){ case 'list': list(); break; case 'addbook': addbook(); break; } $('.s_menu a').removeClass('thmc1 thmtxt active'); $(this).addClass('thmc1 thmtxt active'); } }, 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); } }); } var list = function(){ var bindHandlers = function(){ o.simple_drop_down(); o.tinyscrollbar_ext({ main: '.tinycanvas', fill: '.list_t' }) } $("div#books div#panel_r").load("/desktop/books_list",function(){ bindHandlers(); }) } var addbook = function(){ var bindHandlers = function(){ o.simple_drop_down(); o.tinyscrollbar_ext({ main: '.tinycanvas', fill: '.s_grid_con' }) } $("div#books div#panel_r").load("/desktop/books_add",function(){ bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ list(); bindHandlers(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); list(); bindHandlers(); } } this.initializeSeminar = function(target){ o.currenthtml = target; o.currentface = "seminar_p"; var bindHandlers = function(){ $('.s_menu a').on({ click: function(){ if(!$(this).hasClass('active')){ var tfunc = $(this).attr('href'); switch(tfunc){ case 'list': list(); break; case 'addseminar': addseminar(); break; } $('.s_menu a').removeClass('thmc1 thmtxt active'); $(this).addClass('thmc1 thmtxt active'); } }, 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); } }); } var list = function(){ var bindHandlers = function(){ o.tinyscrollbar_ext({ main : ".tinycanvas", fill : ".list_t" }) } $("div#seminar_p div#panel_r").load("/desktop/seminar_p_list",function(){ bindHandlers(); }) } var addseminar = function(){ var bindHandlers = function(){ o.simple_drop_down(); o.tinyscrollbar_ext({ main: '.tinycanvas', fill: '.s_grid_con' }) } $("div#seminar_p div#panel_r").load("/desktop/seminar_p_add",function(){ bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ list(); bindHandlers(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); list(); bindHandlers(); } } this.initializeResearchDomain = function(target){ o.currenthtml = target; o.currentface = "research_d"; var bindHandlers = function(){ $('.s_menu a').on({ click: function(){ if(!$(this).hasClass('active')){ var tfunc = $(this).attr('href'); switch(tfunc){ case 'list': list(); break; case 'add': add_this(); break; } $('.s_menu a').removeClass('thmc1 thmtxt active'); $(this).addClass('thmc1 thmtxt active'); } }, 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); } }); } var list = function(){ var bindHandlers = function(){ o.tinyscrollbar_ext({ main : ".tinycanvas", fill : ".list_t" }) } $("div#research_d div#panel_r").load("/desktop/research_d_list",function(){ bindHandlers(); }) } var add_this = function(){ var bindHandlers = function(){ o.simple_drop_down(); o.tinyscrollbar_ext({ main: '.tinycanvas', fill: '.s_grid_con' }) } $("div#research_d div#panel_r").load("/desktop/research_d_add",function(){ bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ list(); bindHandlers(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); list(); bindHandlers(); } } this.initializeResearchProject = function(target){ o.currenthtml = target; o.currentface = "research_p"; var bindHandlers = function(){ $('.s_menu a').on({ click: function(){ if(!$(this).hasClass('active')){ var tfunc = $(this).attr('href'); switch(tfunc){ case 'list': list(); break; case 'add': add_this(); break; } $('.s_menu a').removeClass('thmc1 thmtxt active'); $(this).addClass('thmc1 thmtxt active'); } }, 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); } }); } var list = function(){ var bindHandlers = function(){ o.tinyscrollbar_ext({ main : ".tinycanvas", fill : ".list_t" }) } $("div#research_p div#panel_r").load("/desktop/research_p_list",function(){ bindHandlers(); }) } var add_this = function(){ var bindHandlers = function(){ o.simple_drop_down(); o.tinyscrollbar_ext({ main: '.tinycanvas', fill: '.s_grid_con' }) } $("div#research_p div#panel_r").load("/desktop/research_p_add",function(){ bindHandlers(); }) } if(!o.desktopData[o.currentface]){ $(o.contentHolder).empty().load("/desktop/"+target,function(){ list(); bindHandlers(); }); }else{ $(o.contentHolder).html(o.desktopData[o.currentface]); list(); bindHandlers(); } } 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("/desktop_widgets/"+widgename+"/"+widgename+".js",function(){ widget.find("div.appholder").load("/desktop_widgets/"+widgename+"/index.html.erb"); }); // $(this).find("div.appholder").append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', "/desktop_widgets/"+widgename+"/css/"+widgename+".css")); } }) }; 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"; orbitDesktop.prototype.widgetfolder = "desktop_widgets"; orbitDesktop.prototype.desktopId = "1"; orbitDesktop.prototype.notifyImgPath = "temp"; orbitDesktop.prototype.wallpaperPath = "/assets/stockBackground/"; orbitDesktop.prototype.iconPath = "/assets/icons/"; orbitDesktop.prototype.currentLanguage = "en"; orbitDesktop.prototype.currentUsername = "Harry"; var uselessfunction = function(){ $.post("/desktop/temp_func",{sectionid:"4f83e7bbbd98eb041600001d"}); }