$(document).ready(function(){
	$("#category_selector").change(function(){
		$("#searchButton").attr("disabled", true); // disable search button for a  while
		$("#categoryMarker").attr("value", this.value);
		
		$("#choose_parameters").toggleClass("sizes_container_animated");
		$("#choose_parameters").attr("innerHTML", "&nbsp");
		$("#sizes_selector").attr("disabled", true);
		$("#matters_selector").attr("disabled", true);
		$("#producers_selector").attr("disabled", true);
		$("#selects_container").load(
			
			baseUrl + "/services/select-loader/category:" + this.value + '/lang:' + lang,
			null,
			function(data){
				$("#choose_parameters").toggleClass("sizes_container_animated");
				$("#choose_parameters").attr("innerHTML", chooseParameters);
				$("#searchButton").attr("disabled", false);
			}
		);
	});
	
	$("#keyword").blur(function(){
		if($("#keyword").attr('value') == '')
			$("#keyword").attr('value', typeKeyword)
	});
	
	$("#keyword").focus(function(){
		if($("#keyword").attr('value') == typeKeyword)
			$("#keyword").attr('value', '')
	});

	$(".banksRadio").click(function(){
		$("#paymentForm").submit();
	});
	
	$("#doNotDeliver").click(function(){
		$("#doNotDeliver").attr('disabled', true);
		$("#postCountingContainer").addClass('selectContainerWithIndicator');
		$("#doNotDeliverLabel").hide();
		$("#doNotDeliver").hide();
		
		var checked = this.checked;
		jQuery.post(
			baseUrl + "/services/get-post-price/",
			{
				doNotDeliver: checked
			},
			function(data){
				$("#doNotDeliver").attr('disabled', false);
				var evaledData = eval('(' + data + ')');

				$("#charges").attr('innerHTML', evaledData.charges);
				$("#deliverPayment").attr('innerHTML', evaledData.totalPostSum);
				$("#priceOverall").attr('innerHTML', evaledData.priceOverall);
				
				$("#deliverPaymentBlock").attr('innerHTML', evaledData.totalPostSum);
				$("#cartContainerTotalPrice").attr('innerHTML', evaledData.priceOverall);
	
				$("#postCountingContainer").removeClass('selectContainerWithIndicator');
				$("#doNotDeliverLabel").show();
				$("#doNotDeliver").show();
	
				// show coupon form
				$("#validCouponCode").slideUp("slow");
				$("#couponContainer").slideDown("slow");
				$(".discount").slideUp("slow");
			}
		);
	});
	
	$("#physicalPerson").click(function(){
		$(".companyInformation").hide();
	});
	
	$("#juridicalPerson").click(function(){
		$(".companyInformation").show();
	});
});

function addItem(element, item){
	jQuery(element).attr('disabled', true); // disable button for a while
	jQuery(element).attr('style', 'margin: 0px 3px 0px 4px;'); // show ajax indicator
	jQuery(element).attr('src', imagesUrl + '/wait18trans.gif'); // show ajax indicator
	
	$(".compareBlock").load(
		baseUrl + "/services/compare-loader/add:" + item + '/lang:' + lang,
		null,
		function(data){
			jQuery(element).attr('disabled', false); // disable button for a while
			var cell = document.getElementById("compareButtonCell_" + item);
			if(cell) {
				cell.innerHTML =  '<img src="' + imagesUrl + '/compare_remove.gif' + '" onclick="deleteItem(this, ' + item + ')" title="' + removeFromComparison + '" alt="' + removeFromComparison + '" />';
			}
		}
	);
}

function deleteItem(element, item){
	jQuery(element).attr('disabled', true); // disable button for a while
	jQuery(element).attr('style', 'margin: 0px 3px 0px 4px;'); // show ajax indicator
	jQuery(element).attr('src', imagesUrl + '/wait18trans.gif'); // show ajax indicator
	
	$(".compareBlock").load(
		baseUrl + "/services/compare-loader/remove:" + item + '/lang:' + lang,
		null,
		function(data){
			refreshCompareItemsTable(item);
			jQuery(element).attr('disabled', false); // disable button for a while
			var cell = document.getElementById('compareButtonCell_' + item);
			if(cell) {
				cell.innerHTML =  '<img src="' + imagesUrl + '/compare.gif' + '" onclick="addItem(this, ' + item + ')" title="' + addForComparison + '" alt="' + addForComparison + '" />';
			}	
		}
	);

	var compareRow = document.getElementById("productCont_" + item);
	if(compareRow) {
		$("#productCont_" + item).hide('slow');
	}
}

