﻿var dpMovie;
var inUrl = $("#inWithUrl");
var divUrl = $("[id$=m_divUrl]");
var divDetails = $("[id$=m_divDetails]");
var inHiddenLink = $("[id$=inYouTubeLink]");
var btPrevStep = $("[id$=m_btPrevStep]");
var inTitle = $("[id$=m_inTitle]");
var taDescription = $("[id$=m_taDescriptionArea]");
var btSave = $("[id$=m_btSaveMovie]");
var bValidation = false;
var inHiddenMovieId = $("[id$=m_hidMovieId]");
var divWithFilm = $("[id$=m_divWithFilm]");
var sReturnMovieUrl = "";

$(document).ready(function() {
    dpMovie = new datePanel($("#date-div"));

    if($("[id$=m_hidIsMovieDetails]").val() == 1){
         $("[id$=hlDelMovie]").floatdialog("divDeleteMovie");
         dpMovie.setValues($("[id$=m_hidDateFrom]").val(), $("[id$=m_hidDateTo]").val(), $("[id$=m_hidDateType]").val(), '.');
    }
    else {
        initializeUpload();
        if (inHiddenMovieId.val() != "")
        {    
            dpMovie.setValues($("[id$=m_hidDateFrom]").val(), $("[id$=m_hidDateTo]").val(), $("[id$=m_hidDateType]").val(), '.');
        }
    }

});

function validationLink() {
        $.ajax({
            type: "POST",
            url: $('[id$=m_hidPath]').val() + "/Movie/Actions.aspx",
            dataType: "json",
            success: onValidationLinkSuccess,
            error: onErrorResponse,
            data: {
                check: 'link',
                link: inUrl.val()
            }
        });
        
        function onValidationLinkSuccess(response, statusText) {
            if (response.ok) {
                inHiddenLink.val(response.YouTubeLink);
                divDetails.show();
                divUrl.hide();
                btPrevStep.show();
                btSave.show();
            }
            else{
                status.showError(response.status);
            }
        };
        return false;
};

function previousStep() {
    divUrl.show();
    divDetails.hide();
    inHiddenLink.val("");
    btPrevStep.hide();
    dpMovie.reset();
    taDescription.val("");
    inTitle.val("");
    btSave.hide();
    divWithFilm.hide();
};

function cancelAddMovie() {
    if (sReturnMovieUrl != "")
    {
        window.location = sReturnMovieUrl;
    }
    else if (document.referrer.length > 0)
    {
        window.location = document.referrer;
    }
    else
    {
        inUrl.val("");
        previousStep();
        
    }
    return false;
};

function saveMovie(sAction) {
        validationForm();
        if (bValidation)
        {
            if (sAction == "save")
            {
                $.ajax({
                    type: "POST",
                    url: $('[id$=m_hidPath]').val() + "/Movie/Actions.aspx",
                    dataType: "json",
                    success: onSaveMovieSuccess,
                    error: onErrorResponse,
                    data: {
                        action: sAction,
                        link: inHiddenLink.val(),
                        catId: iCategoryId,
                        title: inTitle.val(),
                        description: taDescription.val(),
                        created: dpMovie.getFromValue(),
                        dateType: dpMovie.getTypeOfDates()
                    }
                });
            }
            else if (sAction == "edit")
            {
                $.ajax({
                    type: "POST",
                    url: $('[id$=m_hidPath]').val() + "/Movie/Actions.aspx",
                    dataType: "json",
                    success: onSaveMovieSuccess,
                    error: onErrorResponse,
                    data: {
                        action: sAction,
                        catId: iCategoryId,
                        title: inTitle.val(),
                        description: taDescription.val(),
                        created: dpMovie.getFromValue(),
                        dateType: dpMovie.getTypeOfDates(),
                        movieId: inHiddenMovieId.val()
                    }
                });
            }
        }              
};
function onSaveMovieSuccess(response, statusText){
    if (response.ok){
        if (response.exception == "true")
        {
            status.showError(response.status);
        }
        else
        {
            sReturnMovieUrl = response.sReturnUrl;
            status.showInfo(response.status);
            cancelAddMovie();
            //__doPostBack($("[id$=m_upMyMovies]")[0].id);
        }
    }
};

function validationForm(){
    if (!(iCategoryId))
    {
        status.showError("Musisz wybrać kategorię!");
    }
    else if (inTitle.val() == "")
    {
        status.showError("Musisz podać tytuł filmu!");
    }
    else
    {
        bValidation = true;
    }
};

var tempDescription = $("[id$=DescriptionArea]").html();

function showEditDescription() {
    $("[id$=hlDescription]").parent().hide();
    $("#descriptionEdit-div").show();
    $("p[id$=pDescription]").hide();
    return false;
};

function cancelEditDescription() {
    $("[id$=hlDescription]").parent().show()
    $("#descriptionEdit-div").hide();
    $("p[id$=pDescription]").show();
    $("[id$=DescriptionArea]").val(tempDescription);
    return false;
};

