var modal_bg = {};
var modal = {};
var modal_delay = 100;
var modal_opacity = 85;

var windowMaxWidth = 1400;
var windowMinWidth = 980;

var contentContainer;

// a HACK to help load scrollbar ends...
var hackA = new Image();
hackA.src = 'modules/ArtistManager/FE/graphics/icon_return.png';
var hackB = new Image();
hackB.src = 'modules/ArtistManager/FE/graphics/icon_previous.png';
var hackC = new Image();
hackC.src = 'modules/ArtistManager/FE/graphics/icon_next.png';
var hackD = new Image();
hackD.src = 'modules/ArtistManager/FE/graphics/f_4-in1_All-COLOR-4_600x450.jpg';

// such a Baaaad boy


$(document).ready( function () 
{
    
    // size and position of pagewrapper
    if( $(window).width() > windowMaxWidth )
    {
        $('#pagewrapper').css( 'width', windowMaxWidth );
        $('#pagewrapper').css( 'left', ( $(window).width() - windowMaxWidth ) / 2 );
    }
    else if( $(window).width() < windowMinWidth )
    {
        $('#pagewrapper').css( 'width', windowMinWidth );
        $('#pagewrapper').css( 'left',  0 );
    }
    else
    {
        $('#pagewrapper').css( 'width', $(window).width() );
        $('#pagewrapper').css( 'left',  0 );
    }
    
    $('#pagewrapper').css('top', ( $(window).height() - 572 ) / 2);
    $(window).resize( function () {
        resize_pagewrapper();
    });
        
    // set-up modal and modal_bg
    modal = $('<div />', {
        'id': 'modal'
    });
    contentContainer = $('#content');
    modal[0].style.position = 'absolute';
    modal[0].style.width = "100%";
    modal[0].style.height = contentContainer.innerHeight() + "px";
    set_opacity( '0', modal[0]);
    
    modal_bg = $('<div />', {
        'id': 'modal_bg'
    });
    modal_bg[0].style.position = 'absolute';
    modal_bg[0].style.width = "100%";
    modal_bg[0].style.height = "100%";
    modal_bg[0].style.backgroundColor = '#ffffff';
    set_opacity( modal_opacity , modal_bg[0]);
    
    modal_bg.appendTo(modal);
    modal.appendTo(contentContainer);
    
    // show ajax error if any
    
    $(document).ajaxError(function(e, xhr, settings, exception) {
    //alert('We are working on a mac version of the website. Sorry for the inconvenience.');
    });
    
});

var resize_pagewrapper = function()
{
    // size and position of pagewrapper
    if( $(window).width() > windowMaxWidth )
    {
        $('#pagewrapper').css( 'width', windowMaxWidth );
        $('#pagewrapper').css( 'left', ( $(window).width() - windowMaxWidth ) / 2 );
    }
    else if( $(window).width() < windowMinWidth )
    {
        $('#pagewrapper').css( 'width', windowMinWidth );
        $('#pagewrapper').css( 'left',  0 );
    }
    else
    {
        $('#pagewrapper').css( 'width', $(window).width() );
        $('#pagewrapper').css( 'left',  0 );
    }
    $('#pagewrapper').css('top', ( $(window).height() - 572 ) / 2);
    
}


function set_opacity(opacity, element)
{
    element.style.opacity = (opacity / 100);
    element.style.MozOpacity = (opacity / 100);
    element.style.KhtmlOpacity = (opacity / 100);
    element.style.filter = "alpha(opacity=" + opacity + ")";
}

// current state
var page;



var set_page = function ( element, name )
{
    $('.menu_item').removeClass( 'selected' );
    $(element).addClass( 'selected' );
    page = $(element).html();
    
    
    if( typeof name == 'undefined')
    {
        if( modal.css('display') == 'block' &&  loading_msg_on == false)
        {
            clearTimeout(fade_timer);
            fade_modal_out(modal);
            return;
        }
            
        get_artists( $(element).attr('rel') );
    }
    else
    {
        clearTimeout(fade_timer);
        fade_modal_out(modal);
        switch( name )
        {
            case 'production':
                load_production();
            break;
            case 'downloads':
                load_downloads();
            break;
            case 'about':
                load_about();
            break;
            case 'contact':
                load_contact();
            break;
        }
    }
}

