YAHOO.namespace("explore");

function init() {

    var mediatitle;
    var trimtitle;
    var mediadesc;
	var mediaduration;

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

            if (root.getElementsByTagName('mediadesc')[0].hasChildNodes()) {
                var mediadesc = root.getElementsByTagName('mediadesc')[0].firstChild.nodeValue;
                if (mediadesc == 'NULL') {
                    try {
                        document.getElementById('moreless').style.display = 'none';
                    } catch (e) {}
                    try {
                        document.getElementById('episodebriefdesc').style.display = '';
                    } catch (e) {}
                    try {
                        document.getElementById('episodefulldesc').style.display = 'none';
                    } catch (e) {}
                } else {
                    try {
                        document.getElementById('episodefulldesc').innerHTML = mediadesc;
                    } catch (e) {}
                     try {
                        document.getElementById('moreless').style.display = '';
                    } catch (e) {}
                }
            }
        }
        if (document.getElementById('episodetitle'))
            if (root.getElementsByTagName('mediatitle')[0].hasChildNodes()) {
                var mediatitle = root.getElementsByTagName('mediatitle')[0].firstChild.nodeValue;
                document.getElementById('episodetitle').innerHTML = mediatitle;
            } else {
                document.getElementById('episodetitle').innerHTML = trimtitle;
            }

        if (document.getElementById('episodeduration'))
            document.getElementById('episodeduration').innerHTML = mediaduration;

    };
    var handleFailure = function(o) {
        item = "";
        for(i in o) item+= i+"\n";
        alert("Submission failed: " + item);
    };

    // Instantiate the Dialog
    YAHOO.explore.editinline = new YAHOO.widget.Dialog("editinline",
                                                                { width : "450px",
                                                                  fixedcenter : true,
                                                                  visible : false,
                                                                  zindex: 2000,
                                                                  modal: true,
                                                                  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.editinline.validate = function() {
        var data = this.getData();
        mediatitle = data.mediatitle;
        trimtitle = data.trimtitle;
        mediadesc = data.mediadesc;
		//mediaduration = data.duration;
        if (mediatitle == "" || mediadesc == "") {
            alert(LANG_enter_title_description);
            return false;
        } else {
            return true;
        }
    };

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

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

    // Setup to work with the edit icon vs the edit link
    YAHOO.util.Event.on('editepisodelink', '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 id = parseURL(params,'id');
                loadDialogContent(id);
            }

        }
    });

}

var loadDialogContent = function(id) {

    document.getElementById('editinline').style.display="block";
    YAHOO.explore.editinline.show();
    YAHOO.explore.editinline.center();
    
    finlineMediaEdit = document.forms["finlineMediaEdit"];
    finlineMediaEdit.id.value = id;
    finlineMediaEdit.mediatitle.value = LANG_loading_data;
    finlineMediaEdit.mediadesc.value = LANG_loading_data;
    var callback = {
        success: function(o) {
            YAHOO.explore.editinline.hideMask();
            
            if(o.responseXML !== undefined) {
                var root = o.responseXML.documentElement;
                if (root.getElementsByTagName('mediatitle')[0].hasChildNodes()) {
                    var mediatitle = root.getElementsByTagName('mediatitle')[0].firstChild.nodeValue;
                    finlineMediaEdit.mediatitle.value = mediatitle;
                } else {
                    finlineMediaEdit.mediatitle.value = '';
                }
                if (root.getElementsByTagName('mediadesc')[0].hasChildNodes()) {
                    var mediadesc = root.getElementsByTagName('mediadesc')[0].firstChild.nodeValue;
                    finlineMediaEdit.mediadesc.value = mediadesc;
                } else {
                    finlineMediaEdit.mediadesc.value = '';
                }
                /*if (root.getElementsByTagName('duration')[0].hasChildNodes()) {
                    var duration = root.getElementsByTagName('duration')[0].firstChild.nodeValue;
                    finlineMediaEdit.duration.value = duration;
                } else {
                    finlineMediaEdit.duration.value = '';
                }*/
                if (root.getElementsByTagName('keywords')[0].hasChildNodes()) {
                    var keywords = root.getElementsByTagName('keywords')[0].firstChild.nodeValue;
                    finlineMediaEdit.keywords.value = keywords;
                } else {
                    finlineMediaEdit.keywords.value = '';
                }
            }
        },
        failure: function(o) {
            
            alert(LANG_submission_failed + o.responseText);
        },
        argument: {},
        timeout:55500
    }

    //var qs = 'op=inlineloaddata&id=' + id + '&mode=episodepage';
    YAHOO.util.Connect.asyncRequest('POST', "/makemovies/edit_movie_details/"+id+"/update/", callback);


}

YAHOO.util.Event.onDOMReady(init);

