Skip to content

Instantly share code, notes, and snippets.

@mxrguspxrt
Created June 16, 2015 10:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mxrguspxrt/81cf28ffcab406690779 to your computer and use it in GitHub Desktop.
Save mxrguspxrt/81cf28ffcab406690779 to your computer and use it in GitHub Desktop.
reio-on-omo.js
var App = {
Init: function (data) {
$("#devicetypes").change(App.DeviceTypeChanged);
$("#makes").change(App.MakeChanged);
$("#models").change(App.ModelChanged);
$(".conditions").change(App.ConditionChanged);
App.PopulateDefaulListValues(1, 13);
},
DeviceTypeChanged: function () {
var dataJSON = {
deviceType: $("#devicetypes").val()
};
$("#step2").hide();
$(".grading").hide();
$("#modeldisplay").hide();
App.PopulateMakesList(dataJSON);
},
MakeChanged: function () {
var deviceType = $("#devicetypes").val();
var makeId = $("#makes").val();
if (makeId == "-1" || makeId.length == 0) {
$("#models").empty().append("<option value='-1'> [ Model ] </option>").prop("disabled", false);
} else {
var dataJSON = {
makeId: makeId,
deviceType: deviceType
};
App.PopulateModelsList(dataJSON);
}
},
ModelChanged: function () {
var VAT = 1;
var modelId = $(this).val();
var deviceType = $("#devicetypes").val();
if (modelId.length > 0 && modelId != "-1") {
var dataJSON = {
condition: 1
};
$.ajax({
url: 'http://demo.luurit.net/api/models/' + modelId + "/",
type: 'GET',
data: dataJSON,
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#tradeinvalue").html(Math.round(data.Price * VAT) + " " + data.Currency);
$("#modelimage").attr("src", data.ImageUrl);
$("#step2").show();
$(".grading").hide();
$("#grading-" + deviceType).show();
$("#modeldisplay").show();
},
error: function () {
displayErrors($form, ['An unknown error happened.']);
},
beforeSend: App.SetApiKey
});
}
},
ConditionChanged: function () {
var VAT = 1;
var modelId = $("#models").val();
var deviceTypeId = $("#devicetypes").val();
var gradingPanel = $("#grading-" + deviceTypeId);
var maxValue = 0;
$("input[type=radio]:checked", gradingPanel).each(function () {
var val = parseInt($(this).val());
if (val && val > maxValue) {
maxValue = val;
}
});
var condition = App.CalculateCondtion(maxValue);
var dataJSON = {
condition: condition
};
$.ajax({
url: 'http://demo.luurit.net/api/models/' + modelId + "/",
type: 'GET',
data: dataJSON,
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#tradeinvalue").html(Math.round(data.Price * VAT) + " " + data.Currency);
$("#modelimage").attr("src", data.ImageUrl);
$("#modeldisplay").show();
},
error: function () {
displayErrors($form, ['An unknown error happened.']);
},
beforeSend: App.SetApiKey
});
},
CalculateCondtion: function (grade) {
var condition = 1;
switch (grade) {
case 0:
condition = 1
break;
case 35:
condition = 5;
break;
case 75:
condition = 7;
break;
case 90:
condition = 9;
break;
default:
condition = 1;
}
return condition;
},
PopulateDefaulListValues: function (deviceTypeId, makeId) {
$.ajax({
url: 'http://demo.luurit.net/api/makes/list/',
type: 'GET',
data: { deviceType: deviceTypeId },
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#makes").empty().append("<option value='-1'> [ Make ] </option>").prop("disabled", false);
$("#models").empty().append("<option value='-1'> [ Model ] </option>").prop("disabled", true);
$.each(data, function (i, make) {
$("#makes").append("<option value='" + make.Id + "'>" + make.Name + "</option>");
});
$("#makes").val(makeId);
},
complete: function () {
$.ajax({
url: 'http://demo.luurit.net/api/models/list/',
type: 'GET',
data: { deviceType: deviceTypeId, makeId: makeId },
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#models").empty().append("<option value='-1'> [ Model ] </option>").prop("disabled", false);
$.each(data, function (i, model) {
$("#models").append("<option value='" + model.Id + "'>" + model.ModelName + "</option>");
});
},
error: function () {
console.log("Request Failed: ");
},
beforeSend: App.SetApiKey
});
},
error: function () {
console.log("Request Failed: ");
},
beforeSend: App.SetApiKey
});
},
PopulateMakesList: function (dataJSON) {
$.ajax({
url: 'http://demo.luurit.net/api/makes/list/',
type: 'GET',
data: dataJSON,
contentType: 'application/json; charset=utf-8',
beforeSend: App.SetApiKey,
success: function (data) {
$("#makes").empty().append("<option value='-1'> [ Make ] </option>").prop("disabled", false);
$("#models").empty().append("<option value='-1'> [ Model ] </option>").prop("disabled", true);
$.each(data, function (i, make) {
$("#makes").append("<option value='" + make.Id + "'>" + make.Name + "</option>");
});
},
error: function () {
console.log("Request Failed: ");
}
});
},
PopulateModelsList: function (dataJSON) {
$.ajax({
url: 'http://demo.luurit.net/api/models/list/',
type: 'GET',
data: dataJSON,
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#models").empty().append("<option value='-1'> [ Model ] </option>").prop("disabled", false);
$.each(data, function (i, model) {
$("#models").append("<option value='" + model.Id + "'>" + model.ModelName + "</option>");
});
},
error: function () {
console.log("Request Failed: ");
},
beforeSend: App.SetApiKey
});
},
Reset: function (data) {
$("#divDevicesInfo").hide();
},
SetApiKey: function (xhr) {
xhr.setRequestHeader('X-ApiKey', '43215D72-B920-4C1F-9A08-39B8C7D05700');
}
};
$(document).ready(function () {
App.Init();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment