2012-07-04 09:55:30 +00:00
// JavaScript Document
//harry
//Inititialize function will initialize desktop
2012-11-15 03:18:55 +00:00
2012-11-22 08:31:37 +00:00
//callback-method will be called after desktop controlled ajax call
2012-11-20 09:20:05 +00:00
//container=true is the area where the view will be loaded
2012-11-22 08:31:37 +00:00
//load = true is used to load the list element by default
//response-type = "json"|"script"|"xml|html" default is json
2012-11-27 07:55:32 +00:00
//autocomplete-list = "listname" an array from which autocomplete will be attached to its respective input or textarea
2012-12-27 10:25:54 +00:00
//ajax-remote="get/delete/post" this will automatically bind the <a> with remote ajax call. By default if the resposne is html, it ll be inserted in container=true
// content-holder = "jquery dom", the returned html of server will be put inside the dom mentioned in content-holder of a tag. this can be used in a tags as attributes
//confirm-message ="Some message", this will prompt user with a confirm box and show the message before ajax call is made.
2012-11-20 09:20:05 +00:00
2012-11-08 09:01:59 +00:00
2012-07-04 09:55:30 +00:00
$ . extend ( $ . expr [ ':' ] , {
2012-11-15 03:18:55 +00:00
'containsi' : function ( elem , i , match , array ) {
return ( elem . textContent || elem . innerText || '' ) . toLowerCase ( ) . indexOf ( ( match [ 3 ] || "" ) . toLowerCase ( ) ) >= 0 ;
}
2012-07-04 09:55:30 +00:00
} ) ;
$ . fn . sort = function ( c ) {
2012-11-15 03:18:55 +00:00
return this . pushStack ( [ ] . sort . apply ( this , arguments ) , [ ] ) ;
} ;
2012-07-04 09:55:30 +00:00
var sortAscending = function ( a , b ) {
2012-11-15 03:18:55 +00:00
return $ ( a ) . find ( "h1" ) . text ( ) > $ ( b ) . find ( "h1" ) . text ( ) ? 1 : - 1 ;
2012-07-04 09:55:30 +00:00
} ;
var sortDescending = function ( a , b ) {
2012-11-15 03:18:55 +00:00
return $ ( a ) . find ( "h1" ) . text ( ) < $ ( b ) . find ( "h1" ) . text ( ) ? 1 : - 1 ;
2012-07-04 09:55:30 +00:00
} ;
var orbitDesktop = function ( dom ) {
2012-11-15 03:18:55 +00:00
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 ( $ ( '<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 ( ) ;
2012-11-28 10:11:49 +00:00
var custom _load = window . location . hash ;
if ( ! custom _load ) {
$ ( o . contentHolder ) . empty ( ) . load ( "/desktop/desktop" , function ( ) {
o . desktopData [ "d_desktop" ] = "" ;
o . initializeDesktop ( "d_desktop" , "" , false ) ;
} )
} else {
o . customPage ( custom _load ) ;
}
2012-11-15 03:18:55 +00:00
} ) ;
} )
}
}
2012-11-28 10:11:49 +00:00
this . customPage = function ( customload ) {
customload = customload . replace ( "#" , "" ) ;
if ( customload . search ( "-" ) != - 1 ) {
customload = customload . split ( "-" ) ;
o . menu _item ( $ ( ".docklist a[custom-load=" + customload [ 0 ] + "]" ) , true , customload [ 1 ] ) ;
} else {
o . menu _item ( $ ( ".docklist a[custom-load=" + customload + "]" ) , true ) ;
}
}
2012-11-15 03:18:55 +00:00
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 ( ) ;
} )
} ;
2012-11-28 10:11:49 +00:00
2012-11-15 03:18:55 +00:00
this . bindDesktopEvents = function ( ) { //this function will bind the global handlers to thd desktop, for example doc
$ ( ".docklist a" ) . click ( function ( ) {
2012-11-28 10:11:49 +00:00
o . menu _item ( $ ( this ) ) ;
2012-11-15 03:18:55 +00:00
return false ;
} )
2012-11-20 09:20:05 +00:00
2012-11-15 03:18:55 +00:00
$ ( 'body' ) . on ( {
click : function ( ) {
2012-11-29 08:46:33 +00:00
if ( ! $ ( this ) . hasClass ( 'active' ) ) {
o . sub _menu _item ( $ ( this ) ) ;
}
2012-11-15 03:18:55 +00:00
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 ) ;
}
2012-11-20 09:20:05 +00:00
} , '*[content-type=menu] a' ) ;
2012-11-21 09:11:18 +00:00
$ ( "body" ) . on ( "submit" , "form[form-type=ajax_form]" , function ( ) {
2012-11-20 09:20:05 +00:00
var callback _method = $ ( this ) . attr ( "callback-method" ) ;
2012-11-22 08:31:37 +00:00
var dt = null ;
dt = $ ( this ) . attr ( "response-type" ) ;
if ( dt == null ) {
dt = "json" ;
}
2012-11-20 09:20:05 +00:00
var options = {
2012-11-22 08:31:37 +00:00
dataType : dt ,
2012-11-20 09:20:05 +00:00
success : function ( responseText , statusText , xhr , $form ) {
if ( typeof callback _method != "undefined" ) {
if ( callback _method != "" ) {
window . o [ o . data _method ] [ callback _method ] ( responseText , statusText , xhr , $form ) ;
}
}
2012-11-22 08:31:37 +00:00
} ,
error : function ( ) {
o . notify ( "Please try again later!" , "imp" ) ;
2012-11-20 09:20:05 +00:00
}
}
$ ( this ) . ajaxSubmit ( options ) ;
return false ;
} )
2012-12-27 10:25:54 +00:00
$ ( "body" ) . on ( "click" , "*[ajax-remote]" , function ( ) {
var $e = $ ( this ) ;
var exe = $e . attr ( "callback-method" ) ; // (typeof $e.attr("callback-method") == "function"? $e.attr("callback-method") : "");
var ca = $e . attr ( "content-holder" ) ;
var a = function ( ) {
$ . ajax ( {
type : $e . attr ( "ajax-remote" ) ,
url : $e . attr ( "href" ) ,
success : function ( data ) {
if ( typeof data == "string" ) {
if ( ca )
$ ( ca ) . html ( data ) ;
else
$ ( "div[container=true]" ) . html ( data ) ;
}
if ( exe )
window . o [ o . data _method ] [ exe ] ( data , $e ) ;
}
} ) ;
}
if ( $e . attr ( "confirm-message" ) ) {
o . confirm ( {
buttons : [ "Yes" , "No" ] ,
highlighted : 2 ,
message : $e . attr ( "confirm-message" )
} , function ( value ) {
if ( value ) {
a ( ) ;
}
} )
} else {
a ( ) ;
}
return false ;
} )
2012-11-15 03:18:55 +00:00
$ ( 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 } ) ;
} )
}
} ) ;
2012-11-27 07:55:32 +00:00
2012-11-15 03:18:55 +00:00
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 ( ) ;
} ) ;
2012-11-27 07:55:32 +00:00
var split = function ( val ) {
return val . split ( /,\s*/ ) ;
}
var extractLast = function ( term ) {
return split ( term ) . pop ( ) ;
}
2012-12-27 10:25:54 +00:00
2012-11-27 07:55:32 +00:00
var autocompleteListName = null ;
$ ( "body" ) . on ( "keydown" , "*[autocomplete-list]" , function ( event ) {
autocompleteListName = $ ( this ) . attr ( "autocomplete-list" ) ;
if ( event . keyCode === $ . ui . keyCode . TAB &&
$ ( this ) . data ( "autocomplete" ) . menu . active ) {
event . preventDefault ( ) ;
}
$ ( this ) . autocomplete ( {
minLength : 0 ,
source : function ( request , response ) {
// delegate back to autocomplete, but extract the last term
response ( $ . ui . autocomplete . filter (
window . o [ o . data _method ] [ autocompleteListName ] , extractLast ( request . term ) ) ) ;
} ,
focus : function ( ) {
// prevent value inserted on focus
return false ;
} ,
select : function ( event , ui ) {
var terms = split ( this . value ) ;
// remove the current input
terms . pop ( ) ;
// add the selected item
terms . push ( ui . item . value ) ;
// add placeholder to get the comma-and-space at the end
terms . push ( "" ) ;
this . value = terms . join ( ", " ) ;
return false ;
}
} )
} )
2012-11-15 03:18:55 +00:00
} ;
2012-11-28 10:11:49 +00:00
this . menu _item = function ( dom , customload , submenuitem ) {
if ( ! customload ) customload = false ;
var target = dom . attr ( "id" ) ;
var url = dom . attr ( "href" ) ;
o . data _method = dom . attr ( "callback-method" ) ;
if ( o . currenthtml != target ) {
if ( o . desktopData [ o . currentface ] == "undefined" )
o . desktopData [ o . currentface ] = "" ;
o . desktopData [ o . currentface ] = $ ( o . contentHolder ) . html ( ) ;
if ( customload ) {
$ ( o . contentHolder ) . html ( "<div id='content'></div>" ) ;
}
$ ( "#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 ) ;
}
2012-12-06 09:43:19 +00:00
try {
if ( ! customload )
o . sub _menu _item ( $ ( o . contentHolder ) . find ( "*[content-type=menu] a[load=true]" ) ) ;
else {
if ( submenuitem )
o . sub _menu _item ( $ ( o . contentHolder ) . find ( "*[content-type=menu] a[custom-load=" + submenuitem + "]" ) ) ;
else
o . sub _menu _item ( $ ( o . contentHolder ) . find ( "*[content-type=menu] a[load=true]" ) ) ;
}
} catch ( EX ) { }
} )
} else {
$ ( o . contentHolder ) . html ( o . desktopData [ o . currentface ] ) ;
try {
2012-11-28 10:11:49 +00:00
if ( ! customload )
o . sub _menu _item ( $ ( o . contentHolder ) . find ( "*[content-type=menu] a[load=true]" ) ) ;
else {
if ( submenuitem )
o . sub _menu _item ( $ ( o . contentHolder ) . find ( "*[content-type=menu] a[custom-load=" + submenuitem + "]" ) ) ;
else
o . sub _menu _item ( $ ( o . contentHolder ) . find ( "*[content-type=menu] a[load=true]" ) ) ;
}
2012-12-06 09:43:19 +00:00
} catch ( EX ) { }
2012-11-28 10:11:49 +00:00
cache = true ;
if ( typeof o . data _method != "undefined" ) {
if ( o . data _method != "" )
window . o [ o . data _method ] ( target , url , cache ) ;
}
}
} ) ;
}
}
2012-11-20 09:20:05 +00:00
this . sub _menu _item = function ( dom ) {
var sub _data _method = dom . attr ( 'callback-method' ) ;
if ( sub _data _method ) {
$ ( "div[container=true]" ) . load ( dom . attr ( "href" ) , function ( ) {
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 ] ( ) ;
}
}
}
}
} )
}
$ ( '*[content-type=menu] a' ) . removeClass ( 'thmc1 thmtxt active' ) ;
dom . addClass ( 'thmc1 thmtxt active' ) ;
}
2012-11-15 03:18:55 +00:00
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 = $ ( '<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 data-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 data-id="' + tile . id + '" class="element ' + tile . shape + ' hp vp" data-category="' + tile . data _category + '" data-content="' + tile . data _content + '" js-link="' + tile . js [ 0 ] . url + '" css-link="' + tile . css . url + '"><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 ( 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 ( $ ( '<li class="section_name" ' + tempstyle + '><a class="admtxt hp w2 hh2" onclick="return false;" href="' + section . _id + '" >' + section . name + '</a></li>' ) ) ;
} )
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 = $ ( '<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 ( 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 = $ ( '<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 ++ ;
2012-12-07 02:10:38 +00:00
2012-11-15 03:18:55 +00:00
$ ( "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>' ) ;
2012-12-06 09:43:19 +00:00
2012-11-15 03:18:55 +00:00
$ ( "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
2012-12-03 04:23:56 +00:00
this . initializeSettings . account = function ( data ) { }
this . initializeSettings . passwordUpdate = function ( data ) {
if ( data . success ) {
o . notify ( data . msg , "success" ) ;
} else {
o . notify ( data . msg , "alert" ) ;
}
}
2012-11-28 10:11:49 +00:00
2012-11-15 03:18:55 +00:00
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 ( ) ;
2012-11-17 19:07:50 +00:00
} )
2012-11-15 03:18:55 +00:00
}
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 ) ;
}
} ) ;
} ) ;
$ ( '.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 ) ) ;
} ) ;
}
$ . 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 ( ) ;
} )
}
this . initializeSettings . 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 ) ;
}
} )
}
$ . getJSON ( "/otheraccounts/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 ( ) ;
} )
}
} ;
this . initializeOrbitTimeline = function ( target , url , cache ) {
var timeline = new orbitTimeline ( "#timeline" ) ;
timeline . initialize ( ) ;
} ;
2012-11-21 07:35:23 +00:00
2012-11-15 03:18:55 +00:00
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 = $ ( '<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 ) ;
} )
}
this . initializeAppstore . onlinestore = function ( ) {
var bindHandlers = function ( ) {
}
bindHandlers ( ) ;
}
this . initializeAppstore . onlinestore ( ) ;
bindHandlers ( ) ;
}
2012-12-27 10:25:54 +00:00
2012-11-15 03:18:55 +00:00
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 ( '<link rel="stylesheet" id="dyn_css" href="' + widget . attr ( "css-link" ) + '" type="text/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 ( ) ;
2012-07-04 09:55:30 +00:00
}
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 ( ) {
2012-11-15 03:18:55 +00:00
$ . post ( "/desktop/temp_func" , { sectionid : "4f83e7bbbd98eb041600001d" } ) ;
2012-07-05 08:42:00 +00:00
}
2012-11-05 15:04:54 +00:00