var fade_timer;
var current_opacity = 0;
var opacity_step = 100 / modal_delay;
var fade_modal_in = function( modal )
{
    modal.css('display', 'block');
    if( current_opacity < 100 )
    {
        set_opacity( current_opacity + (opacity_step * 10), modal[0]);
        current_opacity += (opacity_step * 10);
        fade_timer = setTimeout( function(){
            fade_modal_in(modal)
        }, modal_delay / 10)
    }
}

var fade_modal_out = function( modal )
{
    if( current_opacity > 0 )
    {
        set_opacity( current_opacity - (opacity_step * 10), modal[0]);
        current_opacity -= (opacity_step * 10);
        fade_timer = setTimeout( function(){
            fade_modal_out(modal)
        }, modal_delay / 10)
    }
    if( current_opacity == 0 )
    {
        $.each( modal.children(), function(){
            if(this.id != 'modal_bg') $(this).remove()
                });
        modal.css('display', 'none');
    }
}

var slide_show;
var slideShowTimer;
var slide_show_think_timer;
var slide_show_running = false;
var stop_slide_show = function()
{
    clearInterval( slide_show_think_timer );
    clearInterval( slideShowTimer );
    slide_show.remove();
    slide_show = null;
    slide_show_running = false;
   
}

var next_slide = function()
{
    if( slide_show.get_current_image_number() != slide_show.get_total_number_of_images() &&
        ( slide_show.imageObjectArr[ slide_show.get_current_image_number() ].complete == false || 
            slide_show.imageObjectArr[ slide_show.get_current_image_number() ].src == "" ) )
    {
        slideShowTimer = setTimeout( function(){
            next_slide();
        }, play_speed * 100 );
    }
    else
    {  
        slide_show.next_image();
        slideShowTimer = setTimeout( function(){
            next_slide();
        }, play_speed * 1000 );

    }        
}
var clear_content = function()
{
    if( slide_show_running )
        stop_slide_show();
    $.each( contentContainer.children(), function(){
            if(this.id != 'modal') $(this).remove()
                });
}
var load_time_tolerence = 700;
var load_timer;
var loading_msg = {};
var loading_msg_on = false;
var show_loading_msg = function()
{
    loading_msg = $('<span />', {'id': 'loading_msg'}).html('Loading...');
    loading_msg.appendTo(modal);
    clearTimeout(fade_timer);
    fade_modal_in(modal);
    loading_msg_on = true;
}

var hide_loading_msg = function()
{
    loading_msg.remove();
    loading_msg_on = false;;
}

var get_artists = function( category_id )
{
    if( typeof $('#artist_list')[0] === 'undefined')
    {
        load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
        $.post("modules/ArtistManager/ajax.FE_get_artists.php", {'category_id' : category_id}, function(data)
        {
            var artists_object = $.parseJSON(data);
            var content_container = $('#content');
            var artist_list = $('<div />', {
                'id': 'artist_list'
            });
            artist_list.width( content_container.width() - 40 );
            for( var current_artist in artists_object )
            {
                var current_artist_span = $('<a />', {
                    'id': artists_object[current_artist].id, 
                    'class': 'artist_span'
                    }).click( function(){load_artist( this.id);} );
                current_artist_span.html( artists_object[current_artist].name.replace( ' ', '&nbsp;'));
                current_artist_span.appendTo(artist_list);
            }
            clearTimeout(load_timer);
            if( loading_msg_on )
            {
                loading_msg.remove();
                loading_msg_on = false;
                artist_list.appendTo(modal);
            }
            else
            {
                artist_list.appendTo(modal);
                clearTimeout(fade_timer);
                fade_modal_in(modal);
            }         
        })
    }
    
}

