
function movieUpdate(movieID, mp4_file, thumb_file) {
    $('mc_left').fade({duration:0.15, to:0.02});
    new Ajax.Updater('mc_left', '/index/movie/movie/' + movieID, {onComplete:function() {
            createVideoPlayer (mp4_file, thumb_file);
            $('mc_left').appear({duration:0.15, delay:0.3});

            //if($('html5_video')) { // Video beim klick direkt abspielen
            //    var v = $('html5_video');
            //    v.load();
            //    v.play();
            //}
        }
    });
    
    $$('#mc_video_select_list_items .movie_link').each(function(item) {
        removeClass($(item), 'active');
    });

    addClass($('movie_link_' + movieID), 'active');
}

function categoryUpdate(categoryID, categoryName, categoryType) {

    var fastswitch = false;

    if ( $('mc_video_select').visible() ) {
        $('mc_video_select').fade({duration:0.1, to:0.0005});
        fastswitch = true;
    }

    if ( categoryType == 'subcat') {
        $('mc_subcats_dropdown').innerHTML = categoryName;
    } else {
        $('mc_search_dropdown').innerHTML = categoryName;
        new Ajax.Updater('mc_subcats_dropdown_box', '/index/subcat/parentID/' + categoryID );
    }
    

    if ( $('mc_searchall') ) {
        $('mc_searchall').value = 'search word';
    }

    new Ajax.Updater('mc_video_select', '/index/videoselect/category/' + categoryID, {onComplete:function() {
            if ( fastswitch ) {
                $('mc_video_select').appear({duration:0.3, delay:0.2});
            } else {
                if ( categoryType == 'subcat') {
                    toggleCatDrop('sub');
                } else {
                    toggleCatDrop();
                }
            }
        }
    });
}

function searchUpdate(q) {

    $('mc_video_select').fade({duration:0.1, to:0.0005});

    if ( $('mc_searchall') ) {
        $('mc_search_dropdown').innerHTML = 'search results';
        $('mc_searchall').value = q;
    } else {
        $('mc_search_dropdown').innerHTML = q;
    }


    new Ajax.Updater('mc_video_select', '/index/videoselect/q/' + q, {onComplete:function() {
            $('mc_video_select').appear({duration:0.3, delay:0.2});
        }
    });
}

function createVideoPlayer (video, image) {

    var flashvars = {
        file: stream_url + video ,
        image: '/videos/img/'+image,
        skin: skin_url + 'player_skin.swf',
        provider:'http',
        'http.startparam':'starttime'
    }

    var params = {
        wmode: 'transparent',
        allowfullscreen: 'true'
    }

    var attributes = {
        name: 'advert_player'
    }
    
    swfobject.embedSWF('/player/player.swf', 'jw_player', '560', '466', '9', false, flashvars, params, attributes);
}

function createAdvertPlayer (video, image) {

    var flashvars = {
        file: stream_url + video ,
        image: '/videos/img/'+image,
        skin: skin_url + 'player_skin.swf',
        autostart: 'true',
        controlbar: 'none',
        provider:'http',
        'http.startparam':'starttime'
    }

    var params = {
        wmode: 'transparent',
        allowfullscreen: 'true'
    }

    var attributes = {
        name: 'advert_player'
    }

    swfobject.embedSWF('/player/player.swf', 'advert_player', '560', '466', '9', false, flashvars, params, attributes);
}

function createEmbedPlayer (video, image, width, height) {

    var flashvars = {
        file: stream_url + video ,
        image: '/videos/img/'+image,
        skin: skin_url + 'player_skin.swf',
        provider:'http',
        'http.startparam':'starttime'
    }

    var params = {
        wmode: 'transparent',
        allowfullscreen: 'true'
    }

    var attributes = {
        name: 'embed_player'
    }

    swfobject.embedSWF('/player/player.swf', 'embed_player', width, height, '9', false, flashvars, params, attributes);
}

