$(document).ready(function() {

	$('#calculator_page .calc-info span').click(function(){
		if ($(this).attr('class') == 'doors') {
			$.scrollTo( '#calculator_page ol > li:eq(0)', 1000, {
				offset: {top:-5, left: 0}
			});
		} else if ($(this).attr('class') == 'additions') {
			$.scrollTo( '#calculator_page ol > li:eq(1)', 1000, {
				offset: {top:-5, left: 0}
			});
		}
	});

	$("#door_quantity").keydown(function (event) {
        if ((event.keyCode >= 44 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) /*|| (event.keyCode == 188) || (event.keyCode == 190) || (event.keyCode == 110)*/) // 0-9 or numpad 0-9 + ',' + '.' + numpad ','
        {
        // check textbox value now and tab over if necessary
        }
        else if (event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 37 && event.keyCode != 39) // not esc, del, left or right
        {
            event.preventDefault();
        }
    // else the key should be handled normally
    });

	$('#door_quantity').focusout(function(){
		if ($('#door_quantity').val() == '' || $('#door_quantity').val() == '0' || $('#door_quantity').val() == '00' || $('#door_quantity').val() == '000' || $('#door_quantity').val() == '0000') {
			$('#door_quantity').val('1');
		} else {
			
		}
	});
	
	$('#calculator_recalculate_price').click(function(){
		var Data = $("form input[type!=submit], form select").serialize();
		$('#results').fadeOut('slow', function() {
			$.ajax({
					type: "POST",
					url: urlBase + "calculator_ajax/AddToClipboard",
					data: Data,
					async: false,
					success: function(serverResponse) {
						var obj = $.parseJSON(serverResponse);
						$('#clipboard .content').html(obj.clipboard);
						switch (obj.response) {
							case true:
								$('#results #message').html(obj.message);
								$('#results').fadeIn('slow', function(){
									setTimeout(function(){
										$('#results').fadeOut('slow', function(){
											$.scrollTo('#calculator_page', 1000, {
												offset: {top: -15}
											});
											$('#results #message').html('');
										});
									}, 2000);
								});
								break;
							case false:
								if (obj.form != '' && obj.form != undefined && obj.form != 'undefined') {
									$.fancybox(
										obj.form,
										{
											'margin' : 0,
											'padding' : 0,
											'speedIn' : 400,
											'speedOut' : 400
										}
									);
								}
								break;
						}
					}
				});
				return false;
		});
		
//		var Data = new Object();
//		$.each ($('.basic_data input[type!=submit], .basic_data select'), function(){
//			Data[$(this).attr('name')] = $(this).val();
//		});
		
//		$.ajax({
//            type: "POST",
//            url: urlBase + "calculator_ajax/CheckLogin",
//            data: '',
//            async: false,
//            success: function(serverResponse) {				
//				var obj = eval("("+serverResponse+")");
//				switch (obj.response) {
//					case true:
////						tutaj jakies przeliczenia
//						break;
//					case false:
//						$.fancybox(
//							obj.form.toString(),
//							{
////								'autoDimensions'	: false,
////								'width'         		: 450,
////								'height'        		: 'auto',
//								'speedIn' : 400,
//								'speedOut' : 400
//							}
//						);
//						break;
//				}
//            }
//        });
//        return false;
	});
	/* Edycja schowka */
	$('#clipboard .clipboard_edit').live('click', function(){
		$.ajax({
			type: "POST",
			url: urlBase + "calculator_ajax/EditClipboard",
			data: 'clipboard_id=' + encodeURIComponent($(this).attr('id')),
			async: false,
			success: function(serverResponse) {
				var obj = $.parseJSON(serverResponse);
				$('#clipboard .content').html(obj.clipboard);
				switch (obj.response) {
					case 'success':
						var url = urlBase + "oferta/cennik-online";
						$(location).attr('href', url);
						break;
					case 'error':
						break;
				}
			}
		});
	});
	/* Usuwanie ze schowka */
	$('.clipboard_remove').live('click', function(){
		var answer = confirm("Czy chcesz usunąć wybraną pozycję?")
		if (answer){
			$.ajax({
					type: "POST",
					url: urlBase + "calculator_ajax/RemoveFromClipboard",
					data: 'clipboard_id=' + encodeURIComponent($(this).attr('id')),
					async: false,
					success: function(serverResponse) {
						var obj = $.parseJSON(serverResponse);
						$('#clipboard .content').html(obj.clipboard);
						switch (obj.response) {
							case 'success':
								break;
							case 'error':
								break;
						}
					}
				});
		}
	});
	
	$('#login_form').live('submit', function(){
		$('.fancybox .message').fadeOut('slow', function(){
			$.ajax({
				type: "POST",
				url: urlBase + "calculator_ajax/LoginCustomer",
				data: 'customer_email=' + encodeURIComponent($('#customer_email').val()) + '&customer_password=' + encodeURIComponent($('#customer_password').val()),
				async: false,
				success: function(serverResponse) {
					var obj = eval("("+serverResponse+")");
					switch (obj.response) {
						case 'success':
							var string = 'Zalogowany jako: <strong>';
							if (obj.customer.first_name != '' && obj.customer.first_name != undefined && obj.customer.first_name != 'undefined' && obj.customer.last_name != '' && obj.customer.last_name != undefined && obj.customer.last_name != 'undefined') {
								string += obj.customer.first_name + ' ' + obj.customer.last_name + '</strong> (<strong>' + obj.customer.email + '</strong>)';
							} else {
								string += obj.customer.email + '</strong>';
							}
							string += ' <a class="more" href="' + urlBase + 'app_customers/logout">wyloguj</a>';
							$('.login_info').html(string);
							$('#clipboard .content').html(obj.clipboard);
							$.fancybox.close();
							break;
						case 'error':
							$('.fancybox .message').html(obj.message);
							$('.fancybox .message').fadeIn('slow');
							break;
					}
					return false;
				}
			});
			return false;
		});
		return false;
	});
	
	$('.basic_data #door_kind').change(function() {
		$('#additions, #quantity, #results').fadeOut('slow');
		$('#door_code').selectOptions('0', true);
		$('#addition_categories').selectOptions('0', true);
        $.ajax({
            type: "POST",
            url: urlBase + "calculator_ajax/GetModels",
            data: 'door_kind_id=' + encodeURIComponent($('#door_kind').val()),
            async: false,
            success: function(serverResponse) {
                if (serverResponse != false || serverResponse != null) {
					$('.basic_data #door_model').html(serverResponse);
					$('.basic_data #door_type').html('<option value="0" selected="selected">Dowolny</option>');
					$('.door_type').addClass('disabled');
					$('.basic_data #door_dimension').html('<option value="0" selected="selected">Dowolny</option>');
					$('.door_dimension').addClass('disabled');
					if ($('#door_kind').val() != 0) {
						$('.door_model').removeClass('disabled');
					} else {
						$('.door_model').addClass('disabled');
					}
					return true;
				}
            }
        });
        return false;
    });
	
	$('.basic_data #door_model').change(function() {
		$('#additions, #quantity, #results').fadeOut('slow');
		$('#door_code').selectOptions('0', true);
        $.ajax({
            type: "POST",
            url: urlBase + "calculator_ajax/GetTypes",
            data: 'door_model_id=' + encodeURIComponent($('#door_model').val()),
            async: false,
            success: function(serverResponse) {
                if (serverResponse != false || serverResponse != null) {
					$('.basic_data #door_type').html(serverResponse);
					$('.basic_data #door_dimension').html('<option value="0" selected="selected">Dowolny</option>');
					$('.door_dimension').addClass('disabled');
					$('.door_type').removeClass('disabled');
					if ($('#door_model').val() != 0) {
						$('.door_type').removeClass('disabled');
					} else {
						$('.door_type').addClass('disabled');
					}
					return true;
				}
            }
        });
        return false;
    });
	
	$('.basic_data #door_type').change(function() {
		$('#additions, #quantity, #results').fadeOut('slow');
		$('#door_code').selectOptions('0', true);
        $.ajax({
            type: "POST",
            url: urlBase + "calculator_ajax/GetDimension",
            data: 'door_kind_id=' + encodeURIComponent($('#door_kind').val()) +
				'&door_model_id=' + encodeURIComponent($('#door_model').val()) +
				'&door_type_id=' + encodeURIComponent($('#door_type').val()),
            async: false,
            success: function(serverResponse) {
                if (serverResponse != false || serverResponse != null) {
					$('.basic_data #door_dimension').html(serverResponse);
					$('.door_dimension').removeClass('disabled');
					if ($('#door_type').val() != 0) {
						$('.door_dimension').removeClass('disabled');
					} else {
						$('.door_dimension').addClass('disabled');
					}
					return true;
				}
            }
        });
        return false;
    });
	
	$('.basic_data #door_dimension').change(function() {
		$('#additions').fadeOut('slow', function() {
			$('#quantity, #results').fadeOut('slow');
			$('#door_code').selectOptions('0', true);
			if ($('#door_dimension').val() != 0) {
				$.ajax({
					type: "POST",
					url: urlBase + "calculator_ajax/GetAdditions",
					data: 'door_kind_id=' + encodeURIComponent($('#door_kind').val()) +
						'&door_model_id=' + encodeURIComponent($('#door_model').val()) +
						'&door_type_id=' + encodeURIComponent($('#door_type').val()) +
						'&door_dimension_id=' + encodeURIComponent($('#door_dimension').val()),
					async: false,
					success: function(serverResponse) {
						var obj = $.parseJSON(serverResponse);
						switch (obj.response) {
							case 'success':
								$('#additions #message').removeClass('error');
								$('#additions #message').html(''); // Tu ew. jakis komunikat
								$('#additions #message').css('display', 'none');
								$('#additions .content').html(obj.additions_view);
								$('#door_code').selectOptions(obj.code_id, true);
								$('#additions').fadeIn('slow', function(){
									$.scrollTo('#additions', 1000, {
										offset: {top: -15}
									});
								});
								$('#quantity').fadeIn('slow');
								return true;
								break;
							case 'error':
								$('#additions #message').addClass('error');
								$('#additions #message').html(obj.message);
								$('#additions').fadeIn('slow');
								return false;
								break;
						}
					}
				});
				return false;
			}			
		});
    });
	
	$('.search_code_submit').click(function(){
		$('#additions').fadeOut('slow', function() {
			$('#additions .content').html('');
			$('#results #message').html('');
			$('#additions #message').html('');
			$('#additions #message').removeAttr('class');
			$('#quantity, #results').fadeOut('slow');
			$('#addition_categories').selectOptions('0', true);
			$('.basic_data #door_model').html('<option value="0" selected="selected">Dowolny</option>');
			$('.door_model').addClass('disabled');
			$('.basic_data #door_type').html('<option value="0" selected="selected">Dowolny</option>');
			$('.door_type').addClass('disabled');
			$('.basic_data #door_dimension').html('<option value="0" selected="selected">Dowolny</option>');
			$('.door_dimension').addClass('disabled');
			$('#addition_models').html('<option value="0" selected="selected">Dowolny</option>');
			$('#addition_models').addClass('disabled');
			if ($('#door_code').val() != '' || $('#door_code').val() != 'Wpisz kod') {
				$.ajax({
					type: "POST",
					url: urlBase + "calculator_ajax/GetResultsByCode",
					data: 'door_code=' + encodeURIComponent($('#door_code').val()),
					async: false,
					success: function(serverResponse) {
						var obj = eval("("+serverResponse+")");
						switch (obj.response) {
							case 'success':
								$('.basic_data span').removeClass('disabled');
								$('.basic_data #door_kind').html(obj.door_kind);
								$('.basic_data #door_type').html(obj.door_type);
								$('.basic_data #door_model').html(obj.door_model);
								$('.basic_data #door_dimension').html(obj.door_dimension);
								$('#additions #message').removeClass('error');
								$('#additions #message').html('');
								$('#additions #message').css('display', 'none');
								$('#additions .content').html(obj.additions_view);
								$('#additions').fadeIn('slow', function() {
									$.scrollTo('#additions', 1000, {
										offset: {top: -15}
									});
								});
								$('#additions, #quantity').fadeIn('slow');

								return true;
								break;
							case 'error':
								$('#additions #message').addClass('error');
								$('#additions #message').html(obj.message);
								$('#additions #message').fadeIn('slow');
								$('#additions').fadeIn('slow');
								return false;
								break;
						}
					}
				});
				return false;
			} else {
				
			}
		});
	});

	$('#clipboard .send_order').live('click', function(){
		var answer = confirm("Czy chcesz przesłać wycenę?")
		if (answer){
			$.ajax({
					type: "POST",
					url: urlBase + "calculator_ajax/SendOrder",
					data: 'clipboard_id=' + encodeURIComponent($(this).attr('id')),
					async: false,
					success: function(serverResponse) {
						var url = urlBase + "oferta/cennik-online";
						$(location).attr('href',url);

						return true;
//						var obj = $.parseJSON(serverResponse);
//						$('#clipboard .content').html(obj.clipboard);
//						switch (obj.response) {
//							case 'success':
//								break;
//							case 'error':
//								break;
//						}
					}
				});
		}
	});

	$("#clipboard li p").live('mouseover', function(){
		var msie = $.browser.msie;
		var mozilla = $.browser.mozilla;
		var offset_x = 0;
		var offset_y = 0;
		if (msie == true) {
			offset_x = -35;
			offset_y = 31;
		} else if (mozilla == true) {
			offset_x = -30;
			offset_y = 31;
		} else {
			offset_x = -25;
			offset_y = 30;
		}
		if (!$(this).hasClass("has_tooltip")){
			$(this).addClass("has_tooltip").tooltip(
				{
					effect: 'fade',
					offset: [offset_y, offset_x],
					events: {
						  def:     "mouseover,mouseout",
						  input:   "focus,blur",
						  widget:  "focus mouseover,blur mouseout",
						  tooltip: "focus mouseover,blur mouseout"
						},
					position: 'top left'
				}).dynamic(
		//				{
		//					bottom: {direction: 'bottom'},
		//					top: {direction: 'top'}
		//				}
				);
		}

	});

	$('#addition_models').change(function(){		
		if ($(this).val() != '0') {
			$('#quantity').fadeIn('slow');
		} else {
			$('#quantity').fadeOut('slow');
		}
	});

	$('#addition_categories').live('change', function(){
		$('#additions').fadeOut('slow', function() {
			$('#additions .content').html('');
			$('#quantity').fadeOut('slow');
			$('#door_code').selectOptions('0', true);
			$('#door_kind').selectOptions('0', true);
			$('#additions #message').html('');
			$('#additions #message').removeAttr('class');
			$('#results #message').html('');
			$('.basic_data #door_model').html('<option value="0" selected="selected">Dowolny</option>');
			$('.basic_data .door_model').addClass('disabled');
			$('.basic_data #door_type').html('<option value="0" selected="selected">Dowolny</option>');
			$('.door_type').addClass('disabled');
			$('.basic_data #door_dimension').html('<option value="0" selected="selected">Dowolny</option>');
			$('.door_dimension').addClass('disabled');
			if ($('#addition_categories').val() == '0') {
				$('#addition_models').html('<option value="0" selected="selected">Dowolny</option>');
				$('#addition_models').addClass('disabled');
			} else {
				$.ajax({
						type: "POST",
						url: urlBase + "calculator_ajax/GetAdditionsForCat",
						data: 'cat_id=' + encodeURIComponent($('#addition_categories').val()),
						async: false,
						success: function(serverResponse) {
							var obj = $.parseJSON(serverResponse);
							switch (obj.response) {
								case 'success':
									$('#additions .content').html(obj.view);
									$('#additions').fadeIn('slow', function(){
										$.scrollTo('#additions', 1000, {
											offset: {top: -15}
										});
									});
									$('#additions, #quantity').fadeIn('slow');
									return true;
									break;
								case 'error':
									return false;
									break;
							}
						}
				});
			}
		});
	});
});

