function createError(id, message)
{
	$('.error').remove();
	$('#'+id).closest('div.SingleColumn').prepend('<div class="alert error" style="clear:both;">'+message+'</div>');
}

$('#adDetailsOfferForm #submitbutton').click(function () 
{
	$(this).attr('disabled', true);
	var id = 'adDetailsOfferForm';
	
	if(validate(id))
	{
		$('#'+id).submit();
		//$(this).removeAttr('disabled');
	}
	else
	{
		$(this).removeAttr('disabled');
		return false;
	}
});

$(document).ready( function()
{
	$('input, textarea').each( function()
	{
		var name = $(this).attr('name');
		var fieldName = '';
		switch(name)
		{
			case 'firstname':
				fieldName = 'First Name';
			break;
			case 'lastname':
				fieldName = 'Last Name';
			break;
			case 'phone':
				fieldName = 'Phone Number';
			break;
			case 'ResortName':
			case 'ShowResortID':
			case 'autoResortInput':				
				fieldName = 'Resort Name';
			break;
			case 'email':
				fieldName = 'Email Address';
			break;
			case 'amount':
				fieldName = 'Offer Amount';
			break;
			case 'comment':
				fieldName = 'Comments';
			break;			
		}
		if(fieldName.length > 0)
		{
			$(this).click( function()
			{
				if($(this).val() == fieldName)
				{
					$(this).val('');
				}
				
			}).blur( function()
			{
				if($(this).val() == '')
				{
					if($(this).parents('form').attr('id') != 'SellForm' && $(this).parents('form').attr('id') != 'RentForm')
					{
						//$(this).val(fieldName);
					}
				}			
			});
		}
	});
	
	$('img#captcha_refresh').click( function()
	{
		$('img#captcha_image').attr('src', 'functions/ajax.php?f=getCaptcha&rnd='+Math.random());
	});
});

function validate(id)
{
	var error = '';
	var defaultValue = '';
	var inquiry = 0;
	
	$('.required').each(function()
	{
		$(this).css({ 'border-color': '#076678' });
		var e = false;
		var str = $(this).val();
		var name = $(this).attr('name');
		var rel = $(this).attr('rel');
		var len = str.length;
		var fieldName = '';
		//not enough characters, you fail.
		switch(name)
		{
			case 'firstname':
			case 'ownerfirstname':
			case 'Name':
				fieldName = 'First Name';
			break;
			case 'lastname':
			case 'ownerlastname':
			case 'Name2':
				fieldName = 'Last Name';
			break;
			case 'home_phone':
			case 'phone':
			case 'ownerhomephone':
			case 'DayPhone':
			case 'contact_phone':
				fieldName = 'Phone Number';
			break;
			case 'ResortName':
			case 'ShowResortID':
			case 'autoResortInput':				
				fieldName = 'Resort Name';
			break;
			case 'email':
			case 'Email':
			case 'owneremail':
				fieldName = 'Email Address';
			break;
			case 'Offer':
			case 'amount':
				fieldName = 'Offer Amount';
			break;
		}
		
		if((name == 'Name' || name == 'Name2' || name == 'lastname' || name == 'firstname') && (str == fieldName || str == defaultValue))
		{
			error += error.indexOf('First and Last name are required.') == -1 ? 'First and Last name are required.'+"\n" : '';
			$(this).css({ 'border-color': '#AF0007' });
		}
		if((name == 'email' || rel == 'email') && ((str.indexOf('@') == -1 || str.indexOf('.') == -1) ||(str == fieldName || str == defaultValue)))
		{
			error += 'Please enter a valid email address.'+"\n";
			$(this).css({ 'border-color': '#AF0007' });
		}
		if((name == 'phone' || rel == 'phone') &&  (len < 10 || (str == fieldName || str == defaultValue)))
		{
			error += 'Please enter a valid phone number.'+"\n";
			$(this).css({ 'border-color': '#AF0007' });
		}
		if(name == 'Offer' || name == 'amount')
		{
			if(str != parseFloat(str) || (str == fieldName || str == defaultValue))
			{														   
				error += 'Please enter a valid numeric US Dollar amount only.'+"\n";
				$(this).css({ 'border-color': '#AF0007' });
			}
		}
		if(fieldName == 'Resort Name' && (str == fieldName || str == defaultValue))
		{			   
			error += 'Please enter the name of your resort.'+"\n";
			$(this).css({ 'border-color': '#AF0007' });
		}		
	});
	
	if((!$('input[name=lead_type]').is(':checked')) && inquiry == 0)
	{
		if($(this).attr('type') == 'radio')
		{
		  inquiry += 1;
		  error += "Please choose the type of inquiry you are interested in,\nso we can provide the best assistance to you.\n";
		  $('input[name="lead_type"]').css({ 'border-color': '#AF0007' });
		}
	}	
	
	if(error.length > 0)
	{
		alert(error);
		return false;
	}
	else
	{
		return true;	
	}
}

function validateUlf(id)
{
	var error = '';
	
	if(!$('.RadioButton').is(':checked'))
	{
		error += 'Please choose which action you are interested in.'+"\n";
	}
	
	$('.required').each(function()
	{
		var e = false;
		var str = $.trim($(this).val());
		var name = $(this).attr('name');
		var rel = $(this).attr('rel');
		var len = str.length;
		//not enough characters, you fail.
		
		var defaultArray = ['First Name', 'Last Name', 'Phone Number', 'Email Address'];
		
		if(len < 2 || ($.inArray(str, defaultArray) > -1))
		{
			var fieldName = '';
			switch(name)
			{
				case 'firstname':
				case 'ownerfirstname':
				case 'Name':
				case 'fNameInput':
					fieldName = 'First Name';
				break;
				case 'lastname':
				case 'ownerlastname':
				case 'Name2':
				case 'lNameInput':
					fieldName = 'Last Name';
				break;
				case 'home_phone':
				case 'ownerhomephone':
				case 'DayPhone':
				case 'contact_phone':
				case 'phoneInput':
					fieldName = 'Phone Number';
				break;
				case 'ResortName':
					fieldName = 'Resort Name';
				break;
				case 'email':
				case 'Email':
				case 'owneremail':
				case 'emailInput':
					fieldName = 'Email Address';
				break;
			}
			
			error += "'"+fieldName+"' field needs to contain at least 2 characters.\n";
		}
		if(rel == 'email' && (str.indexOf('@') == -1 || str.indexOf('.') == -1))
		{
			error += 'Please enter a valid email address.'+"\n";
		}
		if(rel == 'phone' &&  len < 10)
		{
			error += 'Please enter a valid phone number.'+"\n";
		}
	});
	
	if(error.length > 0)
	{
		alert(error);
		return false;
	}
	else
	{
		return true;	
	}
}


