var fix_interval = null;
var thinner_threshold = 0;
var thin_threshold = 0;
var verythin_threshold = 0;
var widefont = false;
var EM = 12;

$(function(){
    fix_fontsize_init('12px/12px Tahoma, "DejaVu Sans", Geneva, sans-serif', 12);

    check_fontname();
});

function fix_fontsize_init(font, expectedSize, $fix)
{
    if (typeof font == 'undefined' || font == '')
        font = 'normal 16px/16px Arial, sans-serif';
    if (typeof expectedSize == 'undefined' || expectedSize == 0)
        expectedSize = 16;
    if (typeof $fix == 'undefined' || !$fix.length)
        $fix = $('body');

    $fix.prepend('<div id="fontsize_tester">A</div>');

    var $tester = $('#fontsize_tester');
    var $topmenu = $('#header_top .submenu div').eq(0);

    $tester.css({
        font:        font,
        position:   'absolute',
        left:       '-999em'
    });

    _fix_fontsize(expectedSize, $fix, $tester, $topmenu);

    fix_interval = setInterval(function(){
        _fix_fontsize(expectedSize, $fix, $tester, $topmenu);
    }, 1000);
}

function _fix_fontsize(expectedSize, $fix, $tester, $topmenu)
{
    if (!$.browser.opera && !$.browser.safari && !$.browser.msie) {
	var size = Math.round(expectedSize * expectedSize / $tester.height());
	$fix.css({ fontSize: size + 'px' });
    }

    EM = $tester.height();

    /*if ($topmenu.height() > Math.ceil($tester.height() * 1.58333))
        $('#header_top .submenu div').css({ paddingRight: '2.5em', paddingLeft: '1em'});
    else
        $('#header_top .submenu div').css({ paddingRight: '4.66em', paddingLeft: '1.66em' });*/
}

function check_fontname()
{
    var testsize = '4em';
    var tstr = 'àáâãäå¸æçèéêëìíîïðñòóôõö÷øùúûüýÿþ';

    $('body').append('<div id="__fonttable_tester__"></div>');
    var $tester = $('#__fonttable_tester__');

    $tester.css({
        position: 'absolute',
        top: 0,
        left: '-9999em',
        visibility: 'hidden',
        whiteSpace: 'nowrap',
        fontSize: testsize,
        lineHeight: testsize,
        letterSpacing: 'normal',
        fontWeight: 'normal',
        fontStyle: 'normal',
        height: testsize
    });

    $tester.text(tstr);

    var koeff = $tester.width() / tstr.length / $tester.height();

    $tester.remove();

    if ( koeff >= 0.15 ) {
	widefont = true;

        if ( $('#header_top #lang').hasClass('ru') ) {
		    $('body').addClass('widefont');
		    $('.sidebar-banner #supporten')
				.attr('src','/i/intinfo/supportw_en.jpg');
		    $('.sidebar-banner #supportru')
				.attr('src','/i/intinfo/supportw_ru.jpg');
		    $('.sidebar-banner #nitiken')
				.attr('src','/i/intinfo/nitik_bookw_en.jpg');
		    $('.sidebar-banner #nitikru')
				.attr('src','/i/intinfo/nitik_bookw_ru.jpg');
		}
    }

    if (widefont)
	   $.cookie('widefont', koeff, {expires: 365, path: '/'}); // 1 year
	else
	   $.cookie('widefont', null, {path: '/'}); // delete cookie
}

/*
 * Cookie plugin
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses.
 */
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toGMTString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires='; expires='+date.toGMTString();}var path=options.path?'; path='+options.path:'';var domain=options.domain?'; domain='+options.domain:'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}return cookieValue;}};


$(function(){
    if ($.browser.msie && $.browser.version < 7)
        return;

    setTimeout(function(){
        $('body').append('<div id="__emtester__"></div>');
        $('#__emtester__').css({width: widefont? '88em' : '84em'});
        thinner_threshold = $('#__emtester__').width();
		$('#__emtester__').css({width: widefont? '83em' : '79em'});
        thin_threshold = $('#__emtester__').width();
        $('#__emtester__').css({width: widefont? '78em' : '73em'});
        verythin_threshold = $('#__emtester__').width(); 
        $('#__emtester__').remove();
        
        $('#wrapper, .content-block').css({
            minWidth: ($.browser.safari || widefont)? '75em' : '70em'
        });
    
        thincheck();
        $(window).resize(function(){
            thincheck();
        });
    }, 100);
});

function thincheck()
{
    var size = $('.content-block').eq(0).width();
	if (size >= thinner_threshold) {
        $('body').removeClass('thinner').removeClass('thin').removeClass('verythin');
    } else if (size >= thin_threshold) {
        $('body').addClass('thinner').removeClass('thin').removeClass('verythin');
    } else if (size >= verythin_threshold) {
        $('body').addClass('thin').removeClass('verythin').removeClass('thinner');
    } else {
        $('body').addClass('verythin').removeClass('thin').removeClass('thinner');
    }
}