function deleteFromCompPage(itemId) {
	$(".compareBlock").load(
		baseUrl + "/services/compare-loader/remove:" + itemId + '/lang:' + lang,
		null,
		function (data){
			refreshCompareItemsTable(itemId);
		}
	);
}

function refreshCompareItemsTable(itemId) {
		if($("#compareItemsTable")) {
			var noItems = document.getElementById('noItemsToCompare');
			if(noItems) {
				$("#compareItemsCont").hide('slow');
				$("#compareNotice").show('slow');
			}
			else {
				$("#productCont_" + itemId).hide('slow');
			}
		}
}

function refreshCartItemsTable(itemId) {
		if($("#cartItemsTable")) {
			var noItems = document.getElementById('noItemsInCart');
			if(noItems) {
				$("#cartItemsCont").hide('slow');
				$(".cartPayment").hide('slow');
				$("#cartNotice").show('slow');
			}
			else {
			}
		}
}

function addToCart(element, item){
	jQuery(element).attr('disabled', true); // disable button for a while
	jQuery(element).attr('src', imagesUrl + '/wait22trans.gif'); // show ajax indicator
	
	$("#noItemsError").hide("slow"); // hide error box
	$("#selectedSuccessful").hide("slow"); // hide success box
	
	var num = $("#numberOfProducts_" + item).attr("value");
	
	jQuery.post(
		baseUrl + "/services/try-to-cart/",
		{
			itemId: item,
			number: num
		},
		function(data){
			if(data == 1) {
				$(".cartBlock").load(
					baseUrl + "/services/cart-loader/add:" + item + "/number:" + num + '/lang:' + lang,
					null,
					function(data){
						$("#selectedSuccessful").show("slow");
						jQuery(element).attr('disabled', false);
					}
				);
			}
			else {
				$("#noItemsError").show("slow"); // show error box
				jQuery(element).attr('disabled', false);
			}
			jQuery(element).attr('src', imagesUrl + '/add_to_cart.gif'); // show button
		}
	);
}

function deleteFromCart(element){
	$(".cartBlock").load(
		baseUrl + "/services/cart-loader/remove:" + jQuery(element).attr('name') + '/lang:' + lang,
		null,
		function(data){
			refreshCartItemsTable(jQuery(element).attr('name'));
		}
	);
	
	var compareRow = document.getElementById("product_" + jQuery(element).attr('name'));
	if(compareRow) {
		$("#product_" + jQuery(element).attr('name')).slideToggle('slow');
	}
	
	// count new overall sum
	jQuery.post(
		baseUrl + "/services/cart-data/", 
		{},
		function(data){
			var evaledData = eval('(' + data + ')');
			var sumSpan = document.getElementById("totalSum");
			var numSpan = document.getElementById("totalNum");
			if(sumSpan && numSpan) {
				$("#totalSum").attr('innerHTML', evaledData.totalSum);
				$("#totalNum").attr('innerHTML', evaledData.totalNum);
				
				$("#charge").attr('innerHTML', evaledData.charge);
				$("#deliverPayment").attr('innerHTML', evaledData.totalPostSum);
				$("#priceOverall").attr('innerHTML', evaledData.priceOverall);
			}
			// show coupon form
			$("#validCouponCode").slideUp("slow");
			$("#couponContainer").slideDown("slow");
			$(".discount").slideUp("slow");
			
			// uncheck do not deliver checkbox
			$("#doNotDeliver").attr('checked', false);
		}
	);
	

}

