function getElementsByClassName(clsName, el){
	if (!el) el = document;
	var retVal = new Array();
	var elements = el.getElementsByTagName("*");
	for(var i = 0;i < elements.length;i++){
		if(elements[i].className.indexOf(" ") >= 0){
			var classes = elements[i].className.split(" ");
			for(var j = 0;j < classes.length;j++){
				if(classes[j] == clsName)
				retVal.push(elements[i]);
			}
		}
		else if(elements[i].className == clsName)
			retVal.push(elements[i]);
	}
	return retVal;
}


function addCommentForm(itmID, dbID, docID_ascii, commentText, tagsText){
	var oDiv = document.getElementById("cmmnts_"+itmID+"_b");
	if(oDiv.childNodes.length == 0){
		html = getCommentFormHtml(itmID, dbID, docID_ascii, commentText, tagsText);
		oDiv.innerHTML = html;
	}
}

function jump_words() {
  document.search.words.focus();
}

function _offsetLeft(o) {
    var X = o.offsetLeft;
    var oP = o.offsetParent;
    if (oP)
      X += _offsetLeft(oP);
    return X;
}

function _offsetTop(o) {
    var Y = o.offsetTop;
    var oP = o.offsetParent;
    if (oP)
      Y += _offsetTop(oP);
    return Y;
}

function _innerText (o) {
    if (o.innerText) {
        return o.innerText;
    }
    if (o.textContent) {
        return o.textContent;
    }
    return '';
}

function setInnerText (o,t) {
	if (typeof(o.innerText) != 'undefined') {
		o.innerText = t;
	}
	if (typeof(o.textContent) != 'undefined') {
		o.textContent = t;
	}
}

function setCookie (name, value, expires, path, domain) {
    var S = name + "=" + escape(value) +
                      ((expires) ? "; expires=" + expires : "") +
                      ((path) ? "; path=" + path : "") +
                      ((domain) ? "; domain=" + domain : "");
    document.cookie = S;

}

function getCookie (name) {
    var cookie = " " + document.cookie;
    var search = " " + name + "=";

    var offset = cookie.indexOf (search);
    var end = 0;
    if (offset != -1) {
        offset += search.length;
        end = cookie.indexOf(";", offset)
        if (end == -1) {
            end = cookie.length;
        }
        return unescape (cookie.substring(offset, end));
    }
    return false; // return ''
}

// Add to cookie hidden element
function setCookieHidden(name)
{
	var hidden = getCookie('hidden');
	
	if (hidden)
	{
		if (hidden.indexOf(name) == -1)
		{
			setCookie('hidden', hidden + "|" + name, 'Mon, 01-Jan-2020 00:00:00 GMT', '/');
		}
	}
	else
	{
		setCookie('hidden', "|" + name, 'Mon, 01-Jan-2020 00:00:00 GMT', '/');
	}
}

// Remove from Cookie hidden element
function setCookieVisible(name)
{
	var hidden = getCookie('hidden');
	
	if (hidden)
	{
		setCookie('hidden', hidden.replace("|"+name, ''), 'Mon, 01-Jan-2020 00:00:00 GMT', '/');
	}
}

function toggleBlock (idPfx,color) {
    var oBlock = document.getElementById (idPfx + '_D');
    var oImg   = document.getElementById (idPfx + '_I');
    if (oBlock) {
        if (oBlock.style.display == 'none') {
			oImg.className = "open";
            oBlock.style.display = 'block';
            //setCookie (idPfx + '_vsbl', 'yes', 'Mon, 01-Jan-2020 00:00:00 GMT', '/');
			setCookieVisible(idPfx); //
        } else {
			oImg.className = "close";
            oBlock.style.display = 'none';
            //setCookie (idPfx + '_vsbl', 'hidden', 'Mon, 01-Jan-2020 00:00:00 GMT', '/');
			setCookieHidden(idPfx); //
        }
    }
}

// 
function showhideCookizedBlock (idPfx, color) {
    var sCook = getCookie ('hidden');
    if (sCook && sCook.indexOf(idPfx) != -1) {
        toggleBlock (idPfx,color);
    }
}

function toggleBlocksPair (idBlock1,idBlock2,idImg,color) {
    var oBlock1 = document.getElementById (idBlock1);
    var oBlock2 = document.getElementById (idBlock2);
    var oImg    = document.getElementById (idImg);
    if (oBlock1 && oBlock2) {
        if (oBlock1.style.display == 'none') {
            oImg.src="/i/arr-opnd-" + color + ".gif";
            oBlock1.style.display = 'block'
            oBlock2.style.display = 'none'
        } else {
            oImg.src="/i/arr-clsd-" + color + ".gif";
            oBlock1.style.display = 'none';
            oBlock2.style.display = 'block';
        }
    }
}

