/**   
 * @author fundorado GmbH
 */
;
(function($){

    $.fn.camcontrol = function(options){
        $.fn.camcontrol.defaults.url = options.url;
        if (options.mute != '') 
            $.fn.camcontrol.defaults.mute = options.mute;
        if (options.inWindow == 1) {
            $.fn.camcontrol.defaults.inWindow = 1;
            if (options.winProps != '') 
                $.fn.camcontrol.defaults.win_HDProps = options.winProps;
            //getStreamInWindow();   
            getStreamInLayer();
        }
        else {
            if (options.isVip != null && options.isVip == 0) {
                uText = 'Hallo ' + options.usName + '!<br /><br />leider bist du noch kein <strong>GOLD-Mitglied</strong>.';
                uText += '<br/>Entscheide dich jetzt für den <strong>GOLD Tarif</strong> und erhalte Zugriff auf <strong>diese Cam Ansicht</strong> sowie auf viele weitere <strong>zus&auml;tzliche Inhalte!</strong>';
                uText += '<br/><br />Wechsle <a href="' + options.url + '" ><strong>hier</strong></a> zum GOLD Tarif!';
                openUpgradeLayer(options, uText);
            }
            else 
                if (options.ident != null && options.ident == "brille") {
                    bText = '<br />Du ben&ouml;tigst f&uuml;r die 3D Ansicht eine handels&uuml;bliche<br />"rot/cyan 3D Brille" (rotes Glas vor linkes Auge).<br /><br /><strong>Tipp:</strong> Um den Effekt optimal zu nutzen, die Cam nicht vergr&ouml;ßern und einen Abstand von ca. 1m zum Monitor einnehmen. Deine Augen brauchen einen Moment um sich an den Effekt zu gew&ouml;hnen.<br />Wenn du noch keine Brille hast, <a href="/club/allgemeines/3d_brille/popup/index.html" onClick="javascript:openWin(this,\'fundorado_popup\',\'width=520,height=350,screenX=0,screenY=0,status=no,menubar=no,tar=no,scrollbars=no,resizable=no,location=no\')" target="fundorado_popup" title="Service"><strong>hier</strong></a> kostenlos bestellen';
                    openUpgradeLayer(options, bText);
                }
                else {
                    getStream();
                }
            
        }
        
        
    };
    $.fn.camcontrol.defaults = {
        url: '',
        mute: '',
        win_HDProps: 'width=1280,height=740,screenX=0,screenY=0,status=no,menubar=no,tar=no,scrollbar=no,resizeable=no,location=no',
        inWindow: 0
    
    };
    getStream = function(options){
        if (options) {
            $.fn.camcontrol.defaults.mute = options.mute;
        }
        streamUrl = $.fn.camcontrol.defaults.url;
        //alert(streamUrl);Hier ist noch ein ToDo   
        if (streamUrl.indexOf('view_hd') != -1) {
            //getStreamInWindow();	   
            getStreamInLayer();
        }
        else {
            $('#fnd_action_cam_stage').html('');
            $.get(streamUrl, {
                mute: $.fn.camcontrol.defaults.mute
            }, function(data){
                $('#fnd_action_cam_stage').html(data);
            });
        }
    };
    getChatSite = function(url){
        $.get(url, {}, function(data){
            $('#fnd_action_cam_chat').html(data);
        });
    };
    getStreamInLayer = function(options){
        aPageOffset = 0;
        if (options) {
            $.fn.camcontrol.defaults.mute = options.mute;
        }
        if ($.browser.mozilla || $.browser.safari || $.browser.opera) 
            aPageOffset = pageYOffset;
        else 
            if ($.browser.msie) 
                aPageOffset = document.documentElement.scrollTop;
            else 
                aPageOffset = 0;
        streamUrl = $.fn.camcontrol.defaults.url;
        //alert(streamUrl);Hier ist noch ein ToDo   
        if (!document.getElementById('fnd_action_hd') && !document.getElementById('fnd_shadow')) 
            $('body').append('<div id=\"fnd_shadow\"></div><div id=\"fnd_action_hd\"></div>');
        $('#fnd_action_cam_stage').html('');
        $.get(streamUrl, {
            mute: $.fn.camcontrol.defaults.mute
        }, function(data){
            if ($('#fnd_shadow').css('display') == 'none') 
                $('#fnd_shadow').css({
                    display: 'block'
                });
            $('#fnd_action_hd').html(data);
            if ($('#fnd_action_hd').css('display') == 'none') 
                $('#fnd_action_hd').css({
                    display: 'block'
                });
            $('#fnd_action_hd').css({
                top: aPageOffset + 'px'
            });
            //$('#fnd_action_hd').draggable();   
            $('#fnd_close_hd').click(function(){
            
                $('#fnd_action_hd').remove();
                $('#fnd_shadow').remove();
                if ($.browser.msie) 
                    window.location.reload();
                
            });
        });
        
        
    };
    openUpgradeLayer = function(options, uText){
        if (document.getElementById('fnd_upgrade_layer')) {
            $('#fnd_upgrade_layer').remove();
        }
        $upgradeLayer = $('<div id=\"fnd_upgrade_layer\"></div>');
        $upgradeText = $('<div id=\"fnd_upgrade_layer_text\"></div>');
        $upgradeLayerClose = $('<div id=\"fnd_upgrade_layer_close\">X Fenster schliessen</div>')
        $upgradeLayerClose.css({
            width: '100%'
        });
        $upgradeLayerClose.css({
            'text-align': 'right'
        });
        $upgradeLayerClose.css({
            cursor: 'pointer'
        });
        $upgradeLayerClose.css({
            'font-size': '9px'
        });
        $upgradeLayerClose.css({
            'height': '10px'
        });
        $upgradeLayer.css({
            position: 'absolute'
        });
        $upgradeLayer.css({
            top: '0px'
        });
        $upgradeLayer.css({
            left: '253px'
        });
        $upgradeLayer.css({
            width: '300px'
        });
        $upgradeLayer.css({
            height: '126px'
        });
        $upgradeLayer.css({
            'background-color': '#fff'
        });
        $upgradeLayer.css({
            border: 'solid 1px #990099'
        });
        $upgradeLayer.css({
            padding: '5px'
        });
        $upgradeText.html(uText);
        $upgradeLayerClose.click(function(e){
            $upgradeLayer.remove();
        });
        $upgradeLayer.append($upgradeLayerClose);
        $upgradeLayer.append($upgradeText);
        $('.fndCamBody').append($upgradeLayer);
        
        
        
    };
    openWindow = function(options){
        w_properties = options.winProps;
        destinationUrl = options.url;
        win_name = options.wname;
        window.open(destinationUrl, win_name, w_properties);
    };
    getStreamInWindow = function(options){
        if (options) {
            $.fn.camcontrol.defaults.mute = options.mute;
        }
        w_streamUrl = $.fn.camcontrol.defaults.url + '?mute=' + $.fn.camcontrol.defaults.mute;
        deProps = $.fn.camcontrol.defaults.win_HDProps;
        deOpts = {
            url: w_streamUrl,
            wname: '_hd',
            winProps: deProps
        }
        openWindow(deOpts);
        $('#fnd_action_cam_stage').html('');
    };
    $.fn.setWriter = function(){
        theChilds = $(this).children().get();
        $(theChilds).each(function(i){
            if (i == 0) {
                $(this).addClass('panelON_left');
            }
            if (i == 1) {
                $(this).addClass('panelON_middle');
                $(this).css({
                    backgroundImage: 'url(/src/rd07/img_left/img_vnavi/pfeil_schwarz.gif)'
                });
            }
            if (i == 2) {
                $(this).addClass('panelON_right');
            }
        });
    };
    $.fn.clearWriter = function(){
        allChilds = $('#fnd_action_control').children().get();
        removeClassesRek(allChilds);
    };
    removeClassesRek = function(childs){
        $(childs).each(function(i){
            moreChilds = $(this).children().get();
            if (moreChilds != '') {
                removeClassesRek(moreChilds);
            }
            else {
                if ($(this).attr('class').indexOf('panelON_left') != -1) 
                    $(this).removeClass('panelON_left');
                if ($(this).attr('class').indexOf('panelON_middle') != -1) {
                    $(this).removeClass('panelON_middle');
                    $(this).css({
                        backgroundImage: 'url(/src/rd07/img_left/img_vnavi/pfeil_schwarz.gif)'
                    });
                }
                if ($(this).attr('class').indexOf('panelON_right') != -1) 
                    $(this).removeClass('panelON_right');
            }
        });
    };
    $.fn.getSchedule = function(options){
        openWindow(options);
    };
    initCamSite = function(options){
        $('#fnd_action_control').camcontrol({
            url: options.start_cam_url,
            mute: options.mute,
            inWindow: 0
        });
        $('#' + options.writer_id).setWriter();
        $('#fnd_control_sound').toggle(function(){
            getStream({
                mute: 'false'
            });
            $('.fnd_control_panel_sound').removeClass('soundON');
            $('.fnd_control_panel_sound').addClass('soundOFF');
            $('.fnd_control_panel_sound').text('Ton aus');
        }, function(){
            getStream({
                mute: 'true'
            });
            $('.fnd_control_panel_sound').removeClass('soundOFF');
            $('.fnd_control_panel_sound').addClass('soundON');
            $('.fnd_control_panel_sound').text('Ton ein');
        });
        $('#fnd_control_schedule').click(function(){
            $(this).getSchedule({
                url: options.schedule_url,
                wname: '_b',
                winProps: options.schedule_win_props
            });
            
        });
        if (options.hasChatLogin) {
            $('#fnd_chat_login_button').click(function(){
                getChatSite(options.chat_url);
            });
        }
        else {
            //alert('getChatSite :' + options.chat_url),  
            getChatSite(options.chat_url);
        }
        if ($('#fnd_chat_popit').attr('id')) {
            $('#fnd_chat_popit').toggle(function(){
                $('#fnd_action_cam_chat').fadeOut('slow', function(){
                    $(this).html('');
                    $('#fnd_chat_popit').html('Chat &ouml;ffnen');
                    window.open(options.chat_url, "Chatfenster", 'width=660,height=480,left=100,top=200,scrollbars=no,menubar=no,resizable=yes');
                });
            }, function(){
                $('#fnd_action_cam_chat').fadeIn('slow', function(){
                    getChatSite(options.chat_url);
                });
                $('#fnd_chat_popit').html('Chat im extra Fenster &ouml;ffnen');
            });
        }
    }
    cam_click_event = function(anId, options){
        $('#' + anId).click(function(){
            $(this).camcontrol(options);
            if (options.writer) {
                $(this).clearWriter();
                $(this).setWriter();
            }
            
            return false;
        });
    }
    init_cam_click_event = function(options){
        for (var $key in options) {
            cam_click_event($key, options[$key]);
        }
    }
    
})(jQuery);

