YAHOO.namespace("explore.container");
var recid;  // Used to track the record id being edited

function init() {

    var mediatitle;
    var mediadesc;
    
    if(document.getElementById('editinline')){
        document.getElementById('editinline').style.display='&nbsp;';
    }
    

    // Define various event handlers for Dialog
    var handleSubmit = function() {
        
        this.submit();
      
    };
    var handleCancel = function() {
        this.cancel();
    };
    var handleSuccess = function(o) {
        
        if(o.responseXML !== undefined && o.responseXML) {
            var root = o.responseXML.documentElement;
            if (recid == 1) {
                if (root.getElementsByTagName('featuretitle')[0].hasChildNodes()) {
                    var featuretitle = root.getElementsByTagName('featuretitle')[0].firstChild.nodeValue;
                    if (document.getElementById('featuretitle'))
                        document.getElementById('featuretitle').innerHTML = featuretitle;
                }
                if (root.getElementsByTagName('featuredesc')[0].hasChildNodes()) {
                    var featuredesc = root.getElementsByTagName('featuredesc')[0].firstChild.nodeValue;
                    if (document.getElementById('featuredesc'))
                        document.getElementById('featuredesc').innerHTML = featuredesc;
                }
            }

            if (root.getElementsByTagName('longtitle')[0].hasChildNodes()) {
                var longtitle = root.getElementsByTagName('longtitle')[0].firstChild.nodeValue;
                if (document.getElementById('mediatitle_v1_rec' + recid))
                    document.getElementById('mediatitle_v1_rec' + recid).innerHTML = longtitle;
            }
            if (root.getElementsByTagName('shorttitle')[0].hasChildNodes()) {
                var shorttitle = root.getElementsByTagName('shorttitle')[0].firstChild.nodeValue;
                if (document.getElementById('mediatitle_v2_rec' + recid))
                    document.getElementById('mediatitle_v2_rec' + recid).innerHTML = shorttitle;
            }
            if (root.getElementsByTagName('mediadesc')[0].hasChildNodes()) {
                var mediadesc = root.getElementsByTagName('mediadesc')[0].firstChild.nodeValue;
                if (document.getElementById('mediadesc_v1_rec' + recid))
                    document.getElementById('mediadesc_v1_rec' + recid).innerHTML = mediadesc;
            }

        }
        if(o.responseText !== undefined && o.responseText){
            if(o.responseText == "SUCCESS"){
                
                setTimeout('document.location.reload();', 1000);
            }
        }
    };
    var handleFailure = function(o) {
        alert("Submission failed: " + o.status);
    };

    // Instantiate the Dialog
    YAHOO.explore.container.editinline = new YAHOO.widget.Dialog("editinline",
                                                                { width : "380px",
                                                                  fixedcenter : true,
                                                                  visible : false,
                                                                  zindex:2000,
                                                                  modal:false,
                                                                  constraintoviewport : true,
                                                                  buttons : [ { text:LANG_submit, handler:handleSubmit, isDefault:true },
                                                                              { text:LANG_cancel, handler:handleCancel } ]
                                                                 } );
    

    // Validate the entries in the form to require that both first and last name are entered
    YAHOO.explore.container.editinline.validate = function() {
        var data = this.getData();
        mediatitle = data.mediatitle;
        mediadesc = data.mediadesc;
        if (mediatitle == "" || mediadesc == "") {
            alert(LANG_enter_title_description);
            return false;
        } else {
            return true;
        }
    };

    // Wire up the success and failure handlers
    YAHOO.explore.container.editinline.callback = { success: handleSuccess, failure: handleFailure };

    // Render the Dialog
    YAHOO.explore.container.editinline.render();

    YAHOO.util.Event.on('explore_records_container', 'click', function(e){
        var target = YAHOO.util.Event.getTarget(e);
        if(target.tagName.toUpperCase() === 'A') {
            if (YAHOO.util.Dom.hasClass(target,'editdialog')) {
                YAHOO.util.Event.preventDefault(e);
                var params = target.getAttribute('href');
                var mode = parseURL(params,'mode');
                var id = parseURL(params,'id');
                var recid = parseURL(params,'recid');
                loadDialogContent(mode,id,recid);
            } else if (YAHOO.util.Dom.hasClass(target,'ajaxdelete')) {
                YAHOO.util.Event.preventDefault(e);
                if (confirm(LANG_delete_record)) {
                    var params = target.getAttribute('href');
                    var mode = parseURL(params,'mode');
                    var id = parseURL(params,'id');
                    var recid = parseURL(params,'recid');
                    deleteMediaRecords(mode,id,recid);
                }
            }
        }
    });
    YAHOO.util.Dom.addClass(YAHOO.explore.container.editinline.form, "caretfix");

    if (YAHOO.env.ua.gecko) {
        YAHOO.explore.container.editinline.showEvent.subscribe(function() {
            YAHOO.util.Dom.setStyle(YAHOO.explore.container.editinline.form, "display", "none");
            var fixDisplay = function() {
                YAHOO.util.Dom.setStyle(YAHOO.explore.container.editinline.form, "display", "block");
                try {
                    //YAHOO.explore.container.editinline.firstFormElement.focus();
                    document.getElementById('textmediatitle').focus();
                } catch (e) {
                    }
            }
            setTimeout(fixDisplay, 0);
        });
    }



}


