	function Field(name, text, valid)
	{
		this.name = name;
		this.text = text;
		this.valid = valid;
	}

	function fields_validate(fields)
	{
		valid = true;
		var email_reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		
		$(fields).each(function (i) {
			if (fields[i].valid == 'req')
				if ( $("#"+fields[i].name).val() == fields[i].text || ( $("#"+fields[i].name).val().length < 3 ) )
				{
					$("#"+fields[i].name).addClass('red');
					valid = false;
				}
				else
				{
					$("#"+fields[i].name).removeClass('red');
					$("#"+fields[i].name).addClass('black');
				}

			if (fields[i].valid == 'email')
				if (email_reg.test($("#"+fields[i].name).val()) == false)
				{
					$("#"+fields[i].name).addClass('red');
					valid = false;
				}
				else
				{
					$("#"+fields[i].name).removeClass('red');
					$("#"+fields[i].name).addClass('black');
				}

			if (fields[i].valid == 'select')
				if ( $("#"+fields[i].name).val() == 'Title' )
				{
					$("#"+fields[i].name).addClass('red');
					valid = false;
				}
				else
				{
					$("#"+fields[i].name).removeClass('red');
					$("#"+fields[i].name).addClass('black');
				}

			if (fields[i].valid == 'req' && fields[i].name == 'phone')
				if ( $("#"+fields[i].name).val() == fields[i].text || ( $("#"+fields[i].name).val().length < 11 ) )
				{
					$("#"+fields[i].name).addClass('red');
					valid = false;
				}
				else
				{
					$("#"+fields[i].name).removeClass('red');
					$("#"+fields[i].name).addClass('black');
				}
				
		});
		
		if(valid)
			return true;
		else
			return false;
	}

	function show_more_news()
	{
		if ($('.more_news:hidden:first').is(':hidden'))
		{
			$('.more_news:hidden:first').slideDown(300, function(){ show_more_news(); } );
		}
	}

    function common()
    {
		if(!sent) send_user();
		$('#oq_forms').slideDown(1000);
		//$('.more_news').slideDown(1000); 
		show_more_news();
    }

	function send_user()
	{
		$.ajaxSetup({
		   async: false
		 });		
		//common();
		if(!sent)
		if($('input[name=type]:checked').val())
		{
			//$.post("eal/api/eal-ajax.php",
			$.post("api/api.php",
				{	
					action: "createuser",
					title: $("#title").val(),
					name: $("#name").val(),
					surname: $("#surname").val(),										
					company: $("#company").val(),
					email: $("#email").val(),
					postcode: $("#postcode").val(),
					telephone: $("#phone").val(),
					orgin: $("#ref_nr").val(),
					keywords: $("#ref_key").val()
				},
			   function(data){
				   	if(data != 0)
				   	{
						$("#user_id").val(data);
			    	}
			    	else
			    	{
						/*$.post("api/eal-proxy.php",*/
						$.post("api/api.php",
						{
							action: "lookupuser",
							/*name: $("#name").val(),*/
							email: $("#email").val()
						},
						function(data){
								$("#user_id").val(data);
								sent=true;	
							}
						);			    		
			    	}
			    	
			    	var type = $('input[name=type]:checked').val();
			    	
					_gaq.push(
						['_trackEvent','Form','User details sent - form type',type],
						['_trackEvent','Form','User details sent',data],
						['_trackPageview', "/user_details_sent"]
					);
					sent=true;			    	
				}
			);
		}
	}

	function send_meter()
	{
		var meter_sent = false;

		$.ajaxSetup({
		   async: false
		 });
		
		$.post("eal/api/eal-ajax.php",
			{
				action: "createelecmeter",
				userid: $("#user_id").val()
			},
		   function(data)
		   {
			 $("#meter_id").val(data);

			var date = $("#electricity_date").val().split('-');
			date = date[2]+'-'+date[1]+'-'+date[0];
			
			$.post("eal/api/eal-ajax.php",
				{
					action:"updateelecmeter",					
					CurrentSupplier:$('#electricityCurrentSupplier').val(),
					Id:($("#mpan1").val()+$("#mpan2").val()+$("#mpan3").val()),
					LLF:$("#llf").val(),
					M1:$("#mpan1").val(),
					M2:$("#mpan2").val(),
					M3:$("#mpan3").val(),
					MTC:$("#mtc").val(),
					PC:$("#pc").val(),
					REC:$("#rec").val(),
					Postcode:$("#electricity_post_code").val(),
					SupplyExpiryDate:date,
					FixedTermContract:($("#electricity_no_contract").attr("checked") ? 'N' : 'Y'),
					meterid:data
				},				
			   function(data){
					_gaq.push(
						['_trackEvent','Form','Meter sent',$("#meter_id").val()],
						['_trackPageview', "/user_meter_sent"]
					);
					meter_sent = true;
				}
			);				     

			if ($.browser.safari)
			{
				_gaq.push(
					['_trackEvent','Form','Meter sent',$("#meter_id").val()],
					['_trackPageview', "/user_meter_sent"]
				);
				meter_sent = true;
			}

			}
		);
		//return false;
		return meter_sent;
	}


	function send_meter_gas()
	{
		var meter_sent = false;

		$.ajaxSetup({
		   async: false
		 });
		/*
		$.post("api/api.php",
			{
				action: "creategasmeter",
				userid: $("#user_id").val()
			},
		   function(data)
		   {
		   	*/
			 

			var date = $("#gas_date").val().split('-');
			date = date[2]+'-'+date[1]+'-'+date[0];
			
			$.post("api/api.php",
				{
					action:"creategasmeter",
					userid:$("#user_id").val(),
					MPRN:$("#gas_mprn").val(),
					CurrentSupplier:$('#gasCurrentSupplier').val(),
					Postcode:$("#gas_post_code").val(),
					SupplyExpiryDate:date,
					FixedTermContract:($("#gas_no_contract").attr("checked") ? 'N' : 'Y')
				},				
			   function(data){
			   	
			   		$("#gas_meter_id").val(data);
			   	
					_gaq.push(
						['_trackEvent','Form','Gas Meter sent',$("#gas_meter_id").val()],
						['_trackPageview', "/user_gas_meter_sent"]
					);
					meter_sent = true;
				}
			);				     

			if ($.browser.safari)
			{
				_gaq.push(
						['_trackEvent','Form','Gas Meter sent',$("#gas_meter_id").val()],
						['_trackPageview', "/user_gas_meter_sent"]
				);
				meter_sent = true;
			}
/*
			}
		);
		*/
		//return false;
		return meter_sent;
	}
	
	
	function show_rest(type, fields)
	{
		if (fields_validate(fields))
		{
			if(type == 'Electricity')
			{
	    		$('#elec_form').fadeIn(1000);
	    		$('#gas_form').fadeOut(1000);
				common();
		    }
		    	
		    if(type == 'Gas')	
		    {
	    		$('#gas_form').fadeIn(1000);
	    		$('#elec_form').fadeOut(1000);
				common();
	    	}
		    	
			if(type == 'Both')
			{
	    		$('#gas_form').fadeIn(1000);
	    		$('#elec_form').fadeIn(1000);
				common();
			}
		}
	}

	var fields = [];
	fields[0] = new Field('name', 'Firstname', 'req');
	fields[1] = new Field('surname', 'Surname', 'req');
	fields[2] = new Field('company', 'Enter: Company Name Here', 'req');
	fields[3] = new Field('phone', 'Enter: Telephone No Here', 'req');
	fields[4] = new Field('email', 'Enter: Email address Here', 'email');
	fields[5] = new Field('postcode', 'Enter: Post Code Here');
	fields[6] = new Field('title', 'Title', 'select');

    var sent=false;

    $(document).ready(function(){
    	
		$(fields).each(function (i) {
			$("#"+fields[i].name).bind('blur', function(){
				if ($("#"+fields[i].name).val() == '')
					$("#"+fields[i].name).val(fields[i].text);	
			});
			$("#"+fields[i].name).bind('focus click keypress', function(){
				
				if ($("#"+fields[i].name).val() == fields[i].text)
				{
					$("#"+fields[i].name).val('');
					$("#"+fields[i].name).addClass('black');
				}
				show_rest($('input[name=type]:checked').val(), fields);
			});
		});

		$('#both,#gas,#electricity').click(function(){
			show_rest($('input[name=type]:checked').val(), fields);
		});
		
		$("#protect_details").tooltip({offset:[90,100], tipClass: 'tooltip', relative: true});
    });