var load_artist = function( artist_id )
{
    $('#artist_list').remove();
    load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
    $.post("modules/ArtistManager/ajax.FE_load_artist.php", {'artist_id' : artist_id}, function(data)
    {
        var artist_object = $.parseJSON(data);
        var content_container = $('#content');
        
        clearTimeout(load_timer);
        if( loading_msg_on )
        {
            loading_msg.remove();
            loading_msg_on = false;
        }
        
        clear_content();
        eval( artist_object.artist_menu);
        artist_menu.prependTo(contentContainer);
        artist_menu_bg.prependTo(contentContainer);        
        var artist_description = $('<div />', {'id': 'left_text_block'}).html(artist_object.artist_description);
        artist_description.prependTo(contentContainer);
        load_artist_reel(artist_object.artist_reel);
        clearTimeout(fade_timer);
        fade_modal_out(modal);
            
        
    });
}

var load_artist_reel = function( images_string )
{
    if( images_string != '' && images_string != null)
    {
        var play_speed = 2.5;
        var imageURL = "ArtistManager/";
        var loadWheelURL = "modules/ArtistManager/FE/graphics/loading_wheel_small.gif";
        var imageSrcStr = images_string;

        var slide_show_ratio = 4/3;
        var content_area_width = $('#content').width();
        if( content_area_width > 1400 )
            content_area_width = 1400;
        var slide_show_width_percent = Math.floor( (content_area_width - 520) / 100 );
        //alert( $('#content').width() );
        var max_slide_show_width_percent = 6;
        if( slide_show_width_percent > max_slide_show_width_percent )
            slide_show_width_percent = max_slide_show_width_percent;
        var slide_show_height_percent = slide_show_width_percent / slide_show_ratio;


        slide_show = new Slide_Show('reel', slide_show_width_percent * 100, slide_show_height_percent * 100, imageSrcStr, imageURL, new transition_fade_from_background(450), loadWheelURL);
        slide_show.canvas.style.visibility = "hidden";
        var slidShowCanvasHolder = $('<div />').prependTo(contentContainer);
        slide_show.append( slidShowCanvasHolder[0] );
        slide_show.set_position( content_area_width - ( slide_show_width_percent * 100) - 10, ( $('#content').height() - ( slide_show_height_percent * 100) ) /2 );
        slide_show_think_timer = setInterval( 'slide_show.think()', 100 );
        slide_show_running = true;
        slide_show.canvas.style.visibility = "visible";
        slideShowTimer = setTimeout( function(){next_slide();}, play_speed * 1000 );
    }
}

