
YAHOO.namespace("episode");

function init() {

    <!-- File Details Dialogs -->
    var handleSuccess = function(o) {
        if(o.responseXML !== undefined) {
            var root = o.responseXML.documentElement;
            var html='';
            for(cntr=0;cntr<root.firstChild.childNodes.length;cntr++){
                html+=root.firstChild.childNodes[cntr].nodeValue;
            }
            var error='';
            for(cntr=0;cntr<root.lastChild.childNodes.length;cntr++){
                error+=root.lastChild.childNodes[cntr].nodeValue;
            }
            document.getElementById('youtube_test_results').style.visibility='visible';
            if(error=='') {
                    document.getElementById('youtube_test_results').innerHTML = LANG_youtube_test_success;

            } else {
                document.getElementById('youtube_test_results').innerHTML=error;

                // Update links - if we are on the episode showcase page
                var status = 'FALSE';
                if (root.getElementsByTagName('status')[0].hasChildNodes()) {
                    var status = root.getElementsByTagName('status')[0].firstChild.nodeValue;
                }
                if (status == 'TRUE') {
                    YAHOO.util.Dom.setStyle('youtubesetup','display','none');
                    YAHOO.util.Dom.setStyle('youtubepublish','display','block');
                } else {
                    YAHOO.util.Dom.setStyle('youtubesetup','display','block');
                    YAHOO.util.Dom.setStyle('youtubepublish','display','none');
                }

            }
        } else {
            document.getElementById('youtube_test_results').style.visibility='visible';
            document.getElementById('youtube_test_results').innerHTML = LANG_youtube_test_error ;
        }
    };
    var handleFailure = function(o) {
        document.getElementById('youtube_test_results').style.visibility='hidden';
		alert("FAILED: " + o.responseText);
        alert("Submission failed: " + o.status);
    };
    var handleSubmit = function() {
        YAHOO.util.Dom.setStyle('youtube_test_results','visibility','visible');
        document.getElementById('youtube_test_results').innerHTML = LANG_youtube_redirect;
        window.location=document.getElementById("youtubeform").action;
        return false;
    };
    var handleCancel = function() {
        document.getElementById('youtube_test_results').style.visibility='hidden';
        this.cancel();
    };
    // Instantiate the Dialog
    YAHOO.episode.youtubesetup = new YAHOO.widget.Dialog("youtubesetup_dialog",
                    { width : "450px",
                      fixedcenter : true,
                      visible : false,
                      zindex: 2000,
                      modal: true,
                      hideaftersubmit: false,
                      constraintoviewport : true,
                      buttons : [ { text: LANG_test_youtube_btn, handler:handleSubmit, isDefault:true },
                                  { text: LANG_close, handler:handleCancel } ]
                     } );

    YAHOO.episode.youtubesetup.render();
}

YAHOO.util.Event.onDOMReady(init);

function show_youtubesetup() {
    document.getElementById('youtubesetup_dialog').style.display="";
    YAHOO.episode.youtubesetup.show();
    YAHOO.episode.youtubesetup.center();
    YAHOO.util.Dom.setStyle('youtube_test_results','visibility','hidden');
}



function publishToYouTube(mediaid){
    document.getElementById('youtube_upload_results').style.display='';
    document.getElementById('youtube_upload_results').innerHTML=LANG_youtube_uploading_wait;
    var url = '/youtube/publish/' + mediaid + "/";
    YAHOO.util.Connect.asyncRequest('GET', url, {failure:publishToYouTube_failure, success:publishToYouTube_success,argument: {  },timeout:150000});
}

function publishToYouTube_failure(o){
    document.getElementById('youtube_upload_results').style.display='';
    if(o.status==-1){ //timeout
         document.getElementById('youtube_upload_results').innerHTML=LANG_youtube_timeout;
    }else{
        document.getElementById('youtube_upload_results').innerHTML=LANG_youtube_upload_error;
    }
}

