/******************************************************************
 *                                         START: Home loan - rates
 */
(function($){
	var processHomeLoanRates = function(xml){
		$(".widget-homeloan-rates").each( function(){
			var objWidget = $(this);	
			var rateCode = objWidget.find("input[name='rateCode']").val();
			rateCode = rateCode.toUpperCase().replace("DYNA-", "");
			var rateXml = xml.find('rate[id="'+rateCode+'"]');

			if(rateXml.length == 0){
				processHomeLoanRatesError(objWidget);
				return;
			}
			
			// make sure we only use the first rate
			if(rateXml.length > 1) rateXml = rateXml.first();

			var interest = rateXml.find('interest').text();
			var term = rateXml.find('term').text();
			var label = rateXml.find('label').text();

			objWidget.find('span.widget-rate')
			   		 .html(interest + '<span class="sr">% p.a.</span>');
			objWidget.find('span.widget-term').html(term);
			objWidget.find('span.widget-label').html(label);
			
			/* remove loader */
			objWidget.find(".ajax-loading").hide();
			objWidget.find(".show-on-ajax-load").fadeIn('slow');
		});
	}

	var processHomeLoanRatesError = function(objWidget){
		/* an error has occurred in ajax load, throw an error for all HL REP widgets */
		if(objWidget == null){
			$(".widget-homeloan-rates").each( function(){ 
				processHomeLoanRatesError($(this)); 
				return; 
			});
			return;
		}

		/* remove loader */
		objWidget.find(".show-on-ajax-load").hide();
		objWidget.find(".ajax-loading").hide();
		objWidget.find(".show-on-ajax-error").fadeIn('slow');
	}

	/* Set up to run when rates are retrieved */
	$.BNZ.feeds.heroRates.registerCallback(processHomeLoanRates, null, processHomeLoanRatesError);
})(jQuery);

/**
 *                                      	 END: Home loan - rates
 ******************************************************************/