function set_up_flap_slides_control( slidesReel, frame, scrollbar )
{
    
    // mousewheel functionality coming soon...
    var deltaHolder = 0;
    frame.bind('mousewheel', function( event, delta )
    { 
        deltaHolder += delta;
        if( deltaHolder >= 1)
        {
            slidesReel.forward();
            deltaHolder = 0;
        }
        else if( deltaHolder <= -1)
        {
            slidesReel.reverse();
            deltaHolder = 0;
        }
        stopEvent( event);
    });
    
    
    scrollbar.get_scrollbar_object().bind('mousewheel', function( event, delta )
    { 
        deltaHolder += delta;
        if( deltaHolder >= 1)
        {
            slidesReel.forward();
            deltaHolder = 0;
        }
        else if( deltaHolder <= -1)
        {
            slidesReel.reverse();
            deltaHolder = 0;
        }
        stopEvent( event);
    });
    
    // return, back and forward buttons
    var return_button = $('<img />', {'id': 'slides_control_return', 'src': 'modules/ArtistManager/FE/graphics/icon_return.png'}).appendTo(contentContainer);        
    return_button.click( function()
    {
        slidesReel.move_reel(0);
        scrollbar.animate_to_interest_zone( 0 );
    });
    
    var repeat_timer;
    var previous_button = $('<img />', {'id': 'slides_control_previous', 'src': 'modules/ArtistManager/FE/graphics/icon_previous.png'}).appendTo(contentContainer);        
    previous_button.bind('mousedown', function( event )
    {
        slidesReel.reverse();
        repeat_timer = setInterval(function(){slidesReel.reverse();}, 500);
        $(document).bind('mouseup.repeat', function(){clearInterval(repeat_timer);});
        stopEvent(event);
        
    });
    
    var next_button = $('<img />', {'id': 'slides_control_next', 'src': 'modules/ArtistManager/FE/graphics/icon_next.png'}).appendTo(contentContainer);        
    next_button.bind('mousedown', function( event )
    {
        slidesReel.forward();
        repeat_timer = setInterval(function(){slidesReel.forward();}, 500);
        $(document).bind('mouseup.repeat', function(){clearInterval(repeat_timer);});
        stopEvent(event);
        
    });          
                
    // arrow key functionality
    $(document).jkey('right',function()
    {
        slidesReel.forward();
    });
    $(document).jkey('left',function()
    {
        slidesReel.reverse();
    });

    // frame swipe functionality
    var mouseStartX;
    var mouseEndX;
    if ('ontouchstart' in document.documentElement) 
    {
        $(frame).bind( 'touchend', function ( event ){
            mouseStartX = 0;
            mouseEndX = 0;
            $(frame).unbind( 'touchmove.swipe' );
        });
        $(frame).bind( 'touchstart', function ( event )
        { 
            var touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0];
            mouseStartX = touch.pageX;
            $(frame).bind('touchmove.swipe', function(event){
                swipeTouch(event);
                stopEvent(event);
            });
            stopEvent(event);
        });


        function swipeTouch( event )
        {
            var touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0];
            var mouseEndX = touch.pageX;
            if(mouseStartX > mouseEndX )
            {
                if(mouseStartX - mouseEndX > 50 )
                {
                    slidesReel.forward();
                    $(frame).unbind( 'touchmove.swipe' );
                }
            }
            else if(mouseStartX < mouseEndX )
            {
                if(mouseStartX - mouseEndX <  -50 )
                {
                    slidesReel.reverse();
                    $(frame).unbind( 'touchmove.swipe' );
                }
            }

        }
    }
    else
    {
        $(frame).bind( 'mouseup', function ( event ){
            mouseStartX = 0;
            mouseEndX = 0;
            $(frame).unbind( 'mousemove.swipe' );
        });
        $(frame).bind( 'mousedown', function ( event )
        { 
            mouseStartX = event.pageX;
            $(frame).bind('mousemove.swipe', function(event){
                swipe(event);
                stopEvent(event);
            });
            stopEvent(event);
        });


        function swipe( event )
        {
            var mouseEndX = event.pageX;
            if(mouseStartX > mouseEndX )
            {
                if(mouseStartX - mouseEndX > 30 )
                {
                    slidesReel.forward();
                    $(frame).unbind( 'mousemove.swipe' );
                }
            }
            else if(mouseStartX < mouseEndX )
            {
                if(mouseStartX - mouseEndX <  -30 )
                {
                    slidesReel.reverse();
                    $(frame).unbind( 'mousemove.swipe' );
                }
            }
        }
    }
}
            
function load_slides_reel( frame, scrollbar, slides, thumbs )
{
    if( window.mySlidesReel )
    {
        window.mySlidesReel.remove();
    }
    
    window.mySlidesReel = new slides_reel( frame, slides, thumbs );
    window.mySlidesReel.append();
    
    if( window.mySlidesScrollbar )
    {
        window.mySlidesScrollbar.remove();
    }    
    window.mySlidesScrollbar = new slides_scrollbar( scrollbar, window.mySlidesReel );
    window.mySlidesScrollbar.append();
               
    window.mySlidesReel.register_scrollbar( window.mySlidesScrollbar );          
     
    set_up_flap_slides_control( window.mySlidesReel, frame, window.mySlidesScrollbar);
    
    $(window).resize( function(){
        window.mySlidesReel.resize()
    } );
    $(window).resize( function(){
        window.mySlidesScrollbar.resize()
    } );
}

