var QQerrorString = 'Please enter the required information';
var QQYearErrorString = 'Required';

function onQQinput_focus(obj) {
	if (obj.value == QQerrorString || obj.value == QQYearErrorString) {
		obj.value = '';
	}
	obj.style.color = '';
}

$(document).ready(function () {
		$("#udm").mousemove( function(event) {
			removeSelect();
		});

		$('#QuickQuoteButton input.basic, #QuickQuoteButton a.basic, #QuickQuoteButton div.basic, span.specialItemClickHere, div.specialItemRightSideBoxClickHere').click(function (e) {
			e.preventDefault();

			InitializationQuickQuote();
		});
	});

function removeSelect() {
	$("#QuickQuoteMake").blur();
	$("#QuickQuoteModel").blur();
	$("#YearFrom").blur();
	$("#YearTo").blur();
}

function InitializationQuickQuote() {
	var specialQuoteArrows = document.getElementById('specialQuoteArrows');
	var widthQuickQuote;

	if (specialQuoteArrows)
		specialQuoteArrows.style.visibility = 'hidden';

	var hasToDisplayFreeForm = $('#HasToDisplayFreeFormHidden').val()

	if(hasToDisplayFreeForm == 'False')
		syncPopup();
	else
		syncFreeFormPopup();

	if($.browser.msie) {
		widthQuickQuote = '590px';
	} else {
		widthQuickQuote = '610px';
	}

	var popupObject = $('#QuickQuotePopup').modal({
			zIndex: 20000,
			close: true,
			containerId: 'QuickQuoteContainer',
			positionStyle: 'absolute',
			containerCss: {width: widthQuickQuote},
			position: [73,],
			onHide: function() {
				if (specialQuoteArrows)
					specialQuoteArrows.style.visibility = 'visible';
			}
		});

	$('.ClosePopup').bind('click.simplemodal', function (e) {
			e.preventDefault();
			popupObject.close();
		});
	$('body').animate({scrollTop:0}, 'slow'); 
}

function syncPopup () {
	document.getElementById('QuickQuoteMakeModal').selectedIndex = document.getElementById('QuickQuoteMake').selectedIndex;
	document.getElementById('QuickQuoteModelModal').selectedIndex = document.getElementById('QuickQuoteModel').selectedIndex;

	if($('#HasToHideYearHidden').val() == 'False') {
		document.getElementById('QuickQuoteYearFrom').selectedIndex = document.getElementById('YearFrom').selectedIndex;
		document.getElementById('QuickQuoteYearTo').selectedIndex = document.getElementById('YearTo').selectedIndex;
	}
}

function syncFreeFormPopup() {
	$('#QuickQuoteMakeModalInput').val($('#QuickQuoteMakeInput').val());
	$('#QuickQuoteModelModalInput').val($('#QuickQuoteModelInput').val());
	$('#QuickQuoteYearFromModalInput').val($('#QuickQuoteYearFromInput').val());
	$('#QuickQuoteYearToModalInput').val($('#QuickQuoteYearToInput').val());
}

function getModels(hostURL, accountId, isCrossPromoutionOn, isModelsFranchisedOnly) {
	$('#QuickQuoteModel').append('<option value="0">Select Model</option>').empty();
	$('#QuickQuoteModel').append('<option value="0">Loading...</option>');

	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/GetModelList",
		data: "{accountId: "+accountId+", makeId: "+$('#QuickQuoteMake').val()+", makeName: '"+ $('#' + "QuickQuoteMake :selected").text()+"', isCrossPromoutionOn: '"+isCrossPromoutionOn+"', isModelsFranchisedOnly: '"+isModelsFranchisedOnly+"'}",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var cars = (typeof response) == 'string' ? eval('(' + response + ')') : response;
			$('#QuickQuoteModel').append('<option value="0">Select Model</option>').empty();
			$('#QuickQuoteModel').append('<option value="0">Select Model</option>');

			$('#QuickQuoteModelModal').append('<option value="0">Select Model</option>').empty();
			$('#QuickQuoteModelModal').append('<option value="0">Select Model</option>');

			var quickQuoteMake_selected = $('#QuickQuoteMake').val();
			$('#QuickQuoteMakeModal').val(quickQuoteMake_selected);

			$('#YearFrom').append('<option value="0">Year</option>').empty();
			$('#YearTo').append('<option value="0">Year</option>').empty();

			$('#YearFrom').append('<option value="0">Year</option>');
			$('#YearTo').append('<option value="0">Year</option>');

			for (var i = 0; i < cars.length; i++) {
				$('#QuickQuoteModel').append('<option value=' + cars[i] + '>' + cars[i] + '</option>')
				$('#QuickQuoteModelModal').append('<option value=' + cars[i] + '>' + cars[i] + '</option>')
			}

		},
		failure: function(msg) {
			$('#output').text(msg);
		}
	});
}


