var is_ie=false;
var is_ff=false;
var is_opera=false;

if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
	is_ie=true;
}
if (/MSIE (7).+Win/.test(navigator.userAgent)){
	is_ie7=true;
}
if (/Firefox/.test(navigator.userAgent)){
	is_ff=true;
}
if (/Opera/.test(navigator.userAgent)){
	is_opera=true;
}
var show_f=true;


jsHoverGroupMenuHide = function() {
	if (GroupMenuItems){
		for (var i=0, len=GroupMenuItems.length; i<len; i++) {
			itm=GroupMenuItems[i];
			if (itm){
				itm.className=itm.className.replace(" selected", ""); 
				if (itm.ge_sub){
					itm.ge_sub.className=itm.ge_sub.className.replace(" selected", ""); 
				}
				if (itm.ge_a){
					itm.ge_a.className=itm.ge_a.className.replace("brd2", ""); 
				}
			}
		}
	}
}
var group_menu_content_update;
jsHoverGroupMenu = function() {
	var GroupMenu=document.getElementById("group_menu");
	if (!GroupMenu) { return; }
	GroupMenuItems = GroupMenu.getElementsByTagName("TD");
	if (!GroupMenuItems) { return; }
	var hEls=GroupMenuItems;
	var ge_rg=/group_element/i; //проверяем что попавшаяся ячейка - нужного класса
	for (var i=0, len=hEls.length; i<len; i++) {
		if (ge_rg.test(hEls[i].className)){
			hEls[i].ge_id=hEls[i].id.replace("ge_", "");
			hEls[i].ge_sub=SelectById("sub_gm_"+hEls[i].ge_id);
			hEls[i].ge_a=hEls[i].getElementsByTagName("A")[0];
			hEls[i].ondblclick=function() {	
				var this_a=this.getElementsByTagName("A");
				if (this_a){
					window.location=this_a[0].href;
				}
			}
			hEls[i].onclick=function() {	
				this.blur();
				if (this.className.indexOf("selected")!=-1){					
					return true;
				}else{
					jsHoverGroupMenuHide(this.ge_id);
					this.className+=" selected"; 
					this.ge_a.className+=" brd2";
					if (this.ge_sub) this.ge_sub.className+=" selected";
					search_span=SelectById("search_form_span");
					
					if (search_span){
						search_span.style.display="";
						search_box=SelectById("search_form_box");
						if (search_box){
							search_box.name="frm_search_all["+this.ge_id+"]";
						}
					}
					sb=SelectById("item_list");
					if (sb) {
						sb.innerHTML="<div class=\"links\"><span><img alt='' src='img/icons/ico_loading.gif' />Идет загрузка</span></div>";
					}
					if (group_menu_content_update){
						gm_content_update(this);
					}				
					return false;
				}
			}
		}
	}
}

if (window.attachEvent){
	window.attachEvent("onload", jsHoverGroupMenu);
}else{
	window.addEventListener("load", jsHoverGroupMenu,false);
}


var object_select_type="";
if (document.all){
	object_select_type = "all";
} else if (document.getElementById) {
	object_select_type = "byelementid";
} else if (document.layers){
	object_select_type = "layers";
}

function SelectById(id){
	if (object_select_type=="byelementid"){
		return document.getElementById(id);
	}
	if (object_select_type=="all"){
		return document.all[id];
	}
	if (object_select_type=="layers"){
		return document.layers[id];
	}
	return null;
}

function fixpng_bg(element){
	if (!is_ie) return;
	src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
	if (src){
		src = src[1];
		element.runtimeStyle.backgroundImage="none";
		element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='crop')";
	}
}

function fixpng_bg_tile(element){
	if (!is_ie) return;
	src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
	if (src){
		src = src[1];
		element.runtimeStyle.backgroundImage="none";
		element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}


function fixpng_img(element){
	if (!is_ie) return;

	if (/\.png$/.test(element.src)){
		src = element.src;
		element.src = "./img/1.gif";
		element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='image')";
		element.zIndex = "10";
	}
}



