function show_overlap(params) {//{type:'image',source:$(this).attr("large"),effect:'fade'}
    if(!params) return false;
    var overlap;
    var overlap_cont;
    var back;
    var imgIndex=0;
    var imgCount=1;
    var imgText="";
    if(params.type=='image') {
        overlap_cont=$('<div class="fixed" style="width:100%;height:100%;z-index:9500;"></div>');
        back=$('<div id="_back" style="width:100%;height:100%;background:#555;z-index:9000;top="0";left="0"></div>')
        .appendTo(overlap_cont.appendTo('#main_container')).hide().fadeTo(250,0.6).fadeIn();
        overlap=$('<div style="position:absolute;top:50%;left:50%;width:300px;height:300px;margin-top:-150px;padding:7px;margin-left:-150px;z-index:10000;background:#fff;"><a class="close buttons" style="display:block;z-index:10010;position:absolute;top:-28px;right:-28px;width:36px;height:36px;background:URL(images/overlay/cross.png) top right no-repeat;"></a><div class="_loading" style="position:absolute;top:50%;left:50%;margin-top:-16px;margin-left:-16px;background:URL(images/overlay/loading.gif)no-repeat;width:32px;height:32px;"></div></div>')
        .appendTo(overlap_cont);
        
        var img = new Image();
        $('.close',overlap).hide().add(back).click(function(){
            overlap_cont.fadeOut(function(){
                $(this).remove();
            })
            overlap.remove();
            return false;
        });
        
        if(!!params.target && (params.index>=0)) {
            
            imgIndex=params.index;
            imgCount=$('li',params.target).size();
            imgText=$(params.target).find('li:eq('+imgIndex+') .imgText').text();
        }

        function prev() {
            openImg(imgIndex>0?imgIndex-1:imgCount-1);
        }
        function next() {
            openImg(imgIndex+1<imgCount?imgIndex+1:0);
        }
        function openImg(_index) {
            var newUrl=$(params.target).find('li:eq('+_index+') .overlap_image').attr('large');
            $('._loading',overlap).show();
            $('.imgTextBlock',overlap).fadeOut(function(){
                $(this).remove();
            });
            $(img).hide().attr('src', newUrl);
            imgIndex=_index;
            imgText=$(params.target).find('li:eq('+imgIndex+') .imgText').text();

        }
        if(imgCount>1 && (!!params.target && (params.index>=0))) {
            $('<a class="prev buttons" style="display:block;z-index:10010;position:absolute;top:50%;left:-32px;margin-top:-16px;width:32px;height:32px;background:URL(images/overlay/control_back_blue.png) top left no-repeat;"></a>')
            .appendTo(overlap)
            .click(function(){
                prev();
                return false;
            }).hide();
            $('<a class="next buttons" style="display:block;z-index:10011;position:absolute;top:50%;right:-32px;margin-top:-16px;width:32px;height:32px;background:URL(images/overlay/control_play_blue.png) top left no-repeat;"></a>')
            .appendTo(overlap)
            .click(function(){
                next();
                return false;
            }).hide();
        }
        $(img).load(function() {
            $(this).hide();
            $('._loading',overlap).hide();
            overlap.append(this);
            if(imgText!="") {
                var textBlock=$('<div class="imgTextBlock" style="color:#444;position:absolute;overflow:hidden;height:37px;z-index:10012;left:0;bottom:0;width:100%;"><div class="usual_pad">'+imgText+'</div></div>').appendTo(overlap).hide();
            }

            $('.fullSizeImage').wrap('<a class="link" target="_blank" style="z-index:10001;"></a>');
            $('a.link',overlap).attr('href', params.source);
            var iHeight = $(this).height();
            var iWidth = $(this).width();
            var oldWidth=overlap.width();
            var oldHeight=overlap.height();

            if(!!textBlock) iHeight+=37;

            //var oldTop=overlap.offset().top;
            //var oldLeft=overlap.offset().left;
            //var newTop=oldTop-(parseInt(iHeight)-300);
            //var newLeft=oldLeft-(parseInt(iWidth)-300);
            if(overlap.height() == iHeight && overlap.width() == iWidth) {
                $(this).fadeIn();
            } else {
                var duration=Math.min(Math.max(Math.pow(Math.pow(oldWidth-iWidth,2)+Math.pow(oldHeight-iHeight,2),0.5),10),1000);
                overlap.css({
                    'margin-top':-oldHeight/2,
                    'margin-left':-oldWidth/2
                    }).animate({
                    //overlap.css({'margin-top':0,'margin-left':0,top:oldTop,left:oldLeft}).animate({
                    height: iHeight,
                    width: iWidth,
                    marginTop:-iHeight/2,
                    marginLeft:-iWidth/2
                }, duration)
                $(this).animate({
                    opacity: 1
                }, duration,function(){
                    $('.buttons',overlap).show();
                }).fadeIn();
            }
            if(!!textBlock) textBlock.fadeIn();
            $('.buttons',overlap).show();
        }).attr('src', params.source).addClass('fullSizeImage');

    }
}