var loaded_number_of_thumbs = 0;

var load_online_portfolio = function( portfolio_name )
{
    var slides_array = [];
    var thumbs_array = [];
    load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
    $.post("modules/ArtistManager/ajax.FE_load_online_portfolio.php", {'portfolio_name' : portfolio_name}, function(data)
    {
        loaded_number_of_thumbs = 0;
        var result = $.parseJSON(data);
        
        // remove pdf portfolio link if video
        if(result.type == 'video')
        {
            $('span.right_menu_item').css('display', 'none');
        }
        for( var i = 0; i < result.files.length; ++i )
        {
            thumbs_array.push( 
            {
                object  : $('<img />', {
                        'src': 'ArtistManager/' + result.files[i].filename + '.tmb',
                        'class': 'thumb'
                         }).load(function(){loaded_number_of_thumbs++}),
                width   : Math.floor( result.files[i].width * ( 105 / 450) )
            });
        }
        
        function check_thumb_loading()
        {
            if( loaded_number_of_thumbs == result.files.length )
            {
                if( result.type == 'image' )
                    continue_image_reel();
                else if( result.type == 'video' )
                    continue_video();
            } 
            else
            {
                $('#loading_msg').html("Loading... " + loaded_number_of_thumbs + " of " + result.files.length);
                setTimeout( function(){check_thumb_loading();}, 200);
            }        
        }
        
        function continue_image_reel()
        {
            for( var i = 0; i < result.files.length; ++i )
            {
                slides_array.push( 
                {
                    object  : $('<img />', {
                        'class': 'slide', 
                        'src': 'ArtistManager/' + result.files[i].filename
                        }),
                    width   : result.files[i].width
                });
            }
            clearTimeout(load_timer);
            if( loading_msg_on )
            {
                loading_msg.remove();
                loading_msg_on = false;
            }

            //$(".artist_menu_title").removeClass("selected");
            //$(".artist_menu_item*").removeClass("selected");
            //$(".artist_menu_item#" + series_id).addClass("selected");                
            var frame = $('<div />', {
                'id': 'slides_frame'
            } ).prependTo(contentContainer);
            var scrollbar = $('<div />', {
                'id': 'slides_scrollbar'
            }).appendTo(contentContainer);
            load_slides_reel( frame, scrollbar, slides_array, thumbs_array );
            clearTimeout(fade_timer);
            fade_modal_out(modal);
        }
        
        function continue_video()
        {
            //$(".artist_menu_title").removeClass("selected");
            //$(".artist_menu_item*").removeClass("selected");
            //$(".artist_menu_item#" + series_id).addClass("selected"); 
            
            var videoThumbsCanvasanvas = $('<div />', {'id': 'video_thumbs_canvas'} ).prependTo(contentContainer);
            var videoThumbMargin
            for( var i = 0; i < thumbs_array.length; ++i )
            {
                if( i%2 == 0 )
                {
                    thumbs_array[i].object.addClass('left_thumb').appendTo(videoThumbsCanvasanvas);
                }
                else if( i%2 == 1 )
                {
                    thumbs_array[i].object.addClass('right_thumb').appendTo(videoThumbsCanvasanvas);
                   
                }
                thumbs_array[i].object.css('top', ( Math.floor( i/2 )  * 115));
                thumbs_array[i].object.attr('id', i);
                thumbs_array[i].object.click(function(){jwplayer().playlistItem( parseInt( $(this).attr('id') ) );});
            }
            
            
            var playlist = [];
            for( var i = 0; i < result.files.length; ++i )
            {
                playlist.push({'file': '../ArtistManager/' + result.files[i].filename});
            }
            var slide_show_ratio = 4/3;
            var content_area_width = $('#content').width();
            if( content_area_width > 1400 )
                content_area_width = 1400;
            var slide_show_width_percent = Math.floor( (content_area_width - 520) / 100 );
            var max_slide_show_width_percent = 6;
            if( slide_show_width_percent > max_slide_show_width_percent )
                slide_show_width_percent = max_slide_show_width_percent;
            var slide_show_height_percent = slide_show_width_percent / slide_show_ratio;
            
            var videoCanvasHolder = $('<div />', {'id': 'video_canvas_holder'} ).prependTo(contentContainer);
            videoCanvasHolder.css('top', ( 450 - ( slide_show_height_percent * 100 ) ) / 2  );
            var videoCanvas = $('<div />', {'id': 'video_canvas'} ).appendTo(videoCanvasHolder);
            jwplayer('video_canvas').setup(
            {
                flashplayer: 'modules/ArtistManager/FE/jwplayer/player.swf',
                'controlbar': 'over',
                width: slide_show_width_percent * 100,
                height: slide_show_height_percent * 100,
                'autostart': 'true',
                'playlist': playlist,
                'skin': 'modules/ArtistManager/FE/jwplayer/skins/slim.zip'
            });
            clearTimeout(load_timer);
            if( loading_msg_on )
            {
                loading_msg.remove();
                loading_msg_on = false;
            }
            clearTimeout(fade_timer);
            fade_modal_out(modal);
        }
        
        check_thumb_loading();
        // clear content
        if( slide_show_running )
            stop_slide_show();
        
        $.each( contentContainer.children(), function()
        {
            if(this.id != 'modal' && this.id != 'online_portfolio_message' && this.id != 'artist_menu_bg') 
                $(this).remove()
        });
    });
}