function show(ob){
	var okno = "scrollbars=1,fullscreen=0,status=0,toolbar=0,top=0,left=0,width=600,height=460,resizable=1";
	var Win=window.open("", null, okno);
	Win.document.open();
	var i;
	var s = "";
	for (i in ob) s += "<B>"+i+"</B>"+" = "+ob[i]+"<BR>";
	Win.document.write(s);
	Win.document.close();
}

function SE(domain,addr){
	em=addr+"@"+domain;
	document.write("<a href=\"mailto:"+em+"\">"+em+"</a>");
}

function get_obj_leftpos(obj){
	var left = obj.offsetLeft;
	while( (obj = obj.offsetParent) != null ){
		left += obj.offsetLeft;
	}
	return left;
}

function get_obj_toppos(obj){
	var top = obj.offsetTop;
	while( (obj = obj.offsetParent) != null ){
		top += obj.offsetTop;
	}
	return top;
}


function show_image (url, resX, resY, title, uid) {
	maxX=screen.availWidth;
	maxY=screen.availHeight-40;
	scrollbars=0;
	if (resX>maxX) {reX=maxX;leftC=0;scrollbars=1;}else {reX=parseInt(resX)+5;leftC=(maxX-resX)/2;}
	if (resY>maxY) {reY=maxY;reX+=20;topC=0;scrollbars=1;}else {reY=resY;topC=(maxY-resY)/2;}
	w=window.open('', 'ph_'+uid, 'width=' + reX + ',height=' + reY+',status=0,toolbar=0,resizable=1, top='+topC+', left='+leftC+',scrollbars='+scrollbars);
	if (title!=""){title1=title;}else{	title1="";}
	lead_url=url.substr(0,1);
	if (lead_url=="."){
		url=""+url.substr(1);
	}

/*	lead_url=url.substr(0,2);
	if (lead_url=="./"){
		url=""+url.substr(2);
	}
*/
	w.document.open();
	w.document.write('<html><head><title>' + title1 + '</title></head>');
	w.document.write('<body style="margin:0px;padding:1px;" bgcolor="#ffffff" onKeyPress="if (event.keyCode==27) window.close();">');
	w.document.write('<center><a onclick="javascript:window.close();">');
	w.document.write('<img border="0" align="center" src="'+url+'" title="'+title+' \nЛевая кнопка мыши &mdash; Закрыть" width="'+resX+'" height="'+resY+'"></a>');
	if (title!=""){
		w.document.write('<br />'+title+'');
	}
	w.document.write('</center></body></html>');
	w.document.close();
	if (w!=null){w.focus();};
}

function confirmCheckbox(theCheckbox,theQuery){
	if (theCheckbox.checked){
	    var is_confirmed = confirm(theQuery);
    	if (is_confirmed) {
			return true;
		}else{
			theCheckbox.checked=false;
			return false;
		}
	}
	return false;
}
function confirmLink(theLink, theQuery, subLink){
//    if (typeof(window.opera) != 'undefined') {
//        return true;
//    }

    var is_confirmed = confirm('Вы действительно желаете:\n' + theQuery);
    if (is_confirmed) {
		if (theLink.href.indexOf('?')>=0){
	        theLink.href += '&is_js_confirmed=1';
		}else{
	        theLink.href += '?is_js_confirmed=1';
		}

		if (subLink){
	        theLink.href += subLink;

		}
	    return is_confirmed;
    }else{
		return false;
	}
} 
function switch_display(obj_id,force){
	var sub_bl=SelectById(obj_id);
	if (sub_bl){
		if (sub_bl.style) {
			if (force==null){
				if (sub_bl.style.display=="block"){ 
					sub_bl.style.display = "none"; 
					return 0;
				}else{
					sub_bl.style.display = "block"; 
					return 1;
				}
			}else{
				if (force==2){ 
					sub_bl.style.display = "none"; 
					return 0;
				}else if (force==1){
					sub_bl.style.display = "block"; 
					return 1;
				}
			}
		}else{
			return -2;

		}
	}else{
		return -1;
	}

}

