var CheckForm = newClass();
CheckForm.prototype = {
  init: function(id, btn, imPole) {
		var t = this;

    if(typeof(id) == "undefined" || id == "")
      id = "#courses";

    if(typeof(btn) == "undefined" || btn  == "")
      btn = ".btn";

    if(typeof(imPole) == "undefined" || imPole  == "")
      imPole = ".important";

    t.btn = $(btn);
    t.labels = $(id).find(imPole).find('input[name!="max_title"][name!="max_description"],textarea,select[name="section_id[1]"],select[name="PERSONAL_COUNTRY"]');
    t.objects = new Array();
		
		$.each(t.labels, function(i, val){
      var obj = $(val);
      t.validate(obj, i, true);
			obj.change(function(){ t.validate(this, i, true); });
			obj.keyup(function(){ t.validate(this, i, true); });
			obj.blur(function(){ t.validate(this, i, true); });
    });

	},
	
	validate: function(obj, k, type) {
		var t = this;
		var strLen = Number($(obj).val().length);
		if(strLen > 0 && $(obj).val() != 0) {
      if($(obj).parents("div.Pole").hasClass("email").toString() == "true" && !(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($(obj).val()))) {
        t.objects[k] = false;
				if (type)
					$(obj).css('borderColor', '#FF628E');
      } else if ($(obj).parents("div.Pole").hasClass("CountImportant").toString() == "true") {
				var max = Number($(obj).parents("div.Pole").find('input[name*="max"]').val());
				var razn = max - strLen;
				$(obj).parents("div.Pole").find(".SymbolsCount").text(razn);
				if (strLen <= max) {
					t.objects[k] = true;
					if (type) {
						$(obj).css('borderColor', '#8CCDBE');
						$(obj).parents("div.Pole").find(".SymbolsCount").css('color', '#000000');
					}
				} else {
					t.objects[k] = false;
					if (type) {
						$(obj).css('borderColor', '#FF628E');
						$(obj).parents("div.Pole").find(".SymbolsCount").css('color', '#FF628E');
					}
				}
			} else {
        t.objects[k] = true;
				if (type)
					$(obj).css('borderColor', '#8CCDBE');
			}
		} else {
			t.objects[k] = false;
			if (type)
				$(obj).css('borderColor', '#FF628E');
		}
		t.checkBtn();
	},

	checkBtn: function() {
		var t = this;
		var flag = true;
		$.each(t.objects, function(i, val){
			if(!val) {
				t.btn.attr("disabled","disabled");
				t.btn.addClass("ErrorButtonForm");
				flag = false;
				$('#log_button').val('');
			}
		});
		if(flag) {
			t.btn.removeAttr("disabled","disabled");
			t.btn.removeClass("ErrorButtonForm");
			$('#log_button').val('1');
		}
	}
};
