document.documentElement.className = "js";

var dc = new Array();
	
dc['А'] = 'A';
dc['Б'] = 'B';
dc['В'] = 'V';
dc['Г'] = 'G';
dc['Д'] = 'D';
dc['Е'] = 'E';
dc['Ж'] = 'ZH';
dc['З'] = 'Z';
dc['И'] = 'I';
dc['К'] = 'K';
dc['Л'] = 'L';
dc['М'] = 'M';
dc['Н'] = 'N';
dc['О'] = 'O';
dc['П'] = 'P';
dc['Р'] = 'R';
dc['С'] = 'S';
dc['Т'] = 'T';
dc['У'] = 'U';
dc['Ф'] = 'F';
dc['Х'] = 'H';
dc['Ц'] = 'TS';
dc['Ч'] = 'CH';
dc['Ш'] = 'SH';
dc['Щ'] = 'SHCH';
dc['Э'] = 'EE';
dc['Ю'] = 'YU';
dc['Я'] = 'YA';

$(document).ready(function(){
	// меню
	$('#main_menu dt').not('.active').next('dd').hide();
	
	$('#main_menu dt').click(function(){
		$(this).next('dd').slideToggle('fast');
	});
	
	$('a.inactive').click(function(e){
		e.preventDefault();
	});
	
	// поучения
	$('#extra').css('padding-right','18px');
	
	var settings = {
		showArrows: true,
		maintainPosition: false,
		verticalGutter: 0,
		contentWidth: 156
	};
	
	var pane = $('#extra_container')
	pane.jScrollPane(settings);	
	var api = pane.data('jsp');
	
	$('#lection_next').click(function(e){
		e.preventDefault();
		var cur_id = $(this).attr('rel');

		$.getJSON('/lection/next/'+cur_id, function(data){
			api.getContentPane().html(data.content + '<p class="author">' + data.author + '</p>');
			$('#lection_next').attr('rel', data.id);

			api.reinitialise();
		});
	});
	
	// поиск
	var s = $('#search');
	var s_txt = 'поиск по сайту';
	if (s.val() == '') s.val(s_txt);
	
	s.focus(function(){
		if (s.val() == s_txt) s.val('');
	});
	
	s.blur(function(){
		if (s.val() == '') s.val(s_txt);
	});
	
	$('#search_form').submit(function(){
		if (s.val() == '') return false;
	});
	
	// буквица
	$('span.drop').each(function(){
		$(this).attr('class', 'dc letter_' + dc[$(this).text()]);
	});
	
	// пожертвования
	$('a.show_donation').fancybox({
		scrolling: 'no',
		fitToView: false,
		autoSize: true,
		type: 'ajax',
		minHeight: 110,
		minWidth: 110
		//href: '/donation/show/'
	});
	
	// image link
	$('.zoom, .imagelink').fancybox({
        closeBtn: false,
        closeClick: true,
        helpers: { 
            title: {type: 'inside'}
        }
	});
	
	// nivo-slider
	$('#slider').nivoSlider({
		effect: 'fade',
		pauseTime: 5000,
		directionNav: false,
		controlNav: false,
		keyboardNav: true,
		pauseOnHover: true
	});
	
	// audio player
	var ap = $('div.audioplayer a');
	ap.jwPlayer({
        swf: '/vendors/jwplayer/player.swf',
        file: ap.attr('href'),
        height: 25,
        width: 500,
        controlbar: 'top',
        icons: false,
        skin: '/vendors/jwplayer/skin/optina/optina.xml'
/*
        playerready: function(){
            $('div.audioplayer').css('visibility', 'visible');
        }
*/
    });
    
    ap.click(function(){ 
    	return false; 
    });
    
    // video link
    $('a.videolink').fancybox({
        width: 640,
        height: 390,
        type: 'iframe'
    });
    
    // орфография
    var os = navigator.platform.toLowerCase().substring(0,3);
    if (os == 'mac') {
        $('#orpho em').text('Cmd+Enter');
        $('#orpho_keys').addClass('mac');
    }
    
    $(document).keypress(function(e){
        if (((e.metaKey || e.ctrlKey) && e.which == 13) || e.keyCode == 10) {
        
            var offset = 150;
            var sel = null;
                            
            if (window.getSelection) sel = window.getSelection();
            else if (document.getSelection) sel = document.getSelection();
            else if (document.selection) sel = document.selection.createRange();
            
            if (!sel) return;
            
            if (sel.getRangeAt) {
                var range = sel.getRangeAt(0);
                var el = range.commonAncestorContainer;
            }
            else {
                var range = sel;
                var el = range.parentElement();
            }
                
            while (el) {
                if (el.tagName == 'P' || el.tagName == 'LI' || el.tagName == 'H2' || el.tagName == 'H1') break;
                el = el.parentNode;
            }
                
            if (!el) return;
                
            var selText = (sel.toString) ? sel.toString() : sel.text; // ? mozilla : ie
            var begin = null;
            var end = null;
            
            if (selText.length > 50) {
                alert('Вы выделили слишком много текста');
                return;
            }
            
            // mozilla
            if (document.createRange) {
                begin = document.createRange();
                begin.setStartBefore(el);
                begin.setEnd(range.startContainer,range.startOffset);
                begin = begin.toString();
                
                end = document.createRange();
                end.setStart(range.endContainer, range.endOffset);
                end.setEndAfter(el);
                end = end.toString();
            }
            // lt ie 9
            else {
                begin = document.body.createTextRange();
                begin.moveToElementText(el);
                begin.setEndPoint('EndToStart',sel);
                begin = begin.text;
                
                end = document.body.createTextRange();
                end.moveToElementText(el);
                end.setEndPoint('StartToEnd', sel);
                end = end.text;
            }
            
            if (begin.length > offset) begin = '...' + begin.substring(begin.length - offset);
            if (end.length > offset) end = end.substring(0, offset) + '...';
            
            $.fancybox({
                fitToView: false,
                modal: true,
                scrolling: 'no',
                openEffect: 'none',
                closeEffect: 'fade',
                width: 380,
                minHeight: 110,
                type: 'html',
                content: '<form id="orpho_check" style="width:380px;"><h2>Нужно исправить:</h2><p id="orpho_check_message">'+begin+'<strong class="red" style="color:red">['+selText+']</strong>'+end+'</p><a href="" id="orpho_add_comment">добавить комментарий</a><textarea name="comment" rows="5" style="display:none;"></textarea><input type="submit" value="Отправить"/>&nbsp;<input type="reset" value="Отменить" id="orpho_check_close"/></form>'
            });
        }
    });
    

    $('#orpho_check_close').live('click', function(){
        $.fancybox.close();
    });
    
    $('#orpho_add_comment').live('click', function(){
        $(this).hide();
        $(this).next('textarea').show();
        $.fancybox.update();

        return false;
    });
    
    $('#orpho_check').live('submit', function(){
        $(this).children('input[type="submit"]').val('Подождите...');
        $(this).children('input').attr('disabled','disabled');

        var cmt = $(this).children('textarea').val();
        var msg = $(this).children('p').html();

        $.post(
            '/orpho/',
            {message: msg, comment: cmt, url: document.location.href},
            function(data){
                if (data == 'Ok')
                    var message = '<h2>Спасибо за помощь!</h2><p>Ваше замечание отправлено, мы обязательно исправим ошибку.</p>';
                else {
                    var message = '<h2>Ошибка!</h2><p>Извините, но во время отправки сообщения произошла ошибка. Попробуйте еще раз позже</p>';
                }
                
                $('#orpho_check').html('<div align="center">'+message+'</div>');
                $.fancybox.update();
                setTimeout(function(){$.fancybox.close()}, 2000);
            }
        );
        
        return false;
    });
});