function getrandom() {

var min_random = 0;
var max_random = 1000;

max_random++;

var range = max_random - min_random;
var n=Math.floor(Math.random()*range) + min_random;

return n;
}

function delete_object_by_id(id) {
	var sel = document.getElementById(id);
	if (sel) {
		sel.parentNode.removeChild(sel);
	}
}
function disable_checkbox(obj) {
	var arr = document.getElementsByName(obj.name);
	for (i=0;i<arr.length;i++) {
		arr[i].checked = obj.checked;
	}
}
function isNotMax(e){
	e = e || window.event;
	var target = e.target || e.srcElement;
	var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
// 	alert(code);
	switch (code){
	case 13:
	case 8:
	case 9:
	case 46:
	case 36:
	case 35:
	case 34:
	case 33:
	case 37:
	case 38:
	case 39:
	case 40:
	return true;
	}
	return target.value.length <= target.getAttribute('maxlength');
}
// 
function trim(str, chars) {
	chars = chars || "\\s";
	str=str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
function drop_post_message(id,in_out) {
	if (confirm("Вы действительно хотите удалить сообщение?")) {
		xajax_drop_user_pm_xajax(id,in_out)
	}
	return false;
}

/*ОПРЕДЕЛЕНИЕ КЛИЕНСКОГО БРАУЗЕРА */
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = ((userAgent.indexOf('opera') != -1) || (typeof(window.opera) != 'undefined'));
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf('msie 4.') != -1));
var is_ie7    = ((is_ie) && (userAgent.indexOf('msie 7.') != -1));
var is_ps3    = (userAgent.indexOf('playstation 3') != -1);
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));
var is_mac    = (userAgent.indexOf('mac') != -1);

var register_sub_menu = new Array();
var register_menu = new Array();

hide_sub_item = function() {
	var i=0;
	for (i=0;i<register_menu.length;i++) {
		register_sub_menu[i].style.display = "none";
		register_sub_menu[i].style.top = "";
		if (register_menu[i]!=null) {
 			register_menu[i].className=register_menu[i].className.replace(" selected","");
 		}
	}
	register_menu.length = 0;
 	register_sub_menu.length = 0;
}
//Привязка события к объекту
function addHandler(object, event, handler) {
	if (typeof object.addEventListener != 'undefined') {
		object.addEventListener(event, handler, false);
	} else if (typeof object.attachEvent != 'undefined') {
    	object.attachEvent('on' + event, handler);
    } else {
		obj["on" + event ] = handler;
    }
}
function removeHandler(object, event, handler)
{
  if (typeof object.removeEventListener != 'undefined')
    object.removeEventListener(event, handler, false);
  else if (typeof object.detachEvent != 'undefined')
    object.detachEvent('on' + event, handler);
  else
    throw "Incompatible browser";
}

Attach_event(function() {
	hide_sub_item();
});
function sub_item_select(item_id,link_id,event) {
//   	alert(document.body.scrollTop);
//  	alert(window.pageYOffset);
 	var oldscrol = document.documentElement.scrollTop;
	if (item_id.id){
		var sub_bl=item_id;
	}else{
		var sub_bl=SelectById(item_id);
	}
	if (link_id.id){
		var link=link_id;
	}else{
		var link=SelectById(link_id);
	}
	if (sub_bl!=null) {
		if (sub_bl.style) {
			if (sub_bl.style.display=="block") {
				sub_bl.style.display = "none";
				if (link!=null) {
					link.className=link.className.replace(" selected","");
				}
				sub_bl.style.top = "";
			} else if (sub_bl.style.top=="") {
				addHandler(sub_bl, "click", function(event) {
 					return bubble(event);
				});
				sub_bl.style.display = "block";
				hide_sub_item();
				register_sub_menu.push(sub_bl);
				register_menu.push(link);
				if (link){
 					sub_width=500;
					item_width=link.offsetWidth;
					item_height=link.offsetHeight;

					sub_bl.style.top=link.offsetTop+item_height-2+"px";
					max_right=link.offsetParent.offsetWidth;
					item_left=link.offsetLeft;
					if (item_left+sub_width>max_right){
						sub_left=item_left+item_width-sub_width;
					}else{
						sub_left=item_left;
					}
					if (sub_left<0){
						sub_left=10;
					}
					sub_bl.style.left=sub_left+"px";
					var other_links=link.parentNode.getElementsByTagName('a');
					for(n=0;n<other_links.length;n++){
						el=other_links[n];
						if ((el.id!=link.id)&&(el.className.indexOf("selected")!=-1)){
							el.onclick();
						}
					}
				}
				sub_bl.style.display = "block";
				if (link!=null) {
					link.className+=" selected";
				}
			} else {
				sub_bl.style.display = "block";
				if (link!=null) {
					link.className+=" selected";
				}
			}
		}
	}
	window.scrollTo(0,oldscrol);
	bubble(event);
}