function recountPrices(element, item) {
	var num = jQuery(element).val();
	var available = 0;
	
	jQuery(element).parent().addClass('selectContainerWithIndicator');
	jQuery(element).hide();
	
	jQuery.post(
		baseUrl + "/services/try-to-decrease-amount/",
		{
			itemId: item,
			number: num
		},
		function(data1){
			if(data1 == 1) {
				var item2 = jQuery(element).attr('name');
				jQuery(element).attr("disabled", true);
				jQuery.post(
					baseUrl + "/services/cart-data/", 
					{
						changeNumber: 1,
						itemId: item2,
						number: num
					},
					function(data){
						var evaledData = eval('(' + data + ')');
						var productPriceSpan = document.getElementById("productPrice_" + item2);
						var sumSpan = document.getElementById("totalSum");
						var numSpan = document.getElementById("totalNum");
				
						if(sumSpan && numSpan && productPriceSpan) {
							// change prices in items table
							jQuery.each(evaledData.items, function(i, val) {
								if(val.cartData.uid) {
									$("#productUniquePrice_" + val.cartData.uid).attr('innerHTML', evaledData.items[i].cartData.oneGoodPrice);
									$("#productPrice_" + val.cartData.uid).attr('innerHTML', evaledData.items[i].cartData.allGoodsPrice);
								}
							});

							$("#cartContainerTotalPrice").attr('innerHTML', evaledData.priceOverall);
							$("#totalSum").attr('innerHTML', evaledData.totalSum);
							$("#totalNum").attr('innerHTML', evaledData.totalNum);

							$("#deliverPayment").attr('innerHTML', evaledData.totalPostSum);
							$("#deliverPaymentBlock").attr('innerHTML', evaledData.totalPostSum);
							$("#charges").attr('innerHTML', evaledData.charges);
							$("#priceOverall").attr('innerHTML', evaledData.priceOverall);
							
						}
						jQuery(element).attr("disabled", false);
						jQuery(element).parent().removeClass('selectContainerWithIndicator');
						jQuery(element).show();
						// show coupon form
						$("#validCouponCode").slideUp("slow");
						$("#couponContainer").slideDown("slow");
						$(".discount").slideUp("slow");
						
						// uncheck do not deliver checkbox
						$("#doNotDeliver").attr('checked', false);
					}
				);
				$("#unavailableItemsError").hide("slow");
				$("#titleContainer_" + item2).removeClass("red");
			}
			else {
				$("#titleContainer_" + item2).addClass("red");
				$("#unavailableItemsError").show("slow");
				jQuery(element).attr("disabled", false);
				$("#amountSelectContainer").removeClass('selectContainerWithIndicator');
				jQuery(element).show();
			}
		}
	);
}

function tryLoginData(){
	$("#loginButton").attr('disabled', true);
	jQuery.post(
		baseUrl + "/services/login-check/", 
		{ 
			usernameBox: $("#usernameBox").attr("value"), 
			passwordBox: $("#passwordBox").attr("value")
		},
		function(data){
			if(data == 1) { // login successfull
				tb_remove();
				document.location = baseUrl + shopUrl;
			}
			else {
				var errors = eval('(' + data + ')');
				
				$("#usernameLabel").removeClass("red");
				$("#passwordLabel").removeClass("red");
							
				if(errors.type == 1) { // login failed
					switch(errors.code){
						case 1: $("#responceLogin").attr("innerHTML", invalidLoginData); break;
						case 2: $("#responceLogin").attr("innerHTML", loginDisabledForUser); break;
						case 3: $("#responceLogin").attr("innerHTML", loginDisabledForGroup); break;
						case 4: $("#responceLogin").attr("innerHTML", loginDisabledGlobally); break;
						default: $("#responceLogin").attr("innerHTML", invalidLoginData);
					}
				}
				else {
					if(errors.type == 2) { // wrong login data
						if(errors.code.usernameBox == 1000 || errors.code.usernameBox == 1){
							$("#usernameLabel").addClass("red");
						}
						if(errors.code.passwordBox == 1000 || errors.code.passwordBox == 3){
							$("#passwordLabel").addClass("red");
						}
						if(errors.code.usernameBox == 1000){
							$("#responceLogin").attr("innerHTML", noUsername);
						}
						else
							if(errors.code.passwordBox == 1000){
								$("#responceLogin").attr("innerHTML", noPassword);
							}
							else
								if(errors.code.usernameBox == 1){
									$("#responceLogin").attr("innerHTML", wrongUsername);
								}
								else
									if(errors.code.passwordBox == 3){
										$("#responceLogin").attr("innerHTML", wrongPassword);
									}
					}
				}
			}
		}
	);
	$("#loginButton").attr('disabled', false);
}

