
	function check_maxlen2(id, maxlen)
	{
	  var len = document.getElementById(id).value.length;
	  if (len > maxlen)
	  {
	    alert("Достигнута максимальная длина!");
		document.getElementById(id).value =(document.getElementById(id).value.substring(0,maxlen));
		return false;
	  }
	  return true;
	}

	function open_hide_div(div_name,top,left, e)
	{
	  if (!e) e = window.event; 
	  div = document.getElementById(div_name);

	  if (div.style.visibility == 'hidden' || div.style.visibility == '' || div.style.display=='none' || div.style.display=='')
	  {
	    //слой всплывёт в месте щелчка.
	    div.style.left = e.clientX+left;
		div.style.top = e.clientY+ (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop)+top;
	    div.style.visibility='visible';
		div.style.display= 'block';
	  }
	  else{
	    div.style.visibility='hidden';
		div.style.display= 'none';
	  }
	}

	function roll_cat(id)
                  {
                    var obj = document.getElementById("cat"+id);
                    var parent = document.getElementById("parent"+id);
                    if (obj.style.height=="1px")
                    {
                      parent.style.backgroundImage="url(../img/element_cats_active.gif)";
                      obj.style.height="auto";
                    }
                    else
                    {
                      parent.style.backgroundImage="url(../img/element_cats.gif)";
                      obj.style.height="1px";
                    }
                  }

					  function subs_name_active()
                      {
                  	    document.getElementById("subs_name1").style.backgroundImage="url(../img/subs_active.gif)";
                  	  }
                      function subs_name_no_active()
                      {
                  	    if (document.getElementById("subs_name").value == "")
                  	      document.getElementById("subs_name1").style.backgroundImage="url(../img/subs_name.gif)";
                  	  }
					  function subs_email_active()
                      {
                  	    document.getElementById("subs_email1").style.backgroundImage="url(../img/subs_active.gif)";
                  	  }
                      function subs_email_no_active()
                      {
                  	    if (document.getElementById("subs_email").value == "")
                  	      document.getElementById("subs_email1").style.backgroundImage="url(../img/subs_email.gif)";
                  	  }

                  	  function check_email (email, strict)
{
 strict=true;
 if ( !strict ) email = email.replace(/^\s+|\s+$/g, '');
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}




		function set_all_inputs_checked(child_id, checked){
			inputs= document.getElementById(child_id);
			inputs= inputs.getElementsByTagName('input');
			span= document.getElementById(child_id.replace(/affil/g, 'parent'));
			chbox= document.getElementById(child_id.replace(/affil/g, 'chbox'));

			if(checked){
				span.style.color= 'blue';
				chbox.checked= true;
				//chbox.setAttribute('checked', 'checked');
				for(i=0; i<inputs.length; i++){
					inputs[i].checked= true;
					//inputs[i].setAttribute('checked', 'checked');
				}
			}
			else{
				span.style.color= '#000000';
				chbox.checked= false;
				//chbox.removeAttribute('checked');
				for(i=0; i<inputs.length; i++){
					inputs[i].checked= false;
					//inputs[i].removeAttribute('checked');
				}
			}
		}
		function close_all_affils(){
			affs= document.getElementById('affils').getElementsByTagName('div');
			for(i=0; i<affs.length; i++){
				affs[i].style.display='none';
			}
		}
		function if_one_unchecked(div){
			inputs= document.getElementById(div).getElementsByTagName('input');
			for(i=0; i<inputs.length; i++){
				if(!inputs[i].checked){
					return true;
					break;
				}
			}
			return false;
		}
		function if_child_checked(div){
			var aff_all= 0;
			var aff_checked= 0;
			var aff_unchecked= 0;
			inputs= div.getElementsByTagName('input');
			span= document.getElementById(div.id.replace(/affil/g, 'parent'));
			chbox= document.getElementById(div.id.replace(/affil/g, 'chbox'));
			for(i=0; i<inputs.length; i++){
				aff_all++;
				if(inputs[i].checked)
					aff_checked++;
				else
					aff_unchecked++;
			}
			if(aff_checked>0)
				span.style.color= 'blue';
			else
				span.style.color= '#000000';
			if(aff_unchecked>0)
				chbox.checked= false;
			if(aff_checked==aff_all)
				chbox.checked= true;

		}
		function init_areas_form(){
			inputs= document.getElementById('areas_form').getElementsByTagName('input');
			for(i=0; i<inputs.length; i++){
				if(inputs[i].checked){
					affil= document.getElementById(inputs[i].id.replace(/chbox/g, 'affil'));
					if(affil){
						aff_inputs= affil.getElementsByTagName('input');
						for(j=0; j<aff_inputs.length; j++){
							aff_inputs[j].setAttribute('checked', 'checked');
						}
					}
				}
			}
		}
	function refresh_choise(elem){
		span= document.getElementById("choise_"+elem.id);
		inputs= elem.getElementsByTagName("input");
		str= new Array();
		str_count= 0;
		if(inputs){
			for(i=0; i<inputs.length; i++){
				if(inputs[i].checked){
					if(inputs[i].id.match(/i_region/)){
						keys= /\[(\d+)\]$/.exec(inputs[i].id);
						str[str_count]= regions_names[keys[1]];
					}
					else{
						keys= /\[(\d+)\]\[(\d+)\]$/.exec(inputs[i].id);
						str[str_count]= regions[keys[1]][keys[2]];
					}
					str_count++;
				}
			}
		}
		str2= str.join(", ");
		if(str2.length>150)
			str2= str2.substr(0, 145) + "&hellip;";
		if(str2)
			str2+= "<img src=/img/gradient.png style=\'position:relative; left:-44px; top:4px\' />";
		span.innerHTML= str2;
	}


/* затемнение */
var timer = null;
var opacity = 20;
function show_modal (modal, openhide)
{
  modal= modal ? modal : 'modal';
  
  if(modal_el=document.getElementById(modal)){
	if(openhide===false){
  		modal_el.style.display= 'none';
		return true;
	}
  }
		
  // нагромождение с низким поклоном Великому Биллу
  // для нормальных браузеров достаточно window.innerHeight и window.innerWidth
  var height = getDocumentHeight();
  var width = (window.innerWidth? window.innerWidth: 
    (document.documentElement.clientWidth? document.documentElement.clientWidth: 
    document.body.offsetWidth));
  // устанавливаем черный полупрозрачный блок на весь экран
  document.getElementById (modal).style.height = height+"px";
  // делаем его видимым
  document.getElementById (modal).style.display = 'block';
}


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;
}