function adjust_dialog(target){
    $(target).each(function(){
        if($(window).height()<$(this).height()&& !($(window).width()<$(this).width()))$(this).animate({
            "top":$(this).height()/2,
            "left":"50%"
        },{
            queue:false
        });
        else if(!($(window).height()<$(this).height())&&$(window).width()<$(this).width())$(this).animate({
            "top":"50%",
            "left":$(this).width()/2
        },{
            queue:false
        });
        else if($(window).height()<$(this).height()&&$(window).width()<$(this).width())$(this).animate({
            "top":$(this).height()/2,
            "left":$(this).width()/2
        },{
            queue:false
        });else $(this).animate({
            "top":"50%",
            "left":"50%"
        },{
            queue:false
        });
    });
}

function emb_sublist(params) {
    var settings = $('#main_container').data('settings');
    var page_params = $('#main_container').data('params');
    var pageName=page_params.page;
    if(!!params.param) pageName=params.param;
    for(index in global_current_data) {
        if(global_current_data[index].name && global_current_data[index].name=='menu') {
            var target=$('element[page="'+pageName+'"]:first',global_current_data[index].data);
            var block = $('<div></div>').appendTo(params.target);
            var arr;
            if(target.children('element').size()!=0) {
                arr = target.children('element');
            }
            else if(!!params.param2) {
                
                if(params.param2=='last') {
                    arr = target;
                }
            }
            else {
                arr = target.parent().children('element');
            }
            
            function addList(_arr,_pageName,parent) {
                var thisList=$('<ul class="leftmenu"></ul>');
                _arr.each(function(){
                    var text=$('name:first',this).text();
                    // text='<strong>'+text+'</text>';
                    var elem=$('<li><a href="#!page='+$(this).attr("page")+'" class="local">'+text+'</a></li>');
                    if($(this).attr("page")==_pageName ) {
                        elem.addClass('active');
                        if($(this).parents('element').size()>0) {
                            if(parent!=null) {
                                parent.addClass('activeParent');
                            }
                        }
                    }
                    else if(!!page_params.ids) {
                        //alert(page_params.page+'&ids='+page_params.ids);
                        //alert($(this).attr("page"));
                        if(page_params.page+'&ids='+page_params.ids == $(this).attr("page")) {
                            elem.addClass('active');
                            if($(this).parents('element').size()>0) {
                                if(parent!=null) {
                                    parent.addClass('activeParent');
                                }
                            }
                        }
                    }
                    if($(this).children('element').size()>0) {
                        elem.append(addList($(this).children('element'),_pageName,elem));
                    }
                    thisList.append(elem);
                });
                return thisList;
            }
            var list=addList(arr,pageName,null);
            list.appendTo(block);
            return;
        }
    }
}