/*
584221
function sub_item_select(item_id,link_id,event){
	if (item_id.id){
		var sub_bl=item_id;
	}else{
		var sub_bl=SelectById(item_id);
	}
	if (link_id.id){
		var link=link_id;
	}else{
		var link=SelectById(link_id);
	}
// 	addHandler(sub_bl,"click",function() {
// 		bubble(event);
// 	});
// 	Attach_event(function() {
// 		hide_sub_item();
// 	});

	var is_show=false;
	if (sub_bl){
		if (sub_bl.style) {
			if ((sub_bl.style.display=="block")){ 
// 				hide_sub_item();
 				sub_bl.style.display = "none"; 
 				is_show=false;
			}else{
// 				register_menu.push(sub_bl);
				
				if (link){
					
					sub_width=500;
					item_width=link.offsetWidth;
					item_height=link.offsetHeight;

					sub_bl.style.top=link.offsetTop+item_height-2+"px";
					max_right=link.offsetParent.offsetWidth;
					item_left=link.offsetLeft;
					if (item_left+sub_width>max_right){
						sub_left=item_left+item_width-sub_width;
					}else{
						sub_left=item_left;
					}
					if (sub_left<0){
						sub_left=10;
					}
					sub_bl.style.left=sub_left+"px";
					var other_links=link.parentNode.getElementsByTagName('a');
					for(n=0;n<other_links.length;n++){
						el=other_links[n];
						if ((el.id!=link.id)&&(el.className.indexOf("selected")!=-1)){
							el.onclick();
						}
					}
				}
				sub_bl.style.display = "block"; 
				is_show=true;
			}
		}
	}
	if (link){
		if (is_show){
			link.className+=" selected";
		}else{
			link.className=link.className.replace(" selected","");
		}		
	}
// 	bubble(event);
}
*/
/* Показ выпадающего меню для каждого пользователя и его скрытие */
function show_user_menu(obj,uid,us,eventobj) {
	var pos = absPosition(obj);
	var menu = SelectById("show_user_menu");
	if (menu == null) { //Создаем меню
		var menu = document.createElement("div");
		menu.setAttribute("id", "show_user_menu");
		menu.className="user_menu";
		document.body.appendChild(menu);
		Attach_event(function() {
			hide_user_menu();
		});
 	}
 	pos.y += obj.offsetHeight;
	if (menu.style.display=='block'){
		if ((menu.style.top==pos.y+'px')&&(menu.style.left==pos.x+'px')){
			menu.style.display="none";
		}else{
			menu.style.top = pos.y+'px';
			menu.style.left = pos.x+'px';
		}
	}else{
		menu.style.display='block';
		menu.style.top = pos.y+'px';
		menu.style.left = pos.x+'px';
	}
	menu.innerHTML = "<a href='"+obj.href+"'>Просмотреть профиль</a><a href='./knowledge/writer.html?id="+uid+"'>Показать статьи этого пользователя</a><a href='./company/creator_"+uid+".html'>Показать компании этого пользователя</a><a href='./community/users/post/create.html?recipient_user="+uid+"'>Написать ему сообщение</a>";
	if (us>=100) {
		menu.innerHTML += "<a href='./community/moderator/user.html?user_id="+uid+"'>Модерация пользователя</a>";
	}
	bubble(eventobj);
}
//
function Attach_event(func) {
	if (window.attachEvent && !is_saf) {
		document.attachEvent('onclick',func);
// 		window.attachEvent('onresize', hide_user_menu);
	} else if (document.addEventListener && !is_saf) {
		document.addEventListener('click', func, false);
// 		window.addEventListener('resize', hide_user_menu, false);
	} else {
		window.onclick = func;
// 		window.onresize = hide_user_menu;
	}
}
// 
bubble = function(eventobj) {
	if (!eventobj || is_ie) {
		window.event.cancelBubble = true;
//		return window.event;
		return false; // в этом случае не осуществляется переход по ссылке, типа <a href="..." onclick="...;return false;"
	} else {
		eventobj.stopPropagation();
 		return eventobj;
	}
}
hide_user_menu = function() {
	SelectById("show_user_menu").style.display = "none";
}
function absPosition(obj) {
      var x = y = 0;
      while(obj) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
            obj = obj.offsetParent;
      }
      return {x:x, y:y};
}
function users_post_check_messages(){
	var table=SelectById("post_table")
	if(table!=null){
		if(table.getElementsByTagName("tr").length<2){
			var block=SelectById("post_block");
			if(block!=null){
				block.innerHTML="Нет сообщений.";
				block.className="info";
			}
		}
	}
}