function getYears(hostURL, accountId, isModelsFranchisedOnly) {
	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/GetYearList",
		data: "{accountId:"+accountId+", modelName: '"+ $('#' + "QuickQuoteModel :selected").text()+"', isModelsFranchisedOnly: '"+isModelsFranchisedOnly+"' }",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var years = (typeof response) == 'string' ? eval('(' + response + ')') : response;
			$('#YearFrom').append('<option value="0">Year</option>').empty();
			$('#YearTo').append('<option value="0">Year</option>').empty();

			$('#QuickQuoteYearFrom').append('<option value="0">Year</option>').empty();
			$('#QuickQuoteYearTo').append('<option value="0">Year</option>').empty();

			var quickQuoteModel_selected = $('#QuickQuoteModel').val();
			$('#QuickQuoteModelModal').val(quickQuoteModel_selected);

			$('#YearFrom').append('<option value="0">Year</option>');
			$('#YearTo').append('<option value="0">Year</option>');

			$('#QuickQuoteYearFrom').append('<option value="0">Year</option>');
			$('#QuickQuoteYearTo').append('<option value="0">Year</option>');

			for (var i = 0; i < years.length; i++) {
				$('#QuickQuoteYearFrom').append('<option value=' + years[i] + '>' + years[i] + '</option>')
				$('#YearFrom').append('<option value=' + years[i] + '>' + years[i] + '</option>')
			}
			for (var i = years.length - 1; i >= 0; i--) {
				$('#QuickQuoteYearTo').append('<option value=' + years[i] + '>' + years[i] + '</option>')
				$('#YearTo').append('<option value=' + years[i] + '>' + years[i] + '</option>')
			}
		},
		failure: function(msg) {
			$('#output').text(msg);
		}
	});
}

function getYearsModel(hostURL, accountId, isModelsFranchisedOnly) {
	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/GetYearList",
		data: "{accountId:"+accountId+", modelName: '"+ $('#' + "QuickQuoteModelModal :selected").text()+"', isModelsFranchisedOnly: '"+isModelsFranchisedOnly+"' }",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var years = (typeof response) == 'string' ? eval('(' + response + ')') : response;
			$('#QuickQuoteYearFrom').append('<option value="0">Year</option>').empty();
			$('#QuickQuoteYearTo').append('<option value="0">Year</option>').empty();

			$('#QuickQuoteYearFrom').append('<option value="0">Year</option>');
			$('#QuickQuoteYearTo').append('<option value="0">Year</option>');

			for (var i = 0; i < years.length; i++) {
				$('#QuickQuoteYearFrom').append('<option value=' + years[i] + '>' + years[i] + '</option>')
			}
			for (var i = years.length - 1; i >= 0; i--) {
				$('#QuickQuoteYearTo').append('<option value=' + years[i] + '>' + years[i] + '</option>')
			}
		},
		failure: function(msg) {
			$('#output').text(msg);
		}
	});
}

function getModelsModal(hostURL, accountId, isCrossPromoutionOn, isModelsFranchisedOnly) {
	$('#QuickQuoteModelModal').append('<option value="0">Select Model</option>').empty();
	$('#QuickQuoteModelModal').append('<option value="0">Loading...</option>');

	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/GetModelList",
		data: "{accountId: "+accountId+", makeId: "+$('#QuickQuoteMakeModal').val()+", makeName: '"+ $('#' + "QuickQuoteMakeModal :selected").text()+"', isCrossPromoutionOn: '"+isCrossPromoutionOn+"', isModelsFranchisedOnly: '"+isModelsFranchisedOnly+"'}",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var cars = (typeof response) == 'string' ? eval('(' + response + ')') : response;
			$('#QuickQuoteModelModal').append('<option value="0">Select Model</option>').empty();
			$('#QuickQuoteModelModal').append('<option value="0">Select Model</option>');

			$('#QuickQuoteYearFrom').append('<option value="0">Year</option>').empty();
			$('#QuickQuoteYearTo').append('<option value="0">Year</option>').empty();

			$('#QuickQuoteYearFrom').append('<option value="0">Year</option>');
			$('#QuickQuoteYearTo').append('<option value="0">Year</option>');

			for (var i = 0; i < cars.length; i++) {
				$('#QuickQuoteModelModal').append('<option value=' + cars[i] + '>' + cars[i] + '</option>')
			}
		},
		failure: function(msg) {
			$('#output').text(msg);
		}
	});
}

