var newClass = function() {
	return function() {
		return this.init.apply(this, arguments);
	}
}
// универсальная проверялка пустых полей ===>>
var CheckFields = newClass();
CheckFields.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);
     t.objects = new Array();

   $.each(t.labels, function(i, val){
        var obj = $(val);
        t.validate(obj, i);
       	obj.change(function(){ t.validate(this, i); });
       	obj.keyup(function(){ t.validate(this, i); });
    });

 },

 validate: function(obj, k, type)
 {
   var t = this;
   if($(obj).val().length > 0)
      t.objects[k] = true;
   else
      t.objects[k] = false;
   t.checkBtn();
   //console.log("t.objects["+k+"]="+t.objects[k])
 },

 checkBtn: function()
 {
   var t = this;
   var flag = true;
   $.each(t.objects, function(i, val){
     if(!val)
     {
       t.btn.attr("disabled","disabled");
       t.btn.css("color","#999999")
       flag = false;
     }
   });

   if(flag)
   {
     t.btn.removeAttr("disabled","disabled");
     t.btn.css("color","#000000");
   }
 }
};
// <<=== универсальная проверялка пустых полей
var Courses = newClass();
Courses.prototype = {
  init: function() {
	 var t = this;
     var kurs = $("#kurs");
     t.num = $("#num");

     $(document).ready(function(){
       t.calculate(t.num.val());
       t.action(kurs.val());
     });

     t.num.change(function(){ t.calculate(t.num.val()); });
     t.num.keyup(function(){ t.calculate(t.num.val()); });

     kurs.change(function(){ t.action(kurs.val()); });
     kurs.keyup(function(){ t.action(kurs.val()); });

  },

  action: function(value)
  {
     var t = this;
     t.calculate(t.num.val());
     if(value != 0)
     {
       var url = "/complex/service/learning/request/ajax.php?ID=" + value;

       $.getJSON(url,
          function(data){
            $("#name_traning").val(data.name);
            $("#price").val(data.price);
            if(data.date == "")
            {
              $("#date").val("Для уточнения даты позвоните нам");
            } else {
              $("#date").val(data.date);
            }
          });
     } else {
        $("#date").val("Сначала выберите курс");
     }
  },

  calculate: function(value)
  {
    var t = this;
    if(!isNaN(value * 1))
    {
      if($("#price").val() != "" && !isNaN($("#price").val().replace(" ","")*1))
        $("#money").val(value * $("#price").val().replace(" ",""))
      else
        $("#money").val("Сначала выберите курс");
    } else {
        $("#money").val("Введите числовое значение");
    }
  }
};


// универсальная проверялка пустых полей ===>>
var MegaForm = newClass();
MegaForm.prototype = {
  init: function() {
	 var t = this;

     $("#division").change(function(){
         $("#field_division").slideToggle();
     });

     $("#stepen").find("input:radio[name=stages]").change(function(){

              $("#field_other_work").slideToggle();

     });

     $("#training").change(function(){
         $("#field_training").slideToggle();
     });

     $("#replace").change(function(){
         $("#field_replace").slideToggle();
     });



     $("#sys_11").change(function(){
         $("#field_sys_11").slideToggle();
     });

  }
};

var OrderForm = newClass();
OrderForm.prototype = {
   init: function()
   {
     var t = this;
     $("#question").change(function(){
       t.action();
     });
     $("#question").keyup(function(){
       t.action();
     });
   },

   action: function()
   {
       if($("#question option:selected").val() == "3")
           $("#post").slideUp();
       else
           $("#post").slideDown();
   }
}