function publishToYouTube_success(o){
    var vidid='';
    if(o.responseXML !== undefined) {
    
        
        //alert(o.responseText);
        var x=o.argument[0];
        var root = o.responseXML.documentElement;
        var html='';
        for(cntr=0;cntr<root.firstChild.childNodes.length;cntr++){
            html+=root.firstChild.childNodes[cntr].nodeValue;
        }
        var error='';
        for(cntr=0;cntr<root.lastChild.childNodes.length;cntr++){
            error+=root.lastChild.childNodes[cntr].nodeValue;
        }
        document.getElementById('youtube_upload_results').style.display='';
        if(error==''){
            vidid=root.childNodes[1].firstChild.nodeValue;
            document.getElementById('youtube_upload_results').innerHTML=LANG_youtube_upload_success_label + ' (<a target="_new" style="font-size:8pt;background-image:none;margin-left:0px;padding-left:0px;margin-right:0px;padding-right:0px" href="' + vidid + '">YouTube</a>)';
        }else{
            document.getElementById('youtube_upload_results').innerHTML=error;
        }
    } else{
        document.getElementById('youtube_upload_results').style.display='';
        document.getElementById('youtube_upload_results').innerHTML=LANG_youtube_upload_error_label;
    }
}

// NOT USED -Phil 
YAHOO.episode.updateYoutubeAcct = function (formObject) {
    var surl = siteurl + '/xtranormal/ajax/youtube.php?op=updateaccount';
    var callback = {
        success: function(o) {
            YAHOO.episode.youtubesetup.cfg.setProperty("visible",false);
        },
        failure: function(o) {
            alert('AJAX Update Error: ' + o.status);
        },
        argument: {},
        timeout:55000
    }
    YAHOO.util.Connect.setForm(formObject, false);
    YAHOO.util.Connect.asyncRequest('POST', surl, callback);

}

YAHOO.episode.requestHighQualityMovie = function (uuid) {
    var surl = "/xs/hq_render/" + uuid + "/";
    YAHOO.util.Dom.setStyle('hq_request_complete','display','none');
    var callback = {
        success: function(o) {
            YAHOO.util.Dom.setStyle('hq_request_inprogress','display','block');
            YAHOO.util.Dom.setStyle('make_hd_request_link','display','none');
            YAHOO.util.Dom.setStyle('hd_request_disabled_link','display','block');
            YAHOO.util.Dom.setStyle('hd_request_text','display','none');
        },
        failure: function(o) {
            alert('AJAX Update Error: ' + o.status);
        },
        argument: {},
        timeout:55000
    }
    YAHOO.util.Connect.asyncRequest('GET', surl, callback);

}


function toggleWidget(elm) {
    var divarray = new Array ('favoriteswidget','publishwidget','flagwidget','playlistwidget');
    for (i=0; i < divarray.length; i++) {
        div = divarray[i];
        if (document.getElementById(div).style.display == '' && elm != div) {
            Element.hide(div);  // Using the prototype JS library
        }
    }
    if (document.getElementById(elm).style.display == 'none') {
        var obj = document.getElementById('about_episode');
        // commented out this scroll into view because it's highly annoying
       // if(obj) obj.scrollIntoView();
    }
    if (elm == 'favoriteswidget') {
        makeAJAXFavoriteRequest();
        Element.show('favoriteswidget');
        timer = setTimeout('Element.hide("favoriteswidget")', 3000);
    } else {
        toggleElement(elm);
    }

}

function chk4addplaylist(elm) {
    if (elm[elm.selectedIndex].value == -1) {
        Element.hide('playlist');
        Element.show('addplaylist');
    }
}

var favoritesRequestHandleSuccess = function(o){};

var favoritesRequestCallback =
{
  success:favoritesRequestHandleSuccess,
  failure:yuiRequestHandleFailure,
  argument: {},
  timeout:55500
};

function makeAJAXFavoriteRequest() {
    YAHOO.util.Connect.setForm(document.getElementById("details"), false);
    YAHOO.util.Connect.asyncRequest('POST', '/flag/', favoritesRequestCallback);
}

var playlistRequestHandleSuccess = function(o){
    /*var root = o.responseXML.documentElement;
    var error = root.getElementsByTagName('error')[0].firstChild.nodeValue;
    var op    = root.getElementsByTagName('op')[0].firstChild.nodeValue;*/
    if (o.responseText) {
        
        document.getElementById('pstatuscontent').innerHTML = o.responseText;
    }
    Element.hide('addplaylist');
    //if (op == 'addplaylist') {
        Element.hide('playlistwidget');
    //} else {
        //Element.show('playlist');
    //}
};

var playlistRequestCallback =
{
  success:playlistRequestHandleSuccess,
  failure:yuiRequestHandleFailure,
  argument: {},
  timeout:55500
};

