(function(global){
	
	function formController(){
		if($(".orderForm").length>0){
		
			$(".orderForm").add_rule({
						email:{
							    	required:{},
									email:{},
									length:{
										min:7,
										max:50
									}
						},
						phone:{
									number:{},
									required:{},
									length:{
										min:3,
										max:24
									}
						},
						address:{
									required:{},
									length:{
										min:10
									}
						},
						otkuda:{
									required:{},
									length:{
										min:1
									}
						},
						/*coupon:{
									checkCoupon:{}
						},*/
						name:{
									required:{},
									cyrillic:{},
									length:{
										min:3,
										max:32
									}
						}
					});

			$(".orderForm").set_submitB(".submit",this.submitForm);
			$(".orderForm").test_form();
		
			$(".orderForm select").bind("change",$.proxy(this.selectDeliveryMethod,this));
			this.selectDeliveryMethod();
		}
		
		
		if($(".contactForm").length>0){
		
			$(".contactForm").add_rule({
						contactName:{
							required:{},
							cyrillic:{},
							length:{
								min:3,
								max:32
							}
						},
						contactPhone:{
									number:{},
									required:{},
									length:{
										min:3,
										max:24
									}
						},
						contactEmail:{
							    	required:{},
									email:{},
									length:{
										min:7,
										max:50
									}
						},
						userMessage:{
									required:{},
									length:{
										min:10
									}
						}
					});
			
			$(".contactForm").set_submitB(".submitc",this.submitContactForm);
			$(".contactForm").test_form();
		}
		
	}
	
	formController.prototype.resizeElements = function(){
		$("section.abstract").css("height",parseInt($("form.orderForm fieldset").height()-24,10)+"px");
	}

	formController.prototype.selectDeliveryMethod = function(){
		var select = $(".orderForm select");
		if($(".paymentMethod").length===0){
			if(select.val()=="null"){
				select.parent().append("<p class='paymentMethod'>Оплата с помощью RBK Money</p>");
			}else{
				select.parent().append("<p class='paymentMethod'>Оплата курьеру</p>");
			}
		}else{
			if(select.val()=="null"){
				$(".paymentMethod").html("Оплата с помощью RBK Money");
			}else{
				$(".paymentMethod").html("Оплата курьеру");
			}
		}
		this.resizeElements();
	}
	
	formController.prototype.submitContactForm = function(){
		$(".contactForm")[0].submit();
	}
	
	formController.prototype.rePathUser = function(result){
		if(result.handshake===true){
			$(".orderForm #queryId").val(result.data);
		}else{
			$("#formBlocker").fadeOut();
			return false;
		}
		$("#formBlocker").fadeOut('normal',function(){
			if($(".orderForm select").val()=="null"){
				$(".orderForm")[0].action="https://rbkmoney.ru/acceptpurchase.aspx";
				$('#recipientAmount').val(result.price);
				pageTracker._trackEvent("2RBK", "formSend");
				pageTracker._trackPageview('/rbk.html');
				yaCounter4428355.reachGoal('formSend');
			}
			$("#formBlocker").remove();
			$(".orderForm")[0].submit();
		});
	}
	
	formController.prototype.submitForm = function(){
		var blocker = document.createElement("DIV");
		var position = $("form.orderForm").position();
		blocker.setAttribute("id","formBlocker");
		blocker.className = "formBlocker";
		blocker = $(blocker);
		blocker.css("height",parseInt($("form.orderForm").outerHeight()-40,10)+"px");
		blocker.css("width",parseInt($("form.orderForm").outerWidth(),10)+"px");
		blocker.css("top",position.top+20+"px");
		blocker.css("left",position.left+"px");
		
		
		if($("#user_email").length==1){
			$("#user_email").val($("#email").val());
		}
		
		$("body").append(blocker);
		$("#formBlocker").fadeTo("normal",0.8);
		
		$.ajax({
		  	type: 'POST',
		  	url: '/checkout.php',
			dataType:'json',
		  	data: {
				name: 			$("#name").val(), 
				phone: 			$("#phone").val(),
				email: 			$("#email").val(), 
				city: 			$(".orderForm select").val(),
				address: 		$("#address").val(),
				otkuda: 		$("#otkuda").val(),
				coupon: 		$("#coupon").val(),
				utm_source: 	$("input[name='utm_source']").val(),
				utm_medium: 	$("input[name='utm_medium']").val(),
				utm_term: 		$("input[name='utm_term']").val(),
				utm_content: 	$("input[name='utm_content']").val(),
				utm_campaign: 	$("input[name='utm_campaign']").val()
			},
		  	success: global.formController.rePathUser
		});
	}
	
	function onDOMReady(){
		global.formController = new formController();
	}
	
	$(document).ready(onDOMReady);
})(this);


function coupon_check()
{
	var c = $('#coupon').val();
	$("#coupon_msg").html('');
	$.ajax({
		type: 'POST',
		url: '/checkcoupon.php',
		dataType:'html',
		data: {
			coupon: c
		},
		success: function(res) {
			$("#coupon_msg").html(res);
		}
	});
	return false;
}

