	//установить значение элемента формы
	function set_form_value( the_form, the_object, the_text )
	{	
		var f = document.forms[the_form];
		var obj = f.elements[the_object];
		if( typeof( obj.value ) != 'undefined' )
		{
			obj.value = the_text;
		}
	}
		
	//отправить форму формы
	function send_form( the_form )
	{
		var f = document.getElementById(the_form);
		if( typeof( f ) != 'undefined' )
		{
			f.submit();
		}
	}
		
	//проверка удаления
	function msg(mes)
	{
	    var strMesssage = 'Вы действительно хотите удалить это значение?';
	    return confirm(strMesssage);
	}
	
	//обработчик onclick
	function on_click_handler(mEvent) 
	{    
	    var oElement;
	    
	    // Internet Explorer
	    if (mEvent.srcElement)
	    {        
	        oElement = mEvent.srcElement;
	        if ((oElement.tagName == "IMG") && (oElement.parentElement.tagName == "A") && (oElement.parentElement.href.indexOf('delete') > 0))
	        {                        
	            mEvent.returnValue = msg();                        
	        }
	
	        if ((oElement.tagName == "A") && (oElement.href.indexOf('delete') > 0))
	        {
	            mEvent.returnValue = msg();  
	        }
	    }
	    // Netscape and Firefox
	    else if (mEvent.target)
	    {
	        oElement = mEvent.target;
	
	        if ((oElement.tagName == "A") && (oElement.href.indexOf('delete') > 0))
	        {
	            var bValue = msg();
	            mEvent.cancelBubble = !bValue;
	            mEvent.returnValue  = bValue;
	            if (!bValue)
	            {
	                mEvent.preventDefault();
	            }
	        }
	        
	        if ((oElement.tagName == "IMG") && (oElement.parentNode.tagName == "A") && (oElement.parentNode.href.indexOf('delete') > 0))
	        {                        
	            var bValue = msg();
	            mEvent.cancelBubble = !bValue;
	            mEvent.returnValue  = bValue;
	            if (!bValue)
	            {
	                mEvent.preventDefault();
	            }                    
	        }
	
	    }
	}
	
	//установить значение элемента
	function set_value(elem, num)
    {
    	var hid = document.getElementById(elem);
    	hid.value = num;
    }
    
    //получить выбранное значение select'a
    function get_select_value( the_form, the_select )
    {
    	var f = document.forms[the_form];
    	var obj = f.elements[the_select];

    	var the_value = obj.options[obj.options.selectedIndex].value;

    	return the_value;
    }
    
    //показать/скрыть элемент
    function show_elem(elem)
    {
    	var model=document.getElementById(elem);
    	if(model.style.display == 'none')
    		model.style.display =''; 
    	else 
    		model.style.display = 'none';
    }
    
    	//проверка заполнения формы
	function check_fields(the_form, ntype)
    {  	
    	var f = document.forms[the_form];      
		var e = f.elements;
		var current;
		
		var cf = new Array();
		
		if  (ntype == 1) // news/articles
		{
			cf['form[head]']    = 'Введите название';
			cf['form[description]'] = 'Введите описание';
		}
		if  (ntype == 2) // rubric/source/tag
		{
			cf['form[title]']    = 'Введите название';
		}
		if  (ntype == 3) // author
		{
			cf['form[name]']    = 'Введите имя';
			cf['form[email]']    = 'Введите email';
		}
		if  (ntype == 4) // theme
		{
			cf['form[title]'] = 'Введите заголовок';
			cf['form[body]'] = 'Введите текст';
		}
		if  (ntype == 5) // question
		{
			cf['form[fio]'] = 'Введите ФИО';
			cf['form[description]'] = 'Введите текст';
		}
		if  (ntype == 6) // news/articles
		{
			cf['form[head]']    = 'Введите название';
//			cf['form[description]'] = 'Введите описание';
		}
		if  (ntype == 7) //register
		{
			cf['form[company]']     = 'Введите название компании';
			cf['form[activity_id]'] = 'Выберите сферу деятельности компании';
			cf['form[name]']        = 'Введите ФИО представителя';
			cf['form[position]']    = 'Введите должность представителя';
			cf['form[phone]']       = 'Введите контактный телефон';
		}
		if  (ntype == 8) //stand
		{
			cf['form[company]']    = 'Введите название организации';
			cf['form[fio]']    = 'Введите ФИО';
			cf['form[address]']    = 'Введите почтовый адрес';
			cf['form[phone]']    = 'Введите телефон';
		}		
		var val;
		
		var re = /\s+/gi;
		var str = /^[A-Za-z0-9]+[-_\.]*\w*@\w+-?\w*\.[\.\-_A-Za-z0-9]*[a-z]{2,4}$/i;
		var str2 = /^[А-Яа-я-_ ]+$/i;
		var str3 = /^[1-9]+[0-9]*$/;
		var str4 = /^[А-Яа-яA-Za-z0-9-_ ]+$/;
		var str5 = /^[0-9]*$/;
		var str6 = /^http:\/\/[\.\-_A-Za-z0-9\?=&\+/]+$/;
		
		var err = _err = true;
		var err_msg = '';
		
		var x = 1;
		
		for( var i = 0; i < e.length; i ++ )
		{
    		_err = true;
    		
    		current = e[i];
    		if( current.type != 'hidden' )
    		{
        		val = current.value;        		        		        		      
        		switch (current.type)
        		{        			
        			case 'text':
        				if (val == '' && typeof(cf[current.name]) != 'undefined')
                		{                			
                    		current.className = 'err';
                    		err = false;
                    		_err = false;
                        }
                        else if (val != '' && (current.name == 'form[email]' || current.name == 'contact') && 
                        !str.test(val))
                        {
                        	cf[current.name] = 'Введите корректный email';
                        	current.className = 'err';
                        	
                    		err = false;
                    		_err = false;                        	
                        }
                        else if (val != '' && current.name == 'form[fio]' && 
                        !str2.test(val))
                        {
                        	cf[current.name] = 'Введите корректное ФИО';
                        	current.className = 'err';
                    		err = false;
                    		_err = false;                        	
                        }
                        else if (val != '' && (current.name == 'form[question_id]' ||
                        current.name == 'form[qid]' || current.name == 'form[number]') && !str3.test(val))
                        {
                        	cf[current.name] = 'Введите корректный номер';
                        	current.className = 'err';
                    		err = false;
                    		_err = false;                        	
                        }
                        else if (val != '' && (current.name == 'form[of_Day]' || 
                        current.name == 'form[of_Month]' || current.name == 'form[of_Year]') && !str5.test(val))
                        {
                        	cf[current.name] = 'Введите корректный номер';
                        	current.className = 'err';
                    		err = false;
                    		_err = false;                        	
                        }
                        else if (val != '' && (current.name == 'form[phrase]' || current.name == 'form[words]') && 
                        !str4.test(val))
                        {
                        	cf[current.name] = 'Введите корректную фразу';
                        	current.className = 'err';
                    		err = false;
                    		_err = false;                        	
                        }
//                        else if (val != '' && (current.name == 'form[website]') && 
//                        !str6.test(val))
//                        {
//                        	cf[current.name] = 'Введите корректную ссылку';
//                        	current.className = 'err';
//                    		err = false;
//                    		_err = false;                        	
//                        }
                        else
                		{
                            current.className = 'def';
                		}
//                		current.style.height = '18px';
                		break;
                	case 'file':
        				if (val == '' && typeof(cf[current.name]) != 'undefined')
                		{                			
                    		current.className = 'err';
                    		err = false;
                    		_err = false;
                        }
                        else
                		{
                            current.className = 'def';
                		}
                        break;
        			case 'password':        				
                		if (val == '' && typeof(cf[current.name]) != 'undefined')
                		{                			
                    		current.className = 'err';
                    		err = false;
                    		_err = false;
                        }
                		else
                		{
                            current.className = 'def';
                		}
                		break;
					case 'textarea':
                		if (val == '' && typeof(cf[current.name]) != 'undefined')
                		{
                    		current.className = 'err';
                    		err = false;
                    		_err = false;
                		}
                		else if (val != '' && (current.name == 'form[description]') && 
                        val.length > 500)
                        {
                        	cf[current.name] = 'Очень большое сообщение';
                        	current.value = current.value.substring(0, 500);
                        	current.className = 'err';
                    		err = false;
                    		_err = false;                        	
                        }
                		else
                		{
                    		current.className = 'def';
                		}
                        break;
                    case 'select':
                   	case 'select-one':                                                        
                        
                   		var sel_value = 0;
                   	
                   		if (typeof(current.value) != 'undefined')
                   		{
                   			sel_value = current.value;
                   		}
                   		                             
                    	if (!sel_value && typeof(cf[current.name]) != 'undefined')
                    	{
                    		//current.options[0].style.border = '1px solid #FF0000';
                    		current.options[0].style.color = '#FF0000';
                    		err = false;
                    		_err = false;
                		}
                		else
                		{
                    		current.style.border = '';
                		}
                    
                    	break;
                }
    		}

    		if (!_err)
    		{
    		  err_msg += x + '. ' + cf[current.name] + '\n';
    		  x++;
    		}
		}
		
		if (!err)
		{
		  alert(err_msg);
		  return false;
		}
		else
		{
			return true;
		}
		
		//return err;  
    }
    
    //форма: перенос опций из одного селекта в другое
    function option(add, all, the_form, the_select1, the_select2, rem)
    {
    	if(add == 1)
    	{
			var sel1 = document.forms[the_form].elements[the_select1];
	    	var sel2 = document.forms[the_form].elements[the_select2];
    	}
    	else
    	{
    		var sel2 = document.forms[the_form].elements[the_select1];
	    	var sel1 = document.forms[the_form].elements[the_select2];
    	}

    	if(sel1.options.length > 0)
    	{
    		var ad;
    		var count = 0;
    		var new_text = new Array();
    		var new_value = new Array();
    		for(var i=0; i<sel1.options.length; i++)
    		{
    			if (sel1.options[i].selected || all == 1)
    			{
    				ad = 1;
    				if(sel2.options.length > 0)
    				{
    					for(var j=0; j<sel2.options.length; j++)
    					{
    						if(sel1.options[i].value == sel2.options[j].value)
    						ad = 0;
    					}
    				}
    				if(ad == 1)
    				{
    					var opt = document.createElement('option');
    					
    					opt.value = sel1.options[i].value;
    					opt.text = sel1.options[i].text;
//    					sel2.add(opt);
						if (rem == 1)
						{
							sel2.remove(0);
							sel2.options[0] = new Option(opt.text, opt.value);
						}
						else
						{
    						sel2.options[sel2.options.length] = new Option(opt.text, opt.value);
						}
    				}
    			}
    			else
    			{
    				new_text[count] = sel1.options[i].text;
    				new_value[count] = sel1.options[i].value;
    				count++;
    			}
    		}
    		if(sel1.options.length > count || all == 1)
    		{
    			while(sel1.length > 0)
    			{
    				sel1.remove(sel1.length - 1);
    			}
    			for(var i=0; i<count; i++)
    			{
    				var opt = document.createElement('option');
    				
    				opt.value = new_value[i];
    				opt.text = new_text[i];
//    				sel1.add(opt);
    				sel1.options[i] = new Option(opt.text, opt.value);
    			}
    		}
//    		for(var i=0; i<sel2.options.length; i++)
//    		{
//    			sel2.options[i].selected = true;
//    		}
    	}
    }
    
    function select_all (the_form, the_select)
    {
	    var sel = document.forms[the_form].elements[the_select];
    	for(var i=0; i<sel.options.length; i++)
		{
			sel.options[i].selected = true;
		}
    }
    
    function rem_option(the_form, the_select)
    {
    	var sel = document.forms[the_form].elements[the_select];
    	for (var i=0; i<sel.options.length; i++)
    	{
    		sel.remove(i);
    	}
    }
    
    function hide_select (the_form, name, num, count)
    {
        var div;
        for (i = 1; i <= count; i++)
        {
            div = document.getElementById(name + '_' + i);
            if (i != num)
                div.style.display = 'none';
            else 
                div.style.display = '';
        }
    }
    
    function open_hide(destObject)
	{
		if ($(destObject).style.display == 'none')
		{
			$(destObject).style.display = '';
		}
		else
		{
			$(destObject).style.display = 'none';
		}
	}