var loadDialogContent = function(mode,id,rec) {
    YAHOO.explore.container.editinline.cfg.setProperty("visible",true);
    document.getElementById('editinline').style.display = '';
    document.forms["finlineMediaEdit"].mode.value = mode;
    document.forms["finlineMediaEdit"].id.value = id;
    recid = rec;    // Set recid so successhandler code knows what record to update
    document.forms["finlineMediaEdit"].mediatitle.value = LANG_loading_data;
    document.forms["finlineMediaEdit"].mediadesc.value = LANG_loading_data;
    var qs = 'op=inlineloaddata&id=' + id + '&mode=' + mode;
    YAHOO.util.Connect.asyncRequest('POST', "/makemovies/edit_movie_details/"+id+"/load/", loadDialogContentCallback, qs);
}

var loadDialogContentSuccess = function(o){
    if(o.responseXML !== undefined) {
        var root = o.responseXML.documentElement;
        if (root.getElementsByTagName('mediatitle')[0].hasChildNodes()) {
            var mediatitle = root.getElementsByTagName('mediatitle')[0].firstChild.nodeValue;
            document.forms["finlineMediaEdit"].mediatitle.value = mediatitle;
        } else {
            document.forms["finlineMediaEdit"].mediatitle.value = '';
        }
        if (root.getElementsByTagName('mediadesc')[0].hasChildNodes()) {
            var mediadesc = root.getElementsByTagName('mediadesc')[0].firstChild.nodeValue;
            document.forms["finlineMediaEdit"].mediadesc.value = mediadesc;
        } else {
            document.forms["finlineMediaEdit"].mediadesc.value = '';
        }
        if (root.getElementsByTagName('keywords')[0].hasChildNodes()) {
            var keywords = root.getElementsByTagName('keywords')[0].firstChild.nodeValue;
            if (keywords != 'NULL')
              document.forms["finlineMediaEdit"].keywords.value = keywords;
        } else {
            document.forms["finlineMediaEdit"].keywords.value = '';
        }

    }
};

var loadDialogContentFailure = function(o) {
    alert(LANG_submission_failed + o.status);
};

var loadDialogContentCallback =
{
  success:loadDialogContentSuccess,
  failure:loadDialogContentFailure,
  argument: {},
  timeout:55500
};



var deleteMediaRecords = function(mode,id,rec) {
    document.forms["finlineMediaEdit"].mode.value = mode;
    document.forms["finlineMediaEdit"].id.value = id;
    recid = rec;    // Set recid so successhandler code knows what record to update
    var qs = 'op=deletemedia&id=' + id + '&mode=' + mode;
    YAHOO.util.Connect.asyncRequest('POST', ajax_post_handler_url, deleteMediaRecordsCallback, qs);
}

var deleteMediaRecordsSuccess = function(o){
    if(o.responseXML !== undefined) {
        var root = o.responseXML.documentElement;
        alert(LANG_ajax_delete_completed);
    }
};

var deleteMediaRecordsFailure = function(o) {
    alert(LANG_delete_media_failed + o.status);
};

var deleteMediaRecordsCallback =
{
  success:deleteMediaRecordsSuccess,
  failure:deleteMediaRecordsFailure,
  argument: {},
  timeout:55500
};



YAHOO.util.Event.onDOMReady(init);

