var omShortcodes = {
init: function(modules) {
if(typeof(modules) != 'undefined') {
for(var i = 0; i < modules.length; i++) {
if(typeof(this.modules[modules[i]]) != 'undefined')
this.modules[modules[i]].init();
}
}
},
modules: { }
};
omShortcodes.modules.buttons = {
init: function() {
jQuery('.omsc-button.omsc-custom-hover').each(function(){
jQuery(this).data('def-bg-color',jQuery(this).css('background-color'));
jQuery(this).data('def-text-color',jQuery(this).css('color'));
jQuery(this).data('def-border-color',jQuery(this).css('border-top-color'));
}).hover(function(){
var color;
color=jQuery(this).data('hover-bg-color');
if(color)
jQuery(this).css('background-color',color);
color=jQuery(this).data('hover-text-color');
if(color)
jQuery(this).css('color',color);
color=jQuery(this).data('hover-border-color');
if(color)
jQuery(this).css('border-color',color);
}, function(){
jQuery(this).css('background-color',jQuery(this).data('def-bg-color'));
jQuery(this).css('border-color',jQuery(this).data('def-border-color'));
jQuery(this).css('color',jQuery(this).data('def-text-color'));
});
}
}
omShortcodes.modules.tooltips = {
init: function() {
jQuery('.omsc-add-tooltip').each(function(){
var text=jQuery(this).data('tooltip');
if(typeof(text) == 'undefined')
return;
jQuery(this).mouseenter(function(){
var $tt=jQuery(this).data('omsc-tooltip');
if($tt) {
$tt.stop();
} else {
var pos=jQuery(this).offset();
$tt=jQuery('
');
$tt.find('.omsc-tooltip-inner').text(text);
jQuery(this).data('omsc-tooltip', $tt);
$tt.appendTo('body');
$tt.css('left',pos.left + Math.round(jQuery(this).outerWidth()/2));
$tt.css('top',pos.top - $tt.outerHeight());
}
$tt.show();
$tt.animate({opacity:1, marginTop: '-13px'}, 200);
});
jQuery(this).mouseleave(function(){
var $this=jQuery(this);
var $tt=$this.data('omsc-tooltip');
if($tt) {
$tt.stop().animate({opacity:0, marginTop: '-22px'}, 200, function(){
jQuery(this).remove();
$this.data('omsc-tooltip',false);
});
}
});
});
}
}
omShortcodes.modules.toggle = {
init: function() {
jQuery('.omsc-accordion .omsc-toggle').addClass('omsc-in-accordion').find('.omsc-toggle-title').click(function(){
var $toggle=jQuery(this).parent();
if($toggle.hasClass('omsc-expanded')) {
$toggle.removeClass('omsc-expanded');
$toggle.find('.omsc-toggle-inner').slideUp(300);
return false;
}
var $acc=$toggle.parents('.omsc-accordion');
if(!$acc.hasClass('omsc-multiopen'))
$acc.find('.omsc-toggle.omsc-expanded').removeClass('omsc-expanded').find('.omsc-toggle-inner').slideUp(300);
$toggle.find('.omsc-toggle-inner').slideDown(300,function(){
var h=jQuery(this).parent().height();
var pos=jQuery(this).parent().find('.omsc-toggle-title').offset();
var scroll=jQuery(window).scrollTop();
var wh=jQuery(window).height();
if(pos.top < scroll || (pos.top > scroll && pos.top+h > scroll+wh))
jQuery('html,body').animate({ scrollTop: pos.top+'px' }, 200);
}).find('iframe[src*="maps.google"]').each(function(){
jQuery(this).attr('src',jQuery(this).attr('src'));
});
$toggle.addClass('omsc-expanded');
});
jQuery('.omsc-toggle').not('.in-accordion').find('.omsc-toggle-title').click(function(){
var $toggle=jQuery(this).parent();
var $inner=$toggle.find('.omsc-toggle-inner');
if(!$inner.length)
return false;
if($inner.is(':animated'))
return false;
$toggle.toggleClass('omsc-expanded');
$inner.slideToggle(300);
if($toggle.hasClass('omsc-expanded')) {
$inner.find('iframe[src*="maps.google"]').each(function(){
jQuery(this).attr('src',jQuery(this).attr('src'));
});
}
return false;
});
}
}
omShortcodes.modules.tabs = {
init: function() {
var hash=window.location.hash.replace('#','');
jQuery('.omsc-tabs').each(function(){
if(hash != '' && jQuery(this).find('.omsc-tabs-tabs .omsc-tabs-tab.omsc-'+hash).length ) {
jQuery(this).find('.omsc-tabs-control a[href$=#'+hash+']').parent().addClass('omsc-active');
jQuery(this).find('.omsc-tabs-tabs .omsc-tabs-tab').hide().filter('.omsc-'+hash).addClass('omsc-active').show();
} else {
jQuery(this).find('.omsc-tabs-control li:first').addClass('omsc-active');
jQuery(this).find('.omsc-tabs-tabs .omsc-tabs-tab:first').addClass('omsc-active').show();
}
});
jQuery('.omsc-tabs .omsc-tabs-control a').click(function(){
var $tabs=jQuery(this).parents('.omsc-tabs');
var $tabstabs=$tabs.find('.omsc-tabs-tabs');
var $li=jQuery(this).parent();
if($li.hasClass('omsc-active'))
return false;
var tabname=jQuery(this).attr('href').split('#');
tabname=tabname[(tabname.length-1)];
$tabs.find('.omsc-tabs-control li').removeClass('omsc-active');
$li.addClass('omsc-active');
var $newtab=$tabs.find('.omsc-tabs-tabs .omsc-tabs-tab.omsc-'+tabname);
$tabstabs.stop(true);
var cur_h=$tabstabs.height();
$tabstabs.css('height',cur_h+'px');
$tabstabs.find('.omsc-tabs-tab.omsc-active').hide().removeClass('omsc-active');
$newtab.addClass('omsc-active').fadeIn(300);
$newtab.find('iframe[src*="maps.google"]').each(function(){
jQuery(this).attr('src',jQuery(this).attr('src'));
});
var new_h=$newtab.outerHeight();
if(Math.abs(cur_h - new_h) > 4) {
$tabstabs.animate({height: new_h + 'px'}, 300, function(){
jQuery(this).css('height','auto');
});
} else {
$tabstabs.css('height','auto');
}
return false;
});
}
}
omShortcodes.modules.responsivebox = {
init: function() {
jQuery('.omsc-responsive-box').each(function(){
var $obj=jQuery(this).children(':first');
if($obj.length) {
var w=parseInt($obj.attr('width'));
var h=parseInt($obj.attr('height'));
if(!isNaN(w) && !isNaN(h) && w > 0 && h > 0) {
var r=h/w;
jQuery(this).css('padding-bottom',(r*100)+'%');
}
}
});
}
}
omShortcodes.modules.counter = {
init: function() {
var interval=30;
function om_tick(args) {
args.obj.text([args.prefix, args.current, args.suffix].join(''));
if(args.current < args.count) {
args.current+=args.step;
if(args.current > args.count)
args.current=args.count;
setTimeout(function(){
om_tick(args);
}, args.interval);
}
}
function om_start_item(obj) {
var $this=jQuery(obj);
var count=$this.data('count');
var duration=$this.data('animation');
if(count && duration) {
if(duration > interval) {
var step=Math.ceil( count / (duration/interval) );
if(step < 1)
step=1;
om_tick({
obj: $this.find('.omsc-counter-number'),
current: 0,
count: count,
step: step,
interval: interval,
prefix: $this.data('prefix'),
suffix: $this.data('suffix')
});
}
}
}
if(jQuery.waypoints) {
jQuery('.omsc-counter').each(function(){
jQuery(this).waypoint(function(){
om_start_item(this);
},{
offset: '100%',
triggerOnce: true
});
});
} else {
jQuery('.omsc-counter').each(function(){
om_start_item(this);
});
}
}
}