function saveGetAQuoteLead(siteId, hostURL) {
	if(!validateQQForm())
		return;

	var hasToDisplayFreeForm = $('#HasToDisplayFreeFormHidden').val()
	var hasToHideYearHidden = $('#HasToHideYearHidden').val()
	var yearTo = 0;
	var yearFrom = 0;
	var yearStartYearEnd = 0;

	if(hasToDisplayFreeForm == 'False') {
		var make = getSelectedText("QuickQuoteMakeModal");
		var model = getSelectedText("QuickQuoteModelModal");

		if(hasToHideYearHidden == 'False') {
			yearFrom = getSelectedText("QuickQuoteYearFrom");
			yearTo = getSelectedText("QuickQuoteYearTo");
		}
	} else {
		var make = $('#QuickQuoteMakeModalInput').attr('value');
		var model = $('#QuickQuoteModelModalInput').attr('value');

		if(hasToHideYearHidden == 'False') {
			yearFrom = $('#QuickQuoteYearFromModalInput').attr('value');
			yearTo = $('#QuickQuoteYearToModalInput').attr('value');
		}
	}

	var bodyStyle = getSelectedText("QuickQuoteBodyStyle");
	var extColor = getSelectedText("QuickQuoteExtColor");
	var milesFrom = getSelectedText("QuickQuoteMilesFrom");
	var milesTo = getSelectedText("QuickQuoteMilesTo");
	var week = getSelectedText("QuickQuoteWeek");
	var transmission = getSelectedText("QuickQuoteTransmission");
	var intColor = getSelectedText("QuickQuoteIntColor");
	var priceFrom = getSelectedText("QuickQuotePriceFrom");
	var priceTo = getSelectedText("QuickQuotePriceTo");

	var firstName = $('#' + "QuickQuoteFirstName").attr('value');
	var lastName = $('#' + "QuickQuoteLastName").attr('value');
	var dayPhone = $('#' + "QuickQuoteDayPhone").attr('value');
	var message = encodeURI($('#' + "QuickQuoteMessage").attr('value'));
	var email = $('#' + "QuickQuoteEmail").attr('value');

	var emailPhone = email + ((dayPhone.length > 0) ? (' or ' + dayPhone + ' ') : ' ');

	if(yearFrom == yearTo)
		yearStartYearEnd = yearFrom;
	else
		yearStartYearEnd = yearFrom + ((yearTo.length > 0) ? (' to ' + yearTo + '') : ' ');

	$("#spnFirstName").html(firstName);
	$("#spnYearStartYearEnd").html(yearStartYearEnd);

	if(yearFrom == 0 && yearTo == 0) {
		document.getElementById('spnYearStartYearEnd').style.display = 'none';
		$("#spnMake").html("<br />" + make);
	} else {
		$("#spnMake").html(make);
	}

	$("#spnModel").html(model);
	$("#spnEmailPhone").html(emailPhone);

	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/SaveGetAQuoteLead",
		data: '{"make": "'+make+'","model": "'+model+'","yearFrom": "'+yearFrom+'","yearTo": "'+yearTo+'","bodyStyle": "'+bodyStyle+'","extColor": "'+extColor+'","milesFrom": "'+milesFrom+'","milesTo": "'+milesTo+'","week": "'+week+'","transmission": "'+transmission+'","intColor": "'+intColor+'","priceFrom": "'+priceFrom+'","priceTo": "'+priceTo+'","firstName": "'+firstName+'","lastName": "'+lastName+'","dayPhone": "'+dayPhone+'","message": "'+message+'","email": "'+email+'","siteId": "'+siteId+'"}',
		contentType: "application/json; charset=utf-8",
		dataType: "json",
				success: function(response) {
				$("#QuickQuoteModalContentResponse2").hide();
				//$("#QuickQuotePopup").css("height", "460px");
				$(".QuickQuotePopupWrapper").css("height", "450px");
				$("#QuickQuoteModalContent").css("height", "374");

				$("#QuickQuoteModalContentResponse").show();

				$('body').animate({scrollTop:0}, 'slow'); 
		},
		failure: function(msg) {
		}
		
	});
}