function changeSvDocLink (docid_full,dbname) {
	var docid=docid_full.substring(9,21);
	var oHrf = document.getElementById ("hrf_" + docid);
	if (!oHrf)  {
		//alert ("saveDocument buggy");
		return false;
	}
	setInnerText (oHrf, dbname.toLowerCase() == 'vac' ? 'посмотреть вакансию' : 'посмотреть резюме');
	oHrf.onclick=null;
	oHrf.href='/view_saved_' +dbname.toLowerCase() + '.shtml?db=' + dbname.toUpperCase() + '&amp;docid=' + docid_full;
	oHrf.className = "_saved";
	return true;
}

function appendFavorite(docid_full, dbname)
{
	var docid = docid_full.substring(9,21);
	
	var favoriteBlock = document.getElementById("savedObjs_" + dbname + "_D");
	if (!favoriteBlock)
	{
		var blocks = document.getElementById("leftsider");
		var block = document.createElement("div");
		block.className = "lDrop";
		block.setAttribute("id", "savedObjs");
		block.setAttribute("width", "100%");
		
		if (dbname == "vac")
			var dbnameTEXT = "Избранные Вакансии";
		else
			var dbnameTEXT = "Избранные Резюме";
		
		block.innerHTML = '' +
		'	<div class="lDropTitle"><a onclick=\'toggleBlock ("savedObjs_' + dbname + '", "black"); return true;\' href="#" id="savedObjs_' + dbname + '_I" class="open">' + dbnameTEXT + '</a></div>' +
		'	<div id="savedObjs_' + dbname + '_D" style="display: block;"><ul></ul>' +
		'		<form action="/a_cleanBlock.shtml" method="get" id="savedObjs_' + dbname + '_F" target="ASYNC"><input name="mode" value="' + dbname + '" type="hidden"><input name="id" value="comments" type="hidden"><div class="extralink"><a href="#" onclick=\'cleanBlock("savedObjs_' + dbname + '"); return false;\'>очистить</a></form>' +
		'	</div>';
		
		blocks.appendChild(block);
		
		favoriteBlock = document.getElementById("savedObjs_" + dbname + "_D");
	}
	
	var favorite = document.getElementById("favorite_" + docid);
	if (!favorite)
	{
		var source = document.getElementById("r" + docid);
		
		var name = source.getElementsByTagName("a");
		
		name = name[0];
		name = name.firstChild.nodeValue;
		
		var info = getElementsByClassName("objDebug", source);
		info = info[0];
		
		iChilds = info.childNodes;
		
		for (i=0; i<iChilds.length; i++)
		{
			if (iChilds[i].nodeType == 1)
			{
				switch (iChilds[i].className)
				{
					case 'objEmploer':
						var employer = iChilds[i].firstChild.firstChild.nodeValue;
						break;
					case 'objGeo':
						var geo = iChilds[i].lastChild.firstChild.nodeValue;
						break;
					case 'objSalary':
						var salary = iChilds[i].firstChild.firstChild.nodeValue;
						break;
				}
			}
			
		}
		
		var infoString = "";
		if (employer)
		{
			employer = employer.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
			infoString += employer;
		}
		if (geo)
		{
			geo = geo.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
			if (infoString == '')
				infoString += geo;
			else
				infoString += ", " + geo;
		}
		if (salary)
		{
			salary = salary.replace(/^\s\s*/, '').replace(/\s\s*$/, '')
			if (infoString == '')
				infoString += salary;
			else
				infoString += ", " + salary;
		}
		
		var commentT = document.getElementById("cmmnts_" + docid + "_T");
		if (commentT.firstChild)
			commentT = commentT.firstChild.nodeValue;
		else
			commentT = '';
		
		var commentC = document.getElementById("cmmnts_" + docid + "_C");
		if (commentC.firstChild)
			commentC = commentC.firstChild.nodeValue;
		else
			commentC = '';
		
		var li = document.createElement("li");
		li.style.display = "none";
		li.setAttribute("id", "favorite_" + docid);
		li.innerHTML = '' +
		'	<a href="/view_saved_' + dbname + '.shtml?db=' + dbname.toUpperCase() + '&amp;docid=' + docid_full + '" target="_blank">' + name + '</a>' +
		'	<br>' + infoString + '<br>' +
		'	<span class="objCOmmentValC">' + commentC + '</span><br><span class="objCOmmentValT">' + commentT + '</span>';
		
		var ul = favoriteBlock.getElementsByTagName("ul");
		
		if (ul[0].firstChild)
			ul[0].insertBefore(li, ul[0].firstChild);
		else
			ul[0].appendChild(li);
		
		li.style.display = "block";
	}
	else
	{
		var commentT = document.getElementById("cmmnts_" + docid + "_T");
		if (commentT.firstChild)
			commentT = commentT.firstChild.nodeValue;
		else
			commentT = '';
		
		var commentC = document.getElementById("cmmnts_" + docid + "_C");
		if (commentC.firstChild)
			commentC = commentC.firstChild.nodeValue;
		else
			commentC = '';
		
		var temp = getElementsByClassName("objCOmmentValC", favorite);
		setInnerText(temp[0], commentC);
		
		var temp = getElementsByClassName("objCOmmentValT", favorite);
		setInnerText(temp[0], commentT);
	}
	
	changeSvDocLink (docid_full, dbname);
}