function ClickNotifyCompany(id,ch,is_all,eventobj){
	
	if (is_all){
		var sdiv = document.getElementById(id);
		if (sdiv) {
			var inps=sdiv.getElementsByTagName('input');
			for (i=0;i<inps.length;i++) {
				if (inps[i].type=="checkbox"){
					inps[i].checked = ch;
				}
			}
			table=SelectById(id+'_table');
			if (table){
				var trs=table.getElementsByTagName("tr");
				for (i=0;i<trs.length;i++) {
					var not_s=trs[i].getAttribute('not_s');
					if (!not_s){
						trs[i].className=(ch)?'anystyle':'';
					}	
				}
			}	
		}	
	}else{
		var cb=SelectById('frm_company_checkbox['+id+']');
		if ((eventobj.srcElement)&&(eventobj.srcElement.type=="checkbox")){

		}else if (eventobj.target){
			if ((eventobj.target.nodeName=="TD")){
				cb.checked=!cb.checked;
			}else{
			}
		}else{
			cb.checked=!cb.checked;
		}
		sb=SelectById('company_line['+id+']'); 
		sb.className=(cb.checked)?'anystyle':'';
	}
}

function replaceString(aSearch,aFind,aReplace) {
    var result = aSearch;
    if (result != null && result.length > 0) {
        var a = 0;
        var b = 0;
        while (true) {
            a = result.indexOf(aFind, b);
            if (a != -1) {
                result = result.substring(0, a) + aReplace + result.substring(a + aFind.length);
                b = a + aReplace.length;
            } else
                break;
        }
    }
    return result;
}

function button_yamaps(company_id,region_div_id,address_div_id,section,copy) {
	var region_value=0;
	var reg = document.getElementById(region_div_id+"_select_contaner");
	if (reg) {
		name=reg.getAttribute('name');
		var i=4;
		var found = false;
		while (!found&&i>=0){									
			reg1 = document.getElementById(name+i);
			if (reg1&&reg1.value>0){
				found=true;
				region_value=reg1.value;
			}
			i--;
		}
	}	
	
	var addr = document.getElementById(address_div_id);
	if (addr) {
		addr_value=addr.value;
	}
	s="";
	if (copy>0){
		s="cp="+copy+"&";
	}
	w=window.open('/short_yamaps/yamaps.html?section=edit_company_'+section+'&company_id='+company_id+'&'+s+'region_value='+region_value+'&addr='+addr_value, 'yamaps', 'width=820,height=630');
	if (w!=null){w.focus();};
}

function button_yamaps_view(company_id,section,copy) {
	w=window.open('/short_yamaps/yamaps.html?section=view_company_'+section+'&company_id='+company_id+'&cp='+copy, 'ym_w_1', 'width=820,height=630');	
	if (w!=null){w.focus();};
}
