\x20\40\x20\40
var imageWidget;
(function($){
imageWidget = {
sendToEditor : function(h) {
// ignore content returned from media uploader and use variables passed to window instead
// store attachment id in hidden field
$( '#widget-'+self.IW_instance+'-image' ).val( self.IW_img_id );
// display attachment preview
$( '#display-widget-'+self.IW_instance+'-image' ).html( self.IW_html );
// change width & height fields in widget to match image
$( '#widget-'+self.IW_instance+'-width' ).val($( '#display-widget-'+self.IW_instance+'-image img').attr('width'));
$( '#widget-'+self.IW_instance+'-height' ).val($( '#display-widget-'+self.IW_instance+'-image img').attr('height'));
// set alignment in widget
$( '#widget-'+self.IW_instance+'-align' ).val(self.IW_align);
// set title in widget
$( '#widget-'+self.IW_instance+'-title' ).val(self.IW_title);
// set caption in widget
$( '#widget-'+self.IW_instance+'-description' ).val(self.IW_caption);
// set alt text in widget
$( '#widget-'+self.IW_instance+'-alt' ).val(self.IW_alt);
// set link in widget
$( '#widget-'+self.IW_instance+'-link' ).val(self.IW_url);
// close thickbox
tb_remove();
// change button text
$('#add_image-widget-'+self.IW_instance+'-image').html($('#add_image-widget-'+self.IW_instance+'-image').html().replace(/Add Image/g, 'Change Image'));
},
changeImgWidth : function(instance) {
var width = $( '#widget-'+instance+'-width' ).val();
var height = Math.round(width / imageWidget.imgRatio(instance));
imageWidget.changeImgSize(instance,width,height);
},
changeImgHeight : function(instance) {
var height = $( '#widget-'+instance+'-height' ).val();
var width = Math.round(height * imageWidget.imgRatio(instance));
imageWidget.changeImgSize(instance,width,height);
},
imgRatio : function(instance) {
var width_old = $( '#display-widget-'+instance+'-image img').attr('width');
var height_old = $( '#display-widget-'+instance+'-image img').attr('height');
var ratio = width_old / height_old;
return ratio;
},
changeImgSize : function(instance,width,height) {
if (isNaN(width) || width < 1) {
$( '#widget-'+instance+'-width' ).val('');
width = 'none';
} else {
$( '#widget-'+instance+'-width' ).val(width);
width = width + 'px';
}
$( '#display-widget-'+instance+'-image img' ).css({
'width':width
});
if (isNaN(height) || height < 1) {
$( '#widget-'+instance+'-height' ).val('');
height = 'none';
} else {
$( '#widget-'+instance+'-height' ).val(height);
height = height + 'px';
}
$( '#display-widget-'+instance+'-image img' ).css({
'height':height
});
},
changeImgAlign : function(instance) {
var align = $( '#widget-'+instance+'-align' ).val();
$( '#display-widget-'+instance+'-image img' ).attr(
'class', (align == 'none' ? '' : 'align'+align)
);
},
imgHandler : function(event) {
event.preventDefault();
window.send_to_editor = imageWidget.sendToEditor;
tb_show("Add an Image", event.target.href, false);
},
setActiveWidget : function(instance_id) {
self.IW_instance = instance_id;
}
};
$(document).ready(function() {
// Use new style event handling since $.fn.live() will be deprecated
if ( typeof $.fn.on !== 'undefined' ) {
$("#wpbody").on("click", ".thickbox-image-widget", imageWidget.imgHandler);
}
else {
$("a.thickbox-image-widget").live('click', imageWidget.imgHandler);
}
// Modify thickbox link to fit window. Adapted from wp-admin\js\media-upload.dev.js.
$('a.thickbox-image-widget').each( function() {
var href = $(this).attr('href'), width = $(window).width(), H = $(window).height(), W = ( 720 < width ) ? 720 : width;
if ( ! href ) return;
href = href.replace(/&width=[0-9]+/g, '');
href = href.replace(/&height=[0-9]+/g, '');
$(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 ) );
});
});
})(jQuery);