function emb_writetitle(params) {
    /*var settings = $('#main_container').data('settings');
    var page_params = $('#main_container').data('params');
    var text=$('[id="'+page_params.page+'"]',settings).children('title').text();
    var wtf="<span></span>";
    var thisText=text;
    var lastEl=$('<a href="#!page='+page_params.page+'">'+text+'</a>');
    if($('[id="'+page_params.page+'"] [toTitle]',settings).size()>0) {
        var add=$('[id="'+page_params.page+'"] [toTitle]',settings).attr('toTitle')
        var tId=$('[id="'+page_params.page+'"] [toTitle]',settings).attr('requestId');
            for(index in global_current_data) {
                if(global_current_data[index].id==tId) {
                    if($(add,global_current_data[index].data).size()>0) {
                        text+=' >> '+$(add,global_current_data[index].data).text();
                        thisText=$(add,global_current_data[index].data).text();
                        lastEl=$('<a href="#!page='+page_params.page+'">'+thisText+'</a>');
                    }
                    break;
                }
        }
    }
    if(!!params.target) {
        wtf.append('<a href="#" class="local">'+global_name+'</a>')
        var prnt="";
        if(!!$('[id="'+page_params.page+'"]',settings).attr('parent')) {
            prnt=$('[id="'+page_params.page+'"]',settings).attr('parent');
            var prntNode=$('[id="'+prnt+'"]',settings);
            var thisTitle=$('[id="'+prnt+'"] title',settings).text();
            wtf.append(' >> <a href="#!page='+prnt+'" class="local">'+thisTitle+'</a>')
        }
        wtf.append(' >> ').append(lastEl);
        $(params.target).html(wtf);
    }
    document.title=global_title+' >> '+text;*/

    //достаем меню
    var menu;
    var settings = $('#main_container').data('settings');
    var page_params = $('#main_container').data('params');
    var page_current= page_params.page;
    var settings_current=$('[id="'+page_current+'"]',settings);
    var final_html=$("<div><a href='#' class='local whiteU'>Главная</a></div>");
    var final_text=global_name;

    var current_link=page_params.page;
    if(!!page_params.ids) current_link+='&ids='+page_params.ids;

    function menuToHtml(_menu_node) {
        var toReturn="";

        if(!_menu_node.attr("page")) toReturn= '<span>'+$('name:first',_menu_node).text()+'</span>';
        else if(current_link==_menu_node.attr("page"))  toReturn= '<strong>'+$('name:first',_menu_node).text()+'</strong>';
        else toReturn= '<a class="local whiteU" href="#!page='+_menu_node.attr("page")+'">'+$('name:first',_menu_node).text()+'</a>';

        toReturn=' > '+toReturn;
        if(_menu_node.parent('element').size()>0) {
            toReturn=menuToHtml(_menu_node.parent('element:first'))+toReturn;
        }
        return toReturn;
    }

    function menuToString(_menu_node) {
        var toReturn="";

        toReturn=' > '+$('name:first',_menu_node).text();
        if(_menu_node.parent('element').size()>0) {
            toReturn=menuToString(_menu_node.parent('element:first'))+toReturn;
        }
        return toReturn;
    }

    for(index in global_current_data) {
        if(global_current_data[index].name && global_current_data[index].name=='menu') {
            menu=global_current_data[index].data;
            if(!!settings_current.attr('parent')) {
                var menu_node_parent=$('[page="'+settings_current.attr('parent')+'"]:first',menu);

                final_html.append(menuToHtml(menu_node_parent));
                final_text+=menuToString(menu_node_parent);

                var thisText=settings_current.children('title').text();

                if(!!$('[id="'+page_params.page+'"] [toTitle]',settings).attr('toTitle')) {
                    var tId=$('[id="'+page_params.page+'"] [toTitle]',settings).attr('requestId');
                    var add=$('[id="'+page_params.page+'"] [toTitle]',settings).attr('toTitle')

                    for(index in global_current_data) {
                        if(global_current_data[index].id==tId) {
                            if($(add,global_current_data[index].data).size()>0) {
                                thisText=$(add,global_current_data[index].data).text();
                            }
                            break;
                        }
                    }
                }
                if(thisText!=thisText.slice(0,40)) thisText=thisText.slice(0,40)+'...';
                final_html.append(' > ').append('<strong>'+thisText+'</strong>');
                final_text+=' > '+thisText;

            }
            else {
                //var menu_node_current=$('',menu)
                /*var page_current_object={};
                var tmp=page_current;
                tmp=tmp.split(/\&/);
                for (var i in tmp) {
                    var el = tmp[i];
                    el=el.split(/\=/);
                    if(el[0] && el[1]) page_current_object[el[0]]=el[1];
                }

                if(!!page_current_object.ids)*/
                

                var menu_node_current=$('[page="'+current_link+'"]:first',menu);

                final_html.append(menuToHtml(menu_node_current));
                final_text+=menuToString(menu_node_current);

            }

            if(!!params.target) $(params.target).html(final_html);
            document.title=final_text;

            break;
        }
    }

}

function show_must_go_on(params) {
    $('#Freddy_Merqury').append('SHOUT: SHOW MUST GO ON');
}

function empty(params) {
    $(params.target).empty();
}
function twitter_open(f,Y) {
    var Z=550,h=450;
    var c=screen.height;
    var b=screen.width;
    var a=Math.round((b/2)-(Z/2));
    var g=0;

    if (c>h) {
        g=Math.round((c/2)-(h/2));
    }
    var d=window.open(Y,"twitter_tweet","left="+a+",top="+g+",width="+Z+",height="+h+",personalbar=0,toolbar=0,scrollbars=1,resizable=1");
    if(d){
        d.focus();
    }else{
        window.location.href=Y;
    }
    add_K(f);

}
function add_K(Y){
    if(Y&&Y.stopPropagation){
        Y.stopPropagation()
    }else{
       window.event.cancelBubble=true
    }
}

/*AJAX message*/
$(document).ready(function(){
    $('<div style="display:none;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;z-index:10300;" id="AJAX_message"><img src="images/loading/loading3.gif" style="display:block;position:absolute;top:50%;left:50%;margin-top:-10px;margin-left:-46px;"/></div>')
    .appendTo('body');
});

jQuery(document).ajaxStart(function(){
    $('#AJAX_message').show();
});

jQuery(document).ajaxStop(function(){
    $('#AJAX_message').hide();
});