function validateQQForm() {
	var returnValue = true;
	var hasToDisplayFreeForm = $('#HasToDisplayFreeFormHidden').val();
	var hasToHideYearHidden = $('#HasToHideYearHidden').val();

	var firstNameRequiredHiden = $('#FirstNameRequiredHiden').val();
	var lastNameRequiredHidden = $('#LastNameRequiredHidden').val();
	var phoneNumberRequiredHiden = $('#PhoneNumberRequiredHiden').val();

	if(hasToDisplayFreeForm == 'False')
		obj = document.getElementById('QuickQuoteMakeModal');
	else
		obj = document.getElementById('QuickQuoteMakeModalInput');

	if (obj.value == '0') {
		document.getElementById('QuickQuoteMakeMessage').style.visibility = 'visible';
		returnValue = false;
	}
	else
		document.getElementById('QuickQuoteMakeMessage').style.visibility = 'hidden';

	document.getElementById('spnMake').innerText = obj.value;

	if(hasToDisplayFreeForm == 'False')
		obj = document.getElementById('QuickQuoteModelModal');
	else
		obj = document.getElementById('QuickQuoteModelModalInput');

	if (obj.value == '0' ) {
		document.getElementById('QuickQuoteModelMessage').style.visibility = 'visible';
		returnValue = false;
	}
	else
		document.getElementById('QuickQuoteModelMessage').style.visibility = 'hidden';
	document.getElementById('spnModel').innerText = obj.value;

	if(hasToDisplayFreeForm == 'False' && hasToHideYearHidden == 'False') {
		if (document.getElementById('QuickQuoteYearFrom').value == '0' || document.getElementById('QuickQuoteYearTo').value == '0') {
			document.getElementById('QuickQuoteYearsMessage').style.visibility = 'visible';
			returnValue = false;
		}
		else
			document.getElementById('QuickQuoteYearsMessage').style.visibility = 'hidden';

		document.getElementById('spnYearStartYearEnd').innerText = document.getElementById('QuickQuoteYearFrom').value + ' to ' + document.getElementById('QuickQuoteYearTo').value;
	}

	if(hasToDisplayFreeForm == 'True') {
		obj = document.getElementById('QuickQuoteMakeModalInput');
		if (obj.value.length == 0 || obj.value == QQerrorString) {
			obj.value = QQerrorString;
			obj.style.color = 'red';
			returnValue = false;
		}

		obj = document.getElementById('QuickQuoteModelModalInput');
		if (obj.value.length == 0 || obj.value == QQerrorString) {
			obj.value = QQerrorString;
			obj.style.color = 'red';
			returnValue = false;
		}

		if(hasToHideYearHidden == 'False') {
			obj = document.getElementById('QuickQuoteYearFromModalInput');
			if (obj.value.length == 0 || obj.value == QQYearErrorString) {
				obj.value = QQYearErrorString;
				obj.style.color = 'red';
				returnValue = false;
			}

			obj = document.getElementById('QuickQuoteYearToModalInput');
			if (obj.value.length == 0 || obj.value == QQYearErrorString) {
				obj.value = QQYearErrorString;
				obj.style.color = 'red';
				returnValue = false;
			}
		}
	}

	if(firstNameRequiredHiden.toLowerCase() == 'true') {
		obj = document.getElementById('QuickQuoteFirstName');
		if (obj.value.length == 0 || obj.value == QQerrorString) {
			obj.value = QQerrorString;
			obj.style.color = 'red';
			returnValue = false;
		}
	}

	obj = document.getElementById('QuickQuoteEmail');
	if (obj.value.length == 0 || obj.value == QQerrorString) {
		obj.value = QQerrorString;
		obj.style.color = 'red';
		returnValue = false;
	}
	else
		if (!checkEmailStr(obj.value)) {
			obj.style.color = 'red';
			returnValue = false;
	}

	if(lastNameRequiredHidden.toLowerCase() == 'true') {
		obj = document.getElementById('QuickQuoteLastName');
		if (obj.value.length == 0 || obj.value == QQerrorString) {
			obj.value = QQerrorString;
			obj.style.color = 'red';
			returnValue = false;
		}
	}

	if(phoneNumberRequiredHiden.toLowerCase() == 'true') {
		obj = document.getElementById('QuickQuoteDayPhone');
		if (obj.value.length == 0 || obj.value == QQerrorString) {
			obj.value = QQerrorString;
			obj.style.color = 'red';
			returnValue = false;
		}
	}

	return returnValue;
}
