/** * SMOF js * * contains the core functionalities to be used * inside SMOF */ jQuery.noConflict(); /** Fire up jQuery - let's dance! */ jQuery(document).ready(function($){ //(un)fold options in a checkbox-group jQuery('.fld').click(function() { var $fold='.f_'+this.id; $($fold).slideToggle('normal', "swing"); }); //delays until AjaxUpload is finished loading //fixes bug in Safari and Mac Chrome if (typeof AjaxUpload != 'function') { return ++counter < 6 && window.setTimeout(init, counter * 500); } //hides warning if js is enabled $('#js-warning').hide(); //Tabify Options $('.group').hide(); // Display last current tab if ($.cookie("of_current_opt") === null) { $('.group:first').fadeIn('fast'); $('#of-nav li:first').addClass('current'); } else { var hooks = $('#hooks').html(); hooks = jQuery.parseJSON(hooks); $.each(hooks, function(key, value) { if ($.cookie("of_current_opt") == '#of-option-'+ value) { $('.group#of-option-' + value).fadeIn(); $('#of-nav li.' + value).addClass('current'); } }); } //Current Menu Class $('#of-nav li a').click(function(evt){ // event.preventDefault(); $('#of-nav li').removeClass('current'); $(this).parent().addClass('current'); var clicked_group = $(this).attr('href'); $.cookie('of_current_opt', clicked_group, { expires: 7, path: '/' }); $('.group').hide(); $(clicked_group).fadeIn('fast'); return false; }); //Expand Options var flip = 0; $('#expand_options').click(function(){ if(flip == 0){ flip = 1; $('#of_container #of-nav').hide(); $('#of_container #content').width(755); $('#of_container .group').add('#of_container .group h2').show(); $(this).removeClass('expand'); $(this).addClass('close'); $(this).text('Close'); } else { flip = 0; $('#of_container #of-nav').show(); $('#of_container #content').width(595); $('#of_container .group').add('#of_container .group h2').hide(); $('#of_container .group:first').show(); $('#of_container #of-nav li').removeClass('current'); $('#of_container #of-nav li:first').addClass('current'); $(this).removeClass('close'); $(this).addClass('expand'); $(this).text('Expand'); } }); //Update Message popup $.fn.center = function () { this.animate({"top":( $(window).height() - this.height() - 200 ) / 2+$(window).scrollTop() + "px"},100); this.css("left", 250 ); return this; } $('#of-popup-save').center(); $('#of-popup-reset').center(); $('#of-popup-fail').center(); $(window).scroll(function() { $('#of-popup-save').center(); $('#of-popup-reset').center(); $('#of-popup-fail').center(); }); //Masked Inputs (images as radio buttons) $('.of-radio-img-img').click(function(){ $(this).parent().parent().find('.of-radio-img-img').removeClass('of-radio-img-selected'); $(this).addClass('of-radio-img-selected'); }); $('.of-radio-img-label').hide(); $('.of-radio-img-img').show(); $('.of-radio-img-radio').hide(); //Masked Inputs (background images as radio buttons) $('.of-radio-tile-img').click(function(){ $(this).parent().parent().find('.of-radio-tile-img').removeClass('of-radio-tile-selected'); $(this).addClass('of-radio-tile-selected'); }); $('.of-radio-tile-label').hide(); $('.of-radio-tile-img').show(); $('.of-radio-tile-radio').hide(); //AJAX Upload function of_image_upload() { $('.image_upload_button').each(function(){ var clickedObject = $(this); var clickedID = $(this).attr('id'); var nonce = $('#security').val(); new AjaxUpload(clickedID, { action: ajaxurl, name: clickedID, // File upload name data: { // Additional data to send action: 'of_ajax_post_action', type: 'upload', security: nonce, data: clickedID }, autoSubmit: true, // Submit file after selection responseType: false, onChange: function(file, extension){}, onSubmit: function(file, extension){ clickedObject.text('Uploading'); // change button text, when user selects file this.disable(); // If you want to allow uploading only 1 file at time, you can disable upload button interval = window.setInterval(function(){ var text = clickedObject.text(); if (text.length < 13){ clickedObject.text(text + '.'); } else { clickedObject.text('Uploading'); } }, 200); }, onComplete: function(file, response) { window.clearInterval(interval); clickedObject.text('Upload Image'); this.enable(); // enable upload button // If nonce fails if(response==-1){ var fail_popup = $('#of-popup-fail'); fail_popup.fadeIn(); window.setTimeout(function(){ fail_popup.fadeOut(); }, 2000); } // If there was an error else if(response.search('Upload Error') > -1){ var buildReturn = '' + response + ''; $(".upload-error").remove(); clickedObject.parent().after(buildReturn); } else{ var buildReturn = ''; $(".upload-error").remove(); $("#image_" + clickedID).remove(); clickedObject.parent().after(buildReturn); $('img#image_'+clickedID).fadeIn(); clickedObject.next('span').fadeIn(); clickedObject.parent().prev('input').val(response); } } }); }); } of_image_upload(); //AJAX Remove Image (clear option value) $('.image_reset_button').live('click', function(){ var clickedObject = $(this); var clickedID = $(this).attr('id'); var theID = $(this).attr('title'); var nonce = $('#security').val(); var data = { action: 'of_ajax_post_action', type: 'image_reset', security: nonce, data: theID }; $.post(ajaxurl, data, function(response) { //check nonce if(response==-1){ //failed var fail_popup = $('#of-popup-fail'); fail_popup.fadeIn(); window.setTimeout(function(){ fail_popup.fadeOut(); }, 2000); } else { var image_to_remove = $('#image_' + theID); var button_to_hide = $('#reset_' + theID); image_to_remove.fadeOut(500,function(){ $(this).remove(); }); button_to_hide.fadeOut(); clickedObject.parent().prev('input').val(''); } }); }); // Style Select (function ($) { styleSelect = { init: function () { $('.select_wrapper').each(function () { $(this).prepend('' + $(this).find('.select option:selected').text() + ''); }); $('.select').live('change', function () { $(this).prev('span').replaceWith('' + $(this).find('option:selected').text() + ''); }); $('.select').bind($.browser.msie ? 'click' : 'change', function(event) { $(this).prev('span').replaceWith('' + $(this).find('option:selected').text() + ''); }); } }; $(document).ready(function () { styleSelect.init() }) })(jQuery); /** Aquagraphite Slider MOD */ //Hide (Collapse) the toggle containers on load $(".slide_body").hide(); //Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state) $(".slide_edit_button").live( 'click', function(){ $(this).parent().toggleClass("active").next().slideToggle("fast"); return false; //Prevent the browser jump to the link anchor }); // Update slide title upon typing function update_slider_title(e) { var element = e; if ( this.timer ) { clearTimeout( element.timer ); } this.timer = setTimeout( function() { $(element).parent().prev().find('strong').text( element.value ); }, 100); return true; } $('.of-slider-title').live('keyup', function(){ update_slider_title(this); }); //Remove individual slide $('.slide_delete_button').live('click', function(){ // event.preventDefault(); var agree = confirm("Are you sure you wish to delete this slide?"); if (agree) { var $trash = $(this).parents('li'); //$trash.slideUp('slow', function(){ $trash.remove(); }); //chrome + confirm bug made slideUp not working... $trash.animate({ opacity: 0.25, height: 0, }, 500, function() { $(this).remove(); }); return false; //Prevent the browser jump to the link anchor } else { return false; } }); //Add new slide $(".slide_add_button").live('click', function(){ var slidesContainer = $(this).prev(); var sliderId = slidesContainer.attr('id'); var sliderInt = $('#'+sliderId).attr('rel'); var numArr = $('#'+sliderId +' li').find('.order').map(function() { var str = this.id; str = str.replace(/\D/g,''); str = parseFloat(str); return str; }).get(); var maxNum = Math.max.apply(Math, numArr); if (maxNum < 1 ) { maxNum = 0}; var newNum = maxNum + 1; var newSlide = '