///
$(function() {
var uploader = function(type, description){
var context = this;
var editor = $$("div.editor");
$("
Upload " + type.titleize() + "
").appendTo(editor);
if (description){
editor.append(description);
}
var form = $$("form.upload", $$('input', {value: ListingEditor.authToken, type: 'hidden', name: 'authenticity_token'}), {
encoding: 'multipart/form-data',
method: 'post',
action: '/images?callback=' + type,
target: 'uploader'
});
var input = $$("input.upload", {type: 'file', name: 'image[image]'})
form.append(input);
editor.append(form);
var buttons = EditorFormatter.dialogButtons(function() {
form.submit();
ModalPopup.show("Uploading image...
Please wait
");
}, function () {
ModalPopup.hide();
}).appendTo(editor);
var listing = ListingEditor.workingListing();
if (listing[type + '_id']){
buttons.find('button.save').after($$('button', 'Delete Image').click(function(){
ListingEditor.updateSubmission(type + '_id', null);
ModalPopup.hide();
refresher(type, 'thumb');
}));
}
ModalPopup.show(editor);
};
var refresher = function(type, preview_type){
var listing = ListingEditor.workingListing();
var el = $('#' + type + ' img');
if (listing[type + "_id"]) {
el.attr('src', '/images/' + listing[type + '_id'] + '?preview=' + preview_type);
}
else{
if (type == 'logo') {
el.attr('src', '/images/placeholders/uploadlogo.png');
}else{
if (type == 'banner'){
el.attr('src', '/images/placeholders/upload_banner.png');
}
else{
el.attr('src', '/images/placeholders/upload_photo.jpg');
}
}
}
}
ListingEditor.register('logo', {
fields: ['logo_id'],
show: function(callback) {
uploader('logo');
},
refresh: function() {
refresher('logo', 'medium')
}
});
ListingEditor.register('photo_1', {
fields: ['photo_1_id'],
show: function(callback) {
uploader('photo_1');
},
refresh: function() {
refresher('photo_1', 'photothumb')
}
});
ListingEditor.register('photo_2', {
fields: ['photo_2_id'],
show: function(callback) {
uploader('photo_2');
},
refresh: function() {
refresher('photo_2', 'photothumb')
}
});
ListingEditor.register('photo_3', {
fields: ['photo_3_id'],
show: function(callback) {
uploader('photo_3');
},
refresh: function() {
refresher('photo_3', 'photothumb')
}
});
ListingEditor.register('banner', {
fields: ['banner_id'],
show: function(callback) {
uploader('banner', "Image should be 800 pixels wide by 130 high.
Contact us for different sizes.
");
},
refresh: function() {
refresher('banner', 'large')
}
});
});