function show_switch(id)
{
	var obj = document.getElementById(id);
	obj.style.display=(obj.style.display=='block')? 'none':'block';
	
}
function view_image(url, title, width, height) 
{
  var w_name = "";

  var new_win = window.open(url, w_name, "resizable=no,menubar=no,scrollbars=no,width="+width+",height="+height);
//  var content="<html><head><title>" + title + "</title></head><body style=\"margin:0px;\"><img src=" + url +" width=" + width + " height=" +height+ " alt="+title+"/></body></html>";
//  new_win.document.write(content);
}

function change_date(path, sessionid) {
  var site_url = window.location.href.substr(0, window.location.href.indexOf("?"));
  window.location.href = site_url+"?path="+path+
                         "&month="+mmyy_form["month"].value+
                         "&year="+mmyy_form["year"].value+
                         "&sessionid="+sessionid;
}

function clickOnce(v) { try { return !eval(v); } catch(ex) { setTimeout(v + ' = false', 5000);	return eval(v + '= true');	} }

var old_onkeypress = new Array();
var old_onchange = new Array();
var handlers_are_not_initialized = true;

// проверка при подтверждении
function validate(_form, user_name, email_fieldname) {
	var required_fields = false;
	var focus_key = false;
	var i;

	// первичная инициализация, установка обработчиков событий
	if (handlers_are_not_initialized) {
		for (i = 0; i < _form.length; i++)
			if (_form[i].getAttribute("required") == "true") {
				_form[i].setAttribute('elem_index', i);
				old_onkeypress[i] = _form[i].onkeypress;
				old_onchange[i] = _form[i].onchange;
				_form[i].onkeypress = new_onkeypress;
				_form[i].onchange = new_onchange;
			}
		handlers_are_not_initialized = false;
	}

   // проверка незаполненных инпутов
	for (i = 0; i < _form.length; i++) {
		if (_form[i].getAttribute("required") == "true") {
			if (_form[i].value == "") {
				required_fields = true;
				if (_form[i].style.backgroundColor && !_form[i].getAttribute('t_color'))
					_form[i].setAttribute('t_color', _form[i].style.backgroundColor)
				else 
					_form[i].setAttribute('t_color', '*');
			 	_form[i].style.backgroundColor = '#ffcccc';
				if (!focus_key) {
					_form[i].focus();
					focus_key = true;
				}
			}
		}
	}
	if (required_fields) {
		alert("Не заполнены обязательные поля");
		return false;
	}

   // проверка на идентичность пароля и его подтверждения
	if(_form["form_password"] != null && _form["form_password"].value != '') {
		if(_form["form_password2"]!=null)
			if(_form["form_password"].value != _form["form_password2"].value) {
				alert("Пароли не совпадают");
				return false;
			}
	}

   // проверка синтаксиса адреса электронной почты
	if(email_fieldname != null) if(_form[email_fieldname].value != "")
		if(!_form[email_fieldname].value.match(/^\w+[\.\-\w]*@(\w+\-*\w*\.)+\w+$/)) {
			_form[email_fieldname].focus();
	      alert("Недопустимый формат e-mail.");
   	   return false;
	    }

   // проверка имени пользователя на допустимость символов
	if (user_name != null)
		if(!_form[user_name].value.match(/^[0-9a-zA-Z_]+$/)) {
			_form[user_name].focus();
   	   alert("Недопустимые символы в имени пользователя");
      	return false;
	    }

	return clickOnce('validate_error');
}

// сброс цвета для обязательных полей
function reset_required(obj) {
	if (obj.getAttribute('required') == 'true') {
		if (obj.t_color && obj.getAttribute('t_color') != '*')
			obj.style.backgroundColor = obj.getAttribute('t_color');
		else
			obj.style.backgroundColor = '';
	}
}

// обработчики событий для обязятельных полей
function new_onkeypress() {
   // необходимые действия
   reset_required(this);
   // собственный обработчик
	var event_handler = old_onkeypress[this.getAttribute("elem_index")];
	if (event_handler) event_handler();
}

function new_onchange() {
   // необходимые действия
   reset_required(this);
   // собственный обработчик
	var event_handler = old_onchange[this.getAttribute("elem_index")];
	if (event_handler) event_handler();
}

