function MM_preloadImages( ) { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function show_progress( ) {
	var el = document.getElementById( 'progress' );
	el.style.display = 'block';
	return true;
}
function hide_progress( ) {
	var el = document.getElementById( 'progress' );
	el.style.display = 'none';
	return true;
}

/* browser detection */
var browser_info = new function(ie)
{
   var d = document, w = window, qsel = !!d.querySelectorAll,
   csel = !!d.getElementsByClassName;
   this.ff = !!w.Iterator && !!d.addEventListener && /a/[-1] == 'a';
   this.ff2 = this.ff && (function x(){})[-6] == 'x';
   this.ff3 = csel && this.ff && (function x(){})[-5] == 'x';
   this.ff35 = qsel && this.ff;
   this.ie = (ie && '\v' == 'v');
   this.ie5 = this.ie && ie == 5;
   this.ie6 = this.ie && (ie == 6 || (d.compatMode && d.all && !!d.readyState));
   this.ie7 = this.ie && (ie == 7 && d.documentElement && typeof d.documentElement.style.maxHeight != "undefined");
   this.ie8 = this.ie && (ie == 8 && qsel);
   this.safari = /a/.__proto__ == '//';
   this.chrome = /source/.test((/a/.toString + ''));
   this.opera = (!ie && !!w.opera && w.opera.toString() === "[object Opera]");
}(0/*@cc_on + (@_jscript_version * 10 % 10) @*/);
/* / browser detection */

var $ = jQuery;

// document.ready
$(function(){

    /*** buttons ***/
    
    /* эмуляция text-shadow на кнопках для FF 3.0 */
    if (browser_info.ff && browser_info.ff3 && !browser_info.ff35)
        $('head').append('<link type="text/css" rel="stylesheet" href="css/buttons-ff3.css" />');
        
    /* правые закругления и css фиксы для FF 2.0*/
    if (browser_info.ff && browser_info.ff2) {
    	$('head').append('<link type="text/css" rel="stylesheet" href="css/buttons-ff2.css" />');
    	$('.button-18, .button-20, .button-24, .button-40').append('<span class="after"></span>').prepend('<span class="before"></span>');
    }

    /* отмена клика для ссылок rel="disabled" */
    $('a[rel~=disabled]').live('click', function(){
	return false;
    });
    
    /* ie6, не понимающий сдвоенные селекторы */
    if (browser_info.ie6) {
	$('.button-20, .button-24, .button-40').each(function() {
	    var classname = 'button-';
	    var disabled  = 'button-';
	    if ($(this).hasClass('button-20')) {
		classname += '20-';
		disabled  += '20-';
	    } else if ($(this).hasClass('button-24')) {
		classname += '24-';
		disabled  += '24-';
	    } else if ($(this).hasClass('button-40')) {
		classname += '40-';
		disabled  += '40-';
	    }
	    disabled += 'disabled';
	    if ($(this).hasClass('button-green')) {
	    	classname += 'green';
	    } else if ($(this).hasClass('button-green-forward')) {
	    	classname += 'green-forward';
	    	disabled  += '-forward'; 
	    } else if ($(this).hasClass('button-orange')) {
	    	classname += 'orange';
	    } else if ($(this).hasClass('button-orange-back')) {
	    	classname += 'orange-back';
	    	disabled  += '-back';
	    } else if ($(this).hasClass('button-red')) {
	    	classname += 'red';
	    } else if ($(this).hasClass('button-blue')) {
	    	classname += 'blue';
	    }
	    $(this).addClass(classname);
	    if ($(this).is('[disabled]') || $(this).is('[rel~=disabled]'))
	    	$(this).addClass(disabled);
	});
    }
    
    /* смещение кнопки по клику в IE */
    if (browser_info.ie) {
        $('.button-20, .button-24, .button-40').live('mousedown', function(){
	    if ($(this).not('[disabled], [rel~=disabled]').length)
	        $(this).addClass('button-active');
	}).live('mouseup', function(){
	    $(this).removeClass('button-active');
	});
    }
    /*** / buttons ***/
    
    /* fix bug with overflow in opera */
    if (browser_info.opera && $.browser.version < 10)
        $('#wrapper').css({
	       overflow: 'visible',
	       'float': 'left'
        });

    /* header_top menu */
    $('.menu', '#header_top').hover(function(){
        if (!$('ul', this).is(":animated")) {
            $('ul', this).show(200);
        }
    }, function(){
        $('ul', this).hide(400);
    });
    
    /* header login form */
    $('#header-login', '#header').focus(function(){
	$(this).removeClass('login-tip');
    }).blur(function(){
	var cl = 'login-tip';
	if ($(this).val() == '')
	    $(this).addClass(cl);
    }).keyup(function(){
	if ($('#header-password', '#header').val() != '')
	    $('#header-password', '#header').removeClass('password-tip');
    }).blur();

    $('#header-password', '#header').focus(function(){
	$(this).removeClass('password-tip');
    }).blur(function(){
	var cl = 'password-tip';
	if ($(this).val() == '')
	    $(this).addClass(cl);
    }).blur();
    
    $('form#personal', '#header').submit(function(){
    	if ($('#header-password', '#header').val() != '')
    	    $('#header-password', '#header').removeClass('password-tip');
    	if ($('#header-login', '#header').val() != '')
    	    $('#header-login', '#header').removeClass('login-tip');
    	return true;
    });

    /* sidebar uslugi - ie6 fix */
    if (browser_info.ie6) {
        $('a', '#sidebar #uslugi').hover(function(){
            $('span', this).css({textDecoration: 'underline'});
        }, function(){
            $('span', this).css({textDecoration: 'none'});
        });
    }
    
    // fixing ie6 positioning bug
    if (browser_info.ie6) {
        $(window).resize(function(){
            $('#wrapper-lb, #wrapper-rb').css({bottom: '1px'}).css({bottom: '0px'});
        });
    }
    
    //target blank
    $("a[rel*=blank]").click(function(){
	    window.open(this.href);
	    return false;
    });
    
    /* header #regru-description scroller */
    var $description = $('#regru-description');
    var description_count = $('li', $description).length;
    
    // при клике на блоке описания reg.ru переходим на сайт reg.ru
    $('ul', $description).click(function() {location.href = 'http://www.reg.ru'});

    $('.prev', $description).hide();

    $('.prev, .next', $description).css({visibility: 'visible'}).click(function(){
        var em = parseInt($('li', $description).eq(0).height()) / 1.33333;
        var diff = Math.round(1.33333 * em);
        var $original = $('ul', $description);
        var top = $original.position().top;

        if ($(this).is('.prev')) {
            $('.next', $description).show();

            top += diff;

            if (top >= 0) {
                $('.prev', $description).hide();
            }

            if (top > 0) {
                //dont
                return false;
            }
        }
        else {
            $('.prev', $description).show();
            top -= diff;

            if (Math.abs(top) > em * (description_count - 2)) {
                $('.next', $description).hide();
            }

            if (Math.abs(top) > em * description_count) {
                //dont
                return false;
            }
        }

        $original.css({top: $original.position().top + 'px'}).animate({
            top: ''+top+'px'
        }, 150, function(){
            var fix_position = $original.position().top / em;
            $original.css({top: ''+fix_position+'em'}).removeClass('clone');
        });

        return false;
    });
});

/*** buttons ***/
/* переключить состояние disabled .button-20 | .button-24 */
function button_toggle($button)
{
    if (!$button.hasClass('button-20') && !$button.hasClass('button-24'))
	return;
            
    if ($button.attr('disabled') || $button.attr('rel') == 'disabled') {
	button_enable($button);         
    } else if ($button.is('a') || $button.is('button')) {
	button_disable($button);
    }
}
/* disable .button-20 | .button-24 */
function button_disable($button)
{
    if (!$button.hasClass('button-20') && !$button.hasClass('button-24'))
	return;
            
    var $clone = $button.clone();
    if ($clone.is('button'))
	$clone.attr('disabled', 'disabled');
    else if ($clone.is('a'))
	$clone.attr('rel', 'disabled');

    if (browser_info.ie6) {
	if ($clone.hasClass('button-20-green-forward'))
	    $clone.addClass('button-20-disabled-forward');
	else if ($clone.hasClass('button-24-green-forward'))
	    $clone.addClass('button-24-disabled-forward');
	else if ($clone.hasClass('button-20-orange-back'))
	    $clone.addClass('button-20-disabled-back');
	else if ($clone.hasClass('button-24-orange-back'))
	    $clone.addClass('button-24-disabled-back');
	else if ($clone.hasClass('button-20'))
	    $clone.addClass('button-20-disabled');
	else if ($clone.hasClass('button-24'))
	    $clone.addClass('button-24-disabled');
    }            
            
    $button.replaceWith($clone);
}
/* enable .button-20 | .button-24 */
function button_enable($button)
{
    if (!$button.hasClass('button-20') && !$button.hasClass('button-24'))
	return;
            
    var $clone = $button.clone();
    if ($clone.is('button'))
	$clone.removeAttr('disabled');
    else if ($clone.is('a'))
	$clone.removeAttr('rel');
	
    if (browser_info.ie6)
	$clone.removeClass('button-20-disabled button-20-disabled-forward button-20-disabled-back button-24-disabled button-24-disabled-forward button-24-disabled-back');
	                
    $button.replaceWith($clone);
}
/*** / buttons ***/
