// JavaScript Document
<!--
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(_f, user_name, Email_fieldname) {
	var required_fields = false;
	var focus_key = false;
	var i;

	// первичная инициализация, установка обработчиков событий
	if (handlers_are_not_initialized) {
		for (i = 0; i < _f.length; i++)
			if (_f[i].getAttribute("required") == "true") {
				_f[i].setAttribute('elem_index', i);
				old_onkeypress[i] = _f[i].onkeypress;
				old_onchange[i] = _f[i].onchange;
				_f[i].onkeypress = new_onkeypress;
				_f[i].onchange = new_onchange;
			}
		handlers_are_not_initialized = false;
	}

   // проверка незаполненных инпутов
	for (i = 0; i < _f.length; i++) {
		if (_f[i].getAttribute("required") == "true") {
			if (_f[i].value == "") {
				required_fields = true;
				if (_f[i].style.backgroundColor && !_f[i].getAttribute('t_color'))
					_f[i].setAttribute('t_color', _f[i].style.backgroundColor)
				else 
					_f[i].setAttribute('t_color', '*');
			 	_f[i].style.backgroundColor = '#ffcccc';
				if (!focus_key) {
					_f[i].focus();
					focus_key = true;
				}
			}
		}
	}
	if (required_fields) {
		alert("Не заполнены обязательные поля");
		return false;
	}

   // проверка на идентичность пароля и его подтверждения
	if(_f["Password1"] != null && _f["Password1"].value != '') {
		if(_f["Password2"]!=null)
			if(_f["Password1"].value != _f["Password2"].value) {
				alert("Пароли не совпадают");
				return false;
			}
	}

   // проверка синтаксиса адреса электронной почты
	if(Email_fieldname != null) if(_f[Email_fieldname].value != "")
		if(!_f[Email_fieldname].value.match(/^\w+[\.\-\w]*@(\w+\-*\w*\.)+\w+$/)) {
			_f[Email_fieldname].focus();
	      alert("Недопустимый формат e-mail.");
   	   return false;
	    }

   // проверка имени пользователя на допустимость символов
	if (user_name != null)
		if(!_f[user_name].value.match(/^[0-9a-zA-Z_]+$/)) {
			_f[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();
}

// return true for the first time and false otherwise, v - unique identifier
//function clickOnce(v) { try { return !eval(v); } catch(ex) { return eval(v + '= true'); } }

function resize()
	{
		window_height=screen.availHeight;
		window_widh=screen.availWidth-350;
		dw=document.getElementsByTagName('table')[0].offsetWidth + 28;
		dh=document.getElementsByTagName('table')[0].offsetHeight+30;
		if(dw>window_widh)dw=window_widh;
		if(dh>window_height)dh=window_height;
		window.resizeTo(dw,dh);
	}

function view_image(url, title, width, height) {
  width = width+30;
  var left = (screen.availWidth - width - 10)/2;
  var top = (screen.availHeight - height - 40)/2;
  var new_win = window.open('/show_img.jsp?path='+url+'&title='+title, "", "resizable=no,menubar=no,scrollbars=yes,left="+left+",top="+top+",width="+width+",height="+height);
}

function view_profile(user, title) {
  var width = 400;
  var height = 480;
  var left = (screen.availWidth - width - 10)/2;
  var top = (screen.availHeight - height - 40)/2;
  var new_win = window.open('/root/sites/site/users/'+user, "", "resizable=yes,menubar=yes,scrollbars=1,top="+top+",left="+left+",width="+width+",height="+height);
}

/*function validate(_f, user_name, Email_fieldname) {
  for(var i = 0; i<_f.length; i++) {
    if(_f[i].getAttribute("required")=="true" && _f[i].value=="") {
      alert("Вы заполнили не все обязательные поля");
      return false;
    }
  }
  if(_f["form_password"]!=null && _f["form_password"].value!='') {
    if(!_f["form_password"].value.match(/^[0-9a-zA-Z_]+$/)) {
      alert("В пароле могут использоваться только латинские символы");
      return false;
    }
    if(_f["form_password2"]!=null)
      if(_f["form_password"].value != _f["form_password2"].value) {
        alert("Проверьте правильность подтверждения пароля");
        return false;
      }
  }
	
  if(user_name != null)
    if(!_f[user_name].value.match(/^[0-9a-zA-Z_]+$/)) {
      alert("В никнэйме могут использоваться только латинские символы");
      return false;
    }
  if(Email_fieldname != null)
    if(!_f[Email_fieldname].value.match(/^\w+[\.\-\w]*@(\w+\-*\w*\.)+\w+$/)) {
      alert("Неверный e-mail");
      return false;
    }
  return true;
}*/

function rating(mark) {
  for(var i=0; i<mark; i++)
    document.write('<img src="i/arrow.jpg" alt="" width="11" height="10" border="0" hspace="1"/>');
}

// Профайл
function daysInFebruary(year) {
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
}

function daysInMonth(month, year) {
	if (month == 4 || month == 6 || month == 9 || month == 11)
		return 30;
	else if (month == 2)
		return daysInFebruary(year);
	else
		return 31;
}
			
function isValidDate(year, month, day)
{
	year = parseInt(year,10);
	month = parseInt(month,10);
	day = parseInt(day,10);
	
	if (isNaN(day) || isNaN(month) || isNaN(year)) {
		alert("Введите корректную дату");
		return false;
	}
	
	if (day > daysInMonth(month, year) || day < 1) {
		alert("Введите корректную дату");
		return false;
	}
	
	return true;
}

function validateProfileForm(_f, user_name, Email_fieldname) {
	// проверка на идентичность пароля и его подтверждения
	if(_f["user_password"] != null && _f["user_password"].value != '') {
		if(_f["user_password2"]!=null)
			if(_f["user_password"].value != _f["user_password2"].value) {
				alert("Пароли не совпадают");
				return false;
			}
	}
	return true;
	//return isValidDate(_f.user_year.value, _f.user_month.value, _f.user_day.value) && validate(_f, user_name, Email_fieldname);
}
//-->
