﻿//// *** функции по работе с заказом

var totalOrderPrice = 0;//сумма заказа без доставки
// Показать карточку для редактирования
function showEditCart() {
	$("#cart_content").load('/sys/editcard/',
		function() {showFormData()});	
}


function showEditCartN() {

	$("#cart_content").load('/udata/catalog/editCartHtml/modules/',
		function() {showFormData()});	

}


// проверяет все данные и отображает форму с учетом всех данных
function showFormData() {

	id = $("#deliveryId").val();        
        checkOrderEditForm(); //проверяем правильность заполнения
//	alert($("#deliveryType").val());
	$('input[type=radio][value=' + id + ']').attr('checked', 'checked');	 //устанавливаем текущий способ доставки, если он инициализирован существует
	setDelivery($("#deliveryPrice").val(), $("#deliveryType").val(), id);
	$("html,body").scrollTop(100);
}



function getData(form) {
	res = '';
	for (i = 0; i < form.elements.length; i++){
		el = form.elements[i];
		if (el.name > ''){
			if (res > '') res = res + '&';
			res = res + el.name + '=' + el.value;
		}
	}
	return res;
}

function reload(data){
	window.location.reload();
}

//сохранение полученной от покупателя информации о заказе
// form - форма, из которой берутся данные
// go - переходить на следующий шаг или просто сохранить
function sendOrderInfo(form, mode) {
        if (checkOrderEditForm()) {
	        var qString = getData(form);
		if (mode =='basket')	url = "/udata/emarket/saveorder/.json?json-callback=reload";		
		else if (mode =='confirm') url = "/udata/emarket/saveorder/.json?json-callback=showResCard";			
		else	url = "/udata/emarket/saveorder/.json";		
		$.ajax({
			url:url,
			type:	'POST',	
			contentType: 'application/x-www-form-urlencoded',
			data:qString,
			dataType: "jsonp"
	//		success: function(response){
	//			  alert('Response: ' + response)
	//		}
		});
	} else {
		alert("Не все обязательные поля заполнены корректно");
	}
		
}

function sendOrderInfoN(form, mode) {
        if (checkOrderEditForm()) {
	        var qString = getData(form);
		if (mode =='basket')	url = "/udata/emarket/saveorder/.json?json-callback=reload";		
		else if (mode =='confirm') url = "/udata/emarket/saveorder/.json?json-callback=showResCardN";			
		else	url = "/udata/emarket/saveorder/.json";		
		$.ajax({
			url:url,
			type:	'POST',	
			contentType: 'application/x-www-form-urlencoded',
			data:qString,
			dataType: "jsonp"
	//		success: function(response){
	//			  alert('Response: ' + response)
	//		}
		});
	} else {
		alert("Не все обязательные поля заполнены корректно");
	}
		
}




// в форме заказа устанавливает регион
function setRegion(reg) {



	if (reg=='') {//тогда смотрим по текущему значениею
		reg = $("#address_reg").val();
		showmode = 1;
	} else {
	        $("#address_reg").val(reg);
		showmode = 0;
	}
	$("#regions div").removeClass("selected"); 
	$("#region-" + reg).addClass("selected");
	if (reg == '') $("#delivery-choose-area").hide();
	else $("#delivery-choose-area").show(); // показываем способы доставки

	$(".del-item").hide();


	// меняем значения

	if (reg > '') {
		$("." + reg).show();
		$('input[type=radio]').removeAttr('checked');
	}

if (!showmode) {
	$("#address_index").val('');
	if (reg == 'mos-city') {
		$("#address_region input").val('Московская область');
		$("#address_city input").val('Москва');
	}
	else if (reg == 'mos-reg') {
		$("#address_region input").val('Московская область');
		$("#address_city input").val('');
	}
	else if (reg == 'piter'){
		$("#address_region input").val('Ленинградская область');
		$("#address_city input").val('Санкт-Петербург');
	}
	else {
		$("#address_region input").val('');
		$("#address_city input").val('');
	};

	$("#address_comment input").val('');
}

	showAddress();

}


