Blame view

app/js/Application.js 2.16 KB
feacde5ff   Rishav   setup acuefuel in...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
  $(function () {
  	
  	Application.init ();
  	
  });
  
  
  
  var Application = function () {
  	
  	var validationRules = getValidationRules ();
  	
  	return { init: init, validationRules: validationRules };
  	
  	function init () {
  		
  		enableBackToTop ();
  		enableLightbox ();
  		enableCirque ();
  		enableEnhancedAccordion ();
  
  
  		$('.ui-tooltip').tooltip();
  	    $('.ui-popover').popover();
      
  
  	}
  
  	function enableCirque () {
  		if ($.fn.lightbox) {
  			$('.ui-lightbox').lightbox ();
  		}
  	}
  
  	function enableLightbox () {
  		if ($.fn.cirque) {
  			$('.ui-cirque').cirque ({  });
  		}
  	}
  
  	function enableBackToTop () {
  		var backToTop = $('<a>', { id: 'back-to-top', href: '#top' });
  		var icon = $('<i>', { class: 'icon-chevron-up' });
  
  		backToTop.appendTo ('body');
  		icon.appendTo (backToTop);
  		
  	    backToTop.hide();
  
  	    $(window).scroll(function () {
  	        if ($(this).scrollTop() > 150) {
  	            backToTop.fadeIn ();
  	        } else {
  	            backToTop.fadeOut ();
  	        }
  	    });
  
  	    backToTop.click (function (e) {
  	    	e.preventDefault ();
  
  	        $('body, html').animate({
  	            scrollTop: 0
  	        }, 600);
  	    });
  	}
  	
  	function enableEnhancedAccordion () {
  		$('.accordion-toggle').on('click', function (e) {			
  	         $(e.target).parent ().parent ().parent ().addClass('open');
  	    });
  	
  	    $('.accordion-toggle').on('click', function (e) {
  	        $(this).parents ('.panel').siblings ().removeClass ('open');
  	    });
  	    
  	}
  	
  	function getValidationRules () {
  		var custom = {
  	    	focusCleanup: false,
  			
  			wrapper: 'div',
  			errorElement: 'span',
  			
  			highlight: function(element) {
  				$(element).parents ('.form-group').removeClass ('success').addClass('error');
  			},
  			success: function(element) {
  				$(element).parents ('.form-group').removeClass ('error').addClass('success');
  				$(element).parents ('.form-group:not(:has(.clean))').find ('div:last').before ('<div class="clean"></div>');
  			},
  			errorPlacement: function(error, element) {
  				error.prependTo(element.parents ('.form-group'));
  			}
  	    	
  	    };
  	    
  	    return custom;
  	}
  	
  }();