var num_test = new RegExp(/\D/); 

input = new Array;
input['first_name'] = 'First name';
input['last_name'] = 'Last name';
input['body'] = 'Description';
input['email'] = 'E-mail address';
input['filter'] = '';
input['phrase'] = 'Keyword or Part #';

$.fn.sendAjax = function() {
	$form = $(this);
	build = new Array;
	$('input, select, textarea', this).not('.btn').each(function() {
		build.push(this.name+'='+this.value);
	});
	data = build.join('&');

	$.ajax({
		type: "POST",
		url: "/_extras/ajax.php",
		data: data,
		timeout: 5000,
		success: function(msg){
			data = msg.split('||');
			
			if(data[0]=='ok')
			$form.fadeOut('normal', function() {$form.after('<div class="response">'+data[1]+'</div>');});
			else
			$('#message').blink('Error while sending. Please try again!')
		}
 });
}

$.fn.blink = function() {
    $(this).stop().show().css('opacity', '1').animate({ dummy: 1 }, 3000, function() {$(this).fadeOut()});
    return this;
};


$.fn.sendVerify = function(result, text) {
	$(this).sendAjax();
	if(result==true)
	$(this).find('.message p').text(text).blink();
	else
	{

		if($(this).hasClass('form_submit'))
		return true;
		//else

	}
	return false
};

function checkemail(str){
	var filter=/^.+@.+\..{2,3}$/
	return (filter.test(str))
}

$(document).ready(function() {
	$('input[type=text], textarea').each(function() {
		if($(this).val()=='')
		$(this).val(input[$(this).attr('name')]);
	});

	$('input[type=text], textarea').focus(function() {
		if($(this).val()== input[$(this).attr('name')])
			$(this).val('');
	});

	$('input[type=text], textarea').blur(function() {
		if($(this).val()=='')
			$(this).val(input[$(this).attr('name')]);
	});

	
	$('form.accept_js').submit(function() {
		if(typeof(text)=='undefined')
		text = '';

		if(typeof(error)=='undefined')
		error = false;
		
		$(this).find('input[name=email]').parent().removeClass('error');

		$(this).find('.req').each(function() {

			if($(this).val()=='' || $(this).val()==input[$(this).attr('name')])
			{
				$(this).parent().addClass('error');
				error = true;
				text = 'Fields marked on red cannot be empty.';
			}
			else
			$(this).parent().removeClass('error');	
		});

		if(error==false)
		{
			$(this).find('.only_digits').each(function() {
				if($(this).val().length>0 && num_test.test($(this).val()))
				{
					$(this).parent().addClass('error');
					error = true;
					text = 'Field marked on red is numeric only.';
				}
				else
				$(this).parent().removeClass('error');	
			});
		}


		if($(this).find('input[name=email]').length>0 && $(this).find('input[name=email]').val()!=='')
		{
			if(!checkemail($('input[name=email]').val()))
			{
				$('input[name=email]').parent().addClass('error');
				error = true;
				text = 'Wrong e-mail address.';
			}
		}

		my_return = $(this).sendVerify(error, text);
		delete error;
		return my_return;
	});
});