var load_series = function( series_id )
{
    var slides_array = [];
    var thumbs_array = [];    
    load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
    $.post("modules/ArtistManager/ajax.FE_load_series.php", {'series_id' : series_id}, function(data)
    {
        loaded_number_of_thumbs = 0;
        var result = $.parseJSON(data);
        
        for( var i = 0; i < result.files.length; ++i )
        {
            thumbs_array.push( 
            {
                object  : $('<img />', {
                        'src': 'ArtistManager/' + result.files[i].filename + '.tmb',
                        'class': 'thumb'
                         }).load(function(){loaded_number_of_thumbs++}),
                width   : Math.floor( result.files[i].width * ( 105 / 450) )
            });
        }
        
        function check_thumb_loading()
        {
            if( loaded_number_of_thumbs == result.files.length )
            {
                if( result.type == 'image' )
                    continue_image_reel();
                else if( result.type == 'video' )
                    continue_video();
            } 
            else
            {
                $('#loading_msg').html("Loading... " + loaded_number_of_thumbs + " of " + result.files.length);
                setTimeout( function(){check_thumb_loading();}, 200);
            }        
        }
        
        function continue_image_reel()
        {
            for( var i = 0; i < result.files.length; ++i )
            {
                slides_array.push( 
                {
                    object  : $('<img />', {
                        'class': 'slide', 
                        'src': 'ArtistManager/' + result.files[i].filename
                        }),
                    width   : result.files[i].width
                });
            }
            clearTimeout(load_timer);
            if( loading_msg_on )
            {
                loading_msg.remove();
                loading_msg_on = false;
            }

            $(".artist_menu_title").removeClass("selected");
            $(".artist_menu_item*").removeClass("selected");
            $(".artist_menu_item#" + series_id).addClass("selected");                
            var frame = $('<div />', {
                'id': 'slides_frame'
            } ).prependTo(contentContainer);
            var scrollbar = $('<div />', {
                'id': 'slides_scrollbar'
            }).appendTo(contentContainer);
            load_slides_reel( frame, scrollbar, slides_array, thumbs_array );
            clearTimeout(fade_timer);
            fade_modal_out(modal);
        }
        
        function continue_video()
        {
            $(".artist_menu_title").removeClass("selected");
            $(".artist_menu_item*").removeClass("selected");
            $(".artist_menu_item#" + series_id).addClass("selected"); 
            
            var videoThumbsCanvasanvas = $('<div />', {'id': 'video_thumbs_canvas'} ).prependTo(contentContainer);
            var videoThumbMargin
            for( var i = 0; i < thumbs_array.length; ++i )
            {
                if( i%2 == 0 )
                {
                    thumbs_array[i].object.addClass('left_thumb').appendTo(videoThumbsCanvasanvas);
                }
                else if( i%2 == 1 )
                {
                    thumbs_array[i].object.addClass('right_thumb').appendTo(videoThumbsCanvasanvas);
                   
                }
                thumbs_array[i].object.css('top', ( Math.floor( i/2 )  * 115));
                thumbs_array[i].object.attr('id', i);
                thumbs_array[i].object.click(function(){jwplayer().playlistItem( parseInt( $(this).attr('id') ) );});
            }
            
            
            var playlist = [];
            for( var i = 0; i < result.files.length; ++i )
            {
                playlist.push({'file': 'ArtistManager/' + result.files[i].filename});
            }
            var slide_show_ratio = 4/3;
            var content_area_width = $('#content').width();
            if( content_area_width > 1400 )
                content_area_width = 1400;
            var slide_show_width_percent = Math.floor( (content_area_width - 520) / 100 );
            var max_slide_show_width_percent = 6;
            if( slide_show_width_percent > max_slide_show_width_percent )
                slide_show_width_percent = max_slide_show_width_percent;
            var slide_show_height_percent = slide_show_width_percent / slide_show_ratio;
            
            var videoCanvasHolder = $('<div />', {'id': 'video_canvas_holder'} ).prependTo(contentContainer);
            videoCanvasHolder.css('top', ( 450 - ( slide_show_height_percent * 100 ) ) / 2  );
            var videoCanvas = $('<div />', {'id': 'video_canvas'} ).appendTo(videoCanvasHolder);
            jwplayer('video_canvas').setup(
            {
                flashplayer: 'modules/ArtistManager/FE/jwplayer/player.swf',
                'controlbar': 'over',
                width: slide_show_width_percent * 100,
                height: slide_show_height_percent * 100,
                'autostart': 'true',
                'playlist': playlist,
                'skin': 'modules/ArtistManager/FE/jwplayer/skins/slim.zip'
            });
            clearTimeout(load_timer);
            if( loading_msg_on )
            {
                loading_msg.remove();
                loading_msg_on = false;
            }
            clearTimeout(fade_timer);
            fade_modal_out(modal);
        }
        
        check_thumb_loading();
        // clear content
        if( slide_show_running )
            stop_slide_show();
        $.each( contentContainer.children(), function()
        {
            if(this.id != 'modal' && this.id != 'artist_menu' && this.id != 'artist_menu_bg') 
            $(this).remove()
        });
        
    });
}

