var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);



/**
 *
 */
var cfg_path_web;
var cfg_site_theme;




/**
 *
 */
function setPopuperText(text)
{
	if (text) {
		jQuery('#popuper_text').html(text);
	} else {
		jQuery('#popuper_text').html('выполняется...');
	}
}
function enablePopuperIndicator(indicator_on) {
	if (indicator_on > 0) {
		jQuery('#popuper_indicator').css({display: 'block'});
	} else {
		jQuery('#popuper_indicator').css({display: 'none'});
	}
}

function calculatePopuperTop() {
	top_margin = (jQuery('body').height() / 2) - (jQuery('.popuper').height() / 2);
	if (top_margin < 15) {
		top_margin = 15;
	}
	top_margin = top_margin + document.body.scrollTop;
	return(top_margin);
}
function viewPopuper(text, indicator_on)
{
	jQuery('.blackBack').css({display: 'block'});
	
	setPopuperText(text);
	enablePopuperIndicator(indicator_on);
	
	jQuery('.popuper').fadeIn('fast');
	
	jQuery('.popuper').css({top: calculatePopuperTop()});
	
	jQuery('#popuper iframe').width(jQuery('#popuper table.table').width());
	jQuery('#popuper iframe').height(jQuery('#popuper table.table').height());
	jQuery('#popuper iframe').css({display: 'block'});
	
	jQuery(window).scroll(function () {
		jQuery('.popuper').css({top: calculatePopuperTop()});
	});
}
function hidePopuper() {
	jQuery('.popuper').fadeOut('fast');
	jQuery('.blackBack').fadeOut('fast');
}




/**
 *
 */
function putString(context, str){
	var m=document.getElementById(context);
	if(m){
		if(document.selection){
			m.focus();
			sel=document.selection.createRange();
			sel.text=str;
		}else if(m.selectionStart || m.selectionStart=="0"){
			var s=m.selectionStart;
			var e=m.selectionEnd;
			m.value=m.value.substring(0,s)+str+m.value.substring(e,m.value.length);
		}else{
			m.value += str;
		}
		m.focus();
	}
}




function putURL(context)
{
	if(url=prompt('Введите ссылку','http://'))
	{
		var m=document.getElementById(context);
		if(m){
			m.focus();
			if((clientVer >= 4) && is_ie && is_win)
			{
				sel = document.selection.createRange();
				if(sel.text!='') {
					sel.text = '<a href="'+url+'">'+sel.text+'</a>';
				}
				else {
					putString(context, '<a href="'+url+'">'+url+'</a>');
				}
			}
			else {
				mozWrap(m, '<a href="'+url+'">','</a>', url);
			}
			m.focus();
		}
	}
}

function putTag(context, tag)
{
	var m=document.getElementById(context);
	if(m){
		m.focus();
		if ((clientVer >= 4) && is_ie && is_win)
		{
			sel = document.selection.createRange();
			sel.text = '<'+tag+'>'+sel.text+'</'+tag+'>';
		}
		else {
			mozWrap(m, '<'+tag+'>', '</'+tag+'>');
		}
		m.focus();
	}
}

function mozWrap(txtarea, open, close, somevalue)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2) {
		selEnd = selLength;
	}

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	if (s2!='') {
		txtarea.value = s1 + open + s2 + close + s3;
	}
	else {
		if(somevalue) txtarea.value = s1 + open + somevalue + close + s3;
	}
	return;
}



/**
 *
 */
function nlToBr(text) {
	return text.replace(/(\r\n)|(\n)/g, "<br>");
}



/**
 *
 */
function preview(area_id, text)
{
	jQuery('#'+area_id).html('<div style="width: 100%; padding-top: 10px">'+text+'</div>');
	jQuery('#'+area_id).slideToggle();
}

function closePreview(area_id) {
	jQuery('#'+area_id).slideToggle();
}



/**
 *
 */
function printMessages(aMessages)
{
	if (aMessages.length > 0)
	{
		var mess_ul = jQuery('<ul></ul>');
		
		
		for (var i = 0; i < aMessages.length; i++)
		{
			var message_title = '';
			if (aMessages[i].is_error)
			{
				if (aMessages[i].title) {
					message_title = aMessages[i].title;
				} else {
					message_title = 'Ошибка:';
				}
				var mess_span = jQuery('<span>' + message_title + ' </span>').addClass('red');
			} else {
				if (aMessages[i].title) {
					var mess_span = jQuery('<span>' + aMessages[i].title + ' </span>').addClass('green');
				} 
			}
			if (mess_span) {
				mess_span.appendTo(mess_li);
			}
			
			var mess_span = jQuery('<span>' + aMessages[i].text + '</span>');
			var mess_li = jQuery('<li></li>');
			
			mess_span.appendTo(mess_li);
			mess_li.appendTo(mess_ul);
			
		}
		jQuery("#system_messages").html('');
		mess_ul.appendTo("#system_messages");
		jQuery('#system_messages').css({display: 'block'});		
	}
}

function addToFavorite(iTopicId)
{
	viewPopuper('Выполняется добавление в избранные', 1);
	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	if (req.responseJS.topic_points)
        	{
        		document.getElementById('topic_'+iTopicId+'_favorite').src = cfg_path_web + '/themes/' + cfg_site_theme + '/new_img/favorites_gray.gif';
        	}
       
        if (req.responseJS.aMessages) {
        		printMessages(req.responseJS.aMessages);
        }
        setTimeout('hidePopuper()', 1000);
         }	
    }
    
    req.caching = false;
    req.open('POST', cfg_path_web+'/modules/blog/loaders/add_to_favorites.loader.php', true);
    req.send( { topic_id: iTopicId } );
}