var msgNumber  = " - должно быть число ";
var msgEMail   = " - должен быть e-mail адрес ";
var msgURL     = "must be a web address";
var msgFillOut = "Пожалуйста заполните поле - ";
var msgDate     = " - должна быть дата в формате дд-мм-гггг ";
var msgNoForm  = "Form does not exist";
var msgNoField = "Field does not exist";
function _trim(str) {
  if(str) {
    str = str.replace(/^\s+/, "");
    str = str.replace(/\s+$/, "");
  }
  return str;
}
function checkForm() {
  var args = checkForm.arguments;
  var f = args[0];
  var cform=document.forms[f];
  var msg = "";
  var arr, field, title, type, minLength, elem, val, cnt, i, j;

  if (cform.agree.checked!=true) 
  { 
	  alert('Вы должны согласиться с условиями рассмотрения анкеты!');return false;
  }
  var valid_url = /^(https?|ftp):\/\/([a-z0-9._-]+:[a-z0-9._-]+@)?[a-z0-9дцьДЦЬ#._\/~% -]+(\?([a-z0-9_-]+(=[a-zA-Z0-99дцьДЦЬЯ+%?_-]+&?)?)*)?$/;
  var valid_mail = /^[a-z0-9._-]+@[a-z0-9дцьДЦЬ.-]+\.[a-z]{2,4}$/;
  var valid_date = /^[0-9]{1,2}[-|\/][0-9]{1,2}[-|\/][0-9]{4,4}$/;

  if(document.forms[f]) {
    for(i = 1; i < args.length; i++) {
      arr = args[i].split(":");
      field = _trim(arr[0]);
      title = _trim(arr[1]);
      if(!title) title = field;
      type = _trim(arr[2]);
      minLength = _trim(arr[3]);
      elem = document.forms[f].elements[field];

      if(elem) {
        val = _trim(elem.value);

        if(val != "") {
          if(type == "number") {
            val = val.replace(",", ".");document.forms[f].elements[field].value=val;
            if(isNaN(val)) msg += '"' + title + '" ' + msgNumber + "\n";
          }
          else if(type == "mail" && val.search(valid_mail) == -1) msg += '"' + title + '" ' + msgEMail + "\n";
          else if(type == "url" && val.search(valid_url) == -1) msg += '"' + title + '" ' + msgURL + "\n";
          else if(type == "date" && val.search(valid_date) == -1) msg += '"' + title + '" ' + msgDate + "\n";
        }

        if(minLength) {
          if(elem.length) {
            if(elem.options) {
              for(j = cnt = 0; j < elem.options.length; j++) {
                if(elem.options[j].selected && elem.options[j].value != "") cnt++;
              }
            }
            else for(j = cnt = 0; j < elem.length; j++) {
              if(elem[j].checked) cnt++;
            }
          }
          else if(elem.type == "checkbox") cnt = elem.checked ? 1 : 0;
          else cnt = val.length;
          if(cnt < minLength) msg += msgFillOut + ' "' + title + '"\n';
        }
      }
      else msg += msgNoField + ': "' + field + '"\n';
    }
    if(msg) {alert(msg);return false;}
    else {return true;}
  }
  else {alert(msgNoForm + ': "' + f + '"');return false;}
}
function countSum(Mode) {
	var OutName = '';
	var InName = '';
	var AddSum = 0;
	var TmpSum = 0;
	if (Mode == 'SelfProfit') {OutName = 'SelfTotalProfitEdit';}
	if (Mode == 'FriendProfit') {OutName = 'FriendTotalProfitEdit';}
	if (Mode == 'SelfLoss') {OutName = 'SelfTotalLossEdit';}
	for (i=1; i<=4; i++) {
		InName = Mode + i + 'Edit';
		AddSum = document.getElementById(InName).value;
		TmpSum = TmpSum - AddSum.valueOf();
	}
	document.getElementById(OutName).value = -1*TmpSum;
}