function makeAJAXPlaylistRequest(formObject,op) {
    var elm = formObject.selplaylist;   // Playlist select field
    sUrl = "/addmovietolist/"
    YAHOO.util.Connect.setForm(formObject, false);
    if (op == 'addplaylist') {
        if (elm[elm.selectedIndex].value == -1) {
            Element.hide('playlist');
            Element.show('addplaylist');
        } else {
            document.getElementById('pstatus').style.visibility='visible';
            document.getElementById('pstatuscontent').innerHTML=LANG_adding_newplaylist;
            YAHOO.util.Connect.asyncRequest('POST', sUrl, playlistRequestCallback);
        }
    } else {

    
   
  
        var sUrl = '/createplaylist/';
        
        document.getElementById('pstatus').style.visibility='visible';
        document.getElementById('pstatuscontent').innerHTML=LANG_creating_newplaylist;
        YAHOO.util.Connect.asyncRequest('POST', sUrl, playlistRequestCallback, 'mediaid=' + mid + '&op=' + op);
    }
}



var sendMsgRequestHandleSuccess = function(o){
    var root = o.responseXML.documentElement;
    var error = root.getElementsByTagName('error')[0].firstChild.nodeValue;
    var op    = root.getElementsByTagName('op')[0].firstChild.nodeValue;
    if (error == 'NULL') {
        document.getElementById('pstatus').style.visibility='hidden';
        if (op == 'newplaylist') {
            var html  = root.getElementsByTagName('html')[0].firstChild.nodeValue;
            document.getElementById('playlist_selectelement').innerHTML = html;
        }
    } else {
        document.getElementById('pstatuscontent').innerHTML = error;
    }
	document.getElementById('publishwidget').style.display='none';

};

var sendMsgRequestCallback =
{
  success:sendMsgRequestHandleSuccess,
  failure:yuiRequestHandleFailure,
  argument: {},
  timeout:55500
};

function makeAJAXSendMsgRequest(formObject) {
    var elm = formObject.selplaylist;
    YAHOO.util.Connect.setForm(formObject, false);
    document.getElementById('pstatus').style.visibility='visible';
    document.getElementById('pstatuscontent').innerHTML='Sending your message ...';
    YAHOO.util.Connect.asyncRequest('POST', ajax_post_handler_url, sendMsgRequestCallback, 'mediaid=' + mid + '&op=sendmsg');
}



function makeAJAXModerateEpisode (mediaid,option) {
    var surl = ajax_post_handler_url + '?op=moderatemovie&mediaid=' + mediaid + '&option=' + option;
    var callback = {
        success: function(o) {
            var json = o.responseText.substring(o.responseText.indexOf('{'), o.responseText.lastIndexOf('}') + 1);
            var oResults = eval('(' + json + ')');
            if (oResults.retcode == 200) {
                if (option == 'approve') {
                    YAHOO.util.Dom.setStyle('moderation_options','display','none');
                    YAHOO.util.Dom.setStyle('moderation_postcloseaction','display','block');
                    YAHOO.util.Dom.get('moderation_prompt').innerHTML = oResults.retmsg;
                    YAHOO.util.Dom.get('chkhidden').checked=false;
                } else if (option == 'flag') {
                    YAHOO.util.Dom.setStyle('moderation_options','display','none');
                    YAHOO.util.Dom.setStyle('moderation_postcloseaction','display','block');
                    YAHOO.util.Dom.get('moderation_prompt').innerHTML = oResults.retmsg;
                } else if (option == 'delete') {
                    YAHOO.util.Dom.setStyle('moderation_options','display','none');
                    YAHOO.util.Dom.setStyle('episode_showcase_container','display','none');
                    YAHOO.util.Dom.get('moderation_prompt').innerHTML = oResults.retmsg;
                }
            } else {
                alert('Error processing Moderation option');
            }
        },
        failure: function(o) {
            alert('AJAX Update Error: ' + o.status);
        },
        argument: {},
        timeout:55000
    }
    YAHOO.util.Connect.asyncRequest('GET', surl, callback);

}

function makeAJAXModeratorRateEpisode (mediaid,option) {
    var surl = '/moderatecontentrating/' + mediaid + '/' + option;
    var callback = {
        success: function(o) {
            
            
                YAHOO.util.Dom.get('aboutepisode_rating').innerHTML = o.responseText;
                location.href = location.href;
            
        },
        failure: function(o) {
            alert('AJAX Update Error: ' + o.status);
        },
        argument: {},
        timeout:55000
    }
    YAHOO.util.Connect.asyncRequest('GET', surl, callback);

}