$(document).ready(function(){
	$('#zipdiv .cities .city-item a').click(function(e) {
		e.preventDefault();
		var citystate = $(this).html().split(',');
		var city = jQuery.trim( citystate[0] );
		var state = jQuery.trim( citystate[1] );
		$('#email-signup-form form input[name="city"]').val( city );
		$('#email-signup-form form input[name="state"]').val( state );
		$('#email-signup-form form').submit();
	});

/*
	var options = {url: ''};
	$('#blackFridayForm').ajaxForm(
	{
		dataType : 'json',
		beforeSubmit : function(formData, jqForm, options) {
			
			//console.log('VALIDATE ZIP, REVALIDATE');
			
		},
		success : function(data, statusText, xhr, $form) {
		}
	});
*/	
	
	function ajaxBlocked(ajaxButton) {
		if ($('.ajax-spinner').length > 0)
			return true;
		ajaxBlockedTmp = $(ajaxButton).replaceWith(cartajaxspinner);
	}
	
	$('#blackFridayForm').ajaxForm(
			{
		dataType : 'json',
		beforeSubmit : function(formData, jqForm, options) {
			//alert ('form button: '+$(jqForm).find('button'));
			var nameflag = 0;
			var emailflag = 0;
			var zipflag = 0;
			
			var flag = 0;
			if (!$('#promolead_firstname').val()){
				$('#promolead_firstname-error').show();
			}else{
				$('#promolead_firstname-error').hide();
				nameflag = 1;
			};
			
			if(!$('#promolead_zip').val()){				
				$('#zip-input-error').show();				
				$('#zip-input-error2').hide();
			}else{
				var zipcodeNumberPattern = /^\d{5}(\-\d{4})?$/;
				var zipcode = $('#promolead_zip').val();
				if(zipcodeNumberPattern.test(zipcode) == false) {
					$('#zip-input-error2').show();	
					$('#zip-input-error').hide();
			    }else{
					$('.zipcode_error_message').hide();
					$('#zip-input-error2').hide();
					$('#zip-input-error').hide();
					zipflag = 1;
				}
			}
			
			if(!$('#promolead_email').val()){
				$('#email-input-error').show();
				$('#email2-input-error').hide();
			}
			else{
			    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
			    var address = $('#promolead_email').val();
			    if(reg.test(address) == false) {
					$('#email2-input-error').show();
					$('#email-input-error').hide();
			    }else{
					$('#email2-input-error').hide();
					$('#email-input-error').hide();
					emailflag = 1;
				}
			}
			
			if( nameflag == 0 || zipflag == 0 || emailflag == 0){
				return false;
			}
			
			if (ajaxBlocked($(jqForm).find('button')))
				return false;
				},
		success : function(data, statusText, xhr, $form) {

			if (data.islocationset || data.doRedirect) {
				if (data.redirect) {
					document.location = data.redirect;
				} else {
					//temp, no reload
					//document.location.reload(true);
				}
			} else {

				if(data.cities) {
					
					ajaxUnblock();

					$('input[name=zip]').keyup(function(){
						if($(this).val().length < 5)
						{
							$('.cities').hide();
							$('input[name="city"]').val('');
						}
					});

					if($('.cities.box').length)
					{
						$('.cities.box').remove();
					}

					var options = '<div class="cities box">';

					options += '<input name="city" type="hidden"/>';
					options += '<div class="topleft"><div class="topright">';
					options += '<div class="item-feature-icons-text">Please select your city.</div>';

					//THIS ZIP CODE CITIES
					for(var i = 0; i < data.cities.city.length; i++ )
					{
						options += '<div class="city-item"><a>'+ data.cities.city[i] + ", " + data.cities.state[i] +'</a></div>';						
					}

					//ALL CITIES
					var all_cities = '';
					all_cities += '<option value=""></option>';
					for(var i = 0; i < data.all_cities.length; i++ )
					{
						all_cities += '<option value="' + data.all_cities[i] + '">' + data.all_cities[i] +'</option>';
					}

					options += '<br/><div class="item-feature-icons-text">Or, tell us your city &amp; state:</div>';

					options += '<div class="box-city-state clearfix"><div class="form-input-warning-box">   <div class="form-zipentry-top-outer"><div class="form-zipentry-top-inner"></div></div>   <div class="form-zipentry-content">';

					options += ' <input type="text" class="clear-this input-shadowed input-text-city" name="city-user"/>&nbsp;<select name="state-user" class="input-shadowed">'+ all_cities +'</select>';

					options += '<div class="form-error-input-city-state" style="display: none;"></div>';

										  //warning
					options += '</div>   <div class="form-zipentry-bottom-outer"><div class="form-zipentry-bottom-inner"></div></div>   </div></div>';

					options += '</div></div><div class="bottomleft"><div class="bottomright"></div></div>';

					var classList = xhr[0].className.split(/\s+/);

					if (classList.length > 1) {
						var baseForm = $('.inline-zip-form.' + classList[1]);
					} else {
						var baseForm = $('#blackFridayForm');
					}
					var targetBase = '';
					if(baseForm.find('.item-zip-wrapper-tall').length != 0)
					{
						baseForm.find('.item-zip-wrapper-tall').append(options);
						targetBase = baseForm.find('.item-zip-wrapper-tall');
					}
					else if(baseForm.find('.item-zip-wrapper').length != 0)
					{
						baseForm.find('.item-zip-wrapper').append(options);
						targetBase = baseForm.find('.item-zip-wrapper');
					}
					else 
					{
						baseForm.append(options);
						targetBase = baseForm;
					}


					$('.city-item a').click(function(e){
						//do post
						e.preventDefault();

						ajaxUnblock();

						$('input[name="city"]').val($(this).text());
						baseForm.submit();

					});
					$('select[name="state-user"]').change(function(e){
						$('input[name="zip"]').val(''); //disregard zip code if user enter c/s manually
						$('input[name="city"]').val($('input[name="city-user"]').val()+  ", "+ $(this).val());

						ajaxUnblock();

						baseForm.submit();

					});

					$('input[name="city-user"]').keyup(function(){
						ajaxUnblock();
						$('input[name="city"]').val($(this).val()+  ", "+ $('select[name="state-user"]').val());
					});


				} else {

					ajaxUnblock();

					//if not able to load entered city and state
					if(data.target_item) {
						var target_item = 'zip'; //default
							target_item =  data.target_item;

						$('.form-error-input-' + target_item).fadeOut('normal', function() {							
							$('.box-' + target_item).addClass('popup-zipcode-error');
							$('.form-error-input-' + target_item).html(data.message);
							$('.form-error-input-' + target_item).fadeIn();
						});
					} else {  //normal
						
						$('.cities').remove();

						$('#lightbox-container-content').html('<h3 class="question-title">We\'re sorry.</h3>' + data.message);
						$('#lightbox-container').addClass('popup-zipcode');
						$('#lightbox-container-content p').addClass('copy');
						$('#lightbox-container-content h4').remove();

						hbxFailedZip(this.data,	'zipsearch_failed');

						$('#lightbox-container').jqmShow();
					}


				}
			}
		}

	});
	

	
	
		
});