var load_downloads = function()
{
    load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
    $.post("modules/ArtistManager/ajax.FE_load_downloads.php",  function(data)
    {
        var downloads_object = $.parseJSON(data);
        
        
        clearTimeout(load_timer);
        if( loading_msg_on )
        {
            loading_msg.remove();
            loading_msg_on = false;
        }
        
        clear_content();
        var downloadPanel = $('<div />', {'id': 'download_panel'});
        for( var i = 0; i < downloads_object.length; ++i )
        {
            var download_div = $('<div />', {'class': 'pdf_link'});
            download_div.attr('name', downloads_object[i])
            download_div.click(function(){push_pdf_portfolio( $(this).attr('name'));});
            
            var artist_name = $('<span />');
            artist_name.html(downloads_object[i] + " PDF Portfolio");
            artist_name.appendTo(download_div);
            
            var download = $('<span />', {'class': 'right'});
            download.html("download");
            download.appendTo(download_div);
            
            download_div.appendTo(downloadPanel);
        }
        downloadPanel.prependTo(contentContainer);
        clearTimeout(fade_timer);
        fade_modal_out(modal);
            
        
    });
}

var push_pdf_portfolio = function( artist_name )
{
    window.location ='modules/ArtistManager/tcpdf/CreatePDF/CreatePDF.php?name=' + escape(artist_name) + '&type=bio' ;
}

