PageRenderTime 37ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/templates/padraogoverno01/js/template.js

https://github.com/J2MTecnologia/joomla-3.x
JavaScript | 298 lines | 250 code | 20 blank | 28 comment | 35 complexity | e166cf532646b3ca3d072bf22cc70ac7 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1, BSD-3-Clause
  1. jQuery(function () {
  2. //init
  3. init();
  4. //acao botao de alto contraste
  5. jQuery('a.toggle-contraste').click(function(){
  6. if(!jQuery('div.layout').hasClass('contraste'))
  7. {
  8. jQuery('div.layout').addClass('contraste');
  9. layout_classes = jQuery.cookie('layout_classes');
  10. if( layout_classes != 'undefined' )
  11. layout_classes = layout_classes + ' contraste';
  12. else
  13. layout_classes = 'contraste';
  14. jQuery.cookie('layout_classes', layout_classes );
  15. }
  16. else
  17. {
  18. jQuery('div.layout').removeClass('contraste');
  19. layout_classes = jQuery.cookie('layout_classes');
  20. layout_classes = layout_classes.replace('contraste', '');
  21. jQuery.cookie('layout_classes', layout_classes );
  22. }
  23. });
  24. //fim acao botao de alto contraste
  25. // botao de menu para resolucoes menores ou iguais a 800 x 1280
  26. jQuery('a.mainmenu-toggle').click(function(){
  27. if( !jQuery('#navigation-section').is(':visible') )
  28. {
  29. jQuery('#navigation-section').slideDown();
  30. if( jQuery(document).width() > 767 )
  31. jQuery('#em-destaque').fadeOut();
  32. }
  33. else
  34. {
  35. jQuery('#navigation-section').slideUp();
  36. if( jQuery(document).width() > 767 )
  37. jQuery('#em-destaque').fadeIn();
  38. }
  39. return false;
  40. });
  41. // fim botao de menu para resolucoes menores ou iguais a 800 x 1280
  42. //botao de acao de voltar para o topo
  43. jQuery('.voltar-ao-topo a').click(function() {
  44. if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
  45. var target = jQuery(this.hash);
  46. target = target.length ? target : jQuery('[name=' + this.hash.slice(1) +']');
  47. if (target.length) {
  48. jQuery('html,body').animate({
  49. scrollTop: target.offset().top
  50. }, 1000);
  51. return false;
  52. }
  53. }
  54. });
  55. //fim botao de acao de voltar para o topo
  56. });
  57. jQuery(window).resize(function(){
  58. resize();
  59. });
  60. function init() {
  61. //classes de layout
  62. jQuery('div.layout').addClass( jQuery.cookie('layout_classes') );
  63. //ajustes conforme navegador
  64. browser_adjusts();
  65. //inicializacao de carrossel
  66. jQuery('.gallery-pane .carousel').carousel();
  67. carousel_addons();
  68. //resize para responsividade
  69. resize();
  70. //ajuste de caixas de modulos do tipo module_box
  71. module_box_adjust(null);
  72. //paginas internas:
  73. delaySocialItems();
  74. }
  75. function resize() {
  76. //ajustes de responsividade
  77. if( jQuery(document).width() < 979 )
  78. {
  79. if( jQuery('#navigation h2').css('cursor') != 'pointer' )
  80. {
  81. jQuery('#navigation h2').css('cursor', 'pointer');
  82. jQuery('#navigation h2').click(function(){
  83. if( !jQuery(this).next().is(':visible') )
  84. {
  85. jQuery(this).next().slideDown();
  86. jQuery(this).find('i').removeClass('icon-chevron-down');
  87. jQuery(this).find('i').addClass('icon-chevron-up');
  88. }
  89. else
  90. {
  91. jQuery(this).next().slideUp();
  92. jQuery(this).find('i').addClass('icon-chevron-down');
  93. jQuery(this).find('i').removeClass('icon-chevron-up');
  94. }
  95. });
  96. }
  97. if( jQuery('#navigation-section').is(':visible') )
  98. jQuery('#navigation-section').hide();
  99. if( ! jQuery('#em-destaque').is(':visible') )
  100. jQuery('#em-destaque').fadeIn();
  101. }
  102. else
  103. {
  104. if( jQuery('#navigation h2').css('cursor') != 'default' )
  105. {
  106. jQuery('#navigation h2').css('cursor', 'default');
  107. jQuery('#navigation h2').click(function(){ return false; });
  108. jQuery('#navigation h2').next().show();
  109. jQuery('#navigation-section').fadeIn();
  110. jQuery('#em-destaque').fadeIn();
  111. module_box_adjust();
  112. }
  113. }
  114. //fim ajustes responsividade
  115. }
  116. // ajustes de navegador
  117. function browser_adjusts() {
  118. if(navigator.appVersion.indexOf("MSIE 7.")!=-1 || navigator.appVersion.indexOf("MSIE 8.")!=-1 || navigator.appVersion.indexOf("MSIE 9.")!=-1)
  119. {
  120. jQuery('#portal-searchbox .searchField').val( jQuery('#portal-searchbox .searchField').attr('title') );
  121. jQuery('#portal-searchbox .searchField').focus(function(){
  122. if(jQuery(this).val()==jQuery('#portal-searchbox .searchField').attr('title')) jQuery(this).val('');
  123. });
  124. jQuery('#portal-searchbox .searchField').blur(function(){
  125. if(jQuery(this).val()=='') jQuery(this).val(jQuery('#portal-searchbox .searchField').attr('title'));
  126. });
  127. }
  128. }
  129. // fim ajustes de navegador
  130. //ajustes de tamanho dos itens para .module-box-01
  131. function module_box_adjust() {
  132. jQuery('.module-box-01 .lista li').each(function(key){
  133. limit = 3 * parseInt(jQuery('.module-box-01 .lista li').size()/3);
  134. if((key+1)%3==0 && (key+1)<=limit)
  135. {
  136. elm1 = jQuery('.module-box-01 .lista li').eq(key-2);
  137. elm2 = jQuery('.module-box-01 .lista li').eq(key-1);
  138. elm3 = jQuery('.module-box-01 .lista li').eq(key);
  139. // alert(elm3.text());
  140. padding_vertical = 2;
  141. height = elm1.height();
  142. if(elm2.height() > height)
  143. height = elm2.height();
  144. if(elm3.height() > height)
  145. height = elm3.height();
  146. elm1.height(height+padding_vertical);
  147. elm2.height(height+padding_vertical);
  148. elm3.height(height+padding_vertical);
  149. }
  150. else if((key+1)>limit)
  151. {
  152. if(jQuery('.module-box-01 .lista li').size()-limit==2)
  153. {
  154. elm1 = jQuery('.module-box-01 .lista li').eq(key);
  155. elm2 = jQuery('.module-box-01 .lista li').eq(key+1);
  156. padding_vertical = 2;
  157. height = elm1.height();
  158. if(elm2.height() > height)
  159. height = elm2.height();
  160. elm1.height(height+padding_vertical);
  161. elm2.height(height+padding_vertical);
  162. return false;
  163. }
  164. else
  165. return false;
  166. }
  167. });
  168. }
  169. //fim ajustes de tamanho dos itens para .module-box-01
  170. //aparecimento de icones de redes sociais, paginas internas
  171. function delaySocialItems()
  172. {
  173. if(jQuery('.btns-social-like').hasClass('hide'))
  174. {
  175. jQuery('.btns-social-like').each(function(){
  176. jQuery(this).hide();
  177. jQuery(this).removeClass('hide');
  178. jQuery(this).fadeIn(6000);
  179. });
  180. }
  181. }
  182. //fim aparecimento de icones de redes sociais, paginas internas
  183. //funcao de controle de player de audio
  184. function playAudio(element, urls, formats, basePath)
  185. {
  186. var audio = document.createElement("audio"),
  187. canPlayMP3 = (typeof audio.canPlayType === "function" && audio.canPlayType("audio/mpeg") !== "");
  188. if(formats.indexOf('mp3')!=-1 && !canPlayMP3)
  189. {
  190. jQuery('#'+element).jPlayer({
  191. ready: function (event) {
  192. jQuery(this).jPlayer("setMedia", urls);
  193. },
  194. swfPath: basePath+"js/Jplayer.swf",
  195. supplied: formats,
  196. wmode: "window",
  197. solution:"flash",
  198. smoothPlayBar: true,
  199. keyEnabled: true,
  200. oggSupport: false,
  201. nativeSupport: false,
  202. cssSelectorAncestor: "#jp_container_"+element,
  203. preload:"none"
  204. });
  205. }
  206. else
  207. {
  208. jQuery('#'+element).jPlayer({
  209. ready: function (event) {
  210. jQuery(this).jPlayer("setMedia", urls);
  211. },
  212. swfPath: basePath+"js",
  213. supplied: formats,
  214. wmode: "window",
  215. smoothPlayBar: true,
  216. keyEnabled: true,
  217. cssSelectorAncestor: "#jp_container_"+element,
  218. preload:"none"
  219. });
  220. }
  221. }
  222. //fim funcao de controle de player de audio
  223. //funcao para controle de itens de videos, do listagem-box02-videos
  224. function setModuleBox02clicks()
  225. {
  226. jQuery('.module-box-02-videos .video-list .link-video-item').click(function(){
  227. title = jQuery(this).parent().children('h3').text();
  228. description = jQuery(this).parent().children('.info-description').text();
  229. link = jQuery(this).parent().children('.info-link').text();
  230. container = jQuery(this).parent().parent().parent();
  231. container.children('.video-main').children('h3').children('.title').text( title );
  232. container.children('.video-main').children('.description').text( description );
  233. container.children('.video-main').children('.player-container').children('iframe').attr( 'src', link );
  234. return false;
  235. });
  236. jQuery('.module-box-02-videos .video-list .link-video-item-title').click(function(){
  237. title = jQuery(this).parent().parent().children('h3').text();
  238. description = jQuery(this).parent().parent().children('.info-description').text();
  239. link = jQuery(this).parent().parent().children('.info-link').text();
  240. container = jQuery(this).parent().parent().parent().parent();
  241. container.children('.video-main').children('h3').children('.title').text( title );
  242. container.children('.video-main').children('.description').text( description );
  243. container.children('.video-main').children('.player-container').children('iframe').attr( 'src', link );
  244. return false;
  245. });
  246. }
  247. //fim funcao para controle de itens de videos, do listagem-box02-videos
  248. //funcao addons de carrossel
  249. function carousel_addons()
  250. {
  251. index = jQuery('.gallery-pane .carousel-inner .active').index();
  252. jQuery('.galeria-thumbs .galeria-image').eq( index ).addClass('active');
  253. jQuery('.galeria-thumbs .galeria-image').children('a').hover(function(){
  254. jQuery(this).children('img').fadeTo('slow', 1);
  255. },function(){
  256. if(!jQuery(this).parent().hasClass('active'))
  257. jQuery(this).children('img').fadeTo('fast', 0.6);
  258. });
  259. jQuery('.galeria-thumbs .galeria-image a').click(function(){
  260. jQuery('.galeria-thumbs .active img').fadeTo('fast', 0.6);
  261. jQuery('.galeria-thumbs .active').removeClass('active');
  262. jQuery(this).parent().addClass('active');
  263. index = jQuery('.galeria-thumbs li.active').index();
  264. jQuery(this).parents('.gallery-pane').children('.carousel').carousel( index );
  265. return false;
  266. });
  267. jQuery('.gallery-pane .carousel').bind('slid', function(){
  268. index = jQuery('.gallery-pane .carousel-inner .active').index();
  269. if(jQuery('.galeria-thumbs .galeria-image').eq( index ).hasClass('active'))
  270. return true;
  271. jQuery('.galeria-thumbs .active img').fadeTo('fast', 0.6);
  272. jQuery('.galeria-thumbs .active').removeClass('active');
  273. jQuery('.galeria-thumbs .galeria-image').eq( index ).addClass('active');
  274. jQuery('.galeria-thumbs .active img').fadeTo('fast', 1);
  275. });
  276. jQuery('.galeria-thumbs').slideDown('slow');
  277. }
  278. //fim funcao addons de carrossel