var CheckBasketForm = newClass();
CheckBasketForm.prototype = {
  init: function(id, btn, imPole) {
		var t = this;
   
    if(typeof(id) == "undefined" || id == "")
      id = "#basket";

    if(typeof(btn) == "undefined" || btn  == "")
      btn = ".btn";

    if(typeof(imPole) == "undefined" || imPole  == "")
      imPole = ".important";

    t.btn = $(id).find(btn);
    t.labels = $(id).find(imPole).find("input,textarea");
    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); });
    });
    
    $(id).submit(function(event){

      event.preventDefault();
      event.stopPropagation();

      var form = $(this);
      var frm = this;
			var queryString = form.serialize();
			
      form.find(".btn_basket").hide();
      form.find(".BasketSend").show();
			$.getJSON('/catalog/ajax_basket.php?' + queryString + "&send=ok", function(data){
				form.find(".btn_basket").show();
				form.find(".BasketSend").hide();
				if(data.basket == 1) {
					$("#text_basket").html(data.basket_text);
					form.find(".AddBasketOk").show();
					form.find(".NoAddBasketOk").hide();
					setTimeout(function(){t.hideOk(form)}, 3000);
				} else {
					form.find(".AddBasketOk").hide();
					form.find(".NoAddBasketOk").show();
					setTimeout(function(){t.hideError(form)}, 3000);
				}
			});

    });
  },
 
	validate: function(obj, k, type){
		var t = this;

		if($(obj).val().length > 0)
      if($(obj).parents("span").hasClass("num").toString() == "true" && !(/^(\d+)\.?$/i.test($(obj).val())))
        t.objects[k] = false;
      else
        t.objects[k] = true;
		else
      t.objects[k] = false;
		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("Disabled");
				flag = false;
				//console.log('addClass');
			}
		});
		if(flag) {
			t.btn.removeAttr("disabled","disabled");
			t.btn.removeClass("Disabled");
			//console.log('removeClass');
		}
	},
	
	hideOk: function(form) {
    form.find(".AddBasketOk").hide();
	},
	
	hideError: function(form) {
    form.find(".NoAddBasketOk").hide();
	},
};

$(document).ready(function(){
	new CheckBasketForm();
	
	$('.BoxClose').click(function(){
		$(this).parents('.InfoBox').hide();;
    return false;
	});
});
