jQuery(document).ready(function ($) {
String.prototype.bool = function () {
return (/^true$/i).test(this);
};
// Message popups
$.fn.center = function () {
this.css({
"position" : "fixed",
"left" : $("#wpbody").css('margin-left'),
"top" : $(window).height() / 2 - this.height() + "px"
});
return this;
}
$(window).scroll(function () {
$('#of-popup-save').center();
$('#of-popup-reset').center();
});
$(window).scroll();
// Tabs fading
$('.group').hide();
$('.group:first').fadeIn();
$('.group .collapsed').each(function () {
$(this).find('input:checked').parent().parent().parent().nextAll().each(function () {
if ($(this).hasClass('last')) {
$(this).removeClass('hidden');
return false;
}
$(this).filter('.hidden').removeClass('hidden');
});
});
// Tabs navigation fading
$('#of-nav li:first').addClass('current');
$('#of-nav li a').click(function (e) {
var clicked_group = $(this).attr('href');
$('#of-nav li').removeClass('current');
$(this).parent().addClass('current');
$('.group').hide();
$(clicked_group).fadeIn(100);
e.preventDefault();
});
// Colorpicker
$('.color_picker .preview').each(function () {
var elem = $(this);
var color = elem.parent().find('input').val();
elem.css('backgroundColor', color).ColorPicker({
color : color,
onShow : function (cp) {
$(cp).fadeIn(100);
return false;
},
onHide : function (cp) {
$(cp).fadeOut(100);
return false;
},
onChange : function (hsb, hex, rgb) {
elem.css('backgroundColor', '#' + hex).parent().find('input').attr('value', '#' + hex);
}
});
});
$('.color_picker :input').blur(function () {
$(this).parent().find(".preview").css('backgroundColor', $(this).val());
});
// Range slider
$(window).load(function () {
$('.kk_range_slider').each(function () {
var elem = $(this);
elem.bind("slider:changed", function (event, data) {
// The currently selected value of the slider
elem.parent().find('.regular-text').attr('value', data.value);
});
});
});
// AJAX Upload
$('.image_upload_button').each(function () {
var clickedObject = $(this);
var clickedID = $(this).attr('id');
new AjaxUpload(clickedID, {
action : kk_ajax_data.ajaxurl,
name : clickedID,
data : {
action : 'of_ajax_post_action',
type : 'upload',
data : clickedID
},
autoSubmit : true,
responseType : false,
onChange : function (file, extension) {},
onSubmit : function (file, extension) {
clickedObject.text('Uploading');
this.disable();
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();
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);
}
}
});
});
// AJAX Remove (clear option value)
$('.image_reset_button').click(function () {
var clickedObject = $(this);
var clickedID = $(this).attr('id');
var theID = $(this).attr('title');
var ajax_url = kk_ajax_data.ajaxurl;
var data = {
type : 'image_reset',
action : 'of_ajax_post_action',
data : theID
};
$.post(ajax_url, data, function (response) {
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('');
});
return false;
});
// Save everything else
$('#ofform').submit(function () {
$(":checkbox").each(function () {
this.value = this.checked;
this.checked = true
});
var serializedReturn = $("#ofform").serialize();
$(":checkbox").each(function () {
this.checked = this.value.bool()
});
$('.ajax-loading-img').fadeIn();
var ajax_url = kk_ajax_data.ajaxurl;
var data = {
type : 'save',
action : 'of_ajax_post_action',
data : serializedReturn
};
$.post(ajax_url, data, function (response) {
$('.ajax-loading-img').fadeOut();
var success = $('#of-popup-save');
success.fadeIn();
window.setTimeout(function () {
success.fadeOut();
}, 1000);
});
return false;
});
// Reset all options
$('#ofform-reset').submit(function () {
var ajax_url = kk_ajax_data.ajaxurl;
var data = {
type : 'reset',
action : 'of_ajax_post_action',
};
$.post(ajax_url, data, function (response) {
var reset = $('#of-popup-reset');
reset.fadeIn();
window.setTimeout(function () {
location.reload()
}, 250);
});
return false;
});
});