function toggleCatDrop(type) {

    var div_id = 'mc_search_dropdown_layer';
    var div_id2 = 'mc_video_select';
    var btn_id = 'mc_search_dropdown';

    if ( type == 'sub' ) {
        div_id = 'mc_subcats_dropdown_layer';
        div_id2 = 'mc_video_select';
        btn_id = 'mc_subcats_dropdown';
    }

    if($(div_id).style.display == 'none') {
        $(btn_id).setStyle({backgroundPosition: 'right bottom'});
        
        new Effect.SlideDown(div_id, {duration:0.3});
        new Effect.SlideUp(div_id2, {duration:0.6});

    } else {
        $(btn_id).setStyle({backgroundPosition: 'right top'});

        Effect.SlideUp(div_id, {duration:0.3});
        Effect.SlideDown(div_id2, {duration:0.6, delay:0.5});
    }
    return false;
}

var error_msg = 'Please complete!';

function sendMail(url, to, title) {
    
    if(to && !(to == error_msg)) {
        $("message_layer").style.display = "block";
        //new Effect.toggle('message_layer');
        new Ajax.Updater('message_layer_content', '/index/sendlink/mp4_url/' + url + '/to/' + to + '/title/' + title);
    } else {

        var item = 'send_to_email';
        $(item).setStyle({color:'#db0000'});
        $(item).setStyle({border:'#db0000 1px solid'});
        $(item).value = error_msg;
        new Effect.Pulsate($(item).id);
    }
}

function Scroll(direction) {
    // Config
    var elementHeight = 86;
    var scrollItems = 4;
    var scrollHeight = elementHeight * scrollItems;
    var wrapper = $('mc_video_select_list')
    var container = $('mc_video_select_list_items');

    if(container.getStyle('top')) {
        var aktTop = container.getStyle('top');
        var aktTop = parseInt(aktTop.substr(0, aktTop.length - 2));
    } else {
        var aktTop = 0;
    }

    if ( direction == 'up' ) {
        if ( aktTop < 0 ) {

            if ( scrollHeight > -aktTop) {
                scrollHeight = -aktTop;
            }

            new Effect.Move(container, {x:0, y:+scrollHeight, duration:0.3});
        } else {
            new Effect.Move(container, {x:0, y:+30, duration:0.15});
            new Effect.Move(container, {x:0, y:-30, duration:0.2, delay:0.16});
        }
    }
    //alert(aktTop + ' ' + wrapper.offsetHeight + ' ' + wrapper.scrollHeight + ' ' + (wrapper.offsetHeight - wrapper.scrollHeight));
    if ( direction == 'down' ) {
        if ( aktTop > wrapper.offsetHeight - wrapper.scrollHeight ) {

            var rest = aktTop - (wrapper.offsetHeight - wrapper.scrollHeight)

            if ( scrollHeight > rest) {
                scrollHeight = rest;
            }

            new Effect.Move(container, {x:0, y:-scrollHeight, duration:0.3});
        } else {
            new Effect.Move(container, {x:0, y:-30, duration:0.15});
            new Effect.Move(container, {x:0, y:+30, duration:0.2, delay:0.16});
        }
    }
}


// ================= Hinzufügen, Entfernen von Klassen ======================

function addClass (element, className) {
    if (!hasClass(element, className)) {
        if (element.className) {
            element.className += " " + className;
        } else {
            element.className = className;
        }
    }
}

function removeClass (element, className) {
    var regexp = addClass[className];
    if (!regexp) {
        regexp = addClass[className] = new RegExp("(^|\\s)" + className + "(\\s|$)");
    }
    element.className = element.className.replace(regexp, "$2");
}

function hasClass (element, className) {
    var regexp = addClass[className];
    if (!regexp) {
        regexp = addClass[className] = new RegExp("(^|\\s)" + className + "(\\s|$)");
    }
    return regexp.test(element.className);
}

function toggleClass (element, className) {
    if (element.hasClass(className)) {
        element.removeClass(className);
    } else {
        element.addClass(className);
    }
}
