var path = document.location.pathname;
if (path.charAt(path.length-1) != '/') 
    path = path+'/';

function ie6_width(min,max){
    w = document.documentElement.clientWidth;
    return (w <= min) ? min + "px" : ((w >= max) ? max + "px" : "auto");
}

var simpleUppod = {
    load: function(obj_id, swf_path, flv_path, skin_path, flv_name, w, h){
        var width = (w != undefined ) ? w : 320;
        var height = (h != undefined ) ? h : 240;
        if(obj_id == undefined) alert("obj_id - is undefined");
        if(swf_path == undefined) alert("swf_path - is undefined");
        if(flv_path == undefined) alert("flv_path - is undefined");
        if(skin_path == undefined) alert("skin_path - is undefined");
        str = '';
      //  if( flv_name != undefined )
        //    str += '<div class="title">'+flv_name+'</div>';
        str += '<object classid="clsid27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'" id="spin_video" align="middle">';
        str += '<param name="allowScriptAccess" value="sameDomain" />';
        str += '<param name="allowFullScreen" value="true" />';
        str += '<param name="movie" value="'+swf_path+'" />';
        str += '<param name="menu" value="false" />';
        str += '<param name="quality" value="high" />';
        str += '<param name="wmode" value="transparent" />';
        str += '<param name="bgcolor" value="#fff" />';
        str += '<param name="FlashVars" value="st='+skin_path+'&file='+flv_path+'&autolay" />';
        str += '<embed src="'+swf_path+'" FlashVars="st='+skin_path+'&file='+flv_path+'&autolay" menu="false" quality="high" wmode="transparent" bgcolor="#fff" width="'+width+'" height="'+height+'" name="spin_video" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
        str += '</object>';
        $("#"+obj_id).empty().append(str);        
    }
}

