var defaultVirtualTour = 'e.g. http://www.myvirtualtour.com';
var defaultTagline = 'vudaa antalya ';
var emailInvalidError = false;
var emailMatchError = false;
var passwordInvalidError = false;
var passwordMatchError = false;

$(document).ready(function() {
	$('#lightboxLogin .closeX').click(function() {
		$('#lightboxBg').removeClass('show');
		$('#lightboxLogin').removeClass('show');
		return false;
	});

	$('.loginLink').click(function() {
		$('#lightboxBg').addClass('show');
		$('#lightboxLogin').addClass('show');
		$('#lbEmail').focus();
		$('#szTrackBack').val('/listing/new/restore/' + $('#zipCode').val());
		window.scrollTo(0,0);
		return false;
	});
	
	if($('#Messages').val() == '' || $('#Messages').val() == defaultTagline) {
		$('#Messages').addClass('example');
		$('#Messages').val(defaultTagline);
	}
	else {
		updateCharacterLimit();
	}

	if($('#virtualTour').val() == '' || $('#virtualTour').val() == defaultVirtualTour) {
		$('#virtualTour').addClass('example');
		$('#virtualTour').val(defaultVirtualTour);
	}

	$('a.toolTip').cluetip({width: '300px'});

	if($.browser.msie && $.browser.version < 7) {
		$('#priceTip').mouseover(function() {
			$('#propertyTypeCode').addClass('hide');
		});

		$('#priceTip').mouseout(function() {
			$('#propertyTypeCode').removeClass('hide');
		});

		$('#virtualTip').mouseover(function() {
			$('#garageSize').addClass('hide');
			$('#flexTypeCode').addClass('hide');
		});

		$('#virtualTip').mouseout(function() {
			$('#garageSize').removeClass('hide');
			$('#flexTypeCode').removeClass('hide');
		});

		$('#flexTip').mouseover(function() {
			$('#garageSize').addClass('hide');
			$('#flexTypeCode').addClass('hide');
		});

		$('#flexTip').mouseout(function() {
			$('#garageSize').removeClass('hide');
			$('#flexTypeCode').removeClass('hide');
		});
	}

	$('#step3Header').click(function() {
		//This is for optimizer, if the section has a noChange class
		//we dont allow expansion/contraction
		if($(this).hasClass("noChange")) {
			return false;
		}

		$(this).blur();
		$('#linkStep3').toggleClass("collapsed");
		$('#linkStep3').toggleClass("expanded");
		if($('input[@name=detailsOpen]').val() == '1') {
			$('input[@name=detailsOpen]').val('');
			if($.browser.msie && $.browser.version > 6) {
				$('#step3Wrap').css('display', 'none');
			}
			else {
				$('#step3Wrap').animate({height: "hide"}, 2000, "easeOutExpo");
			}
		}
		else {
			$('input[@name=detailsOpen]').val('1');
			if($.browser.msie && $.browser.version > 6) {
				$('#step3Wrap').css('display', 'block');
			}
			else {
				$('#step3Wrap').animate({height: "show"}, 2000, "easeOutExpo");
			}
		}
		return false;
	});

	$('#step4Header').click(function() {
		//This is for optimizer, if the section has a noChange class
		//we dont allow expansion/contraction
		if($(this).hasClass("noChange")) {
			return false;
		}

		$(this).blur();
		$('#linkStep4').toggleClass("collapsed");
		$('#linkStep4').toggleClass("expanded");
		if($('input[@name=headlineOpen]').val() == '1') {
			$('input[@name=headlineOpen]').val('');
			if($.browser.msie && $.browser.version > 6) {
				$('#step4Wrap').css('display', 'none');
			}
			else {
				$('#step4Wrap').animate({height: "hide"}, 2000, "easeOutExpo");
			}
		}
		else {
			$('input[@name=headlineOpen]').val('1');
			if($.browser.msie && $.browser.version > 6) {
				$('#step4Wrap').css('display', 'block');
			}
			else {
				$('#step4Wrap').animate({height: "show"}, 2000, "easeOutExpo");
			}
		}
		return false;
	});
	
	
	
	
	$('#step5Header').click(function() {
		//This is for optimizer, if the section has a noChange class
		//we dont allow expansion/contraction
		if($(this).hasClass("noChange")) {
			return false;
		}

		$(this).blur();
		$('#linkStep5').toggleClass("collapsed");
		$('#linkStep5').toggleClass("expanded");
		if($('input[@name=photosOpen]').val() == '1') {
			$('input[@name=photosOpen]').val('');
			if($.browser.msie && $.browser.version > 6) {
				$('#step5Wrap').css('display', 'none');
			}
			else {
				$('#step5Wrap').animate({height: "hide"}, 2000, "easeOutExpo");
			}
		}
		else {
			$('input[@name=photosOpen]').val('1');
			if($.browser.msie && $.browser.version > 6) {
				$('#step5Wrap').css('display', 'block');
			}
			else {
				$('#step5Wrap').animate({height: "show"}, 2000, "easeOutExpo");
			}
		}
		return false;
	});
	

	$("#Messages").keyup(function() { updateCharacterLimit(); });

	$('#Messages').focus(function(){
			if($(this).val() == defaultTagline){ 
				$(this).removeClass('example');
				$(this).val(''); 
			}
	});

	$('#Messages').blur(function(){
			if($(this).val() == '') { 
				$(this).addClass('example');
				$(this).val(defaultTagline); 
			}
	});

	$('#virtualTour').focus(function() {
		$(this).removeClass('example');
		if($(this).val() == defaultVirtualTour) {
			$(this).val('');
		}
	});

	$('#virtualTour').blur(function() {
		if($(this).val() == '') {
			$(this).addClass('example');
			$(this).val(defaultVirtualTour);
		}
	});

	$('#Email').keyup(function() {$('#loginEmail').html($(this).val()); });

	$('#Email').blur(function() {$('#loginEmail').html($(this).val()); });

	$('#Email').blur(function() {
		currentEmail = $('#Email').val();
		emailPattern = /^[a-zA-Z0-9._%\-]+@([a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]\.)+[a-zA-Z]{2,}$/;
		if(!currentEmail.match(emailPattern)) {
			$('#emailMatchError').hide();
			$('#emailInvalidError').fadeIn();
			emailInvalidError = true;
		}
		else {
			$('#emailInvalidError').fadeOut();
			emailInvalidError = false;
		}
	});

	$('#emailAddressConf').blur(function() {
		if($('#Email').val() != $('#emailAddressConf').val() && !emailInvalidError) {
			$('#emailMatchError').fadeIn();
			emailMatchError = true;
		}
		else {
			$('#emailMatchError').fadeOut();
			emailMatchError = false;
		}
	});

	$('#password').blur(function() {
		currentPassword = $('#password').val();
		if((!checkPasswordStrength(currentPassword) || currentPassword.length < 6) && !emailInvalidError && !emailMatchError) {
			$('#passwordSuccess').hide();
			$('#passwordMatchError').hide();
			$('#passwordInvalidError').fadeIn();
			passwordInvalidError = true;
		}
		else {
			$('#passwordInvalidError').fadeOut();
			passwordInvalidError = false;
		}
	});
	
	$('#passwordConf').blur(function() {
		if($('#password').val() != $('#passwordConf').val() && !passwordInvalidError) {
			$('#passwordSuccess').hide();
			$('#passwordMatchError').fadeIn();
			passwordMatchError = true;
		}
		else {
			passwordMatchError = false;
		}

		if(!passwordMatchError && !passwordInvalidError && !emailInvalidError && !emailMatchError) {
			$('#passwordMatchError').hide();
			$('#passwordSuccess').fadeIn();
		}
		else if(!passwordMatchError) {
			$('#passwordMatchError').fadeOut();
		}
		
	});
	
	$('.checkoutSubmit').click(function() {
		$('#sellPathForm').attr('action', $(this).val());
	});

	$('.addressField').blur(function() {
		if($('#addressSuggest').html() != '' && $('#address').val() != '' && $('#city').val() != '' && $('#countryCode').val() != '' && $('#stateCode').val() != '') {
			$.ajax({
				type: 'POST',
				url: '/listing/new/addresscheck',
				data: $('#sellPathForm').serialize(),
				dataType: 'text',
				success: function(data, textStatus) {
					if(data == '1') {
						$('#loginSuggest').hide();
						$('#addressSuggest').fadeIn();
						addressSuggestData = $('#address').val();
						if($('#aptNumber').val() != '') {
							addressSuggestData += ' Unit ' + $('#aptNumber').val();
						}
						$('#addressSuggestData').html(addressSuggestData);
					}
					else {
						$('#addressSuggest').hide();
						$('#loginSuggest').fadeIn();
					}
				}
			});
		}
	});
});

function updateCharacterLimit() {
	var maxChars = 60;
	textInput = $('input[@name=Messages]');
	var count = maxChars - textInput.val().length;
  $("#characters").text(count.toString());
}

function checkPasswordStrength(password) {
	strength = 0;
	if(password.match(/[a-z]/)) {
		strength += 26;
	}
	if(password.match(/[A-Z]/)) {
		strength += 26;
	}
	if(password.match(/[0-9]/)) {
		strength += 10;
	}
	if(password.match(/\s|\W/)) {
		strength += 32;
	}
	
	if(strength < 36) {
		return false;
	}
	return true;
}
