/**
 * RPM Qualifier JQuery Plugin
 *	overview: 
 *
 *	dependencies: thickbox.js
 */
(function($){
		/** 
		* rpm calculator button inside the rpm widget click event, to show rpm qualifier with calculator pre selected
		*/		
		$.rpmCalculatorBtnClick = function (){
			if($("#rpmCalcDialog").length == 0){
				$("body").append("<div id=\"rpmCalcDialog\" title=\"Mortgage Center\" style=\"display:none;\"></div>");
			}
				
			$.ajax({
				type:"GET",
				url:"listings",
				data:"pathway=341&selectedTabId=1",
				dataType:"html",
				error: function(data,error){
					alert("load mortgage calculator failed: " + data + " "+ error);
				},
				success: function(data){
					if($("#rpmCalcDialog").length > 0){
						$("#rpmCalcDialog").html(data);
						$("#rpmCalcDialog").dialog({
							modal:true,
							zIndex:133,
							width:750,
							//height:600,
							height:"auto",
							position: ["center", "top"],
							open:function(e, ui){
								$(".ui-widget-overlay").bind("click", function(){
									$(".ui-widget-overlay").unbind("click");
									$("#rpmCalcDialog").dialog("close");
								});
							},
							close:function(e, ui){
								$("#rpmCalcDialog").dialog("destroy");
								$(".mortDialog").remove();
							}
						}).parents(".ui-dialog:eq(0)").wrap("<div class=\"mortDialog\"></div>"); 
					}
				},
				complete: function(XMLHttpRequest, textStatus){

				}
			});
			return false;
		}
		
		/**
		* rpm prequalifier button inside the rpm widget click event, to show rpm qualifier with prequalifier pre selected
		*/
		$.rpmPrequalifierBtnClick =	function(){
			if($("#rpmCalcDialog").length == 0){
				$("body").append("<div id=\"rpmCalcDialog\" title=\"Mortgage Center\" style=\"display:none;\"></div>");
			}
				
			$.ajax({
				type:"GET",
				url:"listings",
				data:"pathway=341&selectedTabId=2",
				dataType:"html",
				error: function(data,error){
					alert("load mortgage calculator failed: " + data + " "+ error);
				},
				success: function(data){
					if($("#rpmCalcDialog").length > 0){
						$("#rpmCalcDialog").html(data);
						$("#rpmCalcDialog").dialog({
							modal:true,
							zIndex:133,
							width:750,
							//height:600,
							height:"auto",
							position: ["center", "top"],
							open:function(e, ui){
								$(".ui-widget-overlay").bind("click", function(){
									$(".ui-widget-overlay").unbind("click");
									$("#rpmCalcDialog").dialog("close");
								});
							},
							close:function(e, ui){
								$("#rpmCalcDialog").dialog("destroy");
								$(".mortDialog").remove();
							}
						}).parents(".ui-dialog:eq(0)").wrap("<div class=\"mortDialog\"></div>"); 
					}
				},
				complete: function(XMLHttpRequest, textStatus){

				}
			}); 
			return false;
		}
		
		/**
		*init rpm qualifier (rpm qualifier has two tabs: mortgage calculator, mortgage pre-qualifier)
		*selectedTab: pre selected rpm qualifier tab, 0: none,1: calculator,2: prequalifier  
		* outputContainerId: container for displaying rpm qualifer
		*containerTabId: ul id for tabs (hold rpm qualifier tabs)
		*param1: extra info for mortgage calculator url data
		*param2: extra info form mortgage prequalifier url data
		*/
		$.initializeRPMQualifier = function(outputContainerId, containerTabId, param1, param2, selectedTab) {
			//init divs for holding output
			// initialize view			
			if(selectedTab == 1){
				selectCalculator(outputContainerId,containerTabId,param1);
			}else{
				selectPrequalifier(outputContainerId,containerTabId,param2);
			}
				
			// initialize tabs
				
			// mortgage calculator tab click event
			$("#qualifierMortgageCalculator").click(function(){
				selectCalculator(outputContainerId,containerTabId,param1);
				return false;
			});
			
			// mortgage pre-qualifier tab click event
			$("#qualiferMortgagePrequalifier").click(function(){
				selectPrequalifier(outputContainerId,containerTabId,param2);
				return false;
			});
			
			
			/**switch to pre-qualifier tab
			*/
			$.gotoPreQualifier = function(){
				 selectPrequalifier(outputContainerId,containerTabId,param2);
			}
			
			return false;
		}
		
		
		/*
		* outputContainerId: container for displaying rpm qualifer
		*containerTabId: ul id for tabs (hold rpm qualifier tabs)
		*param: extra info for mortgage calculator url data
		*set mortgage calculator tab selected and show the mortgage calculator
		*/
		var selectCalculator = function(outputContainerId,containerTabId,param){
			$("#" + containerTabId).children('li').removeClass("select");
			$("#qualifierMortgageCalculator").addClass("select");
			
			if($("#"+outputContainerId).children('div').length<2){
				$("#"+outputContainerId).append('<div id="cal_container" style="display:none;"/> <div id="preQ_container" style="display:none;"/>');
			}
			loadMortgageCalculator(outputContainerId,param);
			return false;
			
		}
		
		/*
		* outputContainerId: container for displaying rpm qualifer
		*containerTabId: ul id for tabs (hold rpm qualifier tabs)
		*param:extra info fro mortgage prequalifier url data
		*set mortgage prequalifier selected and show the mortgage pre-qualifier
		*/
		var selectPrequalifier = function(outputContainerId,containerTabId,param){
			$("#" + containerTabId).children('li').removeClass("select");
			$("#qualiferMortgagePrequalifier").addClass("select");
			
			if($("#"+outputContainerId).children('div').length<2){
				$("#"+outputContainerId).append('<div id="cal_container" style="display:none;"/> <div id="preQ_container" style="display:none;"/>');
			}
			loadMortgagePrequalifier(outputContainerId,param);	
			return false;
		}
		
		/**
		* make ajax call to load the mortgage calculator
		* param: extra info fro mortgage prequalifier
		*/
		var loadMortgageCalculator = function(outputContainerId,param){
			//todo try to get data from the listing to init the calculator --???
			if($("#cal_container").children('div').length >0){
				 if(param != ""){
					$('#botSec_cnt_summ').css("display", "none");
					$('#botSec_cnt_det').css("display", "none");
					$('#botSec_cnt_other').html("");
					$('#botSec_cnt_qualifier').css("display","block");
				}
				$("#preQ_container").css("display","none");
				$("#cal_container").css("display","block");
			}else{
				$.ajax({
					type:"GET",
					url:"listings",
					data:"pathway=341&loadMortgageCalculator=true" +param,
					dataType:"html",
					error: function(data,error){
						alert("load mortgage calculator failed: " + data + " "+ error);
					},
					success: function(data){
					    if(param != ""){
							$('#botSec_cnt_summ').css("display", "none");
							$('#botSec_cnt_det').css("display", "none");
							$('#botSec_cnt_other').html("");
							$('#botSec_cnt_qualifier').css("display","block");
						}
						$("#preQ_container").css("display", "none");
						$("#cal_container").css("display","block");
						$("#cal_container").html(data);
					},
					beforeSend: function(){
						//$('#qualifierOverlay').block({ message: 'Loading Calculator, Please wait...'+' <img src="/t/resources/rpm3.0/images/activity/indicator_medium.gif" />' });
					},	
					complete: function(XMLHttpRequest, textStatus){
						//$('#qualifierOverlay').unblock();
					}
				}); 
			}
			
		}
		
		/**
		* make ajax call to load the mortgage pre-qualifier
		*if param == "" , we are loading pre qualifier from the widget , so we don't have any extra info for the pre qualifier
		*/
		var loadMortgagePrequalifier = function(outputContainerId,param){
			if($("#preQ_container").children('div').length>0){
				if(param != ""){
					$('#botSec_cnt_summ').css("display", "none");
					$('#botSec_cnt_det').css("display", "none");
					$('#botSec_cnt_other').html("");
					$('#botSec_cnt_qualifier').css("display","block");
				}
				$("#cal_container").css("display", "none");
				$("#preQ_container").css("display","block");
			}else{
				$.ajax({
					type:"GET",
					url:"listings",
					data:"pathway=341&loadMortgagePrequalifier=true"+param,
					dataType:"html",
					error: function(data,error){
						alert("load mortgage pre-qualifier failed: " + data +" " + error);
					},
					success: function(data){
						 if(param != ""){
							$('#botSec_cnt_summ').css("display", "none");
							$('#botSec_cnt_det').css("display", "none");
							$('#botSec_cnt_other').html("");
							$('#botSec_cnt_qualifier').css("display","block");
						}
						$("#cal_container").css("display", "none");
						$("#preQ_container").css("display","block");
						$("#preQ_container").html(data);
					},
					beforeSend: function(){
						//$('#qualifierOverlay').block({ message: 'Loading Qualifier, Please wait...'+' <img src="/t/resources/rpm3.0/images/activity/indicator_medium.gif" />' });
					},	
					complete: function (XMLHttpRequest, textStatus) {
						//$('#qualifierOverlay').unblock();
					}
				}); 
			}			
		}
		  
})(jQuery);