﻿var Films = {

    showTrailer: function(e, p) {
        var el = Event.findElement(e, 'li')
        if (el.hasClassName('fd_IconWtActive')) {
            this.hide(el);
        } else {
            this.show(el, p);
        }
    },

    showTrailer2: function(elI, p) {
        var el = $(elI);
        this.show(el, p);
    },

    hide: function(el) {
        //new Effect.SlideUp('trailBox', { duration: 2 });
        $('trailBox').hide();
        var FO = { movie: "/trailers/trailer.swf", width: "100%", height: "0", majorversion: "8", build: "0", bgcolor: "#000000", allowfullscreen: "true", flashvars: "trl=1.flv&showdigits=false&autostart=false&showfsbutton=false", id: "fullscreen_flash" };
        UFO.create(FO, "player1");
        this.toggleClass('fd_IconWtActive', 'fd_IconWt', el)
        this.showDescription();
    },

    show: function(el, tPath) {
        //this.closeElement();
        $('fd_curIcon').innerHTML = el.id
        var FO = { movie: "/trailers/trailer.swf", width: "100%", height: "0", majorversion: "8", build: "0", bgcolor: "#000000", allowfullscreen: "true", flashvars: "trl=" + tPath + "&showdigits=false&autostart=true&showfsbutton=false", id: "fullscreen_flash" };
        UFO.create(FO, "player1");
        //new Effect.SlideDown('trailBox', { duration: 2 });
        $('trailBox').show();
        this.toggleClass('fd_IconWt', 'fd_IconWtActive', el)
        this.hideDescription();
    },

    shareIt: function(tID) {
        var txtFrom = $("txtFrom");
        var txtTo = $("txtTo");
        var txtComment = $("txtMessage");
        var txtSubject = $("txtSubject");
        if (txtFrom.value && txtTo.value && txtSubject.value) {
            if (FilmAjax.ShareTrailer(tID, txtFrom.value, txtTo.value, txtComment.value, txtSubject.value, ShareTrailer_CallBack)) {

            }
            else {
                return false;
            }
        } else {
            alert("Please check you have entered all required fields!")
            return false
        }
        function ShareTrailer_CallBack(response) {
            if (response.error != null) {
                alert(response.error);
                window.status = ''
                return false;
            }
            if (response.value == "") {
                alert("Action Failed");
                window.status = ''
                return false;
            }
            $("msgShareIt").innerHTML = response.value
            if ($("msgShareIt").innerHTML.indexOf("sent") > 0) {
                new Effect.SlideUp('fd_ShareFormbox', { duration: 0.3 });
            }

            return true;
        }
    },

    emailFriend: function(elm, movieId) {
        var el = $(elm);
        if (el.hasClassName('fd_IconEfActive')) {
            this.closeShare(el)
        } else {
            this.showShare(elm, movieId)
        }
    },

    showShare: function(elm, movieID) {
        var p_elm = elm

        //if ($(p_elm).innerHTML.indexOf(">") > 0) {
        //    slideDownEf();
        // }
        //this.closeElement();
        $('fd_curIcon').innerHTML = p_elm.id
        if (movieID) {
            if (FilmAjax.GetShareForm(movieID, p_elm, showShare_CallBack)) {

            }
            else {
                return false;
            }
        } else {
            alert("An error occured!")
            return false
        }
        function showShare_CallBack(response) {
            if (response.error != null) {
                alert(response.error);
                return false;
            }
            if (response.value == "") {
                alert("An error occured!");
                return false;
            }
            $("divShareIT").innerHTML = response.value
            slideDownEf();
        }

        function slideDownEf() {
            if (!Prototype.Browser.IE) {
                new Effect.SlideDown('divShareIT', { duration: 0.7 });
            } else {
                $('divShareIT').show();
            }

            Films.toggleClass('fd_IconEf', 'fd_IconEfActive', $(p_elm));
            Films.hideDescription();
            return true;
        }
    },

    closeShare: function(el) {
        //
        if (!Prototype.Browser.IE) {
            new Effect.SlideUp('divShareIT', { duration: 0.7 });
        } else {
            $('divShareIT').hide();
        }
        this.toggleClass('fd_IconEfActive', 'fd_IconEf', $(el))
        $("msgShareIt").innerHTML = "";
        this.showDescription();
    },

    hideDescription: function(el) {
        if ($('descBox').getStyle('display') != 'none') {
            // new Effect.SlideUp('descBox', { duration: 0.5 });
            $('descBox').hide();
        }
    },

    showDescription: function() {
        if ($('descBox').getStyle('display') == 'none') {
            $('descBox').show();
        }
    },

    toggleClass: function(cToRemove, cToAdd, el) {
        el.removeClassName(cToRemove);
        el.addClassName(cToAdd);
    },

    addRemoveListEntry: function(e) {
        // Get me the link element so we can read add string
        var _i = 0;
        var _el = Event.element(e);
        var _hParams = _el.readAttribute('href').toQueryParams();

        var _elDiv = Event.findElement(e, 'div');
        var _elClass = $w(_elDiv.className);
        var _sStyle = null;
        var _sStyleClean = null;


        for (_i = 0; _i < _elClass.length; _i++) {
            if (_elClass[_i].indexOf('lst') > -1) {
                _sStyle = _elClass[_i]
            }
        }
        _sStyleClean = _sStyle.replace('InQ', '');
        this.toggleClass(_sStyle, _sStyleClean + 'Wait', $(_elDiv))

        if (FilmAjax.AddToList(_hParams.a, function(r) {
            if (r.error != null) {
                alert(r.error);
                return false;
            }

            if (r.value == "") {
                alert("Action Failed");
                return false;
            }
            if (r.value == 0) {
                alert("There has been a problem adding this title to your list.\nTry again and if the problem persist please contact us.");
                return false;
            }

            if (r.value == "-100") {
                alert("To add Blu-Ray to your list, your account need to be enabled for this format.\nPlease go to My Account and under membership click 'Enable or Disable Blu-Ray'");
                Films.toggleClass(_sStyleClean + 'Wait', _sStyle, $(_elDiv))
                return false;
            }

            if (_sStyle.indexOf('InQ') != -1) {
                _sStyle = _sStyle.replace('InQ', '');
            } else {
                _sStyle += 'InQ'
            }

            Films.toggleClass(_sStyleClean + 'Wait', _sStyle, $(_elDiv))

            var _qLink = _el.readAttribute('href')
            var _qPath = _qLink.split('?');
            var _hParams = _qLink.toQueryParams();
            _hParams.a = r.value
            _el.setAttribute('href', _qPath[0] + '?' + $H(_hParams).toQueryString())
            MiniQ.getNoDVDsInList();
            if (_hParams.trkId) {
                FilmAjax.TrackSearch(_hParams.trkId, function() {

                });
            }
            return true;

        })) {

        }
        else {
            alert("No value provided.");
            return false;
        }
    },
    addRemoveListEntryFlash: function(val) {

        if (FilmAjax.AddToList(val, addRemoveListEntryFlash_CallBack)) {

        }
        else {
            alert("No value provided.");
            return false;
        }
        function addRemoveListEntryFlash_CallBack(response) {
            if (response.error != null) {
                alert(response.error);
                return false;
            }

            if (response.value == "") {
                alert("Action Failed");
                return false;
            }
            if (response.value == 0) {
                alert("There has been a problem adding this title to your list.\nTry again and if the problem persist please contact us.");
                return false;
            }

            if (response.value == "-100") {
                alert("To add Blu-Ray to your list, your account need to be enabled for this format.\nPlease go to My Account and under membership click 'Enable or Disable Blu-Ray'");
                return false;
            }
        }
    },
    sbOpen: function(e) {
        var el = Event.findElement(e, 'li');  //Event.findElement(e, 'li')
        if (el.hasClassName('open')) {
            el.removeClassName('open')
            new Effect.SlideUp(el.down(4), { duration: 0.5 });
        } else {
            el.addClassName('open')
            new Effect.SlideDown(el.down(4), { duration: 0.5 });
        }
    },

    buildTrailerIFrame: function() {
        var s = '<div id="trailBox" class="fd_trailerBox">';
        s += '<div id="player1" style="text-align: center;">';
        s += '<div style="background-color: #000000"><p>';
        s += '<img border="0" src="/Catalog/Images/flash.gif" width="182" height="31" /><br /><br />';
        s += '<font color="#ffffff">The trailers on this website require Adobe Flash player 8.0 or later.<br />';
        s += 'To get the player click<a href="http://get.adobe.com/flashplayer/"> Get the Flash Player</a> from Adobe<br />';
        s += 'website and restart your browser to watch this trailer!</font><br />';
        s += '</p>';
        s += '</div>';
        s += '</div>';
        return s

    },

    showTrailerPop: function(q) {
        jQuery('#popUpBg').show();
        jQuery('#popUpWinFront').removeClass();
        jQuery('#popUpWinFront').addClass('popUpTrailer');
        jQuery('#popUpWinFront1').html(this.buildTrailerIFrame());
        jQuery('#popUpWinFront1').removeClass();
        jQuery('#popUpWinFront1').addClass('popUpTrailer1');
        jQuery('#popUpBack').slideDown('slow');
        var FO = { movie: "/trailers/trailer.swf", width: "100%", height: "0", majorversion: "8", build: "0", bgcolor: "#000000", allowfullscreen: "true", flashvars: "trl=http://www.cinemaparadiso.co.uk/Trailers/?q=" + q + "&showdigits=false&autostart=true&showfsbutton=false", id: "fullscreen_flash" };
        UFO.create(FO, "player1");
        return true;
    },

    unbindTrailer: function() {
        jQuery("a[JQ=5]").unbind();
    },

    bindTrailer: function() {
        jQuery("a[JQ=5]").click(function(event) {
            var url = CPUtility.parseURL(jQuery(this).attr('href'));
            event.preventDefault();
            Films.showTrailerPop(url.params.tId)
        });
    },
    bindAddFilm: function() {
        jQuery("a[JQ=11]").click(function(event) {
            event.preventDefault();
            Films.addRemoveListEntry(event)
        });
    },
    unbindAddFilm: function() {
        jQuery("a[JQ=11]").unbind();
    }
}

jQuery(document).ready(function() {

    Films.bindTrailer();

    jQuery("a[JQ=6]").click(function(event) {
        event.preventDefault();
        Films.sbOpen(event)
    });
    Films.bindAddFilm();
});