
// Reformal:
reformal_wdg_domain  = "nolie";
reformal_wdg_mode    = 0;
reformal_wdg_title   = "Пробуждение Разума";
reformal_wdg_ltitle  = "Оставьте свой отзыв";
reformal_wdg_lfont   = "Verdana, Geneva, sans-serif";
reformal_wdg_lsize   = "12px";
reformal_wdg_color   = "#0033ff";
reformal_wdg_bcolor  = "#516683";
reformal_wdg_tcolor  = "#FFFFFF";
reformal_wdg_align   = "left";
reformal_wdg_charset = "utf-8";
reformal_wdg_waction = 0;
reformal_wdg_vcolor  = "#9FCE54";
reformal_wdg_cmline  = "#E0E0E0";
reformal_wdg_glcolor  = "#105895";
reformal_wdg_tbcolor  = "#FFFFFF";
reformal_wdg_bimage = "http://reformal.ru/files/images/buttons/7688f5685f7701e97daa5497d3d9c745.png";

$(document).ready(function() {

	// LiveInternet:
	$('#counters').append('<img src="http://counter.yadro.ru/hit?r' + escape(document.referrer) + (typeof screen == 'undefined' ? '' : ';s' + screen.width + '*' + screen.height + '*' + (screen.colorDepth ? screen.colorDepth : screen.pixelDepth)) + ';u' + escape(document.URL) + ';h' + escape(document.title) + ';' + Math.random() + '" />');
	// Google Analytics:
	try { _gat._getTracker('UA-11191216-1')._trackPageview() } catch(e) {}

	// External links:
	$('a[href^="http:"]').each(function() {
		if (this.host != document.location.host)
			$(this).attr('target', '_blank').not(':has(img)').addClass('external');
	});

	$('a.play-movie').each(function() {
		var $this = $(this);
		$this.fancybox({'title': $this.prevAll('h1').text(), 'hideOnOverlayClick': false, 'overlayColor': '#000', 'overlayOpacity': 0.85, 'titleShow': false});
	});

	$('#guestbook-message')
		.focus(textareaInsertInit)
		.keyup(textareaStoreCaret)
		.click(textareaStoreCaret);

	if ($('#guestbook-message').length) {
		checkMessageLength();
		$('#guestbook-message').bind('keyup blur', checkMessageLength);
	}

	var SmileSliderState = 0;
	var SmileSliderSpeed = 250;
	var SmileSliderDelay = 750;
	var SmileSliderToggler = $('#smiles-toggler');
	var SmileSliderPanel   = $('#smiles-panel');

	SmileSliderToggler.mouseover(function () {
		if (SmileSliderState == 0) {
			SmileSliderState++;
			SmileSliderPanel.slideDown(SmileSliderSpeed);
		}
	});
	SmileSliderPanel.mouseover(function () {
		SmileSliderState++;
	});
	SmileSliderToggler.add(SmileSliderPanel).mouseout(function () {
		SmileSliderState--;
		window.setTimeout(function () { if (SmileSliderState == 0) SmileSliderPanel.slideUp(SmileSliderSpeed) }, SmileSliderDelay);
	});

	$('#smiles-panel img').click(function () {
		textareaInsert($(this).attr('alt'), $(this).parents('form').find('textarea')[0]);
		checkMessageLength();
	});

	ResizableTextareas();

	$('.spoiler .header').click(function () {
		if ($(this).parents('.spoiler').hasClass('open')) {
			$(this).parents('.spoiler').removeClass('open')
			$(this).next('.text').slideUp();
		} else {
			$(this).parents('.spoiler').addClass('open')
			$(this).next('.text').slideDown();
		}
	});

});


////////////////////////////////////////////////////////////////////////////////////////////////////
//                              INSERTING TEXT IN TEXTAREA
////////////////////////////////////////////////////////////////////////////////////////////////////

var baseHeight;

function textareaInsertInit()
{
	if (jQuery.browser.msie && typeof(baseHeight) != 'number') {
		this.focus();
		baseHeight = document.selection.createRange().duplicate().boundingHeight;
	}
}

function textareaInsert(text, textarea) {

	if (!isNaN(textarea.selectionStart)) {
		var sel_start = textarea.selectionStart;
		var sel_end   = textarea.selectionEnd;

		textareaInsertMozilla(textarea, text, '')
		textarea.selectionStart = sel_start + text.length;
		textarea.selectionEnd   = sel_end + text.length;
	} else if (textarea.createTextRange && textarea.caretPos) {
		if (baseHeight != textarea.caretPos.boundingHeight) {
			textarea.focus();
			textareaStoreCaret(textarea);
		}

		var caret_pos = textarea.caretPos;
		caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
	} else {
		textarea.value = textarea.value + text;
	}

	textarea.focus();
}

function textareaInsertMozilla(textarea, open, close) {
	var selLength = textarea.textLength;
	var selStart  = textarea.selectionStart;
	var selEnd    = textarea.selectionEnd;
	var scrollTop = textarea.scrollTop;

	if (selEnd == 1 || selEnd == 2) { selEnd = selLength; }

	var s1 = (textarea.value).substring(0, selStart);
	var s2 = (textarea.value).substring(selStart, selEnd)
	var s3 = (textarea.value).substring(selEnd, selLength);

	textarea.value = s1 + open + s2 + close + s3;
	textarea.selectionStart = selEnd + open.length + close.length;
	textarea.selectionEnd = textarea.selectionStart;
	textarea.focus();
	textarea.scrollTop = scrollTop;
}

function textareaStoreCaret(textarea) {
	if (textarea.createTextRange) {
		textarea.caretPos = document.selection.createRange().duplicate();
	}
}


////////////////////////////////////////////////////////////////////////////////////////////////////
//                              RESIZABLE TEXTAREAS
////////////////////////////////////////////////////////////////////////////////////////////////////

function ResizableTextareas() {
	$('textarea.resizable:not(.textarea-processed)').each(function() {
		if ($(this).is(('textarea.teaser:not(.teaser-processed)'))) return false;
		var textarea = $(this).addClass('textarea-processed'), staticOffset = null;

		$(this).wrap('<div class="resizable-textarea"><span></span></div>').parent().append($('<div class="grippie"></div>').mousedown(startDrag));

		var grippie = $('div.grippie', $(this).parent())[0];
		grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) + 'px';

		function startDrag(e) {
			staticOffset = textarea.height() - e.pageY;
			textarea.css('opacity', 0.25);
			$(document).mousemove(performDrag).mouseup(endDrag);
			return false;
		}

		function performDrag(e) {
			textarea.height(Math.max(32, staticOffset + e.pageY) + 'px');
			return false;
		}

		function endDrag(e) {
			$(document).unbind('mousemove', performDrag).unbind('mouseup', endDrag);
			textarea.css('opacity', 1);
		}
	});
};


////////////////////////////////////////////////////////////////////////////////////////////////////
//                              LIMITING TEXTAREA TEXT LENGTH
////////////////////////////////////////////////////////////////////////////////////////////////////

var maxMessageLength   = 5000;
var textMessageTooLong = '<span style="color: #881111;">Слишком много символов. Пожалуйста сделайте сообщение короче.</span>';
var textMessageNormal  = 'Осталось символов: ';

function checkMessageLength() {
	if (!document.getElementById('guestbook-message')) return;
	var chars = maxMessageLength - document.getElementById('guestbook-message').value.length;
	if (chars >= 0) {
		$('.message-limit').html(textMessageNormal + chars + '.');
	} else {
		$('.message-limit').html(textMessageTooLong);
	}
}

