/**
 * @author rramesh
 */
/* Event Handlers */
var calcInit = false;
var tabIdentification = 0;
var prn;
function setVehicleQuote() {
		jQuery('span.businessUseBlockSpan').each(function(i) {
				jQuery(this).css('display','none');
		});
		jQuery('input.personalRadio').each(function(i) {
				jQuery(this).attr('checked','true');
		});
		jQuery('input.businessUseText').each(function() {
			jQuery(this).attr({'value': ''});
		})
}
jQuery("#personal").click(function() {
	jQuery('input.businessUseText').each(function(i) {
		jQuery(this).attr({'value':''});
		jQuery(this).removeAttr('required');
		jQuery(this).addClass('disabled');
	});
	jQuery('span.businessUseBlockSpan').each(function(i) {
		jQuery(this).css('display','none');
	});
});
jQuery("#business").click(function() {
	jQuery('span.businessUseBlockSpan').each(function(i) {
			if(tabIdentification == i) jQuery(this).css('display','block');
			else jQuery(this).css('display','none');
	});
	jQuery('input.businessUseText').each(function(i) {
		jQuery(this).attr({'required':'true', 'value':'1'});
		if(tabIdentification == i) {
			jQuery(this).removeClass('disabled');
		}
		else {
			jQuery(this).addClass('disabled');
		}
	});
});
jQuery("#businessUse").blur(function() {
	jQuery('input.businessUseText').each(function(i) {
		jQuery(this).attr({'value': this.value});
	});
});
jQuery(document).ready(function() {
		jQuery('#vehicleDetailsContainer ul').tabs().css("visibility","visible");
		jQuery('div#gaq').clone().insertAfter('div#standardEquipmemtTabAdditionalInfo,div#inv_details_standardEquipment_descriptioncontainer,div#optionsTabAdditionalInfo,div#inv_details_installedOptions_descriptioncontainer');
		var refineSearch = jQuery("#results_searchWidget").length;
		if(isStandardEquipmemtTabHide) {
			jQuery("#standardEquipmentTabId").hide();
			jQuery(".optionsBorderOff").addClass("optionsBorderOffSecondTab");
			jQuery(".optionsBorderOff").removeClass("optionsBorderOff");
		}
		if(isOptionsTab)jQuery("#optionsTabId").hide();
		jQuery("#showDiscount").click(function() {
			showSpecials();
		});	        
		jQuery("#overView").click(function(event) {
			jQuery("#overviewTab,#inv_details_Overview_subcontainer").parent().show();
			jQuery("#standardEquipmemtTab,#inv_details_standardEquipment_subcontainer").parent().hide();
			jQuery("#optionsTab,#inv_details_installedOptions_subcontainer").parent().hide();
			tabIdentification = 0;
			setVehicleQuote();
			EventManager.publish({
				eventName:"com.cobaltgroup.ws.action.click.tab.detailsOverview"
			});
		});
		jQuery("#standardEquipment").click(function(event) {
			jQuery("#standardEquipmemtTab,#inv_details_standardEquipment_subcontainer").parent().show();
			jQuery("#overviewTab,#inv_details_Overview_subcontainer").parent().hide();
			jQuery("#optionsTab,#inv_details_installedOptions_subcontainer").parent().hide();
			tabIdentification = 1;
			setVehicleQuote();
			EventManager.publish({
				eventName:"com.cobaltgroup.ws.action.click.tab.detailsStandardEquipment"
			});
		});
		jQuery("#installedOptions").click(function(event) {
			jQuery("#optionsTab,#inv_details_installedOptions_subcontainer").parent().show();
			jQuery("#standardEquipmemtTab,#inv_details_standardEquipment_subcontainer").parent().hide();
			jQuery("#overviewTab, #inv_details_Overview_subcontainer").parent().hide();
			tabIdentification = 2;
			setVehicleQuote();
			EventManager.publish({
				eventName:"com.cobaltgroup.ws.action.click.tab.detailsInstalledOptions"
			});
		});
	  	jQuery(".legalCloseLayerButton").click(function(event) {
				jQuery(this).parent().fadeOut("fast");
			});
			jQuery(".details_specialDisclaimer").mouseover(function(event) {
				jQuery(this).find(".discountsDisclaimerTermsLayer").show();
			});
			jQuery(".discountsDisclaimerTermsLayer").mouseover(function(event) {
				jQuery(this).show();
			});
			jQuery(".details_specialDisclaimer").mouseout(function(event) {
				jQuery(this).find(".discountsDisclaimerTermsLayer").hide();
			});
			jQuery(".discountsDisclaimerTermsLayer").mouseout(function(event) {
				jQuery(this).hide();
			});
		jQuery("#loanTermSelect").change(function(){
	    	if(!calcInit){
		    	initPaymentCalc();
		    }
				if (refineSearch > 0 ) {
					jQuery.ajax({
					type: "GET",
					async: "false",
					dataType: "xml",
					data: "numberOfMonths="+document.forms.paymentCalculatorForm.loanTerm.value,
					url: "setMonthlyPayment.ajax", 
					success: function(xml) {
						monthlyRangeSliderReset(xml);
						paymentCalcToPaymentPopupCalc(xml);
						}
					});		
				}
	    	PaymentCalculatorHandler.clickCalculate();
	    });
		
	    jQuery("#trade_label").change(function(){
		    if(!calcInit){
		    	initPaymentCalc();
		    }
				if (refineSearch > 0 ) {
					var trade = parseInt(getvalWithoutComma(document.forms.paymentCalculatorForm.trade.value));
						jQuery.ajax({
						type: "GET",
						async: "false",
						dataType: "xml",
						data: "tradeInValue="+trade,
						url: "setMonthlyPayment.ajax", 
						success: function(xml) {
							monthlyRangeSliderReset(xml);
							paymentCalcToPaymentPopupCalc(xml);
						}
					});	
				}
	    });
		
		jQuery("#trade_label").keyup(function(){
		    if(!calcInit){
		    	initPaymentCalc();
		    }
	    	PaymentCalculatorHandler.clickCalculate();
	    });
	    
	    jQuery("#downPayment_label").change(function(){
		
		    if(!calcInit){
		    	initPaymentCalc();
		    }
				if (refineSearch > 0 ) {
					var downPayment = parseInt(getvalWithoutComma(document.forms.paymentCalculatorForm.downPayment.value));
						jQuery.ajax({
						type: "GET",
						async: "false",
						dataType: "xml",
						data: "downPayment="+downPayment,
						url: "setMonthlyPayment.ajax", 
						success: function(xml) {
							monthlyRangeSliderReset(xml);
							paymentCalcToPaymentPopupCalc(xml);
						}
					});		  
				}
	    });
		
		jQuery("#downPayment_label").keyup(function(){
		    if(!calcInit){
		    	initPaymentCalc();
		    }
	    	PaymentCalculatorHandler.clickCalculate();
	    });
	    
	    jQuery("#monthlyPaymentField").keyup(function(){
		    if(!calcInit){
		    	initPaymentCalc();
		    }
		    PaymentCalculator.calculateDownPayment();	
	    	PaymentCalculatorHandler.clickCalculate();
	    	if(!hasMonthlyPayment){
	    		jQuery("#calcValue").show();
	    	}
	    });
	    
	    jQuery("#interestRate_label").change(function(){
		    if(!calcInit){
		    	initPaymentCalc();
		    }
				if (refineSearch > 0 ) {
					var apr = parseInt(getvalWithoutComma(document.forms.paymentCalculatorForm.interestRate.value));
						jQuery.ajax({
						type: "GET",
						async: "false",
						dataType: "xml",
						data: "apr="+apr,
						url: "setMonthlyPayment.ajax", 
						success: function(xml) {
							monthlyRangeSliderReset(xml);
							paymentCalcToPaymentPopupCalc(xml);
						}
					});	
				}
	    });	
		jQuery("#interestRate_label").keyup(function(){
		    if(!calcInit){
		    	initPaymentCalc();
		    }
		    
	    	PaymentCalculatorHandler.clickCalculate();
	    });
		createFade();
		jQuery('.filterFade').css('visibility', 'hidden');
		
		//Open Print page popup
		jQuery("#printPage").click(function() {
			var printUrl = pageUrlUtility.getBaseHref() + "details_printPageRedesign.do?pageName=VehicleDetails&id="+vehicleID;
			window.open(printUrl,'printPage','width=800,height=900,scrollbars=yes,status=no,titlebar=no,resizable=yes,location=no,menubar=no,toolbar=no');
			// 
			EventManager.publish({
				eventName:"com.cobaltgroup.ws.action.click.print"
			});
		});
		//Open photopopup
		jQuery("#enlargephoto").click(function() {
			/*Remove the video and discalimer and display the photo */
			jQuery("#vehPhoto").show();
			jQuery("#vehicleVideo").empty();
			jQuery("#videoDisclaimerId").css({ display:"none" });
			if(isSlideShow) {
				clearTimeout(slideshowTimer);
			}
			jQuery('div.sprite-icon_playVideoThumb').removeClass("tumbBorder");
			jQuery('div.thumbImage').removeClass("tumbBorder");
			if (jQuery("#"+Photos.getInstance().getIframeId()+"").length == 0 ) {      
			          var verticalElement = jQuery("#overviewTab,#inv_details_standardEquipment_container")[0];  // reference to parent result item element
		    	      Photos.getInstance().open(verticalElement, vehicleID,true, 'VehicleDetails',isPhotoAvailable);
		    } else {
		          alert ("There is currently another Photopopup form open.");
		    }
				
		});
		
});
jQuery('.disclamierLink').click(function () {										
		jQuery('.disclamierDetails').css("display","block");
		if(jQuery.browser.version == '6.0') {
			jQuery('.ifrm').css("display","block");
			jQuery('.ifrm').css('height',jQuery('.disclamierDetails').height()+5);
		}
});
jQuery('.specialDisclaimerClose').click(function() {
	jQuery('.disclamierDetails').css('display','none');
	if(jQuery.browser.version == '6.0') jQuery('.ifrm').css('display','none');
});
function initPaymentCalc(){
  	PaymentCalculatorHandler.pageLoad(document.forms.paymentCalculatorForm);
  	FormUtility.resetErrors();
  	calcInit=true;	
}

