function postData()
{
	$("#mx-loadingContents").css("display", "block");
	$("#mx-errorContents").css("display", "none");
	$("#mx-loading").fadeIn(intFxDuration);
	cycleProviders(arrProviderList);
	
	var IntinitialRateYears = parseInt($("#mx-requiredInitialRateYears").val());
	var IntmortgageTerm = parseInt ($("#mx-mortgageTerm").val());
	
	if ( IntinitialRateYears > IntmortgageTerm )
	{
		$("#mx-requiredInitialRateYears").val( IntmortgageTerm );
	}
	
	
	$("#mx-ResultsTable").fadeTo(intFxDuration, 0.4,
	function()
	{
		// ******CHANGE POST VARIABLES HERE******
		$.post("/ajax/mortgages_helper.ajax.php",
			{
				mortgageTerm:$("#mx-mortgageTerm").val(),
				noMonthsToCalculateCostOver:$("#mx-noMonthsToCalculateCostOver").val(),
				housePrice:$("#mx-housePrice").val(),
				mortgageAmount:$("#mx-mortgageAmount").val(),
				firstApplicantIncome:$("#mx-firstApplicantIncome").val(),
				secondApplicantIncome:$("#mx-secondApplicantIncome").val(),
				reasonForMortgage:$("#mx-reasonForMortgage").val(),
				//requiredInitialRateYears: 5,
				requiredInitialRateYears:$("#mx-requiredInitialRateYears").val(),
				sortOrder:$("#mx-sortOrder").val(),
				sortAttribute:$("#mx-sortAttribute").val(),
				ResultOffset:$("#mx-ResultOffset").val(),
				ResultToReturn: $("#mx-ResultToReturn").val(),
				WhiteLabelMode: $("#mx-WhiteLabelMode").val(),
				mortgagePaymentType: $("#mx-mortgagePaymentType").val(),
				mortgageRateType: $("#mx-mortgageRateType").val(),
				affilId: strAffiliateId
			},
			// ******END******
			function(returned_data)
			{
				//Check Response Code and if Response Code 200, Display Results
				if ( returned_data.Response.StatusCode == 200 )
				{
					$("input").removeClass("mx-inputError");
					$("#mx-topPicksResults").empty();
					if (returned_data.ResultStats.TotalProducts == 0)
					{
						$("#mx-topPicksResults").append('<tr><td colspan="8">There are no results matching your search criteria.</td></tr>');
						setPagination('1', '1');
					}   
					else
					{
						//******SPONSORED RESULTS START******
						$("#mx-topPicksResults").empty();
						for (i=0; i < returned_data.ResultStats.ResultRealCount; i++)
						{
							if (i%2)
							{
								strRowClass = '';
							}
							else
							{
								strRowClass = ' class="mx-resultRowDark"';
							}

							sponsored_data_item = returned_data.Results[i]
							strLinkTarget = (sponsored_data_item.IsExternalURL) ? " target=\"_blank\"": "";
							strProductImage = (sponsored_data_item.LogoImageSource != "") ? "<a href=\"" + sponsored_data_item.ProductApplicationURL + "\"" + strLinkTarget + "><img class=\"mx-productLogo\" src=\"" + sponsored_data_item.LogoImageSource + "\" /></a><br />": "";
							$("#mx-topPicksResults").append("<tr id='mx-SR_"+ sponsored_data_item.ProductID +"'"+strRowClass+"></tr>");
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>" + strProductImage + sponsored_data_item.ProviderName+"</td>");
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.MortgageType + "</td>");
							//$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>&pound;" + sponsored_data_item.FeesTotal + "</td>");
							
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>&pound;" + sponsored_data_item.InitialMonthlyRepayment + "</td>");
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.InitialTermRate + "%<br /><span class=\"mx-largeBold\">(" + sponsored_data_item.SubsequentRate + "%)</span></td>");
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.CalculatedAPR + "%</td>");
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.InitialRatePeriod + "</td>");
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td>&pound;" + sponsored_data_item.TotalCostOverCalculationPeriod + "</td>");
							$("#mx-SR_" + sponsored_data_item.ProductID).append("<td><a href=\"" + sponsored_data_item.ProductApplicationURL + "\"" + strLinkTarget + "><img src=\"/images/MX-resultsInfo.gif\" alt=\"More Info\" height=\"26\" width=\"56\" /></a></td>");
						}
					}
					
					intCurrentPage = calculateCurrentPage($("#mx-ResultOffset").val(), intResultToReturn);
					intTotalPages = Math.ceil(returned_data.ResultStats.TotalProducts/intResultToReturn);	
					setPagination(intTotalPages, intCurrentPage);
					//if (returned_data.SortVariables[0] in returned_data.SortVariables)
					//{
						setSortImages(returned_data.SortVariables[0].select, returned_data.SortVariables[0].order);
					//}
				}
				else //If not Response Code 200 Display Error Message
				{
					$("#mx-topPicksResults").empty();
					$("#mx-topPicksResults").append('<tr><td colspan="8">There are no results matching your search criteria.</td></tr>');
					setPagination('1', '1');
					//$("#mx-loadingContents").css("display", "none");
					//$("#mx-errorContents").css("display", "block");
					var strErrorLog = '';
					var arrErrorKeys = new Array();
					for ( var i = 0; i < returned_data.Response.StatusInfo.length; i++ )
					{
						jQuery.each(returned_data.Response.StatusInfo[i],
							function(j, val)
							{
								strErrorLog += "- "+val+"<br />";
								arrErrorKeys[i] = j;
							}
						);
					}
					highlightErrors(arrErrorKeys);
					//$("#mx-errorContents").html("<h4>Error: "+returned_data.Response.StatusCode+"</h4><p>"+strErrorLog+"</p>");
					
					// Commented out so the error message no longer displays on the page //				
					//$("#mx-topPicksResults").append('<tr><td colspan="8"><div id="mx-resultsErrorBox"><h4>Correcting the following errors may help:</h4><p>' + strErrorLog + '</p></div></td></tr>');
				}
				//Fade in New Data
				$("#mx-ResultsTable").fadeTo(intFxDuration, 1);
				if (intCurrentPage == 1)
				{
					$("#mx-topPicksResults").fadeIn(intFxDuration);
				}
				$("#mx-results").fadeIn(intFxDuration);
				$("#mx-totalProducts").text(returned_data.ResultStats.TotalProducts);
				$("#mx-totalProducts").fadeIn(intFxDuration);
				$("#mx-loading").fadeOut(intFxDuration);
				
				// Resize iFrame for Whitelabels
				if (returned_data.Parameters.WhitelabelMode)
				{
					setCompletion($("body").height()+ 50 +"px");
				}

			},
			"json"
		)
	});
}