function trySendContacts(){
	$("#contactButton").attr('disabled', true);
	jQuery.post(
		baseUrl + "/services/send-contacts/" + '/lang:' + lang, 
		{ 
			nameContact: $("#nameContact").attr("value"), 
			questionContact: $("#questionContact").attr("value"),
			emailContact: $("#emailContact").attr("value"),
			phoneContact: $("#phoneContact").attr("value")
		},
		function(data){
			$("#nameContactLabel").removeClass("red");
			$("#questionContactLabel").removeClass("red");
			$("#emailContactLabel").removeClass("red");
			$("#phoneContactLabel").removeClass("red");
			
			if(data == 1) { // contacts sent successfully
				$("#nameContact").attr("value", '');
				$("#questionContact").attr("value", '');
				$("#emailContact").attr("value", '');
				$("#phoneContact").attr("value", '');
				
				$("#responceContact").addClass('green');
				$("#responceContact").attr("innerHTML", success);
			}
			else { // wrong contact data				
				$("#responceContact").removeClass('green');
				var errors = eval('(' + data + ')');
				
				$("#responceContact").addClass('red');
				
				if(errors.code.nameContact == 1000 || errors.code.nameContact == 1) {
					$("#nameContactLabel").addClass("red");
				}
				
				if(errors.code.questionContact == 1000 || errors.code.questionContact == 1) {
					$("#questionContactLabel").addClass("red");
				}
				
				if(errors.code.emailContact == 1000 || errors.code.emailContact == 1) {
					$("#emailContactLabel").addClass("red");
				}
				
				if(errors.code.phoneContact == 1) {
					$("#phoneContactLabel").addClass("red");
				}
				
				if(errors.code.nameContact == 1000) {
					$("#responceContact").attr("innerHTML", noName);
				}
				else
					if(errors.code.questionContact == 1000) {
						$("#responceContact").attr("innerHTML", noQuestion);
					}
					else
						if(errors.code.emailContact == 1000) {
							$("#responceContact").attr("innerHTML", noEmail);
						}
						else
							if(errors.code.nameContact == 1) {
								$("#responceContact").attr("innerHTML", wrongName);
							}
							else
								if(errors.code.questionContact == 1) {
									$("#responceContact").attr("innerHTML", wrongQuestion);
								}
								else
									if(errors.code.emailContact == 1){
										$("#responceContact").attr("innerHTML", wrongEmail);
									}
									else
										if(errors.code.phoneContact == 1) {
											$("#responceContact").attr("innerHTML", wrongPhone);
										}
				
			}
	});
	$("#contactButton").attr('disabled', false);
}
/*
function trySendSubscribe(){
	$("#subscribeButton").attr('disabled', true);
	jQuery.post(
		baseUrl + "/services/send-subscribe/" + '/lang:' + lang, 
		{ 
			nameSubscribe: $("#nameSubscribe").attr("value"), 
			emailSubscribe: $("#emailSubscribe").attr("value"),
		},
		function(data){
			$("#nameSubscribeLabel").removeClass("red");
			$("#emailSubscribeLabel").removeClass("red");
			
			if(data == 1) { // Subscribes sent successfully
				$("#nameSubscribe").attr("value", '');
				$("#emailSubscribe").attr("value", '');
				
				$("#responceSubscribe").addClass('green');
				$("#responceSubscribe").attr("innerHTML", successC);
			}
			else { // wrong Subscribe data				
				$("#responceSubscribe").removeClass('green');
				var errors = eval('(' + data + ')');
				
				$("#responceSubscribe").addClass('red');
				
				if(errors.code.nameSubscribe == 1000 || errors.code.nameSubscribe == 1) {
					$("#nameSubscribeLabel").addClass("red");
				}
				
				if(errors.code.emailSubscribe == 1000 || errors.code.emailSubscribe == 1) {
					$("#emailSubscribeLabel").addClass("red");
				}
				
				if(errors.code.nameSubscribe == 1000) {
					$("#responceSubscribe").attr("innerHTML", noName);
				}
				else
					if(errors.code.emailSubscribe == 1000) {
						$("#responceSubscribe").attr("innerHTML", noEmail);
					}
					else
						if(errors.code.nameSubscribe == 1) {
							$("#responceSubscribe").attr("innerHTML", wrongName);
						}
						else
							if(errors.code.emailSubscribe == 1){
								$("#responceSubscribe").attr("innerHTML", wrongEmail);
							}
				
			}
	});
	$("#subscribeButton").attr('disabled', false);
}
*/

