var dom = document.getElementById;
var iex = document.all;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;
var work_resize = false;
function getElement ( name )
	{
	var el = dom ? document.getElementById(name) : iex ? document.all[name] : ns4 ? eval ( 'document.' + name ) : false;
	return el;
	}

function MM_preloadImages() 
	{ //v3.0
	var d=document; 
	if(d.images)
		{ 
		if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
		for(i=0; i<a.length; i++)
    			if (a[i].indexOf("#")!=0)
				{
				d.MM_p[j]=new Image; d.MM_p[j++].src=adress_img + a[i];
				}
		}
	}

function im_light ( el , mode )
	{
	ext = ".jpg";
	if ( cur_page && cur_page != el.id )
		{
		el.src = adress_img + el.id + ( !mode ? ext : "_" + ext );
		}
	}

//Функция универсального отображения поля для альтернативного ввода текста
function change_universal ( frm , name_cbo )
	{
	frm = getElement ( frm );
	if ( !frm || !frm[ name_cbo + "_id" ] ) return false;

	if ( !frm[ name_cbo + "_id" ].value )
		{
		frm[ "other_" + name_cbo ].style.visibility = "visible";
		}
	else
		{
		frm["other_" + name_cbo].value = "";
		frm["other_" + name_cbo].style.visibility = "hidden";
		}
	}
//Проверка корректности выбора из списка или альтернативного ввода
function check_cbo_universal ( frm_name , name_cbo , mess )
	{
	frm = getElement ( frm_name );
	if ( !frm || !frm[ name_cbo + "_id" ] ) return false;

	if ( !frm[ name_cbo + "_id" ].value && frm[ "other_" + name_cbo ].value == "" )
		{
		alert ( mess );
		frm[ "other_" + name_cbo ].focus();

		return true;
		}
	else 
		{
		//Надо проверить, не является ли введенное поле существующим в списке
		if ( !frm[ name_cbo + "_id" ].value && frm[ "other_" + name_cbo ].value != "" )
			{
			vl = frm[ "other_" + name_cbo ].value.toLowerCase();
			for ( intLoop = 0; intLoop < frm[ name_cbo + "_id" ].options.length  ; intLoop++) 
				{
				if ( frm[ name_cbo + "_id" ].options[ intLoop ].text.toLowerCase() == vl )
					{
					frm[ name_cbo + "_id" ].options[ intLoop ].selected = true;
					frm[ "other_" + name_cbo ].value = "";
					change_universal ( frm_name , name_cbo );
					break;
					}
				}
			}

		return false;
		}
	}

// Добавляет новый вариант элемент в список 
function addNew( cbo , text, value , is_selected ) 
	{
	var el = document.createElement("OPTION");
	el.text = text;
	el.value = value;
	n = cbo.options.add(el);
	if ( is_selected == true ) { cbo.options[ cbo.options.length - 1 ].selected = true; }
	}

//Функция проверки правильности даты
function validDate ( el )
	{  
	s = el.value;
	str_err = 'Дату необходимо вводить в формате: дд-мм-гггг (например, 01-01-2004)';
	var m = /(\d{1,2})\-(\d{1,2})\-(\d{4})/.exec(s);  
	if ( !m ) { alert ( str_err ); el.focus(); return false; }
	m[2] -= 1;  

	var d = new Date(m[3],m[2],m[1]);  
	if ( !d) { alert ( str_err ); el.focus(); return false; }

	if ((m[3] == d.getFullYear()) && (m[2] == d.getMonth()) && (m[1] == d.getDate())) return true;  

	alert ( str_err );
	el.focus();
	return false;
	}

function check_email ( address )
	{
	var re =/^[\w-\&](\.?[\w-\&])*@([A-Za-z]{2,}|[\w-](\.?[\w-])*\.[A-Za-z]{2,})$/i;
	return re.test(address);
	}

//Функция проверки корректности ввода латинского имени
function check_for_number ( el_value , is_float )
	{
	if ( is_float )
		{
		return el_value == parseFloat ( el_value );
		}
	else
		{
		return el_value == parseInt ( el_value );
		}
	}