var modal_dialog = 
{
    show : function(p_name , p_str, p_width, p_height)
    {
        $('body').css({"overflow":"hidden"}); 

        switch (p_str)
        {
            case '_LOADER':
                p_str = "<div style='text-align:center;' ><img src='/website/media/images/subpage/ajax-loader.gif'></div>";
            break;
        }
        this.name = p_name;
        this.str  = p_str;
        this.modal_dialog = "";        
        this.create_modal(p_width, p_height);
    }
    ,
    create_modal : function(p_width, p_height)
    {        
        
        if(p_width == '' || p_width == undefined){
            p_width = 400;
        }
        if(p_height == '' || p_height == undefined){
            p_height = 500;
        }
                                                               
        var window_width = p_width;
        var window_height = p_height;
        var screen_height = $(window).height();
        var screen_width  = $(window).width();  
        var scrollTop = $('body').scrollTop() + $('html').scrollTop();
        
    
        var html = '<div id="modal_'+modal_dialog.name+'"></div>';
        var html_button = '<div id="close_'+modal_dialog.name+'"></div>';
        var html_content= '<div id="'+modal_dialog.name+'"><div id="content_'+modal_dialog.name+'" style="padding:20px;">'+modal_dialog.str+'</div></div>';
        
        html = $(html).appendTo("body");
        html_button = $(html_button).appendTo('body');  
        
        html_content = $(html_content).appendTo('body');
         
        var modal_shadow_height = screen_height + scrollTop;
        
        $('#modal_'+modal_dialog.name).css({
             "position": "absolute"
            ,"top": "0px"
            ,"left": "0px"
            ,"margin":"0px"
            ,"background":"gray"
            ,"width":screen_width+"px"
            ,"height":modal_shadow_height+"px"
            ,"opacity":".0"
            ,"z-index":"2"
            ,"display":"block"
        });
        
        $("#"+'modal_'+modal_dialog.name).animate({
            opacity: 0.7
        });
                                             
        var window_left = (screen_width/2)-((window_width/2));
        var window_top = ((screen_height/2)-(window_height/2))*(0.5);        
        
        $("#"+modal_dialog.name).css({
             "position": "absolute"
            ,"margin":"auto"
            ,"padding":"20px"
            ,"border":"solid 4px #7fc241"
            ,"background":"#ffffff"
            ,"width" : "0px"
            ,"height": "0px"
            ,"opacity":".0"
            ,"z-index":"3"
            ,"color":"black"
            ,"left":window_left+'px'
            ,"top":window_top+scrollTop+'px'
        });
       
        
        
        $("#"+modal_dialog.name).animate({
            opacity: 1
            ,height:window_height
            ,width: window_width
        });
        
        
        
        this.allow_close ? display = "block" : display = "none"
        var width_close =  parseFloat(screen_width)- parseFloat(window_left);       
        $('#close_'+modal_dialog.name).css({
             "display" : display
            ,"position":"absolute"
            ,"top":window_top+scrollTop-15 +'px'  
            ,"left": width_close+'px'
            ,"background-color":"#ffffff"
            ,"background":"url(/website/media/images/subpage/close.png) no-repeat"
            ,"width":"63px"
            ,"height":"61px"
            ,"border":"none"
            ,"float":"right"
            ,"overflow":"visible"
            ,"cursor": "pointer"
            ,"z-index":"5"
        })
        
        $('#close_'+modal_dialog.name).click(function(e,b){
            modal_dialog.hide();
            $('#close_'+modal_dialog.name).hide();
        });
    }
    ,
    hide:function()
    {
        $('body').css({"overflow":"auto"}); 
        $('#modal_'+modal_dialog.name).fadeOut(1000,function(){
            $('#modal_'+modal_dialog.name).remove();
        });
        $('#'+modal_dialog.name).fadeOut(200,function(){
            $('#'+modal_dialog.name).remove();
        });
    }
    ,update_text : function(p_name , p_text , p_overwrite , p_)
    {
        if(!p_overwrite)
            $('#content_'+modal_dialog.name).html($('#content_'+modal_dialog.name).html()+p_text);
        else
            $('#content_'+modal_dialog.name).html(p_text);
    }
    ,close_button : function (p_state)
    {
        p_state == true ? display='block' : display='none';
         $('#close_'+modal_dialog.name).css({"display" : display});
    }
    ,update_size : function (p_width, p_height)
    {
        var screen_height = $(window).height() 
        var screen_width  = $(window).width();
        var window_left = (screen_width/2)-((p_width/2));
        var window_top = ((screen_height/2)-(p_height/2))*(0.5);
        var scrollTop = $('html').scrollTop() + $('body').scrollTop();
        var width_close =  parseFloat(screen_width)- parseFloat(window_left)-48; 
        
        $("#"+modal_dialog.name).css({             
            "width" : p_width + "px"
            ,"height": p_height + "px"
            ,"position": "absolute"
            ,"left":window_left+'px'
            ,"top":window_top+scrollTop+'px'            
        });
        
        $("#close_"+modal_dialog.name).css({             
            "left":width_close+'px'
            ,"top":window_top+scrollTop-15+'px'
        });            
    }
};