function postDataEditorsChoice()
{
	/* The page posts to itself */
	$.post("/mortgages/mortgages_compare.rewrite.php",
		{
			reasonForMortgage: $("#mx-reasonForMortgage").val(),
			postEditorsChoice: 'EditorsChoice'
		},
		function(returned_data)
		{
			$(".mx-editorsChoiceBody").empty();
			
			if (returned_data.length == 0)
			{
				//$("#mx-editorsChoiceBody").append('<tr><td colspan="6">There are no results matching your search criteria.</td></tr>');
				$(".mx-EditorsTable").addClass("mx-editorsChoiceTable-displayNone");
			}   
			else
			{
				//******SPONSORED RESULTS START******
				for (i=0; i < returned_data.length; i++)
				{
					if (i%2)
					{
						strRowClass = ' mx-editorsChoiceRowDark';
					}
					else
					{
						strRowClass = '';
					}
												
					sponsored_data_item = returned_data[i]
					
					$(".mx-EditorsTable").removeClass("mx-editorsChoiceTable-displayNone");
			
					strLinkTarget = (sponsored_data_item.IsExternalURL) ? " target=\"_blank\"": "";
					strProductImage = (sponsored_data_item.LogoImageSource != "") ? "<a href=\"" + sponsored_data_item.ProductApplicationURL + "\"" + strLinkTarget + "><img class=\"mx-productLogo\" src=\"" + sponsored_data_item.LogoImageSource + "\" /></a><br />": "";
					$(".mx-editorsChoiceBody").append("<tr class='mx-SR_"+ sponsored_data_item.ProductID + strRowClass+"'></tr>");
					$(".mx-SR_" + sponsored_data_item.ProductID).append("<td>" + strProductImage + sponsored_data_item.ProviderName+"</td>");
					$(".mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.InitialTermRate + "%</td>");					
					$(".mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.InitialRatePeriod + " months</td>");
					$(".mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.SubsequentRate + "%</td>");
					$(".mx-SR_" + sponsored_data_item.ProductID).append("<td>" + sponsored_data_item.CalculatedAPR + "%</td>");
					$(".mx-SR_" + sponsored_data_item.ProductID).append("<td><a href=\"" + sponsored_data_item.ProductApplicationURL + "\"" + strLinkTarget + "><img src=\"/images/MX-resultsInfo.gif\" alt=\"More Info\" height=\"26\" width=\"56\" /></a></td>");
				}
			}
		},				
		"json"
	);
}

// ******CHANGE FOR THE SLIDERS REQUIRED******
function createSliders()
{
	$("#mx-slidermortgageTerm").slider( { min: intTermMin, max: intTermMax, steps: intTermSteps, startValue: intTermStartValue, slide: function(e,ui)
			{
				$("#mx-mortgageTerm").val(ui.value);
			}, change: function(e,ui)
			{
				$("#mx-mortgageTerm").val(ui.value);
			}
		 }
	);

	$("#mx-slidermortgageAmount").slider( { min: intAmountMin, max: intAmountMax, steps: intAmountSteps, startValue: intAmountStartValue, slide: function(e,ui)
			{
				$("#mx-mortgageAmount").val(ui.value);
			}, change: function(e,ui)
			{
				$("#mx-mortgageAmount").val(ui.value);			
			}
		 }
	);
	$("#mx-sliderrequiredInitialRateYears").slider( { min: intRateTermMin, max: intRateTermMax, steps: intRateTermSteps, startValue: intRateTermStartValue, range: true, slide: function(e,ui)
			{
				$("#mx-requiredInitialRateYears").val(ui.value);
			}, change: function(e,ui)
			{
				$("#mx-requiredInitialRateYears").val(ui.value);
			}
		 }
	);	
}

function moveSliderHandle(strSliderID)
{
	$("#mx-slider"+strSliderID).slider("moveTo", $("#mx-"+strSliderID).val());
}

function highlightErrors(arrErrorKeys)
{
	jQuery.each(arrErrorKeys,
		function(i, val)
		{
			if ( val == 'LTV')
			{
				$("#mx-mortgageAmount").addClass("mx-inputError");
				$("#mx-housePrice").addClass("mx-inputError");
			}
			if ( val == 'MORTGAGE_AMOUNT' )
			{
				$("#mx-mortgageAmount").addClass("mx-inputError");
				$("#mx-firstApplicantIncome").addClass("mx-inputError");
				$("#mx-secondApplicantIncome").addClass("mx-inputError");
			}
		}
	);
}