//*** проверки заполнения полей формы 
function checkOrderEditForm(){

	symbols = "qwetyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
	numbers = "1234567890";
	total_res = true;

	// проверка написания имени
	elid = "#order_edit_name";
	s = $(elid).val();
	res = false;
	if (s && s.length > 1) {
		i = 0; r = 0;
		while(i < s.length) {
			if (symbols.indexOf(s.charAt(i)) >= 0) r++;
			i++;
		}
		if (r > 1) res = true;
	};

	if (res) $(elid).removeClass('error');
	else $(elid).addClass('error');

        total_res = total_res && res;

	//проверка телефона
	elid = "#order_edit_telephone";
	s = $(elid).val();
	res = false;

	r = 0;
	if (s && s.length > 10) {
		i = 0; 
		while(i < s.length) {
			if (numbers.indexOf(s.charAt(i)) >= 0) r++;
			i++;
		}
//		if (r == 11 && ((s.charAt(0) == '8') || (s.substring(0, 2) == '+7'))) res = true; //временно отключим вариант +7, т.к. обработку его надо оладить
		if (r == 11 && ((s.charAt(0) == '8'))) res = true; 

	};

                                                                                     
	if (res) $(elid).removeClass('error');
	else $(elid).addClass('error');	
        total_res = total_res && res;

	if (total_res) 	{
		$("#regions").show();
		setRegion('');
	} else $("#regions").hide(); 

	return total_res;


} 


//	
function setDelivery(delivPrice, typename, id) {
        

	$("#deliveryId").val(id);
	$("#deliveryPrice").val(delivPrice);

// проверяем на минимальную стоимость
	if (totalOrderPrice < delivPrice) {
		alert("Для получения заказа выбранным способом сумма заказа должна быть больше " + delivPrice + "руб. Сумма Вашего заказа составляет " + totalOrderPrice + "руб.");
	}

// просим ввести адрес

	$("#deliveryType").val(typename);
	showAddress();
}

// показываем поля для ввода адреса
function showAddress() {
	$("input").removeAttr("disabled");
	$("#address_title").show();

	curRegion = $("#address_reg").val();
	curDelivType = $("#deliveryType").val();



	if (curDelivType == 'self' || curDelivType == '') {
		$("#address_title").hide();
		$("#address_region").hide();
		$("#address_city").hide();
		$("#address_address").hide();
		$("#address_comment").hide();
	} else	if (curRegion == 'mos-city') {
		$("#address_region").hide();
		$("#address_city input").attr("disabled", "disabled");
		$("#address_city").show();
		$("#address_address").show();
		$("#address_comment").show();
	} else	if (curRegion == 'mos-reg') {
		$("#address_region input").attr("disabled", "disabled");
		$("#address_region").show();
		$("#address_city").show();
		$("#address_address").show();
		$("#address_comment").hide();
	} else	if (curRegion == 'piter') {
		$("#address_region").hide();
		$("#address_city input").attr("disabled", "disabled");
		$("#address_city").show();
		$("#address_address").show();
		$("#address_comment").hide();
	} else	if (curRegion == 'other') {
		$("#address_region").show();
		$("#address_city").show();
		$("#address_address").show();
		$("#address_comment").hide();
	}
	if (curDelivType == 'russianpost') $("#address_index").show(); else $("#address_index").hide(); 


}

/// ***************
// показать результирующую карточку заказа для подтверждения покупателем
function showResCard(data) {

	$("#cart_content").load('/sys/confirmcard/',
		function() {$("html,body").scrollTop(100);});

}

function showResCardN(data) {

	$("#cart_content").load('/udata/catalog/confirmCartHtml/modules/',
		function() {$("html,body").scrollTop(100);});

}
// Отправить заказ
function sendCart() {
		url = "/udata/emarket/sendcard/.json?json-callback=showOk";	
		jQuery.ajax({
			type: "get", 
			url: url, 
			dataType: "jsonp"
	})	
}

function showOk(data) {
	var m;

	if (data.result == 'ok') {
		window.location.href = "/sys/complitorder/";

	}	else m = 'Возникла проблема при отправке заказа. Позвоните по телефону в интернет-магазин и сообщите о проблеме.';


	$("#cart_content").html(m);
}