function saveDocument (docid_full, dbname) {
	var docid = docid_full.substring(9,21);
	addCommentForm(docid , dbname, docid_full, "", "");
	appendFavorite(docid_full, dbname);
	
	var oForm = document.getElementById ("cmmnt_" + docid + "_f");
	if (! oForm)  {
		//alert ("saveDocument buggy");
		return false;
	}
	oForm.submit ();
	// alert ("saveDocument OK");
	return false;
}

function _unjection (str) {
	var s = str;
	s = s.replace(/</g, "&lt;").replace(/>/g, "&gt;");
	s = s.replace(/"/g, "&quot;");
	s.replace(/[\"\'][\s]*javascript:(.*)[\"\']/g, "\"\"");
	return s;
}

function toggleComment(docid, dbname, docid_full) {
	
	var oDiv  = document.getElementById ("cmmnts_" + docid + "_b");
	var oSpan = document.getElementById ("cmmnts_" + docid + "_z");
	var oImg  = document.getElementById ("cmmnts_" + docid + "_i");
	var oCmm  = document.getElementById ("cmmnts_" + docid + "_C");
	var oTag  = document.getElementById ("cmmnts_" + docid + "_T");
	var oCmmE = document.getElementById ("cmmnts_" + docid + "_CC");
	var oTagE = document.getElementById ("cmmnts_" + docid + "_TT");
	
	if (!oDiv || !oSpan || !oImg || !oCmm || !oTag || !oCmmE || !oTagE) {
		//alert ("something wrong in toggleComment!");
	} else {
		if (oDiv.style.display == 'none') {
			oTagE.value = _innerText(oTag);
			oCmmE.value = _innerText(oCmm);
			oImg.src="/i/arr-opnd-blue.gif";
			oDiv.style.display = 'block'
			oSpan.style.display = 'none'
			oCmmE.focus ();
			oCmmE.select ();
		} else {
			oTag.innerHTML = _unjection(oTagE.value);
			oCmm.innerHTML = _unjection(oCmmE.value);
			oImg.src="/i/arr-clsd-blue.gif";
			oDiv.style.display = 'none';
			if (oTagE.value.length || oCmmE.value.length) {
				oSpan.style.display = 'block'; 
			} else {
				oSpan.style.display = 'none'; 
			}
		}
		
		if (docid_full && dbname) appendFavorite(docid_full, dbname);
	}
}

function hideblock (what) {
	what.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none";
}

function cleanBlock (idBlock) {
	var oBlock = document.getElementById (idBlock + '_D');
	var oForm = document.getElementById (idBlock + '_F');
	
	if (oForm) {
		oForm.submit ();
		if (oBlock) {
			oBlock.parentNode.parentNode.removeChild(oBlock.parentNode);
			
			if (idBlock == 'savedObjs_vac') {
				elms = getElementsByClassName("_saved");
				docs = Array();
				for (i=0; i<elms.length; i++) {
					var el = document.getElementById(elms[i].getAttribute('id'));
					setInnerText (el, 'добавить в избранное');
					el.className = "";
					eval ("el.onclick = function(){ return saveDocument('" + el.getAttribute('docid') + "', '"+ el.getAttribute('db') +"');}");
					el.setAttribute('href', '#');
				}
			}
		}
	}
}

function overlook(object)
{
	var div = object.parentNode;
	var span = div.getElementsByTagName('span');
	
	if (span.length == 1)
	{
		span = span[0];
		setInnerText(span, "(Просмотрено только что)");
	}
	else
	{
		span =  document.createElement("span");
		span.className = "lastClck";
		//var text = document.createTextNode("\u00a0\u00a0(Просмотрено только что)");
		//span.appendChild(text);
		setInnerText(span, "\u00a0\u00a0(Просмотрено только что)");
		//span.innetText = '\u00a0\u00a0(Просмотрено только что)';
		div.appendChild(span);
	}
}

function notifyDocClick(dbID, docKeyAscii, object, url, query_id) {
	//follow function for adding information about overlookd link (soory for my english)
	overlook(object);
    var oFormClickNotify  = document.getElementById ('clckntfy_f');
    var oFormDocID  = document.getElementById ('clckntfy_id');
    var oFormDbID  = document.getElementById ('clckntfy_db');
    var oFormTargetUrl = document.getElementById ('clckntfy_url');       
    var oFormQueryID = document.getElementById ('clckntfy_query_id');

    if (!oFormClickNotify || !oFormDocID) {
        //alert ("something wrong in notifyDocClick!");
        return false;
    } else {
        oFormDocID.value=docKeyAscii;
        oFormDbID.value=dbID;
        oFormTargetUrl.value=url;         
        oFormQueryID.value=query_id;
        oFormClickNotify.submit ();
    }
    return true;
}

function notifyDocClickOnPartner(url, dbID, docKeyAscii, query_id) {
    var tmp;
    notifyDocClick(dbID,docKeyAscii, this, url, query_id);
    window.open('http://www.ulov-umov.ru/go.shtml?redirect=1&url=' + escape(url));
    return false;
}

function submitDocClick() {
    var oFormClickNotify  = document.getElementById ('clckntfy_f');
    if (!oFormClickNotify) {
        //alert ("something wrong in notifyDocClick!");
        return false;
    } else {
        oFormClickNotify.submit ();
    }
}

var popupsDisabled = '';

/* pop-up -------------------------------------------------------------------------------*/
function showpopup(what,db,key,url,msgID) {
	var target = document.getElementById("popup");
        var targetUrl = document.getElementById("popupUrl");
        var oMsgs  = document.getElementById ('popupMsgs');
        var oDisabler    = document.getElementById ('disablePopup_ID');
        var oFormDocID   = document.getElementById ('clckntfy_id');
        var oFormDbID    = document.getElementById ('clckntfy_db');

        if (popupsDisabled.indexOf (msgID) >= 0) {
            notifyDocClick(db,key);
            return true;
        }

        var coo = _offsetTop(what);
        if (coo > 400)
          coo -= 150;

        document.getElementById("popupBox").style.marginTop = coo + "px";
        document.getElementById("popupBox").style.marginBottom = "1000px";

        if (!oFormDocID) {
            alert ("something wrong in showpopup!");
        } else {
            oFormDocID.value=key;
            oFormDbID.value=db;
        }

        var cllMsgs = oMsgs.childNodes;
        var n;
        for (n = 0; n < cllMsgs.length; n++) {
            var oMsg = cllMsgs.item(n);
            if (!oMsg.id)
                continue;
            oMsg.style.display = (oMsg.id == msgID) ? "block" : "none";
        }

        targetUrl.href=url;
        oDisabler.value = msgID;
	document.getElementById("popup").style.display = "block";
	document.getElementById("popup").style.height = document.body.offsetHeight + 'px';
        return false;
}

function hidepopup(what) {
        var oFormPopup = document.getElementById ('disablePopup');
        var oFormPopupID  = document.getElementById ('disablePopup_ID');
        var oFormPopupVal = document.getElementById ('disablePopup_HOW');

        if (oFormPopupVal.checked) {
            popupsDisabled = popupsDisabled + ":" + oFormPopupID.value;
            oFormPopup.submit ();
        }
	document.getElementById("popup").style.display = "none";
}

function showAllFilters(id, self){
	var oContainer = document.getElementById(id);
	var filtersNodes = oContainer.childNodes[0].childNodes;
	for (var i = 0; i < filtersNodes.length; i++){
		var oFilterNode = filtersNodes.item(i);
		if(oFilterNode.style)
			oFilterNode.style.display = "block";
	}
	self.parentNode.style.display = "none";
	return false;
}

function showclicks(obj,block_id) {
    var object=obj;
    var clicksBlock = document.getElementById (block_id);
    if ( clicksBlock.style.display == 'none') {
        clicksBlock.style.display='';
        object.src='/i/arr_up_gr.gif';
    } else {
        clicksBlock.style.display='none';
        object.src='/i/arr_down_gr.gif';
    }
}

function showSavedObjects() {
	var link = document.getElementById('show_saved_objects_link');
	var block = document.getElementById('show_saved_objects_block');
    if (link) {
        link.style.display = 'none';
    }
    if (block) {
        block.style.display = 'block';
    }
}

/* bmenu -------------------------------------------------------------------------------*/
function $(elementId)
{
    return (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
};


this.btab = function(elem)
{
    var blinks = $('bmenu').getElementsByTagName('LI');
    var bpages = $('bcontent').getElementsByTagName('UL');
    for (var i = 0; i < blinks.length; i++)
    {
        if (blinks[i] == elem.parentNode)
        {
            blinks[i].className = 'active';
            bpages[i].style.display = 'block';
        }
        else
        {
            blinks[i].className = '';
            bpages[i].style.display = 'none';
        }
    }
};