function calculateDownPayment() {
	initPaymentCalc();
	PaymentCalculator.calculateDownPayment();
}

function showDisclaimenr(){
	jQuery("#legaiDisclaimerTermsLayer").fadeIn("normal");
}

function closeDisclaimer(){
	jQuery(".legalCloseLayerButton").parent().fadeOut("fast");
}
function paymentCalcToPaymentPopupCalc(xml) {
	if (isVehicleDetails && monthlyRangePresent == true) {
		jQuery('#numberOfMonths').attr('value', jQuery('#loanTermSelect').val());
		jQuery('#apr_label').attr('value', jQuery('#interestRate_label').val());
		jQuery('#tradeInValue_label').attr('value', jQuery('#trade_label').val());
		if(!isNaN(jQuery(xml).find('downPayment').text()) && jQuery(xml).find('downPayment').text() > 0) {
			jQuery('#defaultDownPayment_label').attr('value', jQuery(xml).find('downPayment').text());
		} else {
			jQuery('#defaultDownPayment_label').attr('value', '');
		}
	}
}

function maskWidget(){
	if (isVehicleDetails) {
		var maskHeight = 15;
		if(navigator.userAgent.indexOf('Firefox')!=-1){
			maskHeight = 20;
		}
		jQuery('div.filterBack').css('visibility', 'hidden');
		jQuery('div.filterFade').css('visibility', 'hidden');
		jQuery('div.filterCorner').css('visibility', 'hidden');
		if(jQuery('#stcokAndVIN')){
			jQuery('#widgetMask').height(jQuery('div.results_searchWidget_inner').height()+jQuery('#stcokAndVIN').height()+maskHeight);
		} else {
			jQuery('#widgetMask').height(jQuery('div.results_searchWidget_inner').height()+5);
		}
		jQuery('#rightArrow').removeClass('sprite-results_searchArrRight');
		jQuery('#rightArrow').addClass('sprite-results_searchArrRight_hover');
		jQuery('#widgetMask').show();
		jQuery('#dropdownMask').hide();
	}
}

