Statistics
| Branch: | Tag: | Revision:

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

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