var push_pdf_online_portfolio = function( portfolio_name )
{
    window.location ='modules/ArtistManager/tcpdf/CreatePDF/CreatePDF.php?name=' + portfolio_name + '&type=OP' ;
}
var load_production = function()
{
    load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
    clearTimeout(fade_timer);
    fade_modal_in(modal);
    $.post("modules/ArtistManager/ajax.FE_load_production.php", function(data)
    {
        clearTimeout(load_timer);
        if( loading_msg_on )
        {
            loading_msg.remove();
            loading_msg_on = false;
        }
        
        clear_content();
          
        var content_text = $('<div />', {'id': 'left_text_block'}).html(data);
        var production_img = $('<img />', {'id': 'right_block', 'src': 'modules/ArtistManager/FE/graphics/f_4-in1_All-COLOR-4_600x450.jpg'});
        content_text.prependTo(contentContainer);
        production_img.prependTo(contentContainer);
        
        var slide_show_ratio = 4/3;
        var content_area_width = $('#content').width();
        if( content_area_width > 1400 )
            content_area_width = 1400;
        var slide_show_width_percent = Math.floor( (content_area_width - 520) / 100 );
        var max_slide_show_width_percent = 6;
        if( slide_show_width_percent > max_slide_show_width_percent )
            slide_show_width_percent = max_slide_show_width_percent;
        var slide_show_height_percent = slide_show_width_percent / slide_show_ratio;
        
        production_img.css('width',slide_show_width_percent * 100 );
        production_img.css('height',slide_show_height_percent * 100 );
        production_img.css('left', content_area_width - ( slide_show_width_percent * 100) - 10 );
        production_img.css('left', content_area_width - ( slide_show_width_percent * 100) - 10 );
        production_img.css('top', ( $('#content').height() - ( slide_show_height_percent * 100) ) /2 )
        clearTimeout(fade_timer);
        fade_modal_out(modal);
    });
        
}

var load_about = function()
{
    load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
    clearTimeout(fade_timer);
    fade_modal_in(modal);
    $.post("modules/ArtistManager/ajax.FE_load_about.php", function(data)
    {
        clearTimeout(load_timer);
        if( loading_msg_on )
        {
            loading_msg.remove();
            loading_msg_on = false;
        }
        
        clear_content();
          
        var content_text = $('<div />', {'id': 'left_text_block'}).html(data);
        content_text.prependTo(contentContainer);
        
        clearTimeout(fade_timer);
        fade_modal_out(modal);
    });
        
}

var load_contact = function()
{
    load_timer = setTimeout( function(){show_loading_msg();}, load_time_tolerence);
    clearTimeout(fade_timer);
    fade_modal_in(modal);
    $.post("modules/ArtistManager/ajax.FE_load_contact.php", function(data)
    {
        clearTimeout(load_timer);
        if( loading_msg_on )
        {
            loading_msg.remove();
            loading_msg_on = false;
        }
        
        clear_content();
          
        var content_text = $('<div />', {'id': 'left_text_block'}).html(data);
        var contact_img = $('<img />', {'id': 'right_block_contact', 'src': 'modules/ArtistManager/FE/graphics/680_351-ret_cropped_done.jpg'});
        contact_img.prependTo(contentContainer);
        content_text.prependTo(contentContainer);
        
        clearTimeout(fade_timer);
        fade_modal_out(modal);
    });
        
}