var site = {
    
    index : -1,
    timer : null,
     
    init : function() {
        var nv = navigator.appName, ua = navigator.userAgent;
        
        $('.lightbox').lightbox();
        
        
        var h_img = new Image(), v_img = new Image(), s_img = new Image(), b_img = new Image(), d;

        h_img.src = '/images/i/ih.png';
        v_img.src = '/images/i/iv.png';
        s_img.src = '/images/i/is.png';
        b_img.src = '/images/i/ib.png';
        
        $('img.visual-left, img.visual-right, img.visual-fix, img.visual-image').each(function(){
            var self = this;
            var src = this.src;
            var $elm = $('<span class="i-wrap"><span class="i-con"></span></span>');
            var pos = $(this).position();
            
            d = { w: 161, h: 148, src: s_img.src };
            if ($(this).hasClass('big')) {
                d = { w: 309, h: 439, src: b_img.src };
                $elm.find('.i-con').addClass('big-wrap');
            } else if ($(this).hasClass('small')) {
                d = { w: 161, h: 148, src: s_img.src };
                $elm.find('.i-con').addClass('small-wrap');
            } else {
                if ($(this).width() > $(this).height()) {
                    d = { w: 246, h: 188, src: h_img.src };
                    $elm.find('.i-con').addClass('h-wrap');
                } else {
                    if ($(this).width() < $(this).height()) {
                        d = { w: 188, h: 245, src: v_img.src };
                        $elm.find('.i-con').addClass('v-wrap');
                    }
                }
            }
            
            $elm.css({
                    width: d.w,
                    height: d.h
                })
                .find('.i-con')
                .css({ width : d.w, height : d.h, background : 'url(' + d.src + ') 50% 50% no-repeat' });
            
            $elm.addClass($(self).attr('class'));
            $(self).removeAttr('class');
        
            $(self).after($elm);
            $elm.append(self);
        });
        
        //$('.reflect').reflect({ height: 0.23 });
        
        $('#send-bttn').click(function() {
            var $form = $(this).parents('form');
            
            $.ajax({
                type : $form.attr('config:method'),
                url : $form.attr('config:action'),
                data : $form.serialize(),
                dataType : 'json',
                beforeSend : function() {
                    $form.find('input').attr('disabled', true);
                },
                success : function( data ) {
                    switch(data.status) {
                        case 'error':
                            $('#done').text(data.message).show();
                            if( data['name'] )
                                $('input[name="'+data.name+'"]').css('border', '1px solid #ff0000');
                            else
                                $(data.alt).css('border', '1px solid #ff0000');
                            break;
                        case 'done':
                            $('#done').text(data.message).css('font-size', '14px').show();
                            $form.hide();
                            break;
                    }
                    
                    $form.find('input').attr('disabled', false);
                    if (data.status == 'error') {
                        setTimeout(function(){
                            $('#done').fadeOut(200);
                            if (data['name']) 
                                $('input[name="' + data.name + '"]', $form).css('border', 'none');
                            else 
                                $(data.alt, $form).css('border', 'none');
                        }, 5000);
                    }
                }
            });
            return false;
        });
        
        $('.menu a').hover(function() { 
            $('span:not(.selected)', this).css('margin-top', 0);
        }, function() { 
            $('span:not(.selected)', this).css('margin-top', -24)
        });
        
        $('.visual-table tr:even').addClass('event');
    },
    
    calendar: {
        options: {
            block: null,
            selected_month: null,
            selected_year: null,
            news_days: null,
            week_days: ['пн.','вт.','ср.','чт.','пт.','сб.','вс.'],
            months: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь']
        },
        init: function( action ) {
            $block = site.calendar.options.block = $("#block-calendar");
            var $m = $block.find(".select-month select");
            var $y = $block.find(".select-year select");
            
            $m.change(site.calendar.update);
            $y.change(site.calendar.update);
            site.action = action;
            
            var all_m = '', all_y = '';
            for( var i in site.calendar.options.months ) {
                all_m += '<option value="'+parseInt(i)+'">'+site.calendar.options.months[i]+'</option>';
            }
            
            $m.html(all_m).find('option:eq('+(site.calendar_init.month.current-1)+')').attr('selected', 'selected');
            
            for( var i=site.calendar_init.year.start; i<=(new Date).getFullYear(); i++ ) {
                all_y += '<option value="'+i+'">'+i+'</option>';
            }
            
            $y.html(all_y).find('option[value="'+site.calendar_init.year.current+'"]').attr('selected', 'selected');
            
            $block.find(".month div").live("mouseover",function(){
                $(this).addClass("selected");
            }).live("mouseout", function(){
                $(this).removeClass("selected");
            });
            
            site.calendar.update();
        },
        update: function() {
            var $block = site.calendar.options.block;
            site.calendar.options.selected_month = parseInt($block.find(".select-month option:selected").val());
            site.calendar.options.selected_year = parseInt($block.find(".select-year option:selected").val());

            $block.find(".month").hide();
            
            $.ajax({
                type: "GET",
                dataType: "json",
                url: "/ajax/?action="+site.action+"&month="+site.calendar.options.selected_month+"&year="+site.calendar.options.selected_year,
                data : null,
                success: function(data){

                    site.calendar.options.news_days = data;
                    site.calendar.generate();
                    $block.find(".month").fadeIn();
                },
                error: function() {
                }
            });
        },
        generate: function() {
            var $block = site.calendar.options.block;
            
            var date = new Date();
            date.setDate(1);
            date.setMonth(site.calendar.options.selected_month);
            date.setFullYear(site.calendar.options.selected_year);
            
            var month = '<table>';
            for (var i=0; i<7; i++) {
                month += '<th>'+site.calendar.options.week_days[i]+'</th>\n';
            }
            
            var start = (date.getDay()-1)%7;
            if (start < 0) 
                start += 7;
                
            
            month += '<tr>';
            for (var i=start; i>0; i--) {
                month += '<td></td>';
            }
            
            var month_length = new Date(date.getFullYear(), 1+date.getMonth(), 0).getDate();
            
            var current = '';
            var curext = '';
            var selected_month = site.calendar.options.selected_month+1;
            var selected_year = site.calendar.options.selected_year; 
            
            for (var i=1; i<=month_length; i++) {
                if ((start%7) == 0 && start > 0) {
                    month += '</tr><tr>';
                    start = 0;
                }
                
                current = '';
                curext = '';
                if (i == site.calendar_init.day.current && site.calendar.options.selected_month+1 == site.calendar_init.month.current) {
                    current = ' class="current"';
                    curext = 'current';
                }
                
                month += '<td '+current+'>';
                month += site.calendar.options.news_days[i] ? '<div><a class="day exists " href="/'+site.action+'/?date='+i+'-'+selected_month+'-'+selected_year+'"'+current+'>'+i+'</a></div>' : '<span'+current+'>'+i+'</span>';
                month += '</td>';
                start++;
            }
            
            month += '</tr></table>';
            
            $block.find(".month").html(month);
        }
    },
    
    tree: {
        init: function() {
            $(".ajax-tree a").live("click", site.tree.onAjaxTreeNodeClick);
            $(".ajax-tree a").each(function(){
                var href = $(this).attr("href").replace('http://'+document.domain,'');
                if ( href.charAt(href.length-1) != '/' ) href = href+'/';
                
                if (path.indexOf(href) == 0) {
                    $(this).parent().addClass("selected");
                    $(this).addClass('active');
                    Cufon.replace('.active', {});
                }
                
                if (document.location.pathname == '/')
                    return;
                
                if (path.indexOf(href) == 0)
                    $(this).click();

            });
        },
        onAjaxTreeNodeClick: function(e) {
            var id = $(this).attr("rel");
            
            if ( !id || $(this).hasClass('disabled-click')) return;
            
            var ajax_tree = $(this).parents(".ajax-tree");
            
            if( $(this).parent().hasClass('opened') ) {
                $(this).parent().removeClass('opened');
                $(this).removeClass('active');
            } else {
                $(this).parent().addClass('opened');
                $(this).addClass('active');
            }
            
            if ( ajax_tree.data("state-"+id) != null ) {
                if (ajax_tree.data("state-" + id) == true) {
                    $(this).removeClass('current');
                    $("#ajax-tree-node-" + id).slideUp();
                    if( $(this).parents('.level0').hasClass('level0') ) {
                        $(this).parents('.level0').removeClass('pad15');
                    }
                    
                } else {
                    $(this).addClass('current');
                    $("#ajax-tree-node-" + id).slideDown();
                    if( $(this).parents('.level0').hasClass('level0') ) {
                        $(this).parents('.level0').addClass('pad15');
                    }
                }
                    
                ajax_tree.data("state-"+id, !ajax_tree.data("state-"+id));
                return false;
            } else {
                if( $(this).parents('.level0').hasClass('level0') ) {
                    $(this).parents('.level0').addClass('pad15');
                }
            }

            $(this).addClass('current');
            $('<ul id="ajax-tree-node-'+id+'"><li class="last" style="padding: 5px;">Загрузка...</li></ul>').insertAfter($(this));
            
            $.get(ajax_tree.attr("tree:url")+id,{}, function(data) {                
                $("#ajax-tree-node-"+id+" li").remove();
                for( i in data.nodes ) {
                    $("#ajax-tree-node-"+id).append('<li class="node-level'+data.nodes[i].level+'"><a class="level'+data.nodes[i].level+'" href="'+data.nodes[i].path+'"'+(parseInt(data.nodes[i].have_childs) > 0 ? ' rel="'+data.nodes[i].id+'"':'')+'><span>'+data.nodes[i].title+'</span></a></li>')
                }
                
                $("#ajax-tree-node-"+id+" a").each(function () {
                    var href = $(this).attr("href").replace('http://'+document.domain,'');
                    
                    if ( $(this).attr("rel") > 0 ) {                
                        if ( path.indexOf(href) == 0 )
                            $(this).click();
                    }
                    else if ( path.indexOf(href) == 0 )
                        $(this).addClass("current");
                    }
                );

                $("#ajax-tree-node-"+id+" li:last").addClass("last");
                
                ajax_tree.data("state-"+id, !ajax_tree.data("state-"+id));
            },"json");
            
            return false;
        },
        closeAjaxTreeNode: function(e) {
            return false;
        }
    }
};

function __() {
    try {
        console.log(__.caller, arguments);  
    } catch (e) {}
}

$(site.init);
