function isValidEmail(email) {
	re = /^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i;
	if (re.test(email)) {document.getElementById("button_reply").disabled=false;} else {document.getElementById("button_reply").disabled=true;}
}
/* -------------- */
var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera')  > -1);
var isIE = (!isOpera && ua.indexOf('msie') > -1);
function getDocumentHeight() {
  return Math.max(document.compatMode != 'CSS1Compat' ? document.body.scrollHeight : document.documentElement.scrollHeight, getViewportHeight());
}
 
function getViewportHeight() {
  return ((document.compatMode || isIE) && !isOpera) ? (document.compatMode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight : (document.parentWindow || document.defaultView).innerHeight;
}
/* -------------- */
function count( mixed_var, mode ) {
    var key, cnt = 0;
    if( mode == 'COUNT_RECURSIVE' ) mode = 1;
    if( mode != 1 ) mode = 0;
    for (key in mixed_var){
        cnt++;
        if( mode==1 && mixed_var[key] && (mixed_var[key].constructor === Array || mixed_var[key].constructor === Object) ){
            cnt += count(mixed_var[key], 1);
        }
    }
    return cnt;
}
/* -------------- */
function timeToHuman(timeStamp)
{
	var theDate = new Date(timeStamp * 1000);
	dateString = theDate.toGMTString();
	return (dateString);
}
function setCookie (name, value, expires, path, domain, secure)
{
	document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + timeToHuman(expires) : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
}
function getCookie(name)
{
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}
/* ---------------------------- */
function show_full_message(id, tt) {
	document.getElementById("message-"+id).style.display = 'block';
	document.getElementById("ajaxload").style.display = 'block';
	JsHttpRequest.query('/board/messageAJAX/'+id+'/'+tt, '', function(result, errors)
	{
		if (tt == 1) {document.getElementById("message_title-"+id).style.display = 'none';};
		document.getElementById("message-"+id).innerHTML = result['content'];
		document.getElementById("ajaxload").style.display = 'none';
		$(document).ready(function(){   
			tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
			imgLoader = new Image();// preload image
			imgLoader.src = tb_pathToImage;
		});
	}, false);
}
/* ---------------------------- */
function hide_full_msg(id) {
	document.getElementById("message_title-"+id).style.display = 'block';
	document.getElementById("message-"+id).style.display = 'none';
}
/* ---------------------------- */
function showboardaddform()
{
	document.getElementById("boardaddformdiv").style.display = 'block';
}
function my_upload_file(id,type)
{
	document.getElementById(type+"_file_upl_btn"+id).style.display = 'inline';
	JsHttpRequest.query('/'+type+'/fotoupload', {'user_file': document.getElementById(type+"_user_file"+id)}, function(result, errors)
		{
			document.getElementById(type+"_user_file_error"+id).style.display = 'none';
			if (result["error"] == "") {
				document.getElementById(type+"_file_name"+id).value = result["file_name"];
				document.getElementById(type+"_user_file_out"+id).innerHTML = result["show_file_name"];
				document.getElementById(type+"_user_file_del"+id).style.display = 'block';
				document.getElementById(type+"_user_file_form"+id).style.display = 'none';
				document.getElementById(type+"_user_file_error"+id).style.display = 'none';
			}
			else {
				document.getElementById(type+"_user_file_error"+id).innerHTML = result["error"];
				document.getElementById(type+"_user_file_error"+id).style.display = 'block';
			};
			document.getElementById(type+"_file_upl_btn"+id).style.display = 'none';
		}, true);
}
function my_upload_file_del(id,type)
{
	document.getElementById(type+"_file_name"+id).value = "";
	document.getElementById(type+"_user_file_out"+id).innerHTML = "";
	document.getElementById(type+"_user_file_del"+id).style.display = 'none';
	document.getElementById(type+"_user_file_form"+id).style.display = 'block';
	document.getElementById(type+"_user_file_error"+id).innerHTML = "";
	document.getElementById(type+"_user_file_error"+id).style.display = 'none';
}
// -----------------------------
function boardaddmessage()
{
	document.getElementById("ajaxerror_list").innerHTML = '';
	document.getElementById("ajaxload").style.display = 'block';

	document.getElementById("button").disabled = 1;
	document.getElementById("button").value = 'Подождите...';

	document.getElementById("ajaxerror").style.display = 'none';

	type_num = '';
	if (document.getElementById("type1").checked == true) {type_num = '1';};
	if (document.getElementById("type2").checked == true) {type_num = '2';};

	JsHttpRequest.query('/board/ajax_add',
		{
			'a_name': document.getElementById("name").value,
			'a_city': document.getElementById("city").value,
			'a_email': document.getElementById("email").value,
			'a_phone': document.getElementById("phone").value,
			'a_type': type_num,
			'a_msgtitle': document.getElementById("msgtitle").value,
			'a_message': document.getElementById("message").value,
			'a_file_name1': document.getElementById("board_file_name1").value,
			'a_file_name2': document.getElementById("board_file_name2").value,
			'a_file_name3': document.getElementById("board_file_name3").value
		}, function(result, errors)
		{
			if (count(result["error"]) > 0)
			{
				document.getElementById("button").disabled = 0;
				document.getElementById("button").value = 'Разместить';
				document.getElementById("ajaxerror").style.display = 'block';
				for (n=0; n<count(result["error"]); n++)
				{
					document.getElementById("ajaxerror_list").innerHTML += '<li>'+result["error"][n]+'</li>';
				};
			}
			else {
				document.getElementById("type1").checked = false;
				document.getElementById("type2").checked = false;
				document.getElementById("msgtitle").value = '';
				document.getElementById("message").value = '';
				my_upload_file_del(1,'board'); my_upload_file_del(2,'board'); my_upload_file_del(3,'board');
				document.getElementById("boardaddformdiv").style.display = 'none';
//				location.replace("/board");
				location.replace("/message-"+result["content"]+".html");
			};
			document.getElementById("ajaxload").style.display = 'none';
		}, true);
}
/* ------------ */
function fillboardreplyform(id, email)
{
	document.getElementById("recepient_id").value = id;
	document.getElementById("recepient_email").innerHTML = email;
	document.getElementById("recepient_name").innerHTML = document.getElementById("name-"+id).innerHTML;
	document.getElementById("recepient_title").innerHTML = document.getElementById("msgtitle-"+id).innerHTML;
}
// -----------------------------
function boardreply()
{
	document.getElementById("reply_ajaxerror_list").innerHTML = '';
	document.getElementById("ajaxload").style.display = 'block';

	document.getElementById("button_reply").disabled = 1;
	document.getElementById("button_reply").value = 'Подождите...';

	document.getElementById("reply_ajaxerror").style.display = 'none';

	JsHttpRequest.query('/board/ajax_reply',
		{
			'a_recepient_id': document.getElementById("recepient_id").value,
			'a_name': document.getElementById("reply_name").value,
			'a_city': document.getElementById("reply_city").value,
			'a_email': document.getElementById("reply_email").value,
			'a_phone': document.getElementById("reply_phone").value,
			'a_message': document.getElementById("reply_message").value,
			'a_file_name': document.getElementById("reply_user_file")
		}, function(result, errors)
		{
			if (count(result["error"]) > 0)
			{
				document.getElementById("button_reply").disabled = 0;
				document.getElementById("button_reply").value = 'Отправить письмо';
				document.getElementById("reply_ajaxerror").style.display = 'block';
				for (n=0; n<count(result["error"]); n++)
				{
					document.getElementById("reply_ajaxerror_list").innerHTML += '<li>'+result["error"][n]+'</li>';
				};
			}
			else {
				document.getElementById("button_reply").disabled = 0;
				document.getElementById("button_reply").value = 'Отправить письмо';
				document.getElementById("reply_message").value = '';
				document.getElementById("reply_file_name_div").value = '<input type="file" class="file" id="reply_user_file" name="user_file" />';
				disablePopup_boardemail();
			};
			document.getElementById("ajaxload").style.display = 'none';
		}, true);
}
//*********** News comments
function news_comment_add(id) {
	if (id != '') {
		document.getElementById("comment_button").disabled = 1;
		document.getElementById("comment_button").value = 'Добавление...';
		JsHttpRequest.query('/news/ajax_comment_add/'+id, 
			{
				'name': document.getElementById("comment_name").value,
				'email': document.getElementById("comment_email").value,
				'message': document.getElementById("comment_message").value,
				'f_antispam': document.getElementById("comment_spam").value
			}, function(result, errors)
			{
				if (result["error"] == '') {
					document.getElementById('comment_message').value = '';
					document.getElementById("comment_error").innerHTML = "";
					after_add_comment(id);
				}
				else
				{
					err = result["error"];
					document.getElementById("comment_error").innerHTML = "";
					for (var i = 0; i < count(err); i++) {
						document.getElementById("comment_error").innerHTML+= err[i]+'<br />';
					}
				};
				document.getElementById('comment_spam_img').src='/capcha?'+Math.floor(Math.random()*(156489765));
				document.getElementById('comment_spam').value = '';
				document.getElementById("comment_button").value = 'Добавить комментарий';
				document.getElementById("comment_button").disabled = 0;
			}, true);
	};
}
function after_add_comment(id) {
	JsHttpRequest.query('/news/ajax_get_comments/'+id, '', function(result, errors)
	{
		document.getElementById("comments").innerHTML = document.getElementById("comments").innerHTML + result['content'];
	}, true);
}
// -----------------------------
function news_comment_reply()
{
	document.getElementById("reply_ajaxerror_list").innerHTML = '';
	document.getElementById("ajaxload").style.display = 'block';

	document.getElementById("button_reply").disabled = 1;
	document.getElementById("button_reply").value = 'Подождите...';

	document.getElementById("reply_ajaxerror").style.display = 'none';

	JsHttpRequest.query('/news/ajax_reply',
		{
			'a_recepient_id': document.getElementById("recepient_id").value,
			'a_name': document.getElementById("reply_name").value,
			'a_city': document.getElementById("reply_city").value,
			'a_email': document.getElementById("reply_email").value,
			'a_phone': document.getElementById("reply_phone").value,
			'a_message': document.getElementById("reply_message").value,
			'a_file_name': document.getElementById("reply_user_file")
		}, function(result, errors)
		{
			if (count(result["error"]) > 0)
			{
				document.getElementById("button_reply").disabled = 0;
				document.getElementById("button_reply").value = 'Отправить письмо';
				document.getElementById("reply_ajaxerror").style.display = 'block';
				for (n=0; n<count(result["error"]); n++)
				{
					document.getElementById("reply_ajaxerror_list").innerHTML += '<li>'+result["error"][n]+'</li>';
				};
			}
			else {
				document.getElementById("button_reply").disabled = 0;
				document.getElementById("button_reply").value = 'Отправить письмо';

				document.getElementById("reply_message").value = '';
				document.getElementById("reply_file_name_div").value = '<input type="file" class="file" id="reply_user_file" name="user_file" />';
				disablePopup_boardemail();
			};
			document.getElementById("ajaxload").style.display = 'none';
		}, true);
}
/* ------------ POLL ---------------- */
function getRadioGroupValue(radioGroupObj)
{
  for (var i=0; i < radioGroupObj.length; i++) if (radioGroupObj[i].checked) return radioGroupObj[i].value;
  return null;
}
/* --- */
function getElementsByName(name, tag) {
	var elem = document.getElementsByTagName(tag);
	var arr = new Array();
	for(i = 0,iarr = 0; i < elem.length; i++) {
		att = elem[i].getAttribute("name");
		if(att == name) {
			arr[iarr] = elem[i];
			iarr++;
		}
	}
	return arr;
}
/* --- */
function poll_vote(id,type,forum) {
	if (getCookie('poll_'+id) != '1') {
		var v = getRadioGroupValue(getElementsByName('option_'+id, 'input'));
		if (v > 0) {
			document.getElementById("poll_button_"+id).disabled = 1;
			document.getElementById("poll_button_"+id).value = 'Подождите...';
			JsHttpRequest.query('/polls/vote/'+id+'/'+v+'/'+type+'/'+forum, '', function(result, errors)
			{
				document.getElementById('poll_'+id).innerHTML = result['content'];
			}, true);
		};
	} else {
		document.getElementById("poll_button_"+id).disabled = 1;
		document.getElementById("poll_button_"+id).value = 'Ваш голос уже учтен';
	};
};
/* --- SPAM --- */
function mark_spam(id) {
	JsHttpRequest.query('/board/spam/'+id, '', function(result, errors)
	{
		if (result['content'] == 'already') {document.getElementById('spamA-'+id).innerHTML = 'Уже отмечено';};
		if (result['content'] == 'spam') {document.getElementById('message-'+id).innerHTML = '<span class="spam">  Помечено как спам  </span><div class="dots tp10 bt10"></div>';};
	}, true);
};

/* --- Subscribe --- */
function subscribe() {
	document.getElementById("subinfo").style.display = 'none';
	document.getElementById("subinfo").innerHTML = "";
	document.getElementById("subbutton").disabled = 1;
	document.getElementById("subbutton").value = 'Подождите...';
	var type_num = 0;
	if (document.getElementById("unsubscribe").checked == true) {type_num = 1;};
	JsHttpRequest.query('/subscribe/add_ajax', {
		'subemail': document.getElementById("subemail").value,
		'type': type_num
	}, function(result, errors)
	{
		if (count(result["error"]) > 0)
		{
			document.getElementById("subinfo").style.display = 'block';
			document.getElementById("subinfo").innerHTML = '<ul id="suberror_list"></ul>';
			for (n=0; n<count(result["error"]); n++)
			{
				document.getElementById("suberror_list").innerHTML += '<li>'+result["error"][n]+'</li>';
			};
		}
		else {
			document.getElementById("subinfo").style.display = 'block';
			document.getElementById("subinfo").innerHTML = result["content"];
		};
		document.getElementById("subbutton").disabled = 0;
		document.getElementById("subbutton").value = 'Подписаться';
	}, true);
}

$(document).ready(function() {
// Date Clock
	updateClock();
	setInterval('updateClock()', 1000)
}); /* END document.ready */
/* Часы
*************************/
var even = true;
var today = '';
var month_arr = Array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
var day_arr = Array('воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота');
function updateClock () {
	var currentTime = new Date ( );

	var currentHours = currentTime.getHours ( );
	var currentMinutes = currentTime.getMinutes ( );
//	var currentSeconds = currentTime.getSeconds ( );

	// Pad the minutes and seconds with leading zeros, if required
	currentHours = ( currentHours < 10 ? "0" : "" ) + currentHours;
	currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
//	currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;

	// Compose the string for display
	if (even) {
		var currentTimeString = currentHours + ":" + currentMinutes;
		even = false;
	} else {
		var currentTimeString = currentHours + '<span style="color:#ffffff">:</span>' + currentMinutes;
		even = true;
	};

	// Update the time display
	$(".b_clock").html(currentTimeString);

// Date Check
	var currentDay = currentTime.getDate();
	if (today != currentDay) {
		today = currentDay;
		var currentDayOfWeek = currentTime.getDay();
		var currentMonth = currentTime.getMonth();
		var currentDateString = '<font>'+currentDay+'</font> '+month_arr[currentMonth]+' <span>'+day_arr[currentDayOfWeek]+'</span>';
		$(".b_date").html(currentDateString);
	};
}