function hide_unanswered(_flag) {
	var answers = document.getElementsByName('not_answered');
	for(var i=0;i<answers.length;i++) {
		if(_flag) answers[i].style.display = 'none';
		else answers[i].style.display = '';
	}
}

function selectImage(imgId) {
	imgId.className == '' ? imgId.className = 'active' : imgId.className = ''; 
}

function setMaxLength(tArea){
	if (tArea.getAttribute('maxlength')) {
		tArea.onkeyup = tArea.onchange = checkMaxLength
	}
}

function checkMaxLength(){
	var maxLength = this.getAttribute('maxlength')
	var currentLength = this.value.length
	var counter = 'counter' + this.id
	if (maxLength - this.value.length >= 0) {
		document.getElementById(counter).innerHTML = maxLength - this.value.length
	}
	if (currentLength > maxLength) {
		this.value = this.value.substring(0, maxLength)
	}
}

function commentPrev(id) {

	var sFormName = 'new_comment_form_'+id;
	var tArea = document.getElementById(sFormName).getElementsByTagName('textarea')[0];
	preview = 'preview' + id
	document.getElementById(preview).innerHTML = nl2br(tArea.value, true);
}

function toggleDisplay(id){
	document.getElementById(id).style.display = document.getElementById(id).style.display == 'block'?'none':'block'
	return false;
}

function hide_form(elm) {
	var about = document.getElementById("p_about")
	var form = about.getElementsByTagName("form")[0]
	var year = new Date().getFullYear()
	year += 1
	
	if(form.style.display != "none"){
		form.style.display = "none"
		elm.className = "form_edit"
		var newNode = document.createElement("p")
		var newNodeStrong = document.createElement("strong")
		var newTextNode = document.createTextNode("Личные данные")
		newNodeStrong.appendChild(newTextNode)
		newNode.className = "title"
		newNode.appendChild(newNodeStrong)
		about.insertBefore(newNode, about.firstChild)
		document.cookie = "showForm=false; expires=Tue, 25-Dec-" + year +" 12:34:56 GMT;"
		var cookie = getCookie('showForm')
	}
	else {
		elm.className = "form_collapse"
		about.removeChild(about.firstChild)
		form.style.display = "block"
		document.cookie = "showForm=true; expires=Tue, 25-Dec-" + year +" 12:34:56 GMT;"
		var cookie = getCookie('showForm')
	}
}

function getCookie(name) {
  var pos = document.cookie.indexOf(name + "=");
  if (pos == -1) {
    return null;
  } else {
    var pos2 = document.cookie.indexOf(";", pos);
    if (pos2 == -1) {
      return unescape(
        document.cookie.substring(
          pos + name.length + 1));
    } else {
      return unescape(
        document.cookie.substring(
          pos + name.length + 1, pos2));
    }
  }
}

function checkCookie() {
	if(document.getElementById('hide_form')) {
		var elm = document.getElementById('hide_form')
		if(getCookie('showForm') == 'false') {
		hide_form(elm);
		}
	}
}

function showAjaxLoader(){
			var oBody = document.getElementsByTagName("html")[0];
			var oForm = document.getElementById('ajax_loader');
			oForm.style.display = "block";
			var sizeWidth  = oForm.offsetWidth;
			var sizeHeight = oForm.offsetHeight;
			//alert(sizeHeight);
			oForm.style.top  = toInt(toInt(oBody.clientHeight)/2) + toInt(oBody.scrollTop) - toInt(sizeHeight/2) + 'px';
			oForm.style.left = toInt(toInt(oBody.clientWidth)/2) + toInt(oBody.scrollLeft) - toInt(sizeWidth/2) + 'px';
	//document.getElementById('ajax_loader').style.display="block";
}