function showPriceSelect() {
    $("#divSetPrice").show();
    return false;
};

function editDescriptionMovie() {
    $.ajax({
        type: "POST",
        url: $('[id$=m_hidPath]').val() + "/Movie/Actions.aspx",
        dataType: "json",
        success: onDescriptionSuccess,
        error: onErrorResponse,
        data: {
            movieid: $('[id$=m_hidID]').val(),
            edit: "description",
            value: $("[id$=DescriptionArea]").val()
        }
    });

    function onDescriptionSuccess(response, statusText) {
        if (response.ok) {
            var description = response.value;
            $("p[id$=pDescription]").html(description.replace(/\n/g, "<br/>"));
            $("p[id$=pDescription]").show();
            $("#descriptionEdit-div").hide();
            $("[id$=hlDescription]").parent().show();
            $("[id$=DescriptionArea]").html(description);
            tempDescription = $("[id$=DescriptionArea]").val();
            status.showInfo(response.status);
        }
        else {
            status.showError(response.status);
        }
    }
    
    return false;
};
function editDateMovie() {
    var sDateType = dpMovie.getTypeOfDates();
    var sDateFrom = dpMovie.getFromValue();
    $.ajax({
        type: "POST",
        url: $('[id$=m_hidPath]').val() + "/Movie/Actions.aspx",
        dataType: "json",
        success: onDateSuccess,
        error: onErrorResponse,
        data: {
            movieid: $('[id$=m_hidID]').val(),
            edit: "date",
            created_from: sDateFrom,
            datetype: sDateType
        }
    });
      function onDateSuccess(response, statusText) {
        if (response.ok) {
            var sDateType = dpMovie.getTypeOfDates();
            var sDateFrom = dpMovie.getFromValue();
            $("#date-div").hide();
            var sDisplayDate;
            switch (sDateType[0]) {
                case 'd':
                    sDisplayDate = sDateFrom;
                    break;
                case 'm':
                    sDisplayDate = sDateFrom.substring(3, 10);
                    break;
                case 'y':
                    sDisplayDate = sDateFrom.substring(6, 10);
                    break;
            }
            status.showInfo(response.status);
            $("[id$=spanCreated]").html(sDisplayDate + "(<a class=\"edit\" href=\"#\" onclick=\"$('#date-div').toggle(); return false\">Edytuj</a>)");
        }
        else {
        }
        return false;
    }
    
    return false;

};

function showAddToGroup_Click(a_lMovieId, a_bIsMovieAuthor) {
    showAjaxLoader(null, $('[id$=divAddToGroup]'), 'loader-parent-absolute');
    $("[id$=divAddToGroup]").show();
    $.ajax({
        type: "POST",
        url: $('[id$=m_hidPath]').val() + "/Group/Actions.aspx",
        dataType: "json",
        success: onShowAddMovieSuccess,
        error: onErrorResponse,
        data: {
            movie: 'open',
            movieid: a_lMovieId,
            ismovieauthor: a_bIsMovieAuthor
        }
    });

    function onShowAddMovieSuccess(response, statusText) {
        var selectGroup = $("[id$=selectGroup]");
        if (response.ok) {
            $("[id$=labGroup]").text("Grupy: ");
            selectGroup.show();
            $("[id$=btAddToGroup]").show();
            var groupSplit = response.groups.split(";");
            $.each(groupSplit, function(i, item) {
                var s = item.split(":");
                selectGroup.append(
                $("<option></option>").val(s[0]).html(s[1]));
            })
        }
        else {
            if (response.nogroup != null && response.nogroup) {
                selectGroup.hide();
                $("[id$=labGroup]").text(response.status);
                $("[id$=btAddToGroup]").hide();
                
            }
            else {
                status.showError(response.status);
            }
        }
        hideAjaxLoader(null, $('[id$=divAddToGroup]'), 'loader-parent-absolute');
    };

    return false;
};
function addToGroup_Click(a_lMovieId) {
    showAjaxLoader(null, $('[id$=divAddToGroup]'), 'loader-parent-absolute');
    $.ajax({
        type: "POST",
        url: $('[id$=m_hidPath]').val() + "/Group/Actions.aspx",
        dataType: "json",
        success: addMovieSuccess,
        error: onErrorResponse,
        data: {
            movie: 'add',
            movieid: a_lMovieId,
            groupid: $("[id$=selectGroup]").val()
        }
    });

    function addMovieSuccess(response, statusText) {
        if (response.ok) {
            $("option", $("[id$=divAddToGroup]")).remove();
            $("[id$=divAddToGroup]").hide();
            hideAjaxLoader(null, $('[id$=divAddToGroup]'), 'loader-parent-absolute');
            __doPostBack($("[id$=m_upGroupsMovies]")[0].id, 'newgroup');
        }
        else {
            status.showError(response.status);
        }
    };
    return false;
};
    