function trySendWholesalersContacts() {
	$("#WholesalersContactButton").attr('disabled', true);
	jQuery.post(
		baseUrl + "/services/send-wholesaler-contacts/" + '/lang:' + lang, 
		{ 
			nameWholesalersContact: $("#nameWholesalersContact").attr("value"), 
			surnameWholesalersContact: $("#surnameWholesalersContact").attr("value"),
			messageWholesalersContact: $("#messageWholesalersContact").attr("value"),
			emailWholesalersContact: $("#emailWholesalersContact").attr("value"),
			phoneWholesalersContact: $("#phoneWholesalersContact").attr("value")
		},
		function(data){
			$("#nameWholesalersContactLabel").removeClass("red");
			$("#surnameWholesalersContactLabel").removeClass("red");
			$("#messageWholesalersContactLabel").removeClass("red");
			$("#emailWholesalersContactLabel").removeClass("red");
			$("#phoneWholesalersContactLabel").removeClass("red");
			
			if(data == 1) { // contacts sent successfully
				$("#nameWholesalersContact").attr("value", '');
				$("#surnameWholesalersContact").attr("value", '');
				$("#messageWholesalersContact").attr("value", '');
				$("#emailWholesalersContact").attr("value", '');
				$("#phoneWholesalersContact").attr("value", '');
			
				$("#responceWholesalersContact").addClass('green');
				$("#responceWholesalersContact").attr("innerHTML", success);
			}
			else { // wrong contact data
				$("#responceWholesalersContact").removeClass('green');
				var errors = eval('(' + data + ')');
				
				$("#responceWholesalersContact").addClass('red');
				
				if(errors.code.nameWholesalersContact == 1000 || errors.code.nameWholesalersContact == 1) {
					$("#nameWholesalersContactLabel").addClass("red");
				}
				
				if(errors.code.surnameWholesalersContact == 1000 || errors.code.surnameWholesalersContact == 1) {
					$("#surnameWholesalersContactLabel").addClass("red");
				}
				
				if(errors.code.messageWholesalersContact == 1000 || errors.code.messageWholesalersContact == 1) {
					$("#messageWholesalersContactLabel").addClass("red");
				}
				
				if(errors.code.emailWholesalersContact == 1000 || errors.code.emailWholesalersContact == 1) {
					$("#emailWholesalersContactLabel").addClass("red");
				}
				
				if(errors.code.phoneWholesalersContact == 1) {
					$("#phoneWholesalersContactLabel").addClass("red");
				}
				
				if(errors.code.nameWholesalersContact == 1000) {
					$("#responceWholesalersContact").attr("innerHTML", noName);
				}
				else
					if(errors.code.surnameWholesalersContact == 1000) {
						$("#responceWholesalersContact").attr("innerHTML", noSurname);
					}
					else
						if(errors.code.messageWholesalersContact == 1000) {
							$("#responceWholesalersContact").attr("innerHTML", noMessage);
						}
						else
							if(errors.code.emailWholesalersContact == 1000) {
								$("#responceWholesalersContact").attr("innerHTML", noEmail);
							}
							else
								if(errors.code.nameWholesalersContact == 1) {
									$("#responceWholesalersContact").attr("innerHTML", wrongName);
								}
								else
									if(errors.code.surnameWholesalersContact == 1) {
										$("#responceWholesalersContact").attr("innerHTML", wrongSurname);
									}
									else
										if(errors.code.messageWholesalersContact == 1){
											$("#responceWholesalersContact").attr("innerHTML", wrongMessage);
										}					
										else
											if(errors.code.emailWholesalersContact == 1){
												$("#responceWholesalersContact").attr("innerHTML", wrongEmail);
											}
											else
												if(errors.code.phoneWholesalersContact == 1) {
													$("#responceWholesalersContact").attr("innerHTML", wrongPhone);
												}
				
			}
			$("#WholesalersContactButton").attr('disabled', false);
	});
}

function showHideProducts(anchor) {
	$(".hiddenProducts").slideToggle();
	if(jQuery(anchor).attr('innerHTML') == showProducts) {
		$("#toggleBottom").attr('innerHTML', hideProducts);
		$(anchor).removeClass('expand');
		$(anchor).addClass('suspend');
	}
	else {
		$("#toggleBottom").attr('innerHTML', showProducts);
		$(anchor).removeClass('suspend');
		$(anchor).addClass('expand');
	}
}