/* START activate and deactivate the left widget of vehicleDetails page */
if (isVehicleDetails) {
	jQuery('#widgetMask').mouseover(function(){
		jQuery(this).hide();
		jQuery('#dropdownMask').hide();
	});
	
	jQuery('#dropdownMask').mouseover(function(){
		jQuery(this).hide();
		jQuery('#widgetMask').hide();
	});
	
	if(navigator.userAgent.indexOf('Firefox')!=-1)
		var dropdownMaskMarginLeft = 118;
	else
		var dropdownMaskMarginLeft = 121;
	
	jQuery('div.results_searchWidget_inner').mouseout(function(){
		jQuery('#widgetMask').show();
		var locationClasses = jQuery('#handleLocation').parents('div.chainedFieldContainer').attr('class');
		var typeClasses = jQuery('#handleType').parents('div.chainedFieldContainer').attr('class');
		var makeClasses = jQuery('#handleMake').parents('div.chainedFieldContainer').attr('class');
		var modelClasses = jQuery('#handleModel').parents('div.chainedFieldContainer').attr('class');
		var trimClasses = jQuery('#handleTrim').parents('div.chainedFieldContainer').attr('class');
		if((locationClasses != null && locationClasses.indexOf('open')!=-1)||(typeClasses != null && typeClasses.indexOf('open')!=-1)||(makeClasses != null && makeClasses.indexOf('open')!=-1)||(modelClasses != null && modelClasses.indexOf('open')!=-1)||(trimClasses != null && trimClasses.indexOf('open')!=-1))
		jQuery('#dropdownMask').show();
		jQuery('div.filterBack').css('visibility', 'hidden');
		jQuery('div.filterFade').css('visibility', 'hidden');
		jQuery('div.filterCorner').css('visibility', 'hidden');
		jQuery('#rightArrow').removeClass('sprite-results_searchArrRight');
		jQuery('#rightArrow').addClass('sprite-results_searchArrRight_hover');				
	});
	jQuery('div.results_searchWidget_inner').mouseover(function(){
		jQuery('#widgetMask').hide();
		jQuery('#dropdownMask').hide();				
		jQuery('div.filterBack').css('visibility', 'visible');
		jQuery('div.filterFade').css('visibility', 'visible');
		jQuery('div.filterCorner').css('visibility', 'visible');
		jQuery('#rightArrow').removeClass('sprite-results_searchArrRight_hover');
		jQuery('#rightArrow').addClass('sprite-results_searchArrRight');				
	});
	function maskDropDown(handle){
		if(navigator.userAgent.indexOf('Firefox')!=-1)
			jQuery('#dropdownMask').height(jQuery(handle).height());
		else
			jQuery('#dropdownMask').height(jQuery(handle).height() + 2);
		jQuery('#dropdownMask').width(jQuery(handle).width() - dropdownMaskMarginLeft);
		if(navigator.userAgent.indexOf('Firefox')!=-1)
			jQuery('#dropdownMask').css('top', jQuery(handle).offset().top);
		else
			jQuery('#dropdownMask').css('top', jQuery(handle).offset().top - 2);
		if(navigator.userAgent.indexOf('Firefox')!=-1)
			jQuery('#dropdownMask').css('left', jQuery(handle).offset().left + dropdownMaskMarginLeft);
		else
			jQuery('#dropdownMask').css('left', jQuery(handle).offset().left + dropdownMaskMarginLeft - 2);
	}
	
	jQuery('#results_searchWidget').click(function(){
		jQuery('#widgetMask').hide();
		jQuery('#dropdownMask').hide();
		var locationClasses = jQuery('#handleLocation').parents('div.chainedFieldContainer').attr('class');
		var typeClasses = jQuery('#handleType').parents('div.chainedFieldContainer').attr('class');
		var makeClasses = jQuery('#handleMake').parents('div.chainedFieldContainer').attr('class');
		var modelClasses = jQuery('#handleModel').parents('div.chainedFieldContainer').attr('class');
		var trimClasses = jQuery('#handleTrim').parents('div.chainedFieldContainer').attr('class');
		if(locationClasses != null && locationClasses.indexOf('open')!=-1){
			maskDropDown('#locationDropdown');
		}
		else if(typeClasses != null && typeClasses.indexOf('open')!=-1){
			maskDropDown('#typeDropdown');
		}
		else if(makeClasses != null && makeClasses.indexOf('open')!=-1){
			maskDropDown('#makeDropdown');
		}
		else if(modelClasses != null && modelClasses.indexOf('open')!=-1){
			maskDropDown('#modelDropdown');
		}
		else if(trimClasses != null &&trimClasses.indexOf('open')!=-1){
			maskDropDown('#trimDropdown');
		}
	});
	jQuery('#locationDropdown').mouseover(function(){
		jQuery('#widgetMask').hide();
		jQuery('#dropdownMask').hide();
	});
	jQuery('#typeDropdown').mouseover(function(){
		jQuery('#widgetMask').hide();
		jQuery('#dropdownMask').hide();
	});
	jQuery('#makeDropdown').mouseover(function(){
		jQuery('#widgetMask').hide();
		jQuery('#dropdownMask').hide();
	});
	jQuery('#modelDropdown').mouseover(function(){
		jQuery('#widgetMask').hide();
		jQuery('#dropdownMask').hide();
	});
	jQuery('#trimDropdown').mouseover(function(){
		jQuery('#widgetMask').hide();
		jQuery('#dropdownMask').hide();
	});
	jQuery('#stockReq').mouseover(function(){
		jQuery('#widgetMask').hide();
	});
	jQuery('#txtZipCode').keypress(function () {
	 	jQuery('#widgetMask').hide();
	});	
    jQuery("#stockOrVIN").keypress(function () {
	 	jQuery('#widgetMask').hide();
	});
	
}
/* END activate and deactivate the left widget of vehicleDetails page */