function hideAjaxLoader(){
	document.getElementById('ajax_loader').style.display="none";
}
/*
function sameHeight() {
	var heightExpert = document.getElementById('answers_list').offsetHeight;
	var heightTopUsers = document.getElementById('top_users_ajax_div').offsetHeight;
	var heightTagCloud = document.getElementById('tags_cloud');
	var heightUser   = document.getElementById('users_question');
	
	heightUser.style.height = heightExpert - 5 + "px";
	heightTagCloud.style.height = heightTopUsers - 10 + "px";
	//(heightExpert - (heightTopUsers-heightTagCloud) -5) + "px";
}
*/

function nl2br (str, is_xhtml) {
    breakTag = '<br />';
    if (typeof is_xhtml != 'undefined' && !is_xhtml) {
        breakTag = '<br>';
    }
 
    return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag +'\n');
}

function ajax_adv(id, div){
	jQuery.post("/~php/adv_show.php","show_adv_tag=1&tag_pid=" +id, function(data){jQuery("#" + div).html(data); show_window(); hideAjaxLoader();})
}

function init_vc() {
	jQuery("a.vc").hover(
		//наводим на ссылку
		function(e){
			id = jQuery(this).attr("id")
			offset = jQuery(this).offset();
			offsetX = offset.left;
			offsetY = offset.top;
			showAjaxLoader();
			ajax_adv(id, 'ajax_div')
			close1 = 0;
		},
		function(){}
	);
	//window
	jQuery(".videocontext").hover(
		//наводим на окно
		function(){},
		//уходим с окна
		function(){
			close1 = 1;
			window.setTimeout("window_out()", 500);
		}
	);
	
	
};

function show_window(){
	
	if(window.pageYOffset) { var pageOffsetY = window.pageYOffset; }
	else if (document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop )) { var pageOffsetY = document.documentElement.scrollTop; }
	if(!pageOffsetY) pageOffsetY = 0;
	if(((document.getElementsByTagName('html')[0].clientHeight + pageOffsetY) - offsetY)<332) { offsetY = offsetY -332; };
	
	jQuery(".videocontext").css({top: offsetY-2, left: offsetX - 19});
	jQuery(".videocontext").css("display", "block")
}

function hide_window(){
	jQuery(".videocontext").css("display","none")
}

function window_out(){
if(close1 == 0) return false;
hide_window();
}

function showAjaxLoader1(){
	jQuery("#ajax_loader").css("display", "block")
	jQuery("#ajax_loader").css({top: offsetY, left: offsetX});
}

function hideAjaxLoader2(){
	document.getElementById('ajax_loader').style.display="none";
}

function selectAllExp(obj) {
	if (obj.checked == true) { checked = true } else { checked = false }
	var rubric = document.getElementById('rubrics');
	var elm = rubric.getElementsByTagName('td')[0].getElementsByTagName('input');
	for (i = 0; i < elm.length; i++) {
		elm[i].checked = checked;
	}
}
function selectAllUsr(obj) {
	if (obj.checked == true) { checked = true } else { checked = false }
	var rubric = document.getElementById('rubrics')
	var tds = rubric.getElementsByTagName('td');
	for (i = 1; i < tds.length; i++) {
		var elm = tds[i].getElementsByTagName('input');
		for (j = 0; j < elm.length; j++) {
			elm[j].checked = checked;
		}
	}
}

jQuery(function(){
	jQuery(".pdf_table input[type=radio]").click(function(){
		this.form.sort.value=this.value;
		jQuery(".pdf_table .hol").each(function(){
			this.toggleClass("hidden");
		});
	});
	jQuery(".h_holder a").click(function(){
		jQuery(".h_holder a").each(function(){
			jQuery(this).parent().removeClass("active");
		});
		jQuery(this).parent().addClass("active");
	});
});

function urlencode( str ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir
    // %          note: info on what encoding functions to use from: http://xkr.us/articles/javascript/encode-compare/
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
                             
    var histogram = {}, tmp_arr = [];
    var ret = str.toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    
    // The histogram is identical to the one in urldecode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    
    // Begin with encodeURIComponent, which most resembles PHP's encoding functions
    ret = encodeURIComponent(ret);
    
    for (search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret) // Custom replace. No regexing
    }
    
    // Uppercase for full PHP compatibility
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });
    
    return ret;
}
