Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / ui / new_ui / ui / javascripts / common.js @ d42b9a6d

History | View | Annotate | Download (12.1 kB)

1 5acf3fcf Olga Brani
/*
2 5acf3fcf Olga Brani
* Various functions that will be used throughout all templates
3 5acf3fcf Olga Brani
* are inside ui Object
4 5acf3fcf Olga Brani
*/
5 b3c1328b Olga Brani
6 5acf3fcf Olga Brani
ui = {};
7 9b6be833 Olga Brani
/*
8 9b6be833 Olga Brani
* ui.wizards get populated in vm-wizard.js
9 9b6be833 Olga Brani
* here is the declaration only
10 9b6be833 Olga Brani
*/
11 6bd1416f Athina Bekakou
ui.wizard = {};
12 98714f8a Olga Brani
13 5acf3fcf Olga Brani
/* when closeEl el is clicked, its parent with class divToCloseClass slidesUp */
14 98714f8a Olga Brani
ui.closeDiv = function(closeEl, divToCloseClass) {
15 d3bfabe8 Olga Brani
    closeEl.click(function(e){
16 d3bfabe8 Olga Brani
        e.preventDefault();
17 d3bfabe8 Olga Brani
        $(this).parents(divToCloseClass).slideUp('slow');
18 d3bfabe8 Olga Brani
    });
19 b3c1328b Olga Brani
}
20 b3c1328b Olga Brani
21 98714f8a Olga Brani
22 9569cdc8 Olga Brani
ui.trimChars = function( str, chars) {
23 9569cdc8 Olga Brani
    if ( str.length>chars){
24 5acf3fcf Olga Brani
        return $.trim(str).substring(0, chars)+ "...";
25 9569cdc8 Olga Brani
    } else {
26 9569cdc8 Olga Brani
        return str;
27 9569cdc8 Olga Brani
    }
28 9569cdc8 Olga Brani
}
29 9569cdc8 Olga Brani
30 5acf3fcf Olga Brani
/* sets lt-sidebar height. Useful for jscrollpane scrollbar */
31 98714f8a Olga Brani
ui.setSidebarHeight = function(){
32 d3bfabe8 Olga Brani
    var WindowHeight = $(window).height();
33 d3bfabe8 Olga Brani
    var h1= WindowHeight - $('.header').outerHeight();
34 5acf3fcf Olga Brani
    var h2= $('.main').outerHeight();
35 5acf3fcf Olga Brani
    $('.lt-sidebar').height((h2>h1) ? h2 : h1);
36 98714f8a Olga Brani
}
37 98714f8a Olga Brani
38 5acf3fcf Olga Brani
39 5acf3fcf Olga Brani
/* 
40 5acf3fcf Olga Brani
* Logic for Entities actions. Present in items_list pages
41 5acf3fcf Olga Brani
* Available categories are :
42 5acf3fcf Olga Brani
*  - both/single ( for multiple entities/single entities)
43 5acf3fcf Olga Brani
*  - running/stopped ( for running/stopped entities)
44 5acf3fcf Olga Brani
*  - permanent ( for entities always active )
45 5acf3fcf Olga Brani
*/
46 5acf3fcf Olga Brani
ui.entitiesActionsEnabled = function(){
47 8db75456 Athina Bekakou
    var all = $('.snf-checkbox-checked').length;
48 8db75456 Athina Bekakou
    var running = $('.snf-checkbox-checked').parents('.container').find('.running').length;
49 8db75456 Athina Bekakou
    var stopped = $('.snf-checkbox-checked').parents('.container').find('.stopped').length;
50 6e3d008c Olga Brani
    $('.header .main-actions li:not(.permanent) a').removeClass('active');  
51 5e62e9c1 Olga Brani
    if ( (running*stopped) > 0 ){          
52 e5c8c342 Olga Brani
         $('.main-actions li.both a').addClass('active');
53 e5c8c342 Olga Brani
         $('.main-actions li.single a').removeClass('active');
54 5e62e9c1 Olga Brani
    } else {
55 5e62e9c1 Olga Brani
        if (running > 0) {
56 e5c8c342 Olga Brani
            $('.main-actions li.both a').addClass('active');
57 e5c8c342 Olga Brani
            $('.main-actions li.running a').addClass('active');
58 5e62e9c1 Olga Brani
        } else if (stopped>0) {
59 e5c8c342 Olga Brani
            $('.main-actions li.both a').addClass('active');
60 e5c8c342 Olga Brani
            $('.main-actions li.stopped a').addClass('active');
61 5e62e9c1 Olga Brani
        }
62 5e62e9c1 Olga Brani
        if ( all > 1 ) {
63 e5c8c342 Olga Brani
            $('.main-actions li.single a').removeClass('active');
64 5e62e9c1 Olga Brani
        }
65 5e62e9c1 Olga Brani
    }
66 5e62e9c1 Olga Brani
}
67 a18bd0ed Olga Brani
68 788833c7 Olga Brani
ui.entitiesActionsInit = function(){
69 5e62e9c1 Olga Brani
70 d42b9a6d Athina Bekakou
    $('.entities li.test1 .container .img').mouseenter(function(e) {
71 d42b9a6d Athina Bekakou
        $(this).closest('.container').stop(true, true).hide();
72 d42b9a6d Athina Bekakou
        $(this).closest('.container').siblings('.overlap_options').stop(true, true).fadeIn(500);//stop().slideToggle(600);
73 fdd03619 Athina Bekakou
    });
74 fdd03619 Athina Bekakou
    $('.entities li.test1 .overlap_options').mouseleave(function(e) {
75 fdd03619 Athina Bekakou
        var self = this;
76 d42b9a6d Athina Bekakou
        $(this).stop(true, true).fadeOut(200, function() {
77 d42b9a6d Athina Bekakou
            $(this).siblings('.container').stop(true,true).fadeIn('fast');
78 d42b9a6d Athina Bekakou
        });
79 fdd03619 Athina Bekakou
    });
80 fdd03619 Athina Bekakou
81 fdd03619 Athina Bekakou
    $('.entities li.test2 .container .img-wrap').mouseenter(function(e) {
82 fdd03619 Athina Bekakou
        $(this).closest('.container').hide();
83 fdd03619 Athina Bekakou
        $(this).closest('.container').siblings('.overlap_options').stop().slideToggle(600);
84 fdd03619 Athina Bekakou
    });
85 fdd03619 Athina Bekakou
    $('.entities li.test2 .overlap_options').mouseleave(function(e) {
86 fdd03619 Athina Bekakou
        var self = this;
87 fdd03619 Athina Bekakou
        $(this).stop().slideToggle(600, function(e) {
88 fdd03619 Athina Bekakou
             $(self).siblings('.container').fadeIn();
89 fdd03619 Athina Bekakou
        });
90 fdd03619 Athina Bekakou
    });
91 5e62e9c1 Olga Brani
}
92 01fa9e32 Olga Brani
93 5acf3fcf Olga Brani
/*
94 5acf3fcf Olga Brani
* In order for the editable value functionality to work, the html markup
95 5acf3fcf Olga Brani
* should be:
96 5acf3fcf Olga Brani
    <div class="editable">
97 5acf3fcf Olga Brani
        <span class="input-txt">editable value</span>
98 5acf3fcf Olga Brani
        <input type="text">
99 5acf3fcf Olga Brani
        <a href="#" class="edit">edit</a>
100 5acf3fcf Olga Brani
        <a href="#" class="save">save</a>
101 5acf3fcf Olga Brani
        <a href="#" class="cancel">cancel</a>
102 5acf3fcf Olga Brani
    </div>
103 5acf3fcf Olga Brani
*/
104 788833c7 Olga Brani
ui.editable = function(){
105 788833c7 Olga Brani
106 788833c7 Olga Brani
/*
107 5acf3fcf Olga Brani
* resetForm hides save and cancel buttons,
108 5acf3fcf Olga Brani
* text input and shows input-txt. resetForm does not alter
109 5acf3fcf Olga Brani
* input-txt content.
110 788833c7 Olga Brani
*/
111 788833c7 Olga Brani
112 788833c7 Olga Brani
    function resetForm(e, elem) {
113 788833c7 Olga Brani
        var el = elem.parents('.editable');
114 788833c7 Olga Brani
        el.find('input[type="text"]').hide();
115 788833c7 Olga Brani
        el.find('a.cancel, a.save').hide();
116 5acf3fcf Olga Brani
        el.find('a.edit, .input-txt').show();
117 788833c7 Olga Brani
    }
118 788833c7 Olga Brani
119 788833c7 Olga Brani
/* 
120 5acf3fcf Olga Brani
* showForm hides input-txt, shows save and cancel buttons and
121 5acf3fcf Olga Brani
* sets input value to input-txt content.
122 788833c7 Olga Brani
*/
123 788833c7 Olga Brani
    function showForm(e,elem) {
124 788833c7 Olga Brani
        e.stopPropagation(); 
125 788833c7 Olga Brani
        e.preventDefault();
126 788833c7 Olga Brani
        var el = elem.parents('.editable'); 
127 788833c7 Olga Brani
        el.find('input[type="text"]').val(el.find('.input-txt').html());
128 788833c7 Olga Brani
        el.find('input[type="text"]').show();
129 788833c7 Olga Brani
        el.find('a.cancel, a.save').show();
130 788833c7 Olga Brani
        elem.hide();
131 788833c7 Olga Brani
        el.find('.input-txt').hide();
132 788833c7 Olga Brani
133 788833c7 Olga Brani
    }
134 788833c7 Olga Brani
135 788833c7 Olga Brani
/*
136 788833c7 Olga Brani
setValue sets input-txt value to the input value.
137 788833c7 Olga Brani
Makes sure that the input value is not empty.
138 788833c7 Olga Brani
TODO:
139 788833c7 Olga Brani
Ajax request to submit form
140 788833c7 Olga Brani
*/
141 788833c7 Olga Brani
142 788833c7 Olga Brani
    function setValue(elem) {
143 788833c7 Olga Brani
        var el = elem.parents('.editable');
144 788833c7 Olga Brani
        if( el.find('input[type="text"]').val() ) {
145 788833c7 Olga Brani
            el.find('.input-txt').html(el.find('input[type="text"]').val());
146 788833c7 Olga Brani
        }
147 788833c7 Olga Brani
    }
148 788833c7 Olga Brani
149 788833c7 Olga Brani
150 788833c7 Olga Brani
    $('.editable .edit').click(function(e){
151 788833c7 Olga Brani
        showForm(e, $(this));
152 788833c7 Olga Brani
    })
153 788833c7 Olga Brani
154 788833c7 Olga Brani
    $('.editable .cancel').click(function(e){
155 788833c7 Olga Brani
        e.stopPropagation();
156 788833c7 Olga Brani
        e.preventDefault();
157 788833c7 Olga Brani
        resetForm(e, $(this));
158 788833c7 Olga Brani
    })
159 788833c7 Olga Brani
160 788833c7 Olga Brani
    $('.editable .save').click(function(e){
161 788833c7 Olga Brani
        e.stopPropagation();
162 788833c7 Olga Brani
        e.preventDefault();
163 788833c7 Olga Brani
        setValue($(this));
164 788833c7 Olga Brani
        resetForm(e, $(this));
165 788833c7 Olga Brani
166 788833c7 Olga Brani
    })
167 788833c7 Olga Brani
168 788833c7 Olga Brani
169 788833c7 Olga Brani
    $('.editable input[type="text"]').click(function(e){
170 788833c7 Olga Brani
        e.stopPropagation();
171 788833c7 Olga Brani
    })
172 788833c7 Olga Brani
173 788833c7 Olga Brani
    $('.editable input[type="text"]').keyup(function(e){
174 788833c7 Olga Brani
        if(e.keyCode == 13) { 
175 788833c7 Olga Brani
            setValue($(this));
176 788833c7 Olga Brani
            resetForm(e, $(this));
177 788833c7 Olga Brani
            
178 788833c7 Olga Brani
        }
179 788833c7 Olga Brani
    
180 788833c7 Olga Brani
    })
181 788833c7 Olga Brani
182 788833c7 Olga Brani
    $('html').click(function(e) {
183 788833c7 Olga Brani
        resetForm(e, $('.editable a.cancel'));
184 788833c7 Olga Brani
    });
185 788833c7 Olga Brani
186 9569cdc8 Olga Brani
}
187 9569cdc8 Olga Brani
188 5acf3fcf Olga Brani
/* TODO: better overlay functionality */
189 9569cdc8 Olga Brani
ui.overlay = function() {
190 9569cdc8 Olga Brani
    $('[data-overlay-id]').click(function(e){
191 9569cdc8 Olga Brani
        e.preventDefault();
192 9569cdc8 Olga Brani
        var el = $(this);
193 9569cdc8 Olga Brani
        // main-actions a need to be active to trigger overlay
194 9569cdc8 Olga Brani
        if ( (el.parents('.main-actions').find('li a.active').length == 0) && (el.parents('.main-actions').length > 0) ) {
195 9569cdc8 Olga Brani
            return false;
196 9569cdc8 Olga Brani
        }
197 9569cdc8 Olga Brani
        var id = el.data('overlay-id');
198 03bcb595 Olga Brani
199 bb8cc1dc Olga Brani
        $('.overlay-area').fadeIn(100);
200 bb8cc1dc Olga Brani
        $('body').addClass('with-overlay');
201 6fcab23b Olga Brani
        $(id).fadeIn('slow');
202 bdf1d2fd Olga Brani
        console.log(id);
203 bdf1d2fd Olga Brani
        if (id=='#network-wizard') {
204 bdf1d2fd Olga Brani
            $(id).find('input').first().focus();
205 bdf1d2fd Olga Brani
            return false;
206 bdf1d2fd Olga Brani
        }
207 9b6be833 Olga Brani
        $(id).find('a').first().focus();
208 9569cdc8 Olga Brani
    });
209 788833c7 Olga Brani
}
210 788833c7 Olga Brani
211 3820a3de Athina Bekakou
// when user moves a vm or network icon (list view)
212 3820a3de Athina Bekakou
ui.placementByUser = function() {
213 3820a3de Athina Bekakou
    if($('.sortable').length != 0) {
214 3820a3de Athina Bekakou
        $( ".sortable" ).sortable({
215 3820a3de Athina Bekakou
            items: "> li:not(:last)",
216 3820a3de Athina Bekakou
            stop: function(event, ui) {
217 3820a3de Athina Bekakou
                $.map($(this).find('li'), function(el) {
218 3820a3de Athina Bekakou
                            return $(el).attr('data-order', $(el).index());
219 3820a3de Athina Bekakou
                        });
220 3820a3de Athina Bekakou
            }
221 3820a3de Athina Bekakou
        });
222 3820a3de Athina Bekakou
223 3820a3de Athina Bekakou
        $( ".sortable" ).disableSelection(); //i think unnecessary
224 3820a3de Athina Bekakou
    }
225 3820a3de Athina Bekakou
}
226 3820a3de Athina Bekakou
227 5c4713f8 Olga Brani
function goToByScroll(id){
228 5c4713f8 Olga Brani
      // Remove "link" from the ID
229 5c4713f8 Olga Brani
    id = id.replace("link", "");
230 5c4713f8 Olga Brani
      // Scroll
231 5c4713f8 Olga Brani
    $('html,body').animate({
232 5c4713f8 Olga Brani
        scrollTop: $("#"+id).offset().top},
233 5c4713f8 Olga Brani
        'slow');
234 5c4713f8 Olga Brani
}
235 f5321878 Olga Brani
236 f5321878 Olga Brani
237 9b6be833 Olga Brani
/*
238 9b6be833 Olga Brani
* functions concerning checkboxes and radiobuttons links
239 9b6be833 Olga Brani
*/
240 9b6be833 Olga Brani
ui.changeCheckboxState =function(checkbox_link) {
241 9b6be833 Olga Brani
     $(checkbox_link).find('.snf-checkbox-unchecked, .snf-checkbox-checked').toggleClass('snf-checkbox-unchecked snf-checkbox-checked');
242 9b6be833 Olga Brani
}
243 9b6be833 Olga Brani
244 9b6be833 Olga Brani
ui.changeRadiobuttonState = function(radiobtn_link) {
245 9b6be833 Olga Brani
    $(radiobtn_link).find('span.snf-radio-unchecked, span.snf-radio-checked').toggleClass('snf-radio-unchecked snf-radio-checked');
246 9b6be833 Olga Brani
}
247 9b6be833 Olga Brani
248 9b6be833 Olga Brani
ui.checkOneRadioButton = function(radiobtn_link) {
249 9b6be833 Olga Brani
    $(radiobtn_link).closest('ul').find('span.snf-radio-checked').toggleClass('snf-radio-unchecked snf-radio-checked');
250 9b6be833 Olga Brani
}
251 9b6be833 Olga Brani
252 9b6be833 Olga Brani
253 937c0d49 Athina Bekakou
// toggle expand arrrow  and corresponding area
254 937c0d49 Athina Bekakou
// todo: one function for all the areas we reveal
255 937c0d49 Athina Bekakou
ui.expandDownArea = function(arrow_link, area) {
256 937c0d49 Athina Bekakou
    var arrow_link = $(arrow_link);
257 937c0d49 Athina Bekakou
    var area = $(area);
258 937c0d49 Athina Bekakou
            arrow_link.find('span.snf-arrow-up, span.snf-arrow-down').toggleClass('snf-arrow-up snf-arrow-down');
259 937c0d49 Athina Bekakou
            // $('.wizard-content').removeAttr('style');
260 937c0d49 Athina Bekakou
            area.stop().slideToggle(600, function() {
261 937c0d49 Athina Bekakou
                if (area.is(':visible').length != 0) {
262 937c0d49 Athina Bekakou
                    arrow_link.find('.snf-arrow-down .snf-arrow-up').removeClass('snf-arrow-down').addClass('snf-arrow-up');
263 937c0d49 Athina Bekakou
                } else {
264 937c0d49 Athina Bekakou
                    arrow_link.find('.snf-arrow-down .snf-arrow-up').addClass('snf-arrow-down');
265 937c0d49 Athina Bekakou
                }
266 937c0d49 Athina Bekakou
267 937c0d49 Athina Bekakou
            });
268 937c0d49 Athina Bekakou
}
269 9b6be833 Olga Brani
270 b3c1328b Olga Brani
$(document).ready(function(){
271 b3c1328b Olga Brani
272 5acf3fcf Olga Brani
    ui.setSidebarHeight();
273 d3bfabe8 Olga Brani
    ui.closeDiv($('.info .close'), '.info');
274 5acf3fcf Olga Brani
    ui.editable();
275 5acf3fcf Olga Brani
    ui.overlay();
276 4ff5dda5 Athina Bekakou
    ui.colorPickerVisible = 0;
277 d3bfabe8 Olga Brani
278 937c0d49 Athina Bekakou
    $("a.disabled").each(function() {
279 937c0d49 Athina Bekakou
        $(this).removeAttr('href');
280 937c0d49 Athina Bekakou
    });
281 937c0d49 Athina Bekakou
    
282 937c0d49 Athina Bekakou
    $("a.disabled").click(function(e) {
283 937c0d49 Athina Bekakou
        e.preventDefault();
284 937c0d49 Athina Bekakou
    });
285 937c0d49 Athina Bekakou
286 62462e34 Athina Bekakou
    // checkbox: basic reaction on click (checked, unchecked)
287 05205849 Athina Bekakou
    // see wizard
288 62462e34 Athina Bekakou
    $('.check').click(function(e){
289 62462e34 Athina Bekakou
        e.preventDefault();
290 62462e34 Athina Bekakou
        e.stopPropagation();
291 62462e34 Athina Bekakou
        ui.changeCheckboxState(this);
292 62462e34 Athina Bekakou
    });
293 62462e34 Athina Bekakou
294 937c0d49 Athina Bekakou
295 937c0d49 Athina Bekakou
    $('.with-checkbox').click(function(e){
296 937c0d49 Athina Bekakou
        e.preventDefault();
297 937c0d49 Athina Bekakou
        e.stopPropagation();
298 937c0d49 Athina Bekakou
        var checkbox = self.find('.check');
299 937c0d49 Athina Bekakou
        ui.changeCheckboxState(checkbox);
300 937c0d49 Athina Bekakou
    });
301 937c0d49 Athina Bekakou
302 937c0d49 Athina Bekakou
    $('.radio_btn').click(function(e) {
303 937c0d49 Athina Bekakou
        e.preventDefault();
304 937c0d49 Athina Bekakou
         var state = $(this).find('span');
305 937c0d49 Athina Bekakou
         if(state.hasClass('snf-radio-unchecked')) {
306 937c0d49 Athina Bekakou
            ui.checkOneRadioButton(this);
307 937c0d49 Athina Bekakou
            ui.changeRadiobuttonState(this);
308 937c0d49 Athina Bekakou
        }
309 937c0d49 Athina Bekakou
    })
310 937c0d49 Athina Bekakou
311 62462e34 Athina Bekakou
    ui.entitiesActionsInit();
312 d3bfabe8 Olga Brani
    
313 d3bfabe8 Olga Brani
    $('.new-btn a.current').click(function(e){
314 d3bfabe8 Olga Brani
        e.preventDefault();
315 d3bfabe8 Olga Brani
    })
316 d3bfabe8 Olga Brani
317 d3bfabe8 Olga Brani
    $('.main-actions li a').click(function(e){
318 d3bfabe8 Olga Brani
        if (!($(this).hasClass('active'))) {
319 d3bfabe8 Olga Brani
            e.preventDefault();
320 d3bfabe8 Olga Brani
        }
321 d3bfabe8 Olga Brani
    })
322 788833c7 Olga Brani
    $('.scroll-pane').jScrollPane();
323 f2126967 Olga Brani
324 9569cdc8 Olga Brani
    $('.main .items-list .title em').each(function(){
325 5acf3fcf Olga Brani
        $(this).html( ui.trimChars($(this).html(), 20) );
326 9569cdc8 Olga Brani
327 9569cdc8 Olga Brani
    })
328 9569cdc8 Olga Brani
329 f2126967 Olga Brani
    $('.main-actions li a').click(function(e){
330 f2126967 Olga Brani
        if (!($(this).hasClass('active'))) {
331 f2126967 Olga Brani
            e.preventDefault();
332 f2126967 Olga Brani
        }
333 f2126967 Olga Brani
    })
334 62462e34 Athina Bekakou
    $('.overlay-area').children('.close').click(function(e){
335 9569cdc8 Olga Brani
        e.preventDefault();
336 62462e34 Athina Bekakou
        e.stopPropagation();
337 9569cdc8 Olga Brani
        $(this).parents('.overlay-area').hide();
338 03bcb595 Olga Brani
        $(this).parents('.overlay-area').find($('.overlay-div')).hide();
339 bb8cc1dc Olga Brani
        $('body').removeClass('with-overlay');
340 9569cdc8 Olga Brani
    })
341 f2126967 Olga Brani
342 182f3fe2 Olga Brani
    $('.browse-files').click(function(e){
343 182f3fe2 Olga Brani
        e.preventDefault();
344 182f3fe2 Olga Brani
    })
345 182f3fe2 Olga Brani
346 846f5913 Olga Brani
    Dropzone.options.filesDropzone = {
347 182f3fe2 Olga Brani
        dictDefaultMessage:'',
348 182f3fe2 Olga Brani
        clickable: '.browse-files',
349 846f5913 Olga Brani
        previewsContainer: '.dropzone-files',
350 846f5913 Olga Brani
        createImageThumbnails: false,
351 846f5913 Olga Brani
        dictRemoveFile: "snf-Remove file",
352 182f3fe2 Olga Brani
    };
353 182f3fe2 Olga Brani
354 342fa48b Olga Brani
355 342fa48b Olga Brani
    $('.main .files').magnificPopup({
356 342fa48b Olga Brani
        delegate: 'a.show.image',
357 342fa48b Olga Brani
        type: 'image',
358 342fa48b Olga Brani
        tLoading: 'Loading image #%curr%...',
359 342fa48b Olga Brani
        mainClass: 'mfp-img-mobile',
360 342fa48b Olga Brani
        gallery: {
361 342fa48b Olga Brani
            enabled: true,
362 342fa48b Olga Brani
            navigateByImgClick: true,
363 342fa48b Olga Brani
            preload: [0,1] // Will preload 0 - before current, and 1 after the current image
364 342fa48b Olga Brani
        },
365 342fa48b Olga Brani
        image: {
366 bb8cc1dc Olga Brani
            tError: 'The image could not be loaded.',
367 342fa48b Olga Brani
            titleSrc: function(item) {
368 342fa48b Olga Brani
                return item.el.data('title');
369 342fa48b Olga Brani
            }
370 342fa48b Olga Brani
        }
371 342fa48b Olga Brani
    });
372 342fa48b Olga Brani
373 62462e34 Athina Bekakou
    ui.placementByUser();
374 62462e34 Athina Bekakou
375 62462e34 Athina Bekakou
    if($('#picker').length>0) {
376 62462e34 Athina Bekakou
        $('#picker').farbtastic('#color');
377 62462e34 Athina Bekakou
    };
378 f2380a69 Athina Bekakou
    if($('#sb-search').length>0) {
379 f2380a69 Athina Bekakou
        new UISearch( document.getElementById( 'sb-search' ) );
380 f2380a69 Athina Bekakou
    }
381 026edcbc Olga Brani
382 026edcbc Olga Brani
383 026edcbc Olga Brani
    /* grid/list view for items-list */
384 026edcbc Olga Brani
385 026edcbc Olga Brani
    $('.view-type .list').click(function(e){
386 026edcbc Olga Brani
        e.preventDefault();
387 026edcbc Olga Brani
        $('.view-type .grid span').removeClass('current');
388 026edcbc Olga Brani
        $(this).find('span').addClass('current');
389 026edcbc Olga Brani
        $('.items-list').removeClass('small-block-grid-2 large-block-grid-3');
390 026edcbc Olga Brani
        $('.items-list').addClass('list-view');
391 775d43ea Athina Bekakou
    });
392 026edcbc Olga Brani
393 026edcbc Olga Brani
     $('.view-type .grid').click(function(e){
394 026edcbc Olga Brani
        e.preventDefault();
395 026edcbc Olga Brani
        $('.view-type .list span').removeClass('current');
396 026edcbc Olga Brani
        $(this).find('span').addClass('current');
397 026edcbc Olga Brani
        $('.items-list').addClass('small-block-grid-2 large-block-grid-3');
398 026edcbc Olga Brani
        $('.items-list').removeClass('list-view');
399 775d43ea Athina Bekakou
    });
400 775d43ea Athina Bekakou
401 775d43ea Athina Bekakou
    // set filter visible
402 775d43ea Athina Bekakou
    $('.filter-menu .filter').click(function(e) {
403 775d43ea Athina Bekakou
        e.preventDefault();
404 775d43ea Athina Bekakou
        var self = this;
405 775d43ea Athina Bekakou
        $(self).parents('.filter-menu').toggleClass('current');
406 775d43ea Athina Bekakou
        // $(self).siblings('.options').stop().slideToggle(400, function() {
407 775d43ea Athina Bekakou
        //     if($(self).s)
408 775d43ea Athina Bekakou
        // });
409 026edcbc Olga Brani
    })
410 98714f8a Olga Brani
})
411 b3c1328b Olga Brani
412 9569cdc8 Olga Brani
413 98714f8a Olga Brani
$(window).resize(function(e){
414 d3bfabe8 Olga Brani
    ui.setSidebarHeight();
415 e106fc8f Olga Brani
    $('.scroll-pane').jScrollPane();
416 b3c1328b Olga Brani
})