//
// $Id: HeaderImage.js,v 1.1.1.1 2010/02/26 08:30:05 steve Exp $
//
var HeaderImage = function() {

    this.init = function() {
    
        var self = this
        
        $('img.contentHeaderImageEditButton').click( function() { self.showEditor($(this)) })
        $('img.deleteHeaderImageEditButton').click( function() { self.deleteImage($(this)) })
        $('input.headerImageSave').click( function() { self.saveDetails($(this)) })
    }
    
    this.showEditor = function(elem) {

        var self = this
        
        var id     = $(elem).attr('id').split('_')
        var editor = 'contentHeaderImageEditorEdit_' + id[1]
        var left   = $(elem).offset().left
        var top    = $(elem).offset().top
        
        $('#' + editor).css('top', top + 'px')
        $('#' + editor).css('left', left + 'px')
        $('#' + editor).fadeIn()
    }
    
    this.deleteImage = function(elem) {

        var self = this

        var id  = $(elem).attr('id').split('_')
        id      = id[1]
        var img = $('#deleteHeaderImageImage_' + id).val()

        $.ajax({
                  type:     'POST',
                  url:      AJAXURL,
                  data:     'Action=checkDeleteHeaderImage&Image=' + img,
                  dataType: 'json',
                  timeout:  40000,
            error:
                function() {
                    return false;
                },
            success:
                function(data) {
                    if (data.Error) {
                        alert(data.Message)
                    } else if (data.Exists) {
                        alert("Image is used on page '" 
                                 + data.Exists.label + "' (" + data.Exists.url + ")" 
                                 + " please select another image for that page before deleting")
                        return
                    } else {
                        if (! confirm('Delete this image?')) {
                            return
                        }
                        self.deleteTheImage(id, img)
                    }
                }
        })
    }

    this.deleteTheImage = function(id, img) {

        var self = this

        $.ajax({
                  type:     'POST',
                  url:      AJAXURL,
                  data:     'Action=deleteHeaderImage&Image=' + img,
                  dataType: 'json',
                  timeout:  40000,
            error:
                function() {
                    return false;
                },
            success:
                function(data) {
                    if (data.Error) {
                        alert(data.Message)
                    } else {
                        $('#headerImagesTable .headerImageTd_' + id).hide() 
                    }
                }
        })
    }

    this.saveDetails = function(elem) {
    
        var self = this
        
        var id = $(elem).attr('id').split('_')
        id = id[1]
        
        var file = ''
        $('#contentHeaderImageEditorEdit_' + id + ' .imageRadio').each(
            function () {
                if ($(this).attr('checked')) {
                    file = $(this).val()
                }
            })
        var alt  = escape($('#contentHeaderImageEditorEditAlt_' + id).val())
        
        $.ajax({
                  type:     'POST',
                  url:      AJAXURL,
                  data:     'Action=saveHeaderImage&SectionId=' + id +
                                                  '&Image=' + file +
                                                  '&Alt=' + alt,
                  dataType: 'json',
                  timeout:  40000,
            error:
                function() {
                    return false;
                },
            success:
                function(data) {
                    if (data.Error) {
                        alert(data.Message)
                    } else {
                        alert('Content Updated')
                    }
                    $('#contentHeaderImageEditorEdit_' + id).fadeOut()
                    location.replace(location.href)
                }
        })
    }
}
