var totalFeatures = 0;
var FeatureObj = class FeatureObj {
constructor(category, options) {
this.id = totalFeatures;
totalFeatures++;
this.category = category;
this.options = options;
for (var i in options) {
options[i].id = i;
options[i].featureId = this.id;
}
}
}
function initFeatures() {
var featuresO = [
{
category: "Interoperability & Channels",
options: [{
name: "Single Band",
question: 3,
value: 0,
subset: [1]
},
{
name: "All-Band Capable",
update: function () {
this.name = "All-Band Capable";
if (questions[3].valueSelected !== 2) {
this.name = "Single-band and Multi-band Capable with ability to add frequency bands as needs evolve";
}
},
question: 3,
value: [1, 2, 3],
}, {
name: "Up to 512 programmable channels and 50 zones",
update: function () {
this.name = "Up to 512 programmable channels and 50 zones";
if (typeof this.radio != "undefined" && (this.radio.id == 3 || this.radio.id == 5)) {
this.name = "Up to 512 programmable channels standard (1000 upgradeable option) and 50 zones standard (65 upgradeable option)";
}
},
question: 4,
subset: [4,5],
// value: [0, 1, 2],
value: [0],
}, {
name: "Obsolete",
question: 4,
value: [0, 1, 2],
}, {
name: "Up to 1000 programmable channels standard (3000 upgradeable option) and 65 zones standard (200 upgradeable option)",
question: 4,
value: [1, 2],
subset: [5],
group: 3
}, {
name: "Up to 3000 programmable channels and 200 zones.",
question: 4,
value: [2],
group: 3
}]
},
{
category: "Audio",
options: [
{
name: "Basic Audio: Windporting, basic noise suppression and single microphone",
question: 5,
// value: [0, 1, 2],
value: [0],
subset: [3, 4],
update: function () {
this.name = "Basic Audio: Windporting, basic noise suppression";
if (typeof this.radio != "undefined" && this.radio.id == 0) {
this.name = "Basic Audio: Windporting, basic noise suppression and single microphone";
}
if (typeof this.radio != "undefined" && this.radio.id == 1) {
this.name = "Basic Audio: Windporting, basic noise suppression and 3 microphones";
}
if (typeof this.radio != "undefined" && this.radio.id == 3) {
this.name = "Basic Audio: Windporting, basic noise suppression and dual microphones";
}
}
}, {
name: "Obsolete",
question: 5,
value: [0, 1, 2]
}, {
name: "Obsolete",
question: 5,
value: [0, 1, 2]
},
{
name: "Enhanced Audio: Adaptive audio engine, windporting and multiple microphones",
question: 5,
// value: [1, 2],
value: [1],
subset: [4],
}, {
name: "Advanced Audio: Multiple high dynamic range mics, adaptive audio engine, intelligent volume leveling, and windporting",
question: 5,
value: [2],
}
]
}
,
{
category: "Usability",
options: [{
name: "Front display with full or limited key pad available",
question: -1,
value: -1
}, {
name: "Ultra-rugged color front display with limited keypad navigation controls and programmable buttons",
question: 6,
value: 0,
group: 4
}, {
name: "ViQi Voice Control Basic",
question: 6,
value: 2
}, {
name: "Non-slip T-grip Shape and compact design",
question: -1,
value: -1
}, {
name: "Optional high-visibility impact green and public safety yellow housing",
question: -1,
value: -1
}, {
name: "Top display to retrieve key radio information at a glance",
question: 6,
value: 1
}, {
name: "Optional Front display with full or limited key pad available",
question: -1,
value: -1
}, {
name: "Non-slip T-grip Shape",
question: -1,
value: -1
}, {
name: "Exaggerated controls and form factor",
question: 6,
value: 3
}, {
name: "Optional high-visibility impact green or public safety yellow housing",
question: -1,
value: -1
}, {
name: "Ultra-rugged limited touch display with limited keypad and 6 programmable buttons",
question: 6,
value: 0,
group: 4
},
{
name: "ViQi Voice Control",
question: 6,
value: 2
}, {
name: "Optional SRX Coyote Brown housing package",
question: -1,
value: -1
},
{
name: "High-visibility impact green housing",
question: -1,
value: -1
}, {
name: "Ultra-rugged full touch display for enhanced usability and features",
question: 6,
value: 0,
group: 4
}, {
name: "Ultra-rugged full touch display with crash bar for enhanced usability and features",
question: 6,
value: 0,
group: 4
}, {
name: "Optional high-visibility impact green housing",
question: -1,
value: -1
}]
}
,
{
category: "Security",
options: [{
name: "Software Encryption",
question: 7,
value: 1,
subset: [1],
}, {
name: "Hardware Encryption",
question: 7,
value: 0
}]
},
{
category: "Environmental",
options: [{
name: "Ingress Protection: IP68: 2 m, 2 hr",
question: -1,
value: -1
}, {
name: "HazLoc (Class 1, Div 1 & 2)",
question: 6,
value: 5,
subset: [5]
},
{
name: "Delta-T Testing (optional)",
question: -1,
value: -1
},
{
name: "Ingress Protection: IP67",
question: -1,
value: -1
},
{
name: "Ingress Protection: IP68: 2 m, 4 hr",
question: -1,
value: -1
},
{
name: "HazLoc (Class 1, Div 2)",
question: 6,
value: 5
},
{
name: "Ingress Protection: IP68: 2 m, 4 hr. Hazard Zone Heat and Immersion Leakage Resistance designed to meet the latest fire industry standards.",
question: -1,
value: -1
},
{
name: "Built to latest industry standards for the hazard zone to withstand extreme degree of heat, impact, water and dust immersion, direct flame and other notable environmental requirements and software safety features.",
question: -1,
value: -1
},
{
name: "Delta-T Testing (standard)",
question: -1,
value: -1
},
]
},
{
category: "Other Features",
options: [
{
name: "Bluetooth",
question: -1,
value: -1
},
{
name: "Mandown",
question: 6,
value: 4
},
{
name: "GPS/GLONASS Location sharing over LMR network",
question: -1,
value: -1
}]
},
{
category: "Broadband",
options: [
{
name: "WiFi Capable",
question: -1,
value: -1,
subset: [1, 2]
},
{
name: "Optional LTE and WiFi Capable",
question: -1,
value: -1,
subset: [2]
},
{
name: "LTE and WiFi Capable",
question: -1,
value: -1
}
]
},
{
category: "Smart Applications",
options: [
{
name: "SmartConnect (Over LTE or WiFi)",
question: 9,
value: 0,
group: 1
},
{
name: "SmartLocate",
question: 9,
value: 1
},
{
name: "SmartMapping",
question: 9,
value: 2
},
{
name: "SmartMessaging",
question: 9,
value: 3
},
{
name: "Fleet Management over LTE or WiFi",
question: 9,
value: 4,
group: 2
},
{
name: "ViQi Virtual Partner",
question: -1,
value: -1
},
{
name: "SmartConnect (Over WiFi)",
question: 9,
value: 0,
group: 1
},
{
name: "Fleet Management over WiFi",
question: 9,
value: 4,
group: 2
},
{
name: "SmartConnect (Over LTE)",
question: 9,
value: 0,
group: 1
},
{
name: "Fleet Management over LTE",
question: 9,
value: 4,
group: 2
}
]
}
];
var features = [];
for (var feature in featuresO) {
feature = featuresO[feature];
features.push(new FeatureObj(feature.category, feature.options));
}
return features;
}var totalRadios = 0;
var RadioObj = class RadioObj {
constructor(name, imageUrl, fullImageUrl, description, features = []) {
this.id = totalRadios;
totalRadios++;
this.name = name;
this.disabled = false;
this.imageUrl = imageUrl;
this.fullImageUrl = fullImageUrl;
this._description = description;
this.features = features;
this.positiveInfluense = [];
this.negativeInfluense = [];
this._htmlId = `radio-${this.id}`;
}
render() {
var missing = ``;
if (this.hasQuestionMissing()) {
missing = `
<div class="missing">
<svg onmouseover="radioMissingMouseover('${this._htmlId}')" onmouseout="radioMissingMouseout('${this._htmlId}')" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.57 22.57"><defs><style>.cls-1{fill:#4d4d4d;}.cls-2{font-size:13px;fill:#fff;font-family:ArialMT, Arial;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><circle class="cls-1" cx="11.29" cy="11.29" r="11.29"/><text class="cls-2" transform="translate(7.64 15.89)">?</text></g></g></svg>
<label>Selections</label>
</div>`;
var radioMissingModal = `
<div class="radioMissingModal" data-radio-id="${this._htmlId}">
Your selections that <b>DO NOT</b> <br/> apply to this product:
`;
for (var q in questions) {
var question = questions[q];
if ([0, 1, 2].includes(parseInt(question.id))) {
continue;
}
var radioMissingModalOptions = "";
for (var a in question.answers) {
if ((question.multiple || question.answers[a].multiple) && question.answers[a].value === true) {
if (question.getInfluenseAnswer(this, questions[0].valueSelected, a) >= 0) continue;
radioMissingModalOptions = radioMissingModalOptions + `
<b>
${question.answers[a].short}
</b>
`;
}
else if (a == question.valueSelected) {
if (question.getInfluenseAnswer(this, questions[0].valueSelected, a) >= 0) continue;
radioMissingModalOptions = radioMissingModalOptions + `
<b>
${question.answers[a].short}
</b>
`;
}
}
if (radioMissingModalOptions != "") {
radioMissingModal = `
${radioMissingModal}
<p class="missingQuestions">
${question.questionShort}
<br/>
${radioMissingModalOptions}
</p>`;
}
}
radioMissingModal = radioMissingModal + `
</div>`;
$(`[data-radio-id="${this._htmlId}"]`).remove();
$(radioMissingModal).insertAfter(`.maximumCompareReached`);
}
return `
<div class="radioContainer" id="${this._htmlId}">
${missing}
<div class="compare">
<input onchange="addCompare(this, ${this.id})" type="checkbox" id="${this._htmlId}-compare">
<label for="${this._htmlId}-compare" onmouseover="radioMouseover('${this._htmlId}')" onmouseout="radioMouseout('${this._htmlId}')">Compare</label>
</div>
<div class="image">
<img src="${this.getFullImageSrc()}" alt="${this.name}">
</div>
<div class="content">
<div>
<div class="name">
${this.name}
</div>
<div class="description">
${this.description}
</div>
</div>
<div class="radioActions">
<a onclick="addToCart(${this.id})" data-uet='{"link-type":"button","link-label":"add to cart - ${this.name}","cname":"button click","link-url":"@button click","link-place":"1","restriction":"public","page-area":"2"}' href="javascript:void(0)" class="addToCart"><span>ADD TO CART</span></button>
<a onclick="openDetails(${this.id})" data-uet='{"link-type":"button","link-label":"open details - ${this.name}","cname":"button click","link-url":"@button click","link-place":"1","restriction":"public","page-area":"2"}' href="javascript:void(0)" class="openDetails"><span>OPEN DETAILS</span></a>
</div>
</div>
<div class="accessories">
<div class="title">
Interested in Accesories?
</div>
<div class="items">
<div class="custom-btn black" onclick="goToAccesories()">
<span>SHOP MOTOROLA</span>
</div>
</div>
</div>
</div>
`;
}
get description() {
return this._description.get();
}
getImageSrc() {
var industry = questions[0].valueSelected;
var customFlag = industry === 0 || industry === 2 || industry === 4;
// customFlag = false;
if (this.id == 7 && customFlag) {
return "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B2271c76c-0447-4d9a-9d43-b261116533f4%7D_APX-6000XE-black.png";
}
if (this.id == 10 && customFlag) {
return "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bc7e1418f-df50-4c7f-bb2c-2b0fed3b0c1f%7D_APX-8000XE-black.png";
}
if (this.id == 14 && customFlag) {
return "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bbec6faf3-a4f8-4f92-9692-20ed82cc859f%7D_APX-NEXT-XE-black.png";
}
return this.imageUrl;
}
getFullImageSrc() {
var industry = questions[0].valueSelected;
var customFlag = industry === 0 || industry === 2 || industry === 4;
// customFlag = false;
if (this.id == 7 && customFlag) {
return "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B258b224d-ab22-442a-8af9-a494aaa318f0%7D_APX-6000XE-black.png";
}
if (this.id == 10 && customFlag) {
return "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bbd808499-b439-49f7-a3ec-0514e9f94220%7D_APX-8000XE-black.png";
}
if (this.id == 14 && customFlag) {
return "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B908c5463-091c-469c-acd4-920a2daf2fa7%7D_APX-NEXT-XE-black.png";
}
return this.fullImageUrl;
}
hasQuestionMissing() {
for (var q in questions) {
var question = questions[q];
if ([0, 1, 2].includes(parseInt(question.id))) {
continue;
}
for (var a in question.answers) {
if ((question.multiple || question.answers[a].multiple) && question.answers[a].value === true) {
if (question.getInfluenseAnswer(this, questions[0].valueSelected, a) < 0) { return true };
}
else if (a == question.valueSelected) {
if (question.getInfluenseAnswer(this, questions[0].valueSelected, a) < 0) { return true };
}
}
}
return false;
}
generateHighlitedFeatureList() {
var featureList = {};
for (var feature in this.features) {
var feature = this.features[feature];
var key = feature.split("@");
if (key.length != 2) {
console.log("key error");
continue;
}
feature = features[key[0]];
if (typeof feature.update === "function") {
feature.radio = this;
feature.update();
}
var option = feature.options[key[1]];
if (typeof option.update === "function") {
option.radio = this;
option.update();
}
if (typeof option.value == "object") {
for (var val in option.value) {
val = option.value[val];
if (this.addToFeatureList(featureList, feature, option, val, true)) break;
}
}
else {
this.addToFeatureList(featureList, feature, option, option.value, true);
}
}
return featureList;
}
renderHighlatedFeatures(compare = false) {
var featureList = this.generateHighlitedFeatureList();
return this.renderFeatureList(featureList, compare);
}
addToFeatureList(featureList, feature, option, val, highlated) {
if (typeof questions[option.question] == "undefined") {
if (highlated) return false;
this._addToFeatureList(featureList, feature, option);
return true;
}
var extraQuestions = extraQuestions = {
4: { multiple: false, answers: [] },
5: { multiple: false, answers: [] },
6: { multiple: false, answers: [] },
7: { multiple: false, answers: [] }
};
if (questions[8].valueSelected === 0) {
extraQuestions[4].valueSelected = 0;
extraQuestions[5].valueSelected = 0;
extraQuestions[6].multiple = true;
extraQuestions[6].answers[4] = { value: true };
extraQuestions[7].valueSelected = 1;
}
else if (questions[8].valueSelected === 1) {
extraQuestions[4].valueSelected = 1;
extraQuestions[5].valueSelected = 0;
extraQuestions[6].multiple = true;
extraQuestions[6].answers[4] = { value: true };
extraQuestions[7].valueSelected = 0;
}
else if (questions[8].valueSelected === 2) {
extraQuestions[4].valueSelected = 2;
extraQuestions[5].valueSelected = 2;
extraQuestions[6].multiple = true;
extraQuestions[6].answers[0] = { value: true };
extraQuestions[6].answers[1] = { value: true };
extraQuestions[6].answers[2] = { value: true };
extraQuestions[6].answers[4] = { value: true };
extraQuestions[7].valueSelected = 0;
}
else if (questions[8].valueSelected === 3) {
extraQuestions[4].valueSelected = 2;
extraQuestions[5].valueSelected = 2;
extraQuestions[6].multiple = true;
extraQuestions[6].answers[0] = { value: true };
extraQuestions[6].answers[1] = { value: true };
extraQuestions[6].answers[2] = { value: true };
extraQuestions[6].answers[4] = { value: true };
extraQuestions[7].valueSelected = 0;
}
else {
extraQuestions = {};
}
var question = questions[option.question];
if (typeof extraQuestions[option.question] != "undefined") {
question = extraQuestions[option.question];
}
if (typeof question.answers[val] == "undefined") {
if (highlated) return false;
this._addToFeatureList(featureList, feature, option);
return true;
}
var answer = question.answers[val];
if (question.multiple || answer.multiple) {
if (!answer.value) {
if (highlated) return false;
this._addToFeatureList(featureList, feature, option);
return true;
} else {
if (!highlated) return false;
this._addToFeatureList(featureList, feature, option);
return true;
}
} else {
if (val !== question.valueSelected) {
if (highlated) return false;
this._addToFeatureList(featureList, feature, option);
return true;
} else {
if (!highlated) return false;
this._addToFeatureList(featureList, feature, option);
return true;
}
}
this._addToFeatureList(featureList, feature, option);
return true;
}
_addToFeatureList(featureList, feature, option) {
if (typeof featureList[feature.category] === "undefined") {
featureList[feature.category] = [];
}
featureList[feature.category].push(option);
}
renderFeatureList(featureList, compare) {
var rendered = "";
var order = Object.keys(featureList);
order.sort();
for (var category in order) {
category = order[category];
if (compare) {
rendered = rendered + `
<div class="categoryContainer">
<b>${category}</b>
`;
var orderOption = [];
for (i in featureList[category]) {
orderOption.push({ id: i, name: featureList[category][i].name, realId: parseInt(featureList[category][i].id) , group: featureList[category][i].group });
}
orderOption.sort(function (a, b) {
var aId = a.realId;
if(typeof a.group != "undefined"){
aId += a.group * 100;
}
var bId = b.realId;
if(typeof b.group != "undefined"){
bId += b.group * 100;
}
if (aId < bId) return -1;
if (aId > bId) return 1;
return 0;
});
// console.log(orderOption);
for (var option in orderOption) {
option = orderOption[option].id;
if (typeof featureList[category][option].update == "function") {
featureList[category][option].radio = this;
featureList[category][option].update();
}
var featureName = featureList[category][option].name;
if(typeof featureList[category][option].fakeFeature != "undefined") {
featureName = featureList[category][option].fakeFeature.name;
}
var fake = typeof featureList[category][option].fake != "undefined" && featureList[category][option].fake;
rendered = rendered + `<p class="${fake ? "fake" : "real"}">
<img class="fakeImage" src="https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bb7f1e8d3-e4f5-4949-bae1-800b145d12b5%7D_greyCross.png" />
<img class="realImage" src="https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B9564e1d5-f214-47e4-96d7-c602196b9726%7D_blueTick.png" />
${featureName}
</p>`;
}
rendered = rendered + `
</div>`;
continue;
}
rendered = rendered + `
<ul>
<li>${category}</li>
</ul>
`;
for (var option in featureList[category]) {
rendered = rendered + `<p>${featureList[category][option].name}</p>`;
}
}
return rendered;
}
renderNonHighlatedFeatures(compare = false) {
var featureList = {};
for (var feature in this.features) {
var feature = this.features[feature];
var key = feature.split("@");
if (key.length != 2) {
console.log("key error");
continue;
}
feature = features[key[0]];
if (typeof feature.update === "function") {
feature.radio = this;
feature.update();
}
var option = feature.options[key[1]];
if (typeof option.update === "function") {
option.radio = this;
option.update();
}
if (typeof option.value == "object") {
for (var val in option.value) {
val = option.value[val];
if (this.addToFeatureList(featureList, feature, option, val, false)) break;
}
}
else {
this.addToFeatureList(featureList, feature, option, option.value, false);
}
}
return this.renderFeatureList(featureList, compare);
}
rendeAnsData() {
if (this.totalCart <= 0) return "";
return `${this.name}->${this.totalCart}`;
}
}
function isDualBandSelected() {
if (questions[3].valueSelected === 1) {
return true;
}
return false;
}
function isAllBandSelected() {
if (questions[3].valueSelected === 2) {
return true;
}
return false;
}
function initRadios() {
var radios = [];
var radioNames = ["APX 900", "APX N30", "APX 3000", "APX 4000", "APX 4000XH", "APX N50", "APX 6000", "APX 6000XE", "APX N70", "APX 8000", "APX 8000XE", "APX 8000H", "APX 8000HXE", "APX NEXT", "APX NEXT XE", "APX NEXT XN"];
var descriptions = [
{
get: function () {
return `Focused on efficiency, with quality P25 features in an easy to-use-design, the APX 900 is ideal for government services and public works organizations who need a great value P25 radio.`;
}
},
{
get: function () {
return `APX N30 connects your teams to reliable P25 radio communications with all the essential features they need and nothing that they don’t. The ideal single-band P25 solution for mobile workers looking for durable APX performance in a pared down, cost effective package.`;
}
},
{
get: function () {
return `APX 3000, our covert single band P25 radio is the ideal solution for undercover personnel or covert operations where users need to communicate securely while blending into the surroundings.`;
}
},
{
get: function () {
return `Durable and compact with key features in an easy to use design, the APX 4000 is an ideal reliable radio for agencies requiring a budget friendly P25 Phase 2 single band solution.`;
}
},
{
get: function () {
return `APX 4000XH is rated with hazardous certification CSA-157, and tested to the US military standard MIL-STD Rated G. This radio is built tough, and leverages the leading attributes of the APX family portables like the 2-microphone design built to reduce background noise so you can speak and hear clearly over heavy equipment, diesel engines and drilling activities. APX 4000XH is only available in Canada.`;
}
},
{
get: function () {
return `APX N50 is a slim yet tough single-band radio first responders, public-safety support and administrative staff with secure, reliable communications so they can stay connected and keep collaborating in the field. Whatever the environment, users can hear and be heard with loud and clear audio, seamlessly connect with other devices via bluetooth and WiFi, and change radio controls with ViQi basic voice control.`;
}
},
{
get: function () {
return `The enhanced APX 6000 P25 single-band portable radio is an ideal choice for law enforcement officers and first responders requiring a robust solution that can meet the high demands and rigors of the job. APX 6000 supports WiFi®, Adaptive Audio Engine, and Bluetooth® 4.0, while continuing to deliver trusted performance.`;
}
},
{
get: function () {
var industry = questions[0].valueSelected;
if (industry === 0 || industry === 2 || industry === 4) {
return `Available in both black and high-visibility green, The APX 6000XE is our single-band portable radio with exaggerated knobs and controls for enhanced grip and use with gloves, among other extreme ergonomics making it an ideal solution for those who may be frequently operating in harsh environments.`;
}
return `The APX 6000XE is our single-band portable radio with exaggerated knobs and controls for enhanced grip and use with gloves, among other extreme etreme ergonomics making it an ideal solution fire/rescue teams, or users frequently operating in harsh environments.`;
}
},
{
get: function () {
return `APX N70 single-band radio gives frontline public safety personnel the mission-critical communications and real-time information they need to respond quickly. Designed to be inherently rugged with ultimate connectivity, it offers optional LTE, WiFi and an array of smart applications to enhance in-field intelligence for improved situational awareness.`;
}
},
{
get: function () {
if (isDualBandSelected()) {
return `APX 8000 is intuitively designed with a familiar look and feel. All-band and multi-mode system access, the APX 8000 knows no limits with interoperability. Loud or windy, whispers or yells, the Adaptive Audio Engine brings clarity to every conversation. With Wi-Fi access, quickly receive new codeplugs, firmware and software features to redeploy the radio fleet with ease as users keep talking without interruption. And while you may only need single band today, APX 8000 can be configured with only dual band operation today, while giving you the flexibility to order additional bands in the future should you ever need them.`;
}
if (isAllBandSelected()) {
return `APX 8000 is intuitively designed with a familiar look and feel. All-band and multi-mode system access, the APX 8000 knows no limits with interoperability. Loud or windy, whispers or yells, the Adaptive Audio Engine brings clarity to every conversation. With Wi-Fi access, quickly receive new codeplugs, firmware and software features to redeploy the radio fleet with ease as users keep talking without interruption.`;
}
return `APX 8000 is intuitively designed with a familiar look and feel. All-band and multi-mode system access, the APX 8000 knows no limits with interoperability. Loud or windy, whispers or yells, the Adaptive Audio Engine brings clarity to every conversation. With Wi-Fi access, quickly receive new codeplugs, firmware and software features to redeploy the radio fleet with ease as users keep talking without interruption. And if you only need single or dual band today, the APX 8000 gives you the flexibility to order additional bands in the future should you ever need them.`;
}
},
{
get: function () {
var industry = questions[0].valueSelected;
if (industry === 0 || industry === 2 || industry === 4) {
if (isDualBandSelected()) {
return `Available in both black and high-visibility green, the APX 8000XE is our all-band portable radio with exaggerated knobs and controls for enhanced grip and use with gloves, among other extreme ergonomics making it an ideal solution for those who may be frequently operating in harsh environments, who require multi-band interoperability. And if you only need single or dual band today, the APX 8000XE gives you the flexibility to order additional bands in the future should you ever need them.`;
}
return `Available in both black and high-visibility green, the APX 8000XE is our all-band portable radio with exaggerated knobs and controls for enhanced grip and use with gloves, among other extreme ergonomics making it an ideal solution for those who may be frequently operating in harsh environments, who require multi-band interoperability. And if you only need single or dual band today, the APX 8000XE gives you the flexibility to order additional bands in the future should you ever need them. And if you only need single or dual band today, the APX 8000XE gives you the flexibility to order additional bands in the future should you ever need them.`;
}
if (isDualBandSelected()) {
return `The APX 8000XE is our All-band portable radio with exaggerated knobs and controls for enhanced grip and use with gloves, among other extreme ergonomics making it an ideal solution fire/rescue teams, or users frequently operating in harsh environments, who require multi-band interoperability.`;
}
return `The APX 8000XE is our all-band portable radio with exaggerated knobs and controls for enhanced grip and use with gloves, among other extreme ergonomics making it an ideal solution fire/rescue teams, or users frequently operating in harsh environments, who require multi-band interoperability. And if you only need single or dual band today, the APX 8000XE gives you the flexibility to order additional bands in the future should you ever need them.`;
}
},
{
get: function () {
return `APX 8000H is certified to the stringent Div1 HazLoc standards. Available in single-band and multi-band configurations, the APX 8000H is designed for use in areas where there are routinely dangerous concentrations of flammable gases, vapors, liquids or combustible dust. It has an adaptive audio engine that provides the provides loud and clear audio at any volume, in any environment because the last thing they need to worry about is safe communication.`;
}
},
{
get: function () {
var industry = questions[0].valueSelected;
if (industry === 0 || industry === 2 || industry === 4) {
return `APX 8000HXE is certified to Div 1 HazLoc standards and is available in single-band and multi-band configurations. With the APX 8000HXE, your first responders can be confident entering areas where unknown chemicals and gases add to an already dangerous situation. And it’s ready for anything - submersion in deep water, impacts that would destroy a typical radio. It features exaggerated controls for gloved-hand use, a pressure-tested tempered glass display and a shock-absorbing aluminum alloy endoskeleton. *APX 8000 HXE is available in high-visibility green only.`;
}
return `APX 8000HXE is certified to Div 1 HazLoc standards and is available in single-band and multi-band configurations. With the APX 8000HXE, your fire/rescue team can be confident entering areas where unknown chemicals and gases add to an already dangerous situation. And it’s ready for anything - submersion in deep water, impacts that would destroy a typical radio. It features exaggerated controls for gloved-hand use, a pressure-tested tempered glass display and a shockabsorbing aluminum alloy endoskeleton.`;
}
},
{
get: function () {
return `APX NEXT protects your focus when it matters most. Available in single-band and multi-band configurations with built in LTE and an array of smart applications, the APX NEXT smart radio brings usability and performance advancements to every aspect of the public safety experience. Interfaces are streamlined. Workflows are accelerated. Mission-critical reliability is ensured.`;
}
},
{
get: function () {
var industry = questions[0].valueSelected;
if (industry === 0 || industry === 2 || industry === 4) {
return `APX NEXT XE brings performance advancements to a first-responder’s lifeline and new intelligence into extreme environments, with an exaggerated form factor and controls ideal for frequent use in harsh conditions. Available in both black and high visibility green, as well as multi-band and single-band configurations, APX NEXT XE offers built-in LTE, plus a wide array of optional features and smart applications - that can be added now or later, APX NEXT XE offers the performance and flexibility to meet the high demands of your agency even as they evolve.`;
}
if (isDualBandSelected()) {
return `APX NEXT XE brings performance advancements to a firefighter’s lifeline and new intelligence into extreme environments. Available in multi-band and single-band configurations, with built-in LTE, and a wide array of optional features and smart applications - that can be added now or later, APX NEXT XE offers the performance and flexability to meet the high demands of your agency even as they evolve.`;
}
return `APX NEXT XE brings performance advancements to a firefighter’s lifeline and new intelligence into extreme environments. Available in multi-band and single-band configurations, with built-in LTE, and a wide array of optional features and smart applications - that can be added now or later, APX NEXT XE offers the performance and flexability to meet the high demands of your agency even as they evolve.`;
}
},
{
get: function () {
if (isDualBandSelected()) {
return `APX NEXT XN brings performance advancements to a firefighter’s lifeline and new intelligence into extreme environments, with unprecendented durability to meet the lates fire industry standards. Available in multi-band and single-band configurations, with built-in LTE, and a wide array of optional features and smart applications - that can be added now or later, APX NEXT XN offers the performance, unmatched durability, and flexability to meet the high demands of your agency even as they evolve.`;
}
return `APX NEXT XN brings performance advancements to a firefighter’s lifeline and new intelligence into extreme environments, with unprecendented durability to meet the lates fire industry standards. Available in multi-band and single-band configurations, with built-in LTE, and a wide array of optional features and smart applications - that can be added now or later, APX NEXT XN offers the performance, unmatched durability, and flexability to meet the high demands of your agency even as they evolve.`;
}
},
];
var features = [
["0@0", "0@2", "1@0", "2@0", "3@0", "4@0", "4@1", "5@0", "5@1", "5@2"],
["0@0", "0@2", "1@0", "2@1", "2@2", "2@3", "3@0", "4@0", "4@1", "5@0", "5@1", "5@2", "6@0", "7@0", "7@7"],
[],
["0@0", "0@2", "1@0", "2@0", "3@1", "4@1", "4@2", "4@3", "5@0", "5@1", "5@2"],
[],
["0@0", "0@2", "1@3", "2@1", "2@2", "2@3", "3@1", "4@0", "4@1", "5@0", "5@1", "5@2", "7@6", "7@7"],
["0@0", "0@4", "1@3", "2@4", "2@5", "2@6", "2@7", "3@1", "4@0", "4@1", "4@2", "5@0", "5@1", "5@2", "6@0", "7@6", "7@7"],
["0@0", "0@4", "1@3", "2@4", "2@5", "2@6", "2@7", "2@8", "3@1", "4@4", "4@1", "4@8", "5@0", "5@1", "5@2", "6@0", "7@6", "7@7"],
["0@0", "0@4", "1@4", "2@10", "2@5", "2@11", "2@3", "3@1", "4@4", "4@1", "4@8", "5@0", "5@1", "5@2", "6@1", "7@0", "7@1", "7@2", "7@3", "7@4", "7@5"],
["0@1", "0@5", "1@3", "2@4", "2@5", "2@6", "2@7", "3@1", "4@4", "4@5", "4@2", "5@0", "5@1", "5@2", "6@0", "7@6", "7@7"],
["0@1", "0@5", "1@3", "2@8", "2@4", "2@5", "2@6", "2@7", "3@1", "4@4", "4@5", "4@8", "5@0", "5@1", "5@2", "6@0", "7@6", "7@7"],
["0@1", "0@5", "1@3", "2@12", "2@5", "2@6", "2@7", "3@1", "4@4", "4@1", "4@2", "5@0", "5@1", "5@2", "6@0", "7@6", "7@7"],
["0@1", "0@5", "1@3", "2@8", "2@13", "2@5", "2@6", "2@7", "3@1", "4@4", "4@1", "4@8", "5@0", "5@1", "5@2", "6@0", "7@6", "7@7"],
["0@1", "0@5", "1@4", "2@14", "2@5", "2@11", "2@7", "3@1", "4@4", "4@5", "4@8", "5@0", "5@1", "5@2", "6@2", "7@8", "7@1", "7@2", "7@3", "7@9", "7@5"],
["0@1", "0@5", "1@4", "2@8", "2@15", "2@16", "2@5", "2@11", "2@7", "3@1", "4@4", "4@5", "4@8", "5@0", "5@1", "5@2", "6@2", "7@8", "7@1", "7@2", "7@3", "7@9", "7@5"],
["0@1", "0@5", "1@4", "2@8", "2@15", "2@16", "2@5", "2@11", "2@7", "3@1", "4@6", "4@7", "4@5", "4@8", "5@0", "5@1", "5@2", "6@2", "7@8", "7@1", "7@2", "7@3", "7@9", "7@5"],
];
var radioImages = [
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B3a78a766-73ea-4cd7-92b7-53adcf33e951%7D_APX-900.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bd6cd9abf-25f4-48ae-8f90-c7d1ade8ee4e%7D_APX-N30.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bb3c9a081-cbf9-4911-966c-73a946e685f3%7D_APX-3000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B703fcfff-c114-4f36-97f9-82cf6421a194%7D_APX-4000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B69bbce42-282e-4114-8706-81d87b3af4ab%7D_APX-4000XH.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Be0f478a6-b138-491c-afc9-4fb55c0fb75b%7D_APX-N50.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bde8c403b-6529-482a-8afa-897adac95a70%7D_APX-6000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B38f6ca7c-affb-41c5-9af8-66821a58c699%7D_APX-6000XE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B8ef7d96a-f354-4360-8205-1a1efb2abfca%7D_APX-N70.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bfce0cf12-31de-45a7-ae9a-a4966851191d%7D_APX-8000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B1907d7c2-6d23-437e-af0a-02bcbd95448d%7D_APX-8000XE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B1ab3e1cc-adce-4d12-8c63-549f2f02bb2d%7D_APX-8000H.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bbea9de07-4be9-4008-9f03-86115f6471a2%7D_APX-8000HXE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B262cd0d7-63c3-4b04-902a-7167b16712cf%7D_APX-NEXT.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B9b713514-9070-49ad-9ed7-987cc2683935%7D_APX-NEXT-XE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bbb6073a7-f68c-4072-9593-06b5a8e67e28%7D_APX-NEXT-XN.png"];
var radioImagesFull = [
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B5de5e279-441a-4bcd-ab6a-49888a89e06d%7D_APX-900.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B2f3f91e8-b310-4fb0-be71-57f5f52d2790%7D_APX-N30.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B5089bd57-bdb8-47ae-8ca6-8b6a0c7fb0dd%7D_APX-3000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B2f06b250-2bb5-4b4c-9d5a-a45445ec7a4a%7D_APX-4000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Baa242ef2-4c60-4346-a01f-ab91b2c70a73%7D_APX-4000XH.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B2f9d781d-cda7-4494-9a89-43bc09c0210d%7D_APX-N50.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B89f7731e-4cb6-4c74-934b-2461af06aaea%7D_APX-6000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B1aee49c7-f76b-451f-9ef2-a6b345d20429%7D_APX-6000XE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B12d595f3-e598-47b0-ad56-3893a0aee91b%7D_APX-N70.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B3b62f999-d707-4644-8b5d-a070e329c4fb%7D_APX-8000.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B9e5c2872-145d-4951-89f6-d1139b59e1f0%7D_APX-8000XE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B49bd813a-394e-488e-bf46-57fced41f55f%7D_APX-8000H.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B3d74ada6-3431-4650-a469-a59273f88fef%7D_APX-8000HXE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B9451ac0d-ead5-4281-ad3e-f66c0ec1fdf5%7D_APX-NEXT.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B1c2fd9da-5f03-4314-a571-f5692b290835%7D_APX-NEXT-XE.png",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bf8f1cb0f-ecae-4bb5-9f57-bf877cd18aa2%7D_APX-NEXT-XN.png"];
for (i in radioNames) {
radios.push(new RadioObj(radioNames[i], radioImages[i], radioImagesFull[i], descriptions[i], features[i]));
}
radios[2].disabled = true;
radios[4].disabled = true;
initPositiveInfluense(radios);
initNegativeInfluense(radios);
return radios;
}
function radioMouseover(id) {
var modal = $(".maximumCompareReached");
modal.attr("data-radio-id", id);
}
function radioMouseout(id) {
var modal = $(".maximumCompareReached");
modal.attr("data-radio-id", "");
}
function radioMissingMouseover(id) {
var modal = $(`.radioMissingModal[data-radio-id='${id}']`);
modal.attr("data-radio-id-v", id);
}
function radioMissingMouseout(id) {
var modal = $(`.radioMissingModal[data-radio-id='${id}']`);
modal.attr("data-radio-id-v", "");
}
window.requestAnimationFrame(function comparePopUp() {
var modal = $(".maximumCompareReached");
id = modal.attr("data-radio-id");
if (typeof id != "undefined" && id != "" && $(window).width() > 600 && typeof compare != "undefined" && compare.items.length >= 3 && typeof compare.items.find((e) => e._htmlId == id) == "undefined") {
var radio = $(`#${id}`);
modal.attr("data-radio-id", id);
var top = radio.offset().top - 85;
var renderedRadios = $("#renderedRadios");
var minTop = renderedRadios.offset().top - modal.outerHeight() - 15;
if (top < minTop) {
modal.removeClass("visible");
}
else {
var left = radio.offset().left + radio.outerWidth() - modal.outerWidth() - 48;
modal.css("top", top + "px");
modal.css("left", left + "px");
modal.addClass("visible");
}
} else {
modal.removeClass("visible");
}
window.requestAnimationFrame(comparePopUp);
});
window.requestAnimationFrame(function radioPopUp() {
var modals = $(".radioMissingModal");
modals.each(function () {
var modal = $(this);
id = modal.attr("data-radio-id-v");
if (typeof id != "undefined" && id != "") {
var radio = $(`#${id}`);
modal.attr("data-radio-id-v", id);
var top = radio.offset().top - modal.outerHeight() - 0;
var renderedRadios = $("#renderedRadios");
var minTop = renderedRadios.offset().top - modal.outerHeight() - 25;
if (top < minTop) {
modal.removeClass("visible");
}
else {
var left = radio.offset().left + radio.outerWidth() - modal.outerWidth() - 111;
if($(window).width() <= 600){
left += 70;
}
modal.css("top", top + "px");
modal.css("left", left + "px");
modal.addClass("visible");
}
} else {
modal.removeClass("visible");
}
});
window.requestAnimationFrame(radioPopUp);
});
function addInfluenseToRadio(radios, radioId, industryId, questionId, answerId, influense) {
var radio = radios[radioId];
if (typeof radio.positiveInfluense[industryId] == "undefined") {
radio.positiveInfluense[industryId] = [];
}
var industry = radio.positiveInfluense[industryId];
if (typeof industry[questionId] == "undefined") {
industry[questionId] = [];
}
var question = industry[questionId];
question[answerId] = influense;
if (industryId == 0 && radio.id === false) {
console.log("info: ", questionId, answerId, influense);
}
}
function addNegativeInfluenseToRadio(radios, radioId, industryId, questionId, answerId, influense) {
var radio = radios[radioId];
if (typeof radio.negativeInfluense[industryId] == "undefined") {
radio.negativeInfluense[industryId] = [];
}
var industry = radio.negativeInfluense[industryId];
if (typeof industry[questionId] == "undefined") {
industry[questionId] = [];
}
var question = industry[questionId];
question[answerId] = influense;
}
const OMIT = -100000;
function initPositiveInfluense(radios) {
const Cradios = radios;
var a = function (radioId, industryId, questionId, answerId, influense) {
addInfluenseToRadio(Cradios, radioId, industryId, questionId, answerId, influense);
}
// industry 0
{
a(0, 0, 0, 0, 7.2);
a(1, 0, 0, 0, 8);
a(2, 0, 0, 0, 8);
a(3, 0, 0, 0, 8);
a(4, 0, 0, 0, 8);
a(5, 0, 0, 0, 8);
a(6, 0, 0, 0, 8);
a(7, 0, 0, 0, 7.2);
a(8, 0, 0, 0, 8);
a(9, 0, 0, 0, 8);
a(10, 0, 0, 0, 7.2);
a(11, 0, 0, 0, 7.2);
a(12, 0, 0, 0, 7.2);
a(13, 0, 0, 0, 8);
a(14, 0, 0, 0, 7.2);
a(15, 0, 0, 0, -24);
a(0, 0, 1, 0, -9);
a(1, 0, 1, 0, -9);
a(2, 0, 1, 0, 9);
a(3, 0, 1, 0, 9);
a(4, 0, 1, 0, 9);
a(5, 0, 1, 0, 9);
a(6, 0, 1, 0, 9);
a(8, 0, 1, 0, 9);
a(9, 0, 1, 0, 9);
a(13, 0, 1, 0, 9);
a(0, 0, 1, 1, 9);
a(1, 0, 1, 1, 9);
a(2, 0, 1, 1, 9);
a(3, 0, 1, 1, 9);
a(4, 0, 1, 1, 9);
a(5, 0, 1, 1, 9);
a(6, 0, 1, 1, 9);
a(8, 0, 1, 1, 9);
a(9, 0, 1, 1, 9);
a(13, 0, 1, 1, 9);
a(0, 0, 1, 2, 9);
a(1, 0, 1, 2, 9);
a(2, 0, 1, 2, 9);
a(3, 0, 1, 2, 9);
a(4, 0, 1, 2, 9);
a(5, 0, 1, 2, 9);
a(6, 0, 1, 2, 9);
a(8, 0, 1, 2, 9);
a(9, 0, 1, 2, 9);
a(13, 0, 1, 2, 9);
a(0, 0, 1, 3, -45);
a(1, 0, 1, 3, -45);
a(2, 0, 1, 3, 9);
a(3, 0, 1, 3, -45);
a(4, 0, 1, 3, -45);
a(5, 0, 1, 3, -45);
a(6, 0, 1, 3, -45);
a(7, 0, 1, 3, -45);
a(9, 0, 1, 3, -45);
a(10, 0, 1, 3, -45);
a(11, 0, 1, 3, -45);
a(12, 0, 1, 3, -45);
a(14, 0, 1, 3, -45);
a(15, 0, 1, 3, -45);
a(0, 0, 3, 0, 50);
a(1, 0, 3, 0, 50);
a(2, 0, 3, 0, 50);
a(3, 0, 3, 0, 50);
a(4, 0, 3, 0, 50);
a(5, 0, 3, 0, 50);
a(6, 0, 3, 0, 50);
a(7, 0, 3, 0, 50);
a(8, 0, 3, 0, 50);
a(9, 0, 3, 0, 37.5);
a(10, 0, 3, 0, 37.5);
a(11, 0, 3, 0, 37.5);
a(12, 0, 3, 0, 37.5);
a(13, 0, 3, 0, 37.5);
a(14, 0, 3, 0, 37.5);
a(15, 0, 3, 0, 37.5);
a(0, 0, 3, 1, -50);
a(1, 0, 3, 1, -50);
a(2, 0, 3, 1, -50);
a(3, 0, 3, 1, -50);
a(4, 0, 3, 1, -50);
a(5, 0, 3, 1, -50);
a(6, 0, 3, 1, -50);
a(7, 0, 3, 1, -50);
a(8, 0, 3, 1, -50);
a(9, 0, 3, 1, 50);
a(10, 0, 3, 1, 50);
a(11, 0, 3, 1, 50);
a(12, 0, 3, 1, 50);
a(13, 0, 3, 1, 50);
a(14, 0, 3, 1, 50);
a(15, 0, 3, 1, 50);
a(0, 0, 3, 2, -50);
a(1, 0, 3, 2, -50);
a(2, 0, 3, 2, -50);
a(3, 0, 3, 2, -50);
a(4, 0, 3, 2, -50);
a(5, 0, 3, 2, -50);
a(6, 0, 3, 2, -50);
a(7, 0, 3, 2, -50);
a(8, 0, 3, 2, -50);
a(9, 0, 3, 2, 50);
a(10, 0, 3, 2, 50);
a(11, 0, 3, 2, 50);
a(12, 0, 3, 2, 50);
a(13, 0, 3, 2, 50);
a(14, 0, 3, 2, 50);
a(15, 0, 3, 2, 50);
a(0, 0, 3, 3, -50);
a(1, 0, 3, 3, -50);
a(2, 0, 3, 3, -50);
a(3, 0, 3, 3, -50);
a(4, 0, 3, 3, -50);
a(5, 0, 3, 3, -50);
a(6, 0, 3, 3, -50);
a(7, 0, 3, 3, -50);
a(8, 0, 3, 3, -50);
a(9, 0, 3, 3, 50);
a(10, 0, 3, 3, 50);
a(11, 0, 3, 3, 50);
a(12, 0, 3, 3, 50);
a(13, 0, 3, 3, 50);
a(14, 0, 3, 3, 50);
a(15, 0, 3, 3, 50);
a(0, 0, 4, 0, 3);
a(1, 0, 4, 0, 3);
a(2, 0, 4, 0, 3);
a(3, 0, 4, 0, 3);
a(4, 0, 4, 0, 3);
a(5, 0, 4, 0, 3);
a(6, 0, 4, 0, 3);
a(7, 0, 4, 0, 3);
a(8, 0, 4, 0, 3);
a(9, 0, 4, 0, 3);
a(10, 0, 4, 0, 3);
a(11, 0, 4, 0, 3);
a(12, 0, 4, 0, 3);
a(13, 0, 4, 0, 3);
a(14, 0, 4, 0, 3);
a(15, 0, 4, 0, 3);
a(0, 0, 4, 1, -3);
a(1, 0, 4, 1, -3);
a(2, 0, 4, 1, -3);
a(3, 0, 4, 1, 3);
a(4, 0, 4, 1, 3);
a(5, 0, 4, 1, 3);
a(6, 0, 4, 1, 3);
a(7, 0, 4, 1, 3);
a(8, 0, 4, 1, 3);
a(9, 0, 4, 1, 3);
a(10, 0, 4, 1, 3);
a(11, 0, 4, 1, 3);
a(12, 0, 4, 1, 3);
a(13, 0, 4, 1, 3);
a(14, 0, 4, 1, 3);
a(15, 0, 4, 1, 3);
a(0, 0, 4, 2, -3);
a(1, 0, 4, 2, -3);
a(2, 0, 4, 2, -3);
a(3, 0, 4, 2, -3);
a(4, 0, 4, 2, -3);
a(5, 0, 4, 2, -3);
a(6, 0, 4, 2, 3);
a(7, 0, 4, 2, 3);
a(8, 0, 4, 2, 3);
a(9, 0, 4, 2, 3);
a(10, 0, 4, 2, 3);
a(11, 0, 4, 2, 3);
a(12, 0, 4, 2, 3);
a(13, 0, 4, 2, 3);
a(14, 0, 4, 2, 3);
a(15, 0, 4, 2, 3);
a(0, 0, 5, 0, 7);
a(1, 0, 5, 0, 7.7);
a(2, 0, 5, 0, 7);
a(3, 0, 5, 0, 7);
a(4, 0, 5, 0, 7);
a(5, 0, 5, 0, 7.7);
a(6, 0, 5, 0, 6.3);
a(7, 0, 5, 0, 6.3);
a(8, 0, 5, 0, 5.6);
a(9, 0, 5, 0, 6.3);
a(10, 0, 5, 0, 6.3);
a(11, 0, 5, 0, 6.3);
a(12, 0, 5, 0, 6.3);
a(13, 0, 5, 0, 5.6);
a(14, 0, 5, 0, 5.6);
a(15, 0, 5, 0, 5.6);
a(0, 0, 5, 1, -7);
a(1, 0, 5, 1, -7);
a(2, 0, 5, 1, -7);
a(3, 0, 5, 1, -7);
a(4, 0, 5, 1, -7);
a(5, 0, 5, 1, 7.7);
a(6, 0, 5, 1, 7);
a(7, 0, 5, 1, 7);
a(8, 0, 5, 1, 7);
a(9, 0, 5, 1, 7);
a(10, 0, 5, 1, 7);
a(11, 0, 5, 1, 7);
a(12, 0, 5, 1, 7);
a(13, 0, 5, 1, 6.3);
a(14, 0, 5, 1, 6.3);
a(15, 0, 5, 1, 6.3);
a(0, 0, 5, 2, -7);
a(1, 0, 5, 2, -7);
a(2, 0, 5, 2, -7);
a(3, 0, 5, 2, -7);
a(4, 0, 5, 2, -7);
a(5, 0, 5, 2, -7);
a(6, 0, 5, 2, -7);
a(7, 0, 5, 2, -7);
a(8, 0, 5, 2, 7);
a(9, 0, 5, 2, -7);
a(10, 0, 5, 2, -7);
a(11, 0, 5, 2, -7);
a(12, 0, 5, 2, -7);
a(13, 0, 5, 2, 7);
a(14, 0, 5, 2, 7);
a(15, 0, 5, 2, 7);
a(0, 0, 6, 0, -4);
a(1, 0, 6, 0, -4);
a(2, 0, 6, 0, -4);
a(3, 0, 6, 0, -4);
a(4, 0, 6, 0, -4);
a(5, 0, 6, 0, -4);
a(6, 0, 6, 0, -4);
a(7, 0, 6, 0, -4);
a(8, 0, 6, 0, 4);
a(9, 0, 6, 0, -4);
a(10, 0, 6, 0, -4);
a(11, 0, 6, 0, -4);
a(12, 0, 6, 0, -4);
a(13, 0, 6, 0, 4);
a(14, 0, 6, 0, 4);
a(15, 0, 6, 0, 4);
a(0, 0, 6, 1, -3);
a(1, 0, 6, 1, -3);
a(2, 0, 6, 1, -3);
a(3, 0, 6, 1, -3);
a(4, 0, 6, 1, -3);
a(5, 0, 6, 1, -3);
a(6, 0, 6, 1, 3);
a(7, 0, 6, 1, 3);
a(8, 0, 6, 1, 3);
a(9, 0, 6, 1, 3);
a(10, 0, 6, 1, 3);
a(11, 0, 6, 1, 3);
a(12, 0, 6, 1, 3);
a(13, 0, 6, 1, 3);
a(14, 0, 6, 1, 3);
a(15, 0, 6, 1, 3);
a(0, 0, 6, 2, -3);
a(1, 0, 6, 2, 3);
a(2, 0, 6, 2, -3);
a(3, 0, 6, 2, -3);
a(4, 0, 6, 2, -3);
a(5, 0, 6, 2, 3);
a(6, 0, 6, 2, -3);
a(7, 0, 6, 2, -3);
a(8, 0, 6, 2, 3);
a(9, 0, 6, 2, -3);
a(10, 0, 6, 2, -3);
a(11, 0, 6, 2, -3);
a(12, 0, 6, 2, -3);
a(13, 0, 6, 2, 3);
a(14, 0, 6, 2, 3);
a(15, 0, 6, 2, 3);
a(0, 0, 6, 3, -25);
a(1, 0, 6, 3, -25);
a(2, 0, 6, 3, -25);
a(3, 0, 6, 3, -25);
a(4, 0, 6, 3, -25);
a(5, 0, 6, 3, -25);
a(6, 0, 6, 3, -25);
a(7, 0, 6, 3, 25);
a(8, 0, 6, 3, -25);
a(9, 0, 6, 3, -25);
a(10, 0, 6, 3, 25);
a(11, 0, 6, 3, -25);
a(12, 0, 6, 3, 25);
a(13, 0, 6, 3, -25);
a(14, 0, 6, 3, 25);
a(15, 0, 6, 3, 25);
a(0, 0, 6, 4, -2);
a(1, 0, 6, 4, 2);
a(2, 0, 6, 4, 2);
a(3, 0, 6, 4, 2);
a(4, 0, 6, 4, 2);
a(5, 0, 6, 4, 2);
a(6, 0, 6, 4, 2);
a(7, 0, 6, 4, 2);
a(8, 0, 6, 4, 2);
a(9, 0, 6, 4, 2);
a(10, 0, 6, 4, 2);
a(11, 0, 6, 4, 2);
a(12, 0, 6, 4, 2);
a(13, 0, 6, 4, 2);
a(14, 0, 6, 4, 2);
a(15, 0, 6, 4, 2);
a(0, 0, 6, 5, 24);
a(1, 0, 6, 5, 24);
a(2, 0, 6, 5, 24);
a(3, 0, 6, 5, 24);
a(4, 0, 6, 5, 24);
a(5, 0, 6, 5, 24);
a(6, 0, 6, 5, 24);
a(7, 0, 6, 5, 24);
a(8, 0, 6, 5, 24);
a(9, 0, 6, 5, -24);
a(10, 0, 6, 5, -24);
a(11, 0, 6, 5, 24);
a(12, 0, 6, 5, 24);
a(13, 0, 6, 5, -24);
a(14, 0, 6, 5, -24);
a(15, 0, 6, 5, -24);
a(0, 0, 7, 0, -5);
a(1, 0, 7, 0, -5);
a(2, 0, 7, 0, 5);
a(3, 0, 7, 0, 5);
a(4, 0, 7, 0, 5);
a(5, 0, 7, 0, 5);
a(6, 0, 7, 0, 5);
a(7, 0, 7, 0, 5);
a(8, 0, 7, 0, 5);
a(9, 0, 7, 0, 5);
a(10, 0, 7, 0, 5);
a(11, 0, 7, 0, 5);
a(12, 0, 7, 0, 5);
a(13, 0, 7, 0, 5);
a(14, 0, 7, 0, 5);
a(15, 0, 7, 0, 5);
a(0, 0, 7, 1, 5);
a(1, 0, 7, 1, 5.5);
a(2, 0, 7, 1, 5);
a(3, 0, 7, 1, 5);
a(4, 0, 7, 1, 5);
a(5, 0, 7, 1, 5);
a(6, 0, 7, 1, 5);
a(7, 0, 7, 1, 5);
a(8, 0, 7, 1, 5);
a(9, 0, 7, 1, 5);
a(10, 0, 7, 1, 5);
a(11, 0, 7, 1, 5);
a(12, 0, 7, 1, 5);
a(13, 0, 7, 1, 5);
a(14, 0, 7, 1, 5);
a(15, 0, 7, 1, 5);
a(9, 0, 8, 0, 10);
a(10, 0, 8, 0, 10);
a(11, 0, 8, 0, 10);
a(12, 0, 8, 0, 10);
a(13, 0, 8, 0, 5);
a(0, 0, 8, 1, -10);
a(1, 0, 8, 1, -10);
a(2, 0, 8, 1, -10);
a(3, 0, 8, 1, 11);
a(4, 0, 8, 1, 10);
a(5, 0, 8, 1, 11.5);
a(6, 0, 8, 1, 10);
a(7, 0, 8, 1, 10);
a(8, 0, 8, 1, 10);
a(9, 0, 8, 1, 10);
a(10, 0, 8, 1, 10);
a(11, 0, 8, 1, 10);
a(12, 0, 8, 1, 10);
a(13, 0, 8, 1, 10);
a(0, 0, 8, 2, -10);
a(1, 0, 8, 2, -10);
a(2, 0, 8, 2, -10);
a(3, 0, 8, 2, -10);
a(4, 0, 8, 2, -10);
a(5, 0, 8, 2, -10);
a(6, 0, 8, 2, 10);
a(8, 0, 8, 2, 11);
a(9, 0, 8, 2, 10);
a(12, 0, 8, 2, 10);
a(13, 0, 8, 2, 9);
a(0, 0, 8, 3, -10);
a(1, 0, 8, 3, -10);
a(2, 0, 8, 3, -10);
a(3, 0, 8, 3, -10);
a(4, 0, 8, 3, -10);
a(5, 0, 8, 3, -10);
a(6, 0, 8, 3, -10);
a(7, 0, 8, 3, -10);
a(8, 0, 8, 3, 10);
a(9, 0, 8, 3, -10);
a(10, 0, 8, 3, -10);
a(11, 0, 8, 3, -10);
a(12, 0, 8, 3, -10);
a(13, 0, 8, 3, 10);
a(14, 0, 8, 3, 10);
a(0, 0, 8, 4, -25);
a(1, 0, 8, 4, -25);
a(2, 0, 8, 4, -25);
a(3, 0, 8, 4, -25);
a(4, 0, 8, 4, -25);
a(5, 0, 8, 4, -25);
a(6, 0, 8, 4, -25);
a(7, 0, 8, 4, -25);
a(8, 0, 8, 4, -25);
a(9, 0, 8, 4, -25);
a(10, 0, 8, 4, 50);
a(11, 0, 8, 4, -25);
a(13, 0, 8, 4, -25);
a(14, 0, 8, 4, 50);
a(0, 0, 8, 5, 24);
a(1, 0, 8, 5, 24);
a(2, 0, 8, 5, 24);
a(3, 0, 8, 5, 24);
a(4, 0, 8, 5, 24);
a(5, 0, 8, 5, 24);
a(6, 0, 8, 5, 24);
a(7, 0, 8, 5, 24);
a(8, 0, 8, 5, 24);
a(9, 0, 8, 5, -24);
a(10, 0, 8, 5, -24);
a(11, 0, 8, 5, 24);
a(12, 0, 8, 5, 24);
a(13, 0, 8, 5, -24);
a(14, 0, 8, 5, -24);
a(15, 0, 8, 5, -24);
a(0, 0, 9, 0, -8.75);
a(1, 0, 9, 0, 7);
a(2, 0, 9, 0, -8.75);
a(3, 0, 9, 0, -8.75);
a(4, 0, 9, 0, -8.75);
a(5, 0, 9, 0, 7);
a(6, 0, 9, 0, 7);
a(7, 0, 9, 0, 7);
a(8, 0, 9, 0, 9.8);
a(9, 0, 9, 0, 7);
a(10, 0, 9, 0, 7);
a(11, 0, 9, 0, 7);
a(12, 0, 9, 0, 7);
a(13, 0, 9, 0, 9.8);
a(14, 0, 9, 0, 9.8);
a(0, 0, 9, 1, -8.75);
a(1, 0, 9, 1, -8.75);
a(2, 0, 9, 1, -8.75);
a(3, 0, 9, 1, -8.75);
a(4, 0, 9, 1, -8.75);
a(5, 0, 9, 1, -8.75);
a(6, 0, 9, 1, -8.75);
a(7, 0, 9, 1, -8.75);
a(8, 0, 9, 1, 7);
a(9, 0, 9, 1, -8.75);
a(10, 0, 9, 1, -8.75);
a(11, 0, 9, 1, -8.75);
a(12, 0, 9, 1, -8.75);
a(13, 0, 9, 1, 7);
a(14, 0, 9, 1, 7);
a(0, 0, 9, 2, -8.75);
a(1, 0, 9, 2, -8.75);
a(2, 0, 9, 2, -8.75);
a(3, 0, 9, 2, -8.75);
a(4, 0, 9, 2, -8.75);
a(5, 0, 9, 2, -8.75);
a(6, 0, 9, 2, -8.75);
a(7, 0, 9, 2, -8.75);
a(8, 0, 9, 2, 7);
a(9, 0, 9, 2, -8.75);
a(10, 0, 9, 2, -8.75);
a(11, 0, 9, 2, -8.75);
a(12, 0, 9, 2, -8.75);
a(13, 0, 9, 2, 7);
a(14, 0, 9, 2, 7);
a(0, 0, 9, 3, -8.75);
a(1, 0, 9, 3, -8.75);
a(2, 0, 9, 3, -8.75);
a(3, 0, 9, 3, -8.75);
a(4, 0, 9, 3, -8.75);
a(5, 0, 9, 3, -8.75);
a(6, 0, 9, 3, -8.75);
a(7, 0, 9, 3, -8.75);
a(8, 0, 9, 3, 7);
a(9, 0, 9, 3, -8.75);
a(10, 0, 9, 3, -8.75);
a(11, 0, 9, 3, -8.75);
a(12, 0, 9, 3, -8.75);
a(13, 0, 9, 3, 7);
a(14, 0, 9, 3, 7);
a(0, 0, 9, 4, -8.75);
a(1, 0, 9, 4, 7);
a(2, 0, 9, 4, -8.75);
a(3, 0, 9, 4, -8.75);
a(4, 0, 9, 4, -8.75);
a(5, 0, 9, 4, 7);
a(6, 0, 9, 4, 7);
a(7, 0, 9, 4, 7);
a(8, 0, 9, 4, 9.8);
a(9, 0, 9, 4, 7);
a(10, 0, 9, 4, 7);
a(11, 0, 9, 4, 7);
a(12, 0, 9, 4, 7);
a(13, 0, 9, 4, 9.8);
a(14, 0, 9, 4, 9.8);
}
// industry 1
{
a(0, 1, 0, 1, 7.2);
a(1, 1, 0, 1, 8);
a(2, 1, 0, 1, 8);
a(3, 1, 0, 1, 8);
a(4, 1, 0, 1, 8);
a(5, 1, 0, 1, 8);
a(6, 1, 0, 1, 8);
a(7, 1, 0, 1, 8);
a(8, 1, 0, 1, 8);
a(9, 1, 0, 1, 8);
a(10, 1, 0, 1, 8);
a(11, 1, 0, 1, 8);
a(12, 1, 0, 1, 8);
a(13, 1, 0, 1, 8);
a(14, 1, 0, 1, 8);
a(15, 1, 0, 1, 8);
a(0, 1, 1, 0, OMIT);
a(1, 1, 1, 0, OMIT);
a(2, 1, 1, 0, OMIT);
a(3, 1, 1, 0, OMIT);
a(4, 1, 1, 0, OMIT);
a(5, 1, 1, 0, OMIT);
a(6, 1, 1, 0, OMIT);
a(7, 1, 1, 0, 27);
a(8, 1, 1, 0, OMIT);
a(9, 1, 1, 0, OMIT);
a(10, 1, 1, 0, 27);
a(11, 1, 1, 0, OMIT);
a(12, 1, 1, 0, 27);
a(13, 1, 1, 0, OMIT);
a(14, 1, 1, 0, 27);
a(15, 1, 1, 0, 27);
a(0, 1, 1, 1, 9);
a(1, 1, 1, 1, 9);
a(2, 1, 1, 1, 9);
a(3, 1, 1, 1, 9);
a(4, 1, 1, 1, 9);
a(5, 1, 1, 1, 9);
a(6, 1, 1, 1, 9);
a(7, 1, 1, 1, 9);
a(8, 1, 1, 1, 9);
a(9, 1, 1, 1, 9);
a(10, 1, 1, 1, 9);
a(11, 1, 1, 1, 9);
a(12, 1, 1, 1, 9);
a(13, 1, 1, 1, 9);
a(14, 1, 1, 1, 9);
a(15, 1, 1, 1, 9);
a(0, 1, 1, 2, 9);
a(1, 1, 1, 2, 9);
a(2, 1, 1, 2, 9);
a(3, 1, 1, 2, 9);
a(4, 1, 1, 2, 9);
a(5, 1, 1, 2, 9);
a(6, 1, 1, 2, 9);
a(7, 1, 1, 2, 27);
a(8, 1, 1, 2, 9);
a(9, 1, 1, 2, 9);
a(10, 1, 1, 2, 27);
a(11, 1, 1, 2, 9);
a(13, 1, 1, 2, 9);
a(14, 1, 1, 2, 27);
a(15, 1, 1, 2, 9);
a(0, 1, 3, 0, 50);
a(1, 1, 3, 0, 50);
a(2, 1, 3, 0, 50);
a(3, 1, 3, 0, 50);
a(4, 1, 3, 0, 50);
a(5, 1, 3, 0, 50);
a(6, 1, 3, 0, 50);
a(7, 1, 3, 0, 50);
a(8, 1, 3, 0, 50);
a(9, 1, 3, 0, 37.5);
a(10, 1, 3, 0, 37.5);
a(11, 1, 3, 0, 37.5);
a(12, 1, 3, 0, 37.5);
a(13, 1, 3, 0, 37.5);
a(14, 1, 3, 0, 37.5);
a(15, 1, 3, 0, 37.5);
a(0, 1, 3, 1, -50);
a(1, 1, 3, 1, -50);
a(2, 1, 3, 1, -50);
a(3, 1, 3, 1, -50);
a(4, 1, 3, 1, -50);
a(5, 1, 3, 1, -50);
a(6, 1, 3, 1, -50);
a(7, 1, 3, 1, -50);
a(8, 1, 3, 1, -50);
a(9, 1, 3, 1, 50);
a(10, 1, 3, 1, 50);
a(11, 1, 3, 1, 50);
a(12, 1, 3, 1, 50);
a(13, 1, 3, 1, 50);
a(14, 1, 3, 1, 50);
a(15, 1, 3, 1, 50);
a(0, 1, 3, 2, -50);
a(1, 1, 3, 2, -50);
a(2, 1, 3, 2, -50);
a(3, 1, 3, 2, -50);
a(4, 1, 3, 2, -50);
a(5, 1, 3, 2, -50);
a(6, 1, 3, 2, -50);
a(7, 1, 3, 2, -50);
a(8, 1, 3, 2, -50);
a(9, 1, 3, 2, 50);
a(10, 1, 3, 2, 50);
a(11, 1, 3, 2, 50);
a(12, 1, 3, 2, 50);
a(13, 1, 3, 2, 50);
a(14, 1, 3, 2, 50);
a(15, 1, 3, 2, 50);
a(0, 1, 3, 3, -50);
a(1, 1, 3, 3, -50);
a(2, 1, 3, 3, -50);
a(3, 1, 3, 3, -50);
a(4, 1, 3, 3, -50);
a(5, 1, 3, 3, -50);
a(6, 1, 3, 3, -50);
a(7, 1, 3, 3, -50);
a(8, 1, 3, 3, -50);
a(9, 1, 3, 3, 50);
a(10, 1, 3, 3, 50);
a(11, 1, 3, 3, 50);
a(12, 1, 3, 3, 50);
a(13, 1, 3, 3, 50);
a(14, 1, 3, 3, 50);
a(15, 1, 3, 3, 50);
a(0, 1, 4, 0, 3);
a(1, 1, 4, 0, 3);
a(2, 1, 4, 0, 3);
a(3, 1, 4, 0, 3);
a(4, 1, 4, 0, 3);
a(5, 1, 4, 0, 3);
a(6, 1, 4, 0, 3);
a(7, 1, 4, 0, 3);
a(8, 1, 4, 0, 3);
a(9, 1, 4, 0, 3);
a(10, 1, 4, 0, 3);
a(11, 1, 4, 0, 3);
a(12, 1, 4, 0, 3);
a(13, 1, 4, 0, 3);
a(14, 1, 4, 0, 3);
a(15, 1, 4, 0, 3);
a(0, 1, 4, 1, -3);
a(1, 1, 4, 1, -3);
a(2, 1, 4, 1, -3);
a(3, 1, 4, 1, 3);
a(4, 1, 4, 1, 3);
a(5, 1, 4, 1, 3);
a(6, 1, 4, 1, 3);
a(7, 1, 4, 1, 3);
a(8, 1, 4, 1, 3);
a(9, 1, 4, 1, 3);
a(10, 1, 4, 1, 3);
a(11, 1, 4, 1, 3);
a(12, 1, 4, 1, 3);
a(13, 1, 4, 1, 3);
a(14, 1, 4, 1, 3);
a(15, 1, 4, 1, 3);
a(0, 1, 4, 2, -3);
a(1, 1, 4, 2, -3);
a(2, 1, 4, 2, -3);
a(3, 1, 4, 2, -3);
a(4, 1, 4, 2, -3);
a(5, 1, 4, 2, -3);
a(6, 1, 4, 2, 3);
a(7, 1, 4, 2, 3);
a(8, 1, 4, 2, 3);
a(9, 1, 4, 2, 3);
a(10, 1, 4, 2, 3);
a(11, 1, 4, 2, 3);
a(12, 1, 4, 2, 3);
a(13, 1, 4, 2, 3);
a(14, 1, 4, 2, 3);
a(15, 1, 4, 2, 3);
a(0, 1, 5, 0, 7);
a(1, 1, 5, 0, 7.7);
a(2, 1, 5, 0, 7);
a(3, 1, 5, 0, 7);
a(4, 1, 5, 0, 7);
a(5, 1, 5, 0, 7.7);
a(6, 1, 5, 0, 6.3);
a(7, 1, 5, 0, 6.3);
a(8, 1, 5, 0, 5.6);
a(9, 1, 5, 0, 6.3);
a(10, 1, 5, 0, 6.3);
a(11, 1, 5, 0, 6.3);
a(12, 1, 5, 0, 6.3);
a(13, 1, 5, 0, 5.6);
a(14, 1, 5, 0, 5.6);
a(15, 1, 5, 0, 5.6);
a(0, 1, 5, 1, -7);
a(1, 1, 5, 1, -7);
a(2, 1, 5, 1, -7);
a(3, 1, 5, 1, -7);
a(4, 1, 5, 1, -7);
a(5, 1, 5, 1, 7.7);
a(6, 1, 5, 1, 7);
a(7, 1, 5, 1, 7);
a(8, 1, 5, 1, 7);
a(9, 1, 5, 1, 7);
a(10, 1, 5, 1, 7);
a(11, 1, 5, 1, 7);
a(12, 1, 5, 1, 7);
a(13, 1, 5, 1, 6.3);
a(14, 1, 5, 1, 6.3);
a(15, 1, 5, 1, 6.3);
a(0, 1, 5, 2, -7);
a(1, 1, 5, 2, -7);
a(2, 1, 5, 2, -7);
a(3, 1, 5, 2, -7);
a(4, 1, 5, 2, -7);
a(5, 1, 5, 2, -7);
a(6, 1, 5, 2, -7);
a(7, 1, 5, 2, -7);
a(8, 1, 5, 2, 7);
a(9, 1, 5, 2, -7);
a(10, 1, 5, 2, -7);
a(11, 1, 5, 2, -7);
a(12, 1, 5, 2, -7);
a(13, 1, 5, 2, 7);
a(14, 1, 5, 2, 7);
a(15, 1, 5, 2, 7);
a(0, 1, 6, 0, -8);
a(1, 1, 6, 0, -8);
a(2, 1, 6, 0, -8);
a(3, 1, 6, 0, -8);
a(4, 1, 6, 0, -8);
a(5, 1, 6, 0, -8);
a(6, 1, 6, 0, -8);
a(7, 1, 6, 0, -8);
a(8, 1, 6, 0, 8);
a(9, 1, 6, 0, -8);
a(10, 1, 6, 0, -8);
a(11, 1, 6, 0, -8);
a(12, 1, 6, 0, -8);
a(13, 1, 6, 0, 8);
a(14, 1, 6, 0, 8);
a(15, 1, 6, 0, 8);
a(0, 1, 6, 1, -3);
a(1, 1, 6, 1, -3);
a(2, 1, 6, 1, -3);
a(3, 1, 6, 1, -3);
a(4, 1, 6, 1, -3);
a(5, 1, 6, 1, -3);
a(6, 1, 6, 1, 3);
a(7, 1, 6, 1, 3);
a(8, 1, 6, 1, 3);
a(9, 1, 6, 1, 3);
a(10, 1, 6, 1, 3);
a(11, 1, 6, 1, 3);
a(12, 1, 6, 1, 3);
a(13, 1, 6, 1, 3);
a(14, 1, 6, 1, 3);
a(15, 1, 6, 1, 3);
a(0, 1, 6, 2, -3);
a(1, 1, 6, 2, 3);
a(2, 1, 6, 2, -3);
a(3, 1, 6, 2, -3);
a(4, 1, 6, 2, -3);
a(5, 1, 6, 2, 3);
a(6, 1, 6, 2, -3);
a(7, 1, 6, 2, -3);
a(8, 1, 6, 2, 3);
a(9, 1, 6, 2, -3);
a(10, 1, 6, 2, -3);
a(11, 1, 6, 2, -3);
a(12, 1, 6, 2, -3);
a(13, 1, 6, 2, 3);
a(14, 1, 6, 2, 3);
a(15, 1, 6, 2, 3);
a(0, 1, 6, 3, -50);
a(1, 1, 6, 3, -50);
a(2, 1, 6, 3, -50);
a(3, 1, 6, 3, -50);
a(4, 1, 6, 3, -50);
a(5, 1, 6, 3, -50);
a(6, 1, 6, 3, -50);
a(7, 1, 6, 3, -50);
a(8, 1, 6, 3, -50);
a(9, 1, 6, 3, -50);
a(10, 1, 6, 3, -50);
a(11, 1, 6, 3, -50);
a(12, 1, 6, 3, -50);
a(13, 1, 6, 3, -50);
a(14, 1, 6, 3, -50);
a(15, 1, 6, 3, 50);
a(0, 1, 6, 4, -2);
a(1, 1, 6, 4, 2);
a(2, 1, 6, 4, 2);
a(3, 1, 6, 4, 2);
a(4, 1, 6, 4, 2);
a(5, 1, 6, 4, 2);
a(6, 1, 6, 4, 2);
a(7, 1, 6, 4, 2);
a(8, 1, 6, 4, 2);
a(9, 1, 6, 4, 2);
a(10, 1, 6, 4, 2);
a(11, 1, 6, 4, 2);
a(12, 1, 6, 4, 2);
a(13, 1, 6, 4, 2);
a(14, 1, 6, 4, 2);
a(15, 1, 6, 4, 2);
a(0, 1, 6, 5, 35);
a(1, 1, 6, 5, 35);
a(2, 1, 6, 5, 35);
a(3, 1, 6, 5, 35);
a(4, 1, 6, 5, 35);
a(5, 1, 6, 5, 35);
a(6, 1, 6, 5, 35);
a(7, 1, 6, 5, 52.5);
a(8, 1, 6, 5, 35);
a(9, 1, 6, 5, -35);
a(10, 1, 6, 5, -35);
a(11, 1, 6, 5, 35);
a(12, 1, 6, 5, 52.5);
a(13, 1, 6, 5, -35);
a(14, 1, 6, 5, -35);
a(15, 1, 6, 5, -35);
a(0, 1, 7, 0, -5);
a(1, 1, 7, 0, -5);
a(2, 1, 7, 0, 5);
a(3, 1, 7, 0, 5);
a(4, 1, 7, 0, 5);
a(5, 1, 7, 0, 5);
a(6, 1, 7, 0, 5);
a(7, 1, 7, 0, 5);
a(8, 1, 7, 0, 5);
a(9, 1, 7, 0, 5);
a(10, 1, 7, 0, 5);
a(11, 1, 7, 0, 5);
a(12, 1, 7, 0, 5);
a(13, 1, 7, 0, 5);
a(14, 1, 7, 0, 5);
a(15, 1, 7, 0, 5);
a(0, 1, 7, 1, 5);
a(1, 1, 7, 1, 5.5);
a(2, 1, 7, 1, 5);
a(3, 1, 7, 1, 5);
a(4, 1, 7, 1, 5);
a(5, 1, 7, 1, 5);
a(6, 1, 7, 1, 5);
a(7, 1, 7, 1, 5);
a(8, 1, 7, 1, 5);
a(9, 1, 7, 1, 5);
a(10, 1, 7, 1, 5);
a(11, 1, 7, 1, 5);
a(12, 1, 7, 1, 5);
a(13, 1, 7, 1, 5);
a(14, 1, 7, 1, 5);
a(15, 1, 7, 1, 5);
a(10, 1, 8, 0, 10);
a(12, 1, 8, 0, 10);
a(14, 1, 8, 0, 5);
a(0, 1, 8, 1, -10);
a(1, 1, 8, 1, -10);
a(2, 1, 8, 1, -10);
a(7, 1, 8, 1, 10);
a(10, 1, 8, 1, 10);
a(12, 1, 8, 1, 10);
a(14, 1, 8, 1, 10);
a(0, 1, 8, 2, -10);
a(1, 1, 8, 2, -10);
a(2, 1, 8, 2, -10);
a(3, 1, 8, 2, -10);
a(4, 1, 8, 2, -10);
a(5, 1, 8, 2, -10);
a(7, 1, 8, 2, 10);
a(10, 1, 8, 2, 10);
a(12, 1, 8, 2, 10);
a(14, 1, 8, 2, 10);
a(15, 1, 8, 2, 10);
a(0, 1, 8, 3, -10);
a(1, 1, 8, 3, -10);
a(2, 1, 8, 3, -10);
a(3, 1, 8, 3, -10);
a(4, 1, 8, 3, -10);
a(5, 1, 8, 3, -10);
a(6, 1, 8, 3, -10);
a(7, 1, 8, 3, -10);
a(8, 1, 8, 3, 10);
a(9, 1, 8, 3, -10);
a(10, 1, 8, 3, -10);
a(11, 1, 8, 3, -10);
a(12, 1, 8, 3, -10);
a(14, 1, 8, 3, 20);
a(15, 1, 8, 3, 20);
a(7, 1, 8, 5, 35);
a(9, 1, 8, 5, -35);
a(10, 1, 8, 5, -35);
a(12, 1, 8, 5, 35);
a(13, 1, 8, 5, -35);
a(14, 1, 8, 5, -35);
a(15, 1, 8, 5, -35);
a(0, 1, 9, 0, -8.75);
a(1, 1, 9, 0, 7);
a(2, 1, 9, 0, -8.75);
a(3, 1, 9, 0, -8.75);
a(4, 1, 9, 0, -8.75);
a(5, 1, 9, 0, 7);
a(6, 1, 9, 0, 7);
a(7, 1, 9, 0, 7);
a(8, 1, 9, 0, 9.8);
a(9, 1, 9, 0, 7);
a(10, 1, 9, 0, 7);
a(11, 1, 9, 0, 7);
a(12, 1, 9, 0, 7);
a(13, 1, 9, 0, 9.8);
a(14, 1, 9, 0, 9.8);
a(15, 1, 9, 0, 9.8);
a(0, 1, 9, 1, -8.75);
a(1, 1, 9, 1, -8.75);
a(2, 1, 9, 1, -8.75);
a(3, 1, 9, 1, -8.75);
a(4, 1, 9, 1, -8.75);
a(5, 1, 9, 1, -8.75);
a(6, 1, 9, 1, -8.75);
a(7, 1, 9, 1, -8.75);
a(8, 1, 9, 1, 7);
a(9, 1, 9, 1, -8.75);
a(10, 1, 9, 1, -8.75);
a(11, 1, 9, 1, -8.75);
a(12, 1, 9, 1, -8.75);
a(13, 1, 9, 1, 7);
a(14, 1, 9, 1, 7);
a(15, 1, 9, 1, 7);
a(0, 1, 9, 2, -8.75);
a(1, 1, 9, 2, -8.75);
a(2, 1, 9, 2, -8.75);
a(3, 1, 9, 2, -8.75);
a(4, 1, 9, 2, -8.75);
a(5, 1, 9, 2, -8.75);
a(6, 1, 9, 2, -8.75);
a(7, 1, 9, 2, -8.75);
a(8, 1, 9, 2, 7);
a(9, 1, 9, 2, -8.75);
a(10, 1, 9, 2, -8.75);
a(11, 1, 9, 2, -8.75);
a(12, 1, 9, 2, -8.75);
a(13, 1, 9, 2, 7);
a(14, 1, 9, 2, 7);
a(15, 1, 9, 2, 7);
a(0, 1, 9, 3, -8.75);
a(1, 1, 9, 3, -8.75);
a(2, 1, 9, 3, -8.75);
a(3, 1, 9, 3, -8.75);
a(4, 1, 9, 3, -8.75);
a(5, 1, 9, 3, -8.75);
a(6, 1, 9, 3, -8.75);
a(7, 1, 9, 3, -8.75);
a(8, 1, 9, 3, 7);
a(9, 1, 9, 3, -8.75);
a(10, 1, 9, 3, -8.75);
a(11, 1, 9, 3, -8.75);
a(12, 1, 9, 3, -8.75);
a(13, 1, 9, 3, 7);
a(14, 1, 9, 3, 7);
a(15, 1, 9, 3, 7);
a(0, 1, 9, 4, -8.75);
a(1, 1, 9, 4, 7);
a(2, 1, 9, 4, -8.75);
a(3, 1, 9, 4, -8.75);
a(4, 1, 9, 4, -8.75);
a(5, 1, 9, 4, 7);
a(6, 1, 9, 4, 7);
a(7, 1, 9, 4, 7);
a(8, 1, 9, 4, 9.8);
a(9, 1, 9, 4, 7);
a(10, 1, 9, 4, 7);
a(11, 1, 9, 4, 7);
a(12, 1, 9, 4, 7);
a(13, 1, 9, 4, 9.8);
a(14, 1, 9, 4, 9.8);
a(15, 1, 9, 4, 9.8);
}
// industry 2
{
a(0, 2, 0, 2, 8);
a(1, 2, 0, 2, 10);
a(2, 2, 0, 2, 8);
a(3, 2, 0, 2, 10);
a(4, 2, 0, 2, 8);
a(5, 2, 0, 2, 10);
a(6, 2, 0, 2, 8);
a(7, 2, 0, 2, 8);
a(8, 2, 0, 2, 8);
a(9, 2, 0, 2, 8);
a(10, 2, 0, 2, 8);
a(11, 2, 0, 2, 8);
a(12, 2, 0, 2, 8);
a(13, 2, 0, 2, 8);
a(14, 2, 0, 2, 8);
a(15, 2, 0, 2, 8);
a(0, 2, 1, 0, 9);
a(1, 2, 1, 0, 11.25);
a(2, 2, 1, 0, 9);
a(3, 2, 1, 0, 9);
a(4, 2, 1, 0, 9);
a(5, 2, 1, 0, 9.9);
a(6, 2, 1, 0, 9);
a(8, 2, 1, 0, 9);
a(9, 2, 1, 0, 9);
a(13, 2, 1, 0, 9);
a(0, 2, 1, 1, 9);
a(1, 2, 1, 1, 11.25);
a(2, 2, 1, 1, 9);
a(3, 2, 1, 1, 9);
a(4, 2, 1, 1, 9);
a(5, 2, 1, 1, 9.9);
a(6, 2, 1, 1, 9);
a(8, 2, 1, 1, 9);
a(9, 2, 1, 1, 9);
a(13, 2, 1, 1, 9);
a(0, 2, 1, 2, 9);
a(1, 2, 1, 2, 9);
a(2, 2, 1, 2, 9);
a(3, 2, 1, 2, 9);
a(4, 2, 1, 2, 9);
a(5, 2, 1, 2, 9);
a(6, 2, 1, 2, 9);
a(8, 2, 1, 2, 9);
a(9, 2, 1, 2, 9);
a(13, 2, 1, 2, 9);
a(0, 2, 3, 0, 50);
a(1, 2, 3, 0, 50);
a(2, 2, 3, 0, 50);
a(3, 2, 3, 0, 50);
a(4, 2, 3, 0, 50);
a(5, 2, 3, 0, 50);
a(6, 2, 3, 0, 50);
a(7, 2, 3, 0, 50);
a(8, 2, 3, 0, 50);
a(9, 2, 3, 0, 37.5);
a(10, 2, 3, 0, 37.5);
a(11, 2, 3, 0, 37.5);
a(12, 2, 3, 0, 37.5);
a(13, 2, 3, 0, 37.5);
a(14, 2, 3, 0, 37.5);
a(15, 2, 3, 0, 37.5);
a(0, 2, 3, 1, -50);
a(1, 2, 3, 1, -50);
a(2, 2, 3, 1, -50);
a(3, 2, 3, 1, -50);
a(4, 2, 3, 1, -50);
a(5, 2, 3, 1, -50);
a(6, 2, 3, 1, -50);
a(7, 2, 3, 1, -50);
a(8, 2, 3, 1, -50);
a(9, 2, 3, 1, 50);
a(10, 2, 3, 1, 50);
a(11, 2, 3, 1, 50);
a(12, 2, 3, 1, 50);
a(13, 2, 3, 1, 50);
a(14, 2, 3, 1, 50);
a(15, 2, 3, 1, 50);
a(0, 2, 3, 2, -50);
a(1, 2, 3, 2, -50);
a(2, 2, 3, 2, -50);
a(3, 2, 3, 2, -50);
a(4, 2, 3, 2, -50);
a(5, 2, 3, 2, -50);
a(6, 2, 3, 2, -50);
a(7, 2, 3, 2, -50);
a(8, 2, 3, 2, -50);
a(9, 2, 3, 2, 50);
a(10, 2, 3, 2, 50);
a(11, 2, 3, 2, 50);
a(12, 2, 3, 2, 50);
a(13, 2, 3, 2, 50);
a(14, 2, 3, 2, 50);
a(15, 2, 3, 2, 50);
a(0, 2, 3, 3, -50);
a(1, 2, 3, 3, -50);
a(2, 2, 3, 3, -50);
a(3, 2, 3, 3, -50);
a(4, 2, 3, 3, -50);
a(5, 2, 3, 3, -50);
a(6, 2, 3, 3, -50);
a(7, 2, 3, 3, -50);
a(8, 2, 3, 3, -50);
a(9, 2, 3, 3, 50);
a(10, 2, 3, 3, 50);
a(11, 2, 3, 3, 50);
a(12, 2, 3, 3, 50);
a(13, 2, 3, 3, 50);
a(14, 2, 3, 3, 50);
a(15, 2, 3, 3, 50);
a(0, 2, 4, 0, 3);
a(1, 2, 4, 0, 3);
a(2, 2, 4, 0, 3);
a(3, 2, 4, 0, 3);
a(4, 2, 4, 0, 3);
a(5, 2, 4, 0, 3);
a(6, 2, 4, 0, 3);
a(7, 2, 4, 0, 3);
a(8, 2, 4, 0, 3);
a(9, 2, 4, 0, 3);
a(10, 2, 4, 0, 3);
a(11, 2, 4, 0, 3);
a(12, 2, 4, 0, 3);
a(13, 2, 4, 0, 3);
a(14, 2, 4, 0, 3);
a(15, 2, 4, 0, 3);
a(0, 2, 4, 1, -3);
a(1, 2, 4, 1, -3);
a(2, 2, 4, 1, -3);
a(3, 2, 4, 1, 3);
a(4, 2, 4, 1, 3);
a(5, 2, 4, 1, 3);
a(6, 2, 4, 1, 3);
a(7, 2, 4, 1, 3);
a(8, 2, 4, 1, 3);
a(9, 2, 4, 1, 3);
a(10, 2, 4, 1, 3);
a(11, 2, 4, 1, 3);
a(12, 2, 4, 1, 3);
a(13, 2, 4, 1, 3);
a(14, 2, 4, 1, 3);
a(15, 2, 4, 1, 3);
a(0, 2, 4, 2, -3);
a(1, 2, 4, 2, -3);
a(2, 2, 4, 2, -3);
a(3, 2, 4, 2, -3);
a(4, 2, 4, 2, -3);
a(5, 2, 4, 2, -3);
a(6, 2, 4, 2, 3);
a(7, 2, 4, 2, 3);
a(8, 2, 4, 2, 3);
a(9, 2, 4, 2, 3);
a(10, 2, 4, 2, 3);
a(11, 2, 4, 2, 3);
a(12, 2, 4, 2, 3);
a(13, 2, 4, 2, 3);
a(14, 2, 4, 2, 3);
a(15, 2, 4, 2, 3);
a(0, 2, 5, 0, 7);
a(1, 2, 5, 0, 7.7);
a(2, 2, 5, 0, 7);
a(3, 2, 5, 0, 7);
a(4, 2, 5, 0, 7);
a(5, 2, 5, 0, 7.7);
a(6, 2, 5, 0, 6.3);
a(7, 2, 5, 0, 6.3);
a(8, 2, 5, 0, 5.6);
a(9, 2, 5, 0, 6.3);
a(10, 2, 5, 0, 6.3);
a(11, 2, 5, 0, 6.3);
a(12, 2, 5, 0, 6.3);
a(13, 2, 5, 0, 5.6);
a(14, 2, 5, 0, 5.6);
a(15, 2, 5, 0, 5.6);
a(0, 2, 5, 1, -7);
a(1, 2, 5, 1, -7);
a(2, 2, 5, 1, -7);
a(3, 2, 5, 1, -7);
a(4, 2, 5, 1, -7);
a(5, 2, 5, 1, 7.7);
a(6, 2, 5, 1, 7);
a(7, 2, 5, 1, 7);
a(8, 2, 5, 1, 7);
a(9, 2, 5, 1, 7);
a(10, 2, 5, 1, 7);
a(11, 2, 5, 1, 7);
a(12, 2, 5, 1, 7);
a(13, 2, 5, 1, 6.3);
a(14, 2, 5, 1, 6.3);
a(15, 2, 5, 1, 6.3);
a(0, 2, 5, 2, -7);
a(1, 2, 5, 2, -7);
a(2, 2, 5, 2, -7);
a(3, 2, 5, 2, -7);
a(4, 2, 5, 2, -7);
a(5, 2, 5, 2, -7);
a(6, 2, 5, 2, -7);
a(7, 2, 5, 2, -7);
a(8, 2, 5, 2, 7);
a(9, 2, 5, 2, -7);
a(10, 2, 5, 2, -7);
a(11, 2, 5, 2, -7);
a(12, 2, 5, 2, -7);
a(13, 2, 5, 2, 7);
a(14, 2, 5, 2, 7);
a(15, 2, 5, 2, 7);
a(0, 2, 6, 0, -4);
a(1, 2, 6, 0, -4);
a(2, 2, 6, 0, -4);
a(3, 2, 6, 0, -4);
a(4, 2, 6, 0, -4);
a(5, 2, 6, 0, -4);
a(6, 2, 6, 0, -4);
a(7, 2, 6, 0, -4);
a(8, 2, 6, 0, 4);
a(9, 2, 6, 0, -4);
a(10, 2, 6, 0, -4);
a(11, 2, 6, 0, -4);
a(12, 2, 6, 0, -4);
a(13, 2, 6, 0, 4);
a(14, 2, 6, 0, 4);
a(15, 2, 6, 0, 4);
a(0, 2, 6, 1, -3);
a(1, 2, 6, 1, -3);
a(2, 2, 6, 1, -3);
a(3, 2, 6, 1, -3);
a(4, 2, 6, 1, -3);
a(5, 2, 6, 1, -3);
a(6, 2, 6, 1, 3);
a(7, 2, 6, 1, 3);
a(8, 2, 6, 1, 3);
a(9, 2, 6, 1, 3);
a(10, 2, 6, 1, 3);
a(11, 2, 6, 1, 3);
a(12, 2, 6, 1, 3);
a(13, 2, 6, 1, 3);
a(14, 2, 6, 1, 3);
a(15, 2, 6, 1, 3);
a(0, 2, 6, 2, -3);
a(1, 2, 6, 2, 3);
a(2, 2, 6, 2, -3);
a(3, 2, 6, 2, -3);
a(4, 2, 6, 2, -3);
a(5, 2, 6, 2, 3);
a(6, 2, 6, 2, -3);
a(7, 2, 6, 2, -3);
a(8, 2, 6, 2, 3);
a(9, 2, 6, 2, -3);
a(10, 2, 6, 2, -3);
a(11, 2, 6, 2, -3);
a(12, 2, 6, 2, -3);
a(13, 2, 6, 2, 3);
a(14, 2, 6, 2, 3);
a(15, 2, 6, 2, 3);
a(0, 2, 6, 3, -25);
a(1, 2, 6, 3, -25);
a(2, 2, 6, 3, -25);
a(3, 2, 6, 3, -25);
a(4, 2, 6, 3, -25);
a(5, 2, 6, 3, -25);
a(6, 2, 6, 3, -25);
a(7, 2, 6, 3, 25);
a(8, 2, 6, 3, -25);
a(9, 2, 6, 3, -25);
a(10, 2, 6, 3, 25);
a(11, 2, 6, 3, -25);
a(12, 2, 6, 3, 25);
a(13, 2, 6, 3, -25);
a(14, 2, 6, 3, 25);
a(15, 2, 6, 3, 25);
a(0, 2, 6, 4, -2);
a(1, 2, 6, 4, 2);
a(2, 2, 6, 4, 2);
a(3, 2, 6, 4, 2);
a(4, 2, 6, 4, 2);
a(5, 2, 6, 4, 2);
a(6, 2, 6, 4, 2);
a(7, 2, 6, 4, 2);
a(8, 2, 6, 4, 2);
a(9, 2, 6, 4, 2);
a(10, 2, 6, 4, 2);
a(11, 2, 6, 4, 2);
a(12, 2, 6, 4, 2);
a(13, 2, 6, 4, 2);
a(14, 2, 6, 4, 2);
a(15, 2, 6, 4, 2);
a(0, 2, 6, 5, 24);
a(1, 2, 6, 5, 24);
a(2, 2, 6, 5, 24);
a(3, 2, 6, 5, 24);
a(4, 2, 6, 5, 24);
a(5, 2, 6, 5, 24);
a(6, 2, 6, 5, 24);
a(7, 2, 6, 5, 24);
a(8, 2, 6, 5, 24);
a(9, 2, 6, 5, -24);
a(10, 2, 6, 5, -24);
a(11, 2, 6, 5, 24);
a(12, 2, 6, 5, 24);
a(13, 2, 6, 5, -24);
a(14, 2, 6, 5, -24);
a(15, 2, 6, 5, -24);
a(0, 2, 7, 0, -5);
a(1, 2, 7, 0, -5);
a(2, 2, 7, 0, 5);
a(3, 2, 7, 0, 5);
a(4, 2, 7, 0, 5);
a(5, 2, 7, 0, 5);
a(6, 2, 7, 0, 5);
a(7, 2, 7, 0, 5);
a(8, 2, 7, 0, 5);
a(9, 2, 7, 0, 5);
a(10, 2, 7, 0, 5);
a(11, 2, 7, 0, 5);
a(12, 2, 7, 0, 5);
a(13, 2, 7, 0, 5);
a(14, 2, 7, 0, 5);
a(15, 2, 7, 0, 5);
a(0, 2, 7, 1, 5);
a(1, 2, 7, 1, 5.5);
a(2, 2, 7, 1, 5);
a(3, 2, 7, 1, 5);
a(4, 2, 7, 1, 5);
a(5, 2, 7, 1, 5);
a(6, 2, 7, 1, 5);
a(7, 2, 7, 1, 5);
a(8, 2, 7, 1, 5);
a(9, 2, 7, 1, 5);
a(10, 2, 7, 1, 5);
a(11, 2, 7, 1, 5);
a(12, 2, 7, 1, 5);
a(13, 2, 7, 1, 5);
a(14, 2, 7, 1, 5);
a(15, 2, 7, 1, 5);
a(9, 2, 8, 0, 10);
a(10, 2, 8, 0, 10);
a(11, 2, 8, 0, 10);
a(12, 2, 8, 0, 10);
a(13, 2, 8, 0, 5);
a(0, 2, 8, 1, -10);
a(1, 2, 8, 1, -10);
a(2, 2, 8, 1, -10);
a(3, 2, 8, 1, 11);
a(4, 2, 8, 1, 10);
a(5, 2, 8, 1, 11.5);
a(6, 2, 8, 1, 10);
a(7, 2, 8, 1, 10);
a(8, 2, 8, 1, 10);
a(9, 2, 8, 1, 10);
a(10, 2, 8, 1, 10);
a(11, 2, 8, 1, 10);
a(12, 2, 8, 1, 10);
a(13, 2, 8, 1, 10);
a(0, 2, 8, 2, -10);
a(1, 2, 8, 2, -10);
a(2, 2, 8, 2, -10);
a(3, 2, 8, 2, -10);
a(4, 2, 8, 2, -10);
a(5, 2, 8, 2, -10);
a(6, 2, 8, 2, 10);
a(8, 2, 8, 2, 11);
a(9, 2, 8, 2, 10);
a(12, 2, 8, 2, 10);
a(13, 2, 8, 2, 9);
a(0, 2, 8, 3, -10);
a(1, 2, 8, 3, -10);
a(2, 2, 8, 3, -10);
a(3, 2, 8, 3, -10);
a(4, 2, 8, 3, -10);
a(5, 2, 8, 3, -10);
a(6, 2, 8, 3, -10);
a(7, 2, 8, 3, -10);
a(8, 2, 8, 3, 10);
a(9, 2, 8, 3, -10);
a(10, 2, 8, 3, -10);
a(11, 2, 8, 3, -10);
a(12, 2, 8, 3, -10);
a(13, 2, 8, 3, 10);
a(14, 2, 8, 3, 10);
a(0, 2, 8, 4, -25);
a(1, 2, 8, 4, -25);
a(2, 2, 8, 4, -25);
a(3, 2, 8, 4, -25);
a(4, 2, 8, 4, -25);
a(5, 2, 8, 4, -25);
a(6, 2, 8, 4, -25);
a(7, 2, 8, 4, -25);
a(8, 2, 8, 4, -25);
a(9, 2, 8, 4, -25);
a(10, 2, 8, 4, 50);
a(11, 2, 8, 4, -25);
a(13, 2, 8, 4, -25);
a(14, 2, 8, 4, 50);
a(0, 2, 8, 5, 24);
a(1, 2, 8, 5, 24);
a(2, 2, 8, 5, 24);
a(3, 2, 8, 5, 24);
a(4, 2, 8, 5, 24);
a(5, 2, 8, 5, 24);
a(6, 2, 8, 5, 24);
a(7, 2, 8, 5, 24);
a(8, 2, 8, 5, 24);
a(9, 2, 8, 5, -24);
a(10, 2, 8, 5, -24);
a(11, 2, 8, 5, 24);
a(12, 2, 8, 5, 24);
a(13, 2, 8, 5, -24);
a(14, 2, 8, 5, -24);
a(15, 2, 8, 5, -24);
a(0, 2, 9, 0, -8.75);
a(1, 2, 9, 0, 7);
a(2, 2, 9, 0, -8.75);
a(3, 2, 9, 0, -8.75);
a(4, 2, 9, 0, -8.75);
a(5, 2, 9, 0, 7);
a(6, 2, 9, 0, 7);
a(7, 2, 9, 0, 7);
a(8, 2, 9, 0, 9.8);
a(9, 2, 9, 0, 7);
a(10, 2, 9, 0, 7);
a(11, 2, 9, 0, 7);
a(12, 2, 9, 0, 7);
a(13, 2, 9, 0, 9.8);
a(14, 2, 9, 0, 9.8);
a(0, 2, 9, 1, -8.75);
a(1, 2, 9, 1, -8.75);
a(2, 2, 9, 1, -8.75);
a(3, 2, 9, 1, -8.75);
a(4, 2, 9, 1, -8.75);
a(5, 2, 9, 1, -8.75);
a(6, 2, 9, 1, -8.75);
a(7, 2, 9, 1, -8.75);
a(8, 2, 9, 1, 7);
a(9, 2, 9, 1, -8.75);
a(10, 2, 9, 1, -8.75);
a(11, 2, 9, 1, -8.75);
a(12, 2, 9, 1, -8.75);
a(13, 2, 9, 1, 7);
a(14, 2, 9, 1, 7);
a(0, 2, 9, 2, -8.75);
a(1, 2, 9, 2, -8.75);
a(2, 2, 9, 2, -8.75);
a(3, 2, 9, 2, -8.75);
a(4, 2, 9, 2, -8.75);
a(5, 2, 9, 2, -8.75);
a(6, 2, 9, 2, -8.75);
a(7, 2, 9, 2, -8.75);
a(8, 2, 9, 2, 7);
a(9, 2, 9, 2, -8.75);
a(10, 2, 9, 2, -8.75);
a(11, 2, 9, 2, -8.75);
a(12, 2, 9, 2, -8.75);
a(13, 2, 9, 2, 7);
a(14, 2, 9, 2, 7);
a(0, 2, 9, 3, -8.75);
a(1, 2, 9, 3, -8.75);
a(2, 2, 9, 3, -8.75);
a(3, 2, 9, 3, -8.75);
a(4, 2, 9, 3, -8.75);
a(5, 2, 9, 3, -8.75);
a(6, 2, 9, 3, -8.75);
a(7, 2, 9, 3, -8.75);
a(8, 2, 9, 3, 7);
a(9, 2, 9, 3, -8.75);
a(10, 2, 9, 3, -8.75);
a(11, 2, 9, 3, -8.75);
a(12, 2, 9, 3, -8.75);
a(13, 2, 9, 3, 7);
a(14, 2, 9, 3, 7);
a(0, 2, 9, 4, -8.75);
a(1, 2, 9, 4, 7);
a(2, 2, 9, 4, -8.75);
a(3, 2, 9, 4, -8.75);
a(4, 2, 9, 4, -8.75);
a(5, 2, 9, 4, 7);
a(6, 2, 9, 4, 7);
a(7, 2, 9, 4, 7);
a(8, 2, 9, 4, 9.8);
a(9, 2, 9, 4, 7);
a(10, 2, 9, 4, 7);
a(11, 2, 9, 4, 7);
a(12, 2, 9, 4, 7);
a(13, 2, 9, 4, 9.8);
a(14, 2, 9, 4, 9.8);
}
// industry 3
{
a(0, 3, 0, 3, 8);
a(1, 3, 0, 3, OMIT);
a(2, 3, 0, 3, OMIT);
a(3, 3, 0, 3, 8);
a(4, 3, 0, 3, OMIT);
a(5, 3, 0, 3, OMIT);
a(6, 3, 0, 3, 8);
a(7, 3, 0, 3, 8);
a(8, 3, 0, 3, OMIT);
a(9, 3, 0, 3, OMIT);
a(10, 3, 0, 3, OMIT);
a(11, 3, 0, 3, 8);
a(12, 3, 0, 3, 8);
a(13, 3, 0, 3, OMIT);
a(14, 3, 0, 3, OMIT);
a(15, 3, 0, 3, OMIT);
a(0, 3, 1, 0, -9);
a(1, 3, 1, 0, -9);
a(2, 3, 1, 0, 9);
a(3, 3, 1, 0, 9);
a(4, 3, 1, 0, 9);
a(5, 3, 1, 0, 9);
a(6, 3, 1, 0, 9);
a(8, 3, 1, 0, 9);
a(9, 3, 1, 0, 9);
a(13, 3, 1, 0, 9);
a(0, 3, 1, 2, 9);
a(1, 3, 1, 2, 9);
a(2, 3, 1, 2, 9);
a(3, 3, 1, 2, 9);
a(4, 3, 1, 2, 9);
a(5, 3, 1, 2, 9);
a(6, 3, 1, 2, 9);
a(8, 3, 1, 2, 9);
a(9, 3, 1, 2, 9);
a(13, 3, 1, 2, 9);
a(0, 3, 3, 0, 50);
a(1, 3, 3, 0, 50);
a(2, 3, 3, 0, 50);
a(3, 3, 3, 0, 50);
a(4, 3, 3, 0, 50);
a(5, 3, 3, 0, 50);
a(6, 3, 3, 0, 50);
a(7, 3, 3, 0, 50);
a(8, 3, 3, 0, 50);
a(9, 3, 3, 0, 37.5);
a(10, 3, 3, 0, 37.5);
a(11, 3, 3, 0, 37.5);
a(12, 3, 3, 0, 37.5);
a(13, 3, 3, 0, 37.5);
a(14, 3, 3, 0, 37.5);
a(15, 3, 3, 0, 37.5);
a(0, 3, 3, 1, -50);
a(1, 3, 3, 1, -50);
a(2, 3, 3, 1, -50);
a(3, 3, 3, 1, -50);
a(4, 3, 3, 1, -50);
a(5, 3, 3, 1, -50);
a(6, 3, 3, 1, -50);
a(7, 3, 3, 1, -50);
a(8, 3, 3, 1, -50);
a(9, 3, 3, 1, 50);
a(10, 3, 3, 1, 50);
a(11, 3, 3, 1, 50);
a(12, 3, 3, 1, 50);
a(13, 3, 3, 1, 50);
a(14, 3, 3, 1, 50);
a(15, 3, 3, 1, 50);
a(0, 3, 3, 2, -50);
a(1, 3, 3, 2, -50);
a(2, 3, 3, 2, -50);
a(3, 3, 3, 2, -50);
a(4, 3, 3, 2, -50);
a(5, 3, 3, 2, -50);
a(6, 3, 3, 2, -50);
a(7, 3, 3, 2, -50);
a(8, 3, 3, 2, -50);
a(9, 3, 3, 2, 50);
a(10, 3, 3, 2, 50);
a(11, 3, 3, 2, 50);
a(12, 3, 3, 2, 50);
a(13, 3, 3, 2, 50);
a(14, 3, 3, 2, 50);
a(15, 3, 3, 2, 50);
a(0, 3, 3, 3, -50);
a(1, 3, 3, 3, -50);
a(2, 3, 3, 3, -50);
a(3, 3, 3, 3, -50);
a(4, 3, 3, 3, -50);
a(5, 3, 3, 3, -50);
a(6, 3, 3, 3, -50);
a(7, 3, 3, 3, -50);
a(8, 3, 3, 3, -50);
a(9, 3, 3, 3, 50);
a(10, 3, 3, 3, 50);
a(11, 3, 3, 3, 50);
a(12, 3, 3, 3, 50);
a(13, 3, 3, 3, 50);
a(14, 3, 3, 3, 50);
a(15, 3, 3, 3, 50);
a(0, 3, 4, 0, 3);
a(1, 3, 4, 0, 3);
a(2, 3, 4, 0, 3);
a(3, 3, 4, 0, 3);
a(4, 3, 4, 0, 3);
a(5, 3, 4, 0, 3);
a(6, 3, 4, 0, 3);
a(7, 3, 4, 0, 3);
a(8, 3, 4, 0, 3);
a(9, 3, 4, 0, 3);
a(10, 3, 4, 0, 3);
a(11, 3, 4, 0, 3);
a(12, 3, 4, 0, 3);
a(13, 3, 4, 0, 3);
a(14, 3, 4, 0, 3);
a(15, 3, 4, 0, 3);
a(0, 3, 4, 1, -3);
a(1, 3, 4, 1, -3);
a(2, 3, 4, 1, -3);
a(3, 3, 4, 1, 3);
a(4, 3, 4, 1, 3);
a(5, 3, 4, 1, 3);
a(6, 3, 4, 1, 3);
a(7, 3, 4, 1, 3);
a(8, 3, 4, 1, 3);
a(9, 3, 4, 1, 3);
a(10, 3, 4, 1, 3);
a(11, 3, 4, 1, 3);
a(12, 3, 4, 1, 3);
a(13, 3, 4, 1, 3);
a(14, 3, 4, 1, 3);
a(15, 3, 4, 1, 3);
a(0, 3, 4, 2, -3);
a(1, 3, 4, 2, -3);
a(2, 3, 4, 2, -3);
a(3, 3, 4, 2, -3);
a(4, 3, 4, 2, -3);
a(5, 3, 4, 2, -3);
a(6, 3, 4, 2, 3);
a(7, 3, 4, 2, 3);
a(8, 3, 4, 2, 3);
a(9, 3, 4, 2, 3);
a(10, 3, 4, 2, 3);
a(11, 3, 4, 2, 3);
a(12, 3, 4, 2, 3);
a(13, 3, 4, 2, 3);
a(14, 3, 4, 2, 3);
a(15, 3, 4, 2, 3);
a(0, 3, 5, 0, 7);
a(1, 3, 5, 0, 7.7);
a(2, 3, 5, 0, 7);
a(3, 3, 5, 0, 7);
a(4, 3, 5, 0, 7);
a(5, 3, 5, 0, 7.7);
a(6, 3, 5, 0, 6.3);
a(7, 3, 5, 0, 6.3);
a(8, 3, 5, 0, 5.6);
a(9, 3, 5, 0, 6.3);
a(10, 3, 5, 0, 6.3);
a(11, 3, 5, 0, 6.3);
a(12, 3, 5, 0, 6.3);
a(13, 3, 5, 0, 5.6);
a(14, 3, 5, 0, 5.6);
a(15, 3, 5, 0, 5.6);
a(0, 3, 5, 1, -7);
a(1, 3, 5, 1, -7);
a(2, 3, 5, 1, -7);
a(3, 3, 5, 1, -7);
a(4, 3, 5, 1, -7);
a(5, 3, 5, 1, 7.7);
a(6, 3, 5, 1, 7);
a(7, 3, 5, 1, 7);
a(8, 3, 5, 1, 7);
a(9, 3, 5, 1, 7);
a(10, 3, 5, 1, 7);
a(11, 3, 5, 1, 7);
a(12, 3, 5, 1, 7);
a(13, 3, 5, 1, 6.3);
a(14, 3, 5, 1, 6.3);
a(15, 3, 5, 1, 6.3);
a(0, 3, 5, 2, -7);
a(1, 3, 5, 2, -7);
a(2, 3, 5, 2, -7);
a(3, 3, 5, 2, -7);
a(4, 3, 5, 2, -7);
a(5, 3, 5, 2, -7);
a(6, 3, 5, 2, -7);
a(7, 3, 5, 2, -7);
a(8, 3, 5, 2, 7);
a(9, 3, 5, 2, -7);
a(10, 3, 5, 2, -7);
a(11, 3, 5, 2, -7);
a(12, 3, 5, 2, -7);
a(13, 3, 5, 2, 7);
a(14, 3, 5, 2, 7);
a(15, 3, 5, 2, 7);
a(0, 3, 6, 0, -4);
a(1, 3, 6, 0, -4);
a(2, 3, 6, 0, -4);
a(3, 3, 6, 0, -4);
a(4, 3, 6, 0, -4);
a(5, 3, 6, 0, -4);
a(6, 3, 6, 0, -4);
a(7, 3, 6, 0, -4);
a(8, 3, 6, 0, 4);
a(9, 3, 6, 0, -4);
a(10, 3, 6, 0, -4);
a(11, 3, 6, 0, -4);
a(12, 3, 6, 0, -4);
a(13, 3, 6, 0, 4);
a(14, 3, 6, 0, 4);
a(15, 3, 6, 0, 4);
a(0, 3, 6, 1, -3);
a(1, 3, 6, 1, -3);
a(2, 3, 6, 1, -3);
a(3, 3, 6, 1, -3);
a(4, 3, 6, 1, -3);
a(5, 3, 6, 1, -3);
a(6, 3, 6, 1, 3);
a(7, 3, 6, 1, 3);
a(8, 3, 6, 1, 3);
a(9, 3, 6, 1, 3);
a(10, 3, 6, 1, 3);
a(11, 3, 6, 1, 3);
a(12, 3, 6, 1, 3);
a(13, 3, 6, 1, 3);
a(14, 3, 6, 1, 3);
a(15, 3, 6, 1, 3);
a(0, 3, 6, 2, -3);
a(1, 3, 6, 2, 3);
a(2, 3, 6, 2, -3);
a(3, 3, 6, 2, -3);
a(4, 3, 6, 2, -3);
a(5, 3, 6, 2, 3);
a(6, 3, 6, 2, -3);
a(7, 3, 6, 2, -3);
a(8, 3, 6, 2, 3);
a(9, 3, 6, 2, -3);
a(10, 3, 6, 2, -3);
a(11, 3, 6, 2, -3);
a(12, 3, 6, 2, -3);
a(13, 3, 6, 2, 3);
a(14, 3, 6, 2, 3);
a(15, 3, 6, 2, 3);
a(0, 3, 6, 3, -25);
a(1, 3, 6, 3, -25);
a(2, 3, 6, 3, -25);
a(3, 3, 6, 3, -25);
a(4, 3, 6, 3, -25);
a(5, 3, 6, 3, -25);
a(6, 3, 6, 3, -25);
a(7, 3, 6, 3, 25);
a(8, 3, 6, 3, -25);
a(9, 3, 6, 3, -25);
a(10, 3, 6, 3, 25);
a(11, 3, 6, 3, -25);
a(12, 3, 6, 3, 25);
a(13, 3, 6, 3, -25);
a(14, 3, 6, 3, 25);
a(15, 3, 6, 3, 25);
a(0, 3, 6, 4, -2);
a(1, 3, 6, 4, 2);
a(2, 3, 6, 4, 2);
a(3, 3, 6, 4, 2);
a(4, 3, 6, 4, 2);
a(5, 3, 6, 4, 2);
a(6, 3, 6, 4, 2);
a(7, 3, 6, 4, 2);
a(8, 3, 6, 4, 2);
a(9, 3, 6, 4, 2);
a(10, 3, 6, 4, 2);
a(11, 3, 6, 4, 2);
a(12, 3, 6, 4, 2);
a(13, 3, 6, 4, 2);
a(14, 3, 6, 4, 2);
a(15, 3, 6, 4, 2);
a(0, 3, 7, 0, -5);
a(1, 3, 7, 0, -5);
a(2, 3, 7, 0, 5);
a(3, 3, 7, 0, 5);
a(4, 3, 7, 0, 5);
a(5, 3, 7, 0, 5);
a(6, 3, 7, 0, 5);
a(7, 3, 7, 0, 5);
a(8, 3, 7, 0, 5);
a(9, 3, 7, 0, 5);
a(10, 3, 7, 0, 5);
a(11, 3, 7, 0, 5);
a(12, 3, 7, 0, 5);
a(13, 3, 7, 0, 5);
a(14, 3, 7, 0, 5);
a(15, 3, 7, 0, 5);
a(0, 3, 7, 1, 5);
a(1, 3, 7, 1, 5.5);
a(2, 3, 7, 1, 5);
a(3, 3, 7, 1, 5);
a(4, 3, 7, 1, 5);
a(5, 3, 7, 1, 5);
a(6, 3, 7, 1, 5);
a(7, 3, 7, 1, 5);
a(8, 3, 7, 1, 5);
a(9, 3, 7, 1, 5);
a(10, 3, 7, 1, 5);
a(11, 3, 7, 1, 5);
a(12, 3, 7, 1, 5);
a(13, 3, 7, 1, 5);
a(14, 3, 7, 1, 5);
a(15, 3, 7, 1, 5);
a(9, 3, 8, 0, 10);
a(10, 3, 8, 0, 10);
a(11, 3, 8, 0, 10);
a(12, 3, 8, 0, 10);
a(13, 3, 8, 0, 5);
a(0, 3, 8, 1, -10);
a(1, 3, 8, 1, -10);
a(2, 3, 8, 1, -10);
a(3, 3, 8, 1, 11);
a(4, 3, 8, 1, 10);
a(5, 3, 8, 1, 11.5);
a(6, 3, 8, 1, 10);
a(7, 3, 8, 1, 10);
a(8, 3, 8, 1, 10);
a(9, 3, 8, 1, 10);
a(10, 3, 8, 1, 10);
a(11, 3, 8, 1, 10);
a(12, 3, 8, 1, 10);
a(13, 3, 8, 1, 10);
a(0, 3, 8, 2, -10);
a(1, 3, 8, 2, -10);
a(2, 3, 8, 2, -10);
a(3, 3, 8, 2, -10);
a(4, 3, 8, 2, -10);
a(5, 3, 8, 2, -10);
a(6, 3, 8, 2, 10);
a(8, 3, 8, 2, 11);
a(9, 3, 8, 2, 10);
a(12, 3, 8, 2, 10);
a(13, 3, 8, 2, 9);
a(0, 3, 8, 3, -10);
a(1, 3, 8, 3, -10);
a(2, 3, 8, 3, -10);
a(3, 3, 8, 3, -10);
a(4, 3, 8, 3, -10);
a(5, 3, 8, 3, -10);
a(6, 3, 8, 3, -10);
a(7, 3, 8, 3, -10);
a(8, 3, 8, 3, 10);
a(9, 3, 8, 3, -10);
a(10, 3, 8, 3, -10);
a(11, 3, 8, 3, -10);
a(12, 3, 8, 3, -10);
a(13, 3, 8, 3, 10);
a(14, 3, 8, 3, 10);
a(0, 3, 8, 4, -25);
a(1, 3, 8, 4, -25);
a(2, 3, 8, 4, -25);
a(3, 3, 8, 4, -25);
a(4, 3, 8, 4, -25);
a(5, 3, 8, 4, -25);
a(6, 3, 8, 4, -25);
a(7, 3, 8, 4, -25);
a(8, 3, 8, 4, -25);
a(9, 3, 8, 4, -25);
a(10, 3, 8, 4, 50);
a(11, 3, 8, 4, -25);
a(13, 3, 8, 4, -25);
a(14, 3, 8, 4, 50);
a(0, 3, 9, 0, -8.75);
a(1, 3, 9, 0, 7);
a(2, 3, 9, 0, -8.75);
a(3, 3, 9, 0, -8.75);
a(4, 3, 9, 0, -8.75);
a(5, 3, 9, 0, 7);
a(6, 3, 9, 0, 7);
a(7, 3, 9, 0, 7);
a(8, 3, 9, 0, 9.8);
a(9, 3, 9, 0, 7);
a(10, 3, 9, 0, 7);
a(11, 3, 9, 0, 7);
a(12, 3, 9, 0, 7);
a(13, 3, 9, 0, 9.8);
a(14, 3, 9, 0, 9.8);
a(0, 3, 9, 1, -8.75);
a(1, 3, 9, 1, -8.75);
a(2, 3, 9, 1, -8.75);
a(3, 3, 9, 1, -8.75);
a(4, 3, 9, 1, -8.75);
a(5, 3, 9, 1, -8.75);
a(6, 3, 9, 1, -8.75);
a(7, 3, 9, 1, -8.75);
a(8, 3, 9, 1, 7);
a(9, 3, 9, 1, -8.75);
a(10, 3, 9, 1, -8.75);
a(11, 3, 9, 1, -8.75);
a(12, 3, 9, 1, -8.75);
a(13, 3, 9, 1, 7);
a(14, 3, 9, 1, 7);
a(0, 3, 9, 2, -8.75);
a(1, 3, 9, 2, -8.75);
a(2, 3, 9, 2, -8.75);
a(3, 3, 9, 2, -8.75);
a(4, 3, 9, 2, -8.75);
a(5, 3, 9, 2, -8.75);
a(6, 3, 9, 2, -8.75);
a(7, 3, 9, 2, -8.75);
a(8, 3, 9, 2, 7);
a(9, 3, 9, 2, -8.75);
a(10, 3, 9, 2, -8.75);
a(11, 3, 9, 2, -8.75);
a(12, 3, 9, 2, -8.75);
a(13, 3, 9, 2, 7);
a(14, 3, 9, 2, 7);
a(0, 3, 9, 3, -8.75);
a(1, 3, 9, 3, -8.75);
a(2, 3, 9, 3, -8.75);
a(3, 3, 9, 3, -8.75);
a(4, 3, 9, 3, -8.75);
a(5, 3, 9, 3, -8.75);
a(6, 3, 9, 3, -8.75);
a(7, 3, 9, 3, -8.75);
a(8, 3, 9, 3, 7);
a(9, 3, 9, 3, -8.75);
a(10, 3, 9, 3, -8.75);
a(11, 3, 9, 3, -8.75);
a(12, 3, 9, 3, -8.75);
a(13, 3, 9, 3, 7);
a(14, 3, 9, 3, 7);
a(0, 3, 9, 4, -8.75);
a(1, 3, 9, 4, 7);
a(2, 3, 9, 4, -8.75);
a(3, 3, 9, 4, -8.75);
a(4, 3, 9, 4, -8.75);
a(5, 3, 9, 4, 7);
a(6, 3, 9, 4, 7);
a(7, 3, 9, 4, 7);
a(8, 3, 9, 4, 9.8);
a(9, 3, 9, 4, 7);
a(10, 3, 9, 4, 7);
a(11, 3, 9, 4, 7);
a(12, 3, 9, 4, 7);
a(13, 3, 9, 4, 9.8);
a(14, 3, 9, 4, 9.8);
}
//industry 4
{
a(0, 4, 0, 4, 8);
a(1, 4, 0, 4, OMIT);
a(2, 4, 0, 4, OMIT);
a(3, 4, 0, 4, 8);
a(4, 4, 0, 4, OMIT);
a(5, 4, 0, 4, OMIT);
a(6, 4, 0, 4, 8);
a(7, 4, 0, 4, OMIT);
a(8, 4, 0, 4, OMIT);
a(9, 4, 0, 4, 8);
a(10, 4, 0, 4, OMIT);
a(11, 4, 0, 4, OMIT);
a(12, 4, 0, 4, OMIT);
a(13, 4, 0, 4, OMIT);
a(14, 4, 0, 4, OMIT);
a(15, 4, 0, 4, OMIT);
a(0, 4, 1, 0, -9);
a(1, 4, 1, 0, -9);
a(2, 4, 1, 0, 9);
a(3, 4, 1, 0, 9);
a(4, 4, 1, 0, 9);
a(5, 4, 1, 0, 9);
a(6, 4, 1, 0, 9);
a(8, 4, 1, 0, 9);
a(9, 4, 1, 0, 9);
a(13, 4, 1, 0, 9);
a(0, 4, 1, 1, 9);
a(1, 4, 1, 1, 9);
a(2, 4, 1, 1, 9);
a(3, 4, 1, 1, 9);
a(4, 4, 1, 1, 9);
a(5, 4, 1, 1, 9);
a(6, 4, 1, 1, 9);
a(8, 4, 1, 1, 9);
a(9, 4, 1, 1, 9);
a(13, 4, 1, 1, 9);
a(0, 4, 1, 2, 9);
a(1, 4, 1, 2, 9);
a(2, 4, 1, 2, 9);
a(3, 4, 1, 2, 9);
a(4, 4, 1, 2, 9);
a(5, 4, 1, 2, 9);
a(6, 4, 1, 2, 9);
a(8, 4, 1, 2, 9);
a(9, 4, 1, 2, 9);
a(13, 4, 1, 2, 9);
a(0, 4, 3, 0, 50);
a(1, 4, 3, 0, 50);
a(2, 4, 3, 0, 50);
a(3, 4, 3, 0, 50);
a(4, 4, 3, 0, 50);
a(5, 4, 3, 0, 50);
a(6, 4, 3, 0, 50);
a(7, 4, 3, 0, 50);
a(8, 4, 3, 0, 50);
a(9, 4, 3, 0, 37.5);
a(10, 4, 3, 0, 37.5);
a(11, 4, 3, 0, 37.5);
a(12, 4, 3, 0, 37.5);
a(13, 4, 3, 0, 37.5);
a(14, 4, 3, 0, 37.5);
a(15, 4, 3, 0, 37.5);
a(0, 4, 3, 1, -50);
a(1, 4, 3, 1, -50);
a(2, 4, 3, 1, -50);
a(3, 4, 3, 1, -50);
a(4, 4, 3, 1, -50);
a(5, 4, 3, 1, -50);
a(6, 4, 3, 1, -50);
a(7, 4, 3, 1, -50);
a(8, 4, 3, 1, -50);
a(9, 4, 3, 1, 50);
a(10, 4, 3, 1, 50);
a(11, 4, 3, 1, 50);
a(12, 4, 3, 1, 50);
a(13, 4, 3, 1, 50);
a(14, 4, 3, 1, 50);
a(15, 4, 3, 1, 50);
a(0, 4, 3, 2, -50);
a(1, 4, 3, 2, -50);
a(2, 4, 3, 2, -50);
a(3, 4, 3, 2, -50);
a(4, 4, 3, 2, -50);
a(5, 4, 3, 2, -50);
a(6, 4, 3, 2, -50);
a(7, 4, 3, 2, -50);
a(8, 4, 3, 2, -50);
a(9, 4, 3, 2, 50);
a(10, 4, 3, 2, 50);
a(11, 4, 3, 2, 50);
a(12, 4, 3, 2, 50);
a(13, 4, 3, 2, 50);
a(14, 4, 3, 2, 50);
a(15, 4, 3, 2, 50);
a(0, 4, 3, 3, -50);
a(1, 4, 3, 3, -50);
a(2, 4, 3, 3, -50);
a(3, 4, 3, 3, -50);
a(4, 4, 3, 3, -50);
a(5, 4, 3, 3, -50);
a(6, 4, 3, 3, -50);
a(7, 4, 3, 3, -50);
a(8, 4, 3, 3, -50);
a(9, 4, 3, 3, 50);
a(10, 4, 3, 3, 50);
a(11, 4, 3, 3, 50);
a(12, 4, 3, 3, 50);
a(13, 4, 3, 3, 50);
a(14, 4, 3, 3, 50);
a(15, 4, 3, 3, 50);
a(0, 4, 4, 0, 3);
a(1, 4, 4, 0, 3);
a(2, 4, 4, 0, 3);
a(3, 4, 4, 0, 3);
a(4, 4, 4, 0, 3);
a(5, 4, 4, 0, 3);
a(6, 4, 4, 0, 3);
a(7, 4, 4, 0, 3);
a(8, 4, 4, 0, 3);
a(9, 4, 4, 0, 3);
a(10, 4, 4, 0, 3);
a(11, 4, 4, 0, 3);
a(12, 4, 4, 0, 3);
a(13, 4, 4, 0, 3);
a(14, 4, 4, 0, 3);
a(15, 4, 4, 0, 3);
a(0, 4, 4, 1, -3);
a(1, 4, 4, 1, -3);
a(2, 4, 4, 1, -3);
a(3, 4, 4, 1, 3);
a(4, 4, 4, 1, 3);
a(5, 4, 4, 1, 3);
a(6, 4, 4, 1, 3);
a(7, 4, 4, 1, 3);
a(8, 4, 4, 1, 3);
a(9, 4, 4, 1, 3);
a(10, 4, 4, 1, 3);
a(11, 4, 4, 1, 3);
a(12, 4, 4, 1, 3);
a(13, 4, 4, 1, 3);
a(14, 4, 4, 1, 3);
a(15, 4, 4, 1, 3);
a(0, 4, 4, 2, -3);
a(1, 4, 4, 2, -3);
a(2, 4, 4, 2, -3);
a(3, 4, 4, 2, -3);
a(4, 4, 4, 2, -3);
a(5, 4, 4, 2, -3);
a(6, 4, 4, 2, 3);
a(7, 4, 4, 2, 3);
a(8, 4, 4, 2, 3);
a(9, 4, 4, 2, 3);
a(10, 4, 4, 2, 3);
a(11, 4, 4, 2, 3);
a(12, 4, 4, 2, 3);
a(13, 4, 4, 2, 3);
a(14, 4, 4, 2, 3);
a(15, 4, 4, 2, 3);
a(0, 4, 5, 0, 7);
a(1, 4, 5, 0, 7.7);
a(2, 4, 5, 0, 7);
a(3, 4, 5, 0, 7);
a(4, 4, 5, 0, 7);
a(5, 4, 5, 0, 7.7);
a(6, 4, 5, 0, 6.3);
a(7, 4, 5, 0, 6.3);
a(8, 4, 5, 0, 5.6);
a(9, 4, 5, 0, 6.3);
a(10, 4, 5, 0, 6.3);
a(11, 4, 5, 0, 6.3);
a(12, 4, 5, 0, 6.3);
a(13, 4, 5, 0, 5.6);
a(14, 4, 5, 0, 5.6);
a(15, 4, 5, 0, 5.6);
a(0, 4, 5, 1, -7);
a(1, 4, 5, 1, -7);
a(2, 4, 5, 1, -7);
a(3, 4, 5, 1, -7);
a(4, 4, 5, 1, -7);
a(5, 4, 5, 1, 7.7);
a(6, 4, 5, 1, 7);
a(7, 4, 5, 1, 7);
a(8, 4, 5, 1, 7);
a(9, 4, 5, 1, 7);
a(10, 4, 5, 1, 7);
a(11, 4, 5, 1, 7);
a(12, 4, 5, 1, 7);
a(13, 4, 5, 1, 6.3);
a(14, 4, 5, 1, 6.3);
a(15, 4, 5, 1, 6.3);
a(0, 4, 5, 2, -7);
a(1, 4, 5, 2, -7);
a(2, 4, 5, 2, -7);
a(3, 4, 5, 2, -7);
a(4, 4, 5, 2, -7);
a(5, 4, 5, 2, -7);
a(6, 4, 5, 2, -7);
a(7, 4, 5, 2, -7);
a(8, 4, 5, 2, 7);
a(9, 4, 5, 2, -7);
a(10, 4, 5, 2, -7);
a(11, 4, 5, 2, -7);
a(12, 4, 5, 2, -7);
a(13, 4, 5, 2, 7);
a(14, 4, 5, 2, 7);
a(15, 4, 5, 2, 7);
a(0, 4, 6, 0, -4);
a(1, 4, 6, 0, -4);
a(2, 4, 6, 0, -4);
a(3, 4, 6, 0, -4);
a(4, 4, 6, 0, -4);
a(5, 4, 6, 0, -4);
a(6, 4, 6, 0, -4);
a(7, 4, 6, 0, -4);
a(8, 4, 6, 0, 4);
a(9, 4, 6, 0, -4);
a(10, 4, 6, 0, -4);
a(11, 4, 6, 0, -4);
a(12, 4, 6, 0, -4);
a(13, 4, 6, 0, 4);
a(14, 4, 6, 0, 4);
a(15, 4, 6, 0, 4);
a(0, 4, 6, 1, -3);
a(1, 4, 6, 1, -3);
a(2, 4, 6, 1, -3);
a(3, 4, 6, 1, -3);
a(4, 4, 6, 1, -3);
a(5, 4, 6, 1, -3);
a(6, 4, 6, 1, 3);
a(7, 4, 6, 1, 3);
a(8, 4, 6, 1, 3);
a(9, 4, 6, 1, 3);
a(10, 4, 6, 1, 3);
a(11, 4, 6, 1, 3);
a(12, 4, 6, 1, 3);
a(13, 4, 6, 1, 3);
a(14, 4, 6, 1, 3);
a(15, 4, 6, 1, 3);
a(0, 4, 6, 2, -3);
a(1, 4, 6, 2, 3);
a(2, 4, 6, 2, -3);
a(3, 4, 6, 2, -3);
a(4, 4, 6, 2, -3);
a(5, 4, 6, 2, 3);
a(6, 4, 6, 2, -3);
a(7, 4, 6, 2, -3);
a(8, 4, 6, 2, 3);
a(9, 4, 6, 2, -3);
a(10, 4, 6, 2, -3);
a(11, 4, 6, 2, -3);
a(12, 4, 6, 2, -3);
a(13, 4, 6, 2, 3);
a(14, 4, 6, 2, 3);
a(15, 4, 6, 2, 3);
a(0, 4, 6, 3, -25);
a(1, 4, 6, 3, -25);
a(2, 4, 6, 3, -25);
a(3, 4, 6, 3, -25);
a(4, 4, 6, 3, -25);
a(5, 4, 6, 3, -25);
a(6, 4, 6, 3, -25);
a(7, 4, 6, 3, 25);
a(8, 4, 6, 3, -25);
a(9, 4, 6, 3, -25);
a(10, 4, 6, 3, 25);
a(11, 4, 6, 3, -25);
a(12, 4, 6, 3, 25);
a(13, 4, 6, 3, -25);
a(14, 4, 6, 3, 25);
a(15, 4, 6, 3, 25);
a(0, 4, 6, 4, -2);
a(1, 4, 6, 4, 2);
a(2, 4, 6, 4, 2);
a(3, 4, 6, 4, 2);
a(4, 4, 6, 4, 2);
a(5, 4, 6, 4, 2);
a(6, 4, 6, 4, 2);
a(7, 4, 6, 4, 2);
a(8, 4, 6, 4, 2);
a(9, 4, 6, 4, 2);
a(10, 4, 6, 4, 2);
a(11, 4, 6, 4, 2);
a(12, 4, 6, 4, 2);
a(13, 4, 6, 4, 2);
a(14, 4, 6, 4, 2);
a(15, 4, 6, 4, 2);
a(0, 4, 6, 5, 24);
a(1, 4, 6, 5, 24);
a(2, 4, 6, 5, 24);
a(3, 4, 6, 5, 24);
a(4, 4, 6, 5, 24);
a(5, 4, 6, 5, 24);
a(6, 4, 6, 5, 24);
a(7, 4, 6, 5, 24);
a(8, 4, 6, 5, 24);
a(9, 4, 6, 5, -24);
a(10, 4, 6, 5, -24);
a(11, 4, 6, 5, 24);
a(12, 4, 6, 5, 24);
a(13, 4, 6, 5, -24);
a(14, 4, 6, 5, -24);
a(15, 4, 6, 5, -24);
a(0, 4, 7, 0, -5);
a(1, 4, 7, 0, -5);
a(2, 4, 7, 0, 5);
a(3, 4, 7, 0, 5);
a(4, 4, 7, 0, 5);
a(5, 4, 7, 0, 5);
a(6, 4, 7, 0, 5);
a(7, 4, 7, 0, 5);
a(8, 4, 7, 0, 5);
a(9, 4, 7, 0, 5);
a(10, 4, 7, 0, 5);
a(11, 4, 7, 0, 5);
a(12, 4, 7, 0, 5);
a(13, 4, 7, 0, 5);
a(14, 4, 7, 0, 5);
a(15, 4, 7, 0, 5);
a(0, 4, 7, 1, 5);
a(1, 4, 7, 1, 5.5);
a(2, 4, 7, 1, 5);
a(3, 4, 7, 1, 5);
a(4, 4, 7, 1, 5);
a(5, 4, 7, 1, 5);
a(6, 4, 7, 1, 5);
a(7, 4, 7, 1, 5);
a(8, 4, 7, 1, 5);
a(9, 4, 7, 1, 5);
a(10, 4, 7, 1, 5);
a(11, 4, 7, 1, 5);
a(12, 4, 7, 1, 5);
a(13, 4, 7, 1, 5);
a(14, 4, 7, 1, 5);
a(15, 4, 7, 1, 5);
a(9, 4, 8, 0, 10);
a(10, 4, 8, 0, 10);
a(11, 4, 8, 0, 10);
a(12, 4, 8, 0, 10);
a(13, 4, 8, 0, 5);
a(0, 4, 8, 1, -10);
a(1, 4, 8, 1, -10);
a(2, 4, 8, 1, -10);
a(3, 4, 8, 1, 11);
a(4, 4, 8, 1, 10);
a(5, 4, 8, 1, 11.5);
a(6, 4, 8, 1, 10);
a(7, 4, 8, 1, 10);
a(8, 4, 8, 1, 10);
a(9, 4, 8, 1, 10);
a(10, 4, 8, 1, 10);
a(11, 4, 8, 1, 10);
a(12, 4, 8, 1, 10);
a(13, 4, 8, 1, 10);
a(0, 4, 8, 2, -10);
a(1, 4, 8, 2, -10);
a(2, 4, 8, 2, -10);
a(3, 4, 8, 2, -10);
a(4, 4, 8, 2, -10);
a(5, 4, 8, 2, -10);
a(6, 4, 8, 2, 10);
a(8, 4, 8, 2, 11);
a(9, 4, 8, 2, 10);
a(12, 4, 8, 2, 10);
a(13, 4, 8, 2, 9);
a(0, 4, 8, 3, -10);
a(1, 4, 8, 3, -10);
a(2, 4, 8, 3, -10);
a(3, 4, 8, 3, -10);
a(4, 4, 8, 3, -10);
a(5, 4, 8, 3, -10);
a(6, 4, 8, 3, -10);
a(7, 4, 8, 3, -10);
a(8, 4, 8, 3, 10);
a(9, 4, 8, 3, -10);
a(10, 4, 8, 3, -10);
a(11, 4, 8, 3, -10);
a(12, 4, 8, 3, -10);
a(13, 4, 8, 3, 10);
a(14, 4, 8, 3, 10);
a(0, 4, 8, 4, -25);
a(1, 4, 8, 4, -25);
a(2, 4, 8, 4, -25);
a(3, 4, 8, 4, -25);
a(4, 4, 8, 4, -25);
a(5, 4, 8, 4, -25);
a(6, 4, 8, 4, -25);
a(7, 4, 8, 4, -25);
a(8, 4, 8, 4, -25);
a(9, 4, 8, 4, -25);
a(10, 4, 8, 4, 50);
a(11, 4, 8, 4, -25);
a(13, 4, 8, 4, -25);
a(14, 4, 8, 4, 50);
a(0, 4, 8, 5, 24);
a(1, 4, 8, 5, 24);
a(2, 4, 8, 5, 24);
a(3, 4, 8, 5, 24);
a(4, 4, 8, 5, 24);
a(5, 4, 8, 5, 24);
a(6, 4, 8, 5, 24);
a(7, 4, 8, 5, 24);
a(8, 4, 8, 5, 24);
a(9, 4, 8, 5, -24);
a(10, 4, 8, 5, -24);
a(11, 4, 8, 5, 24);
a(12, 4, 8, 5, 24);
a(13, 4, 8, 5, -24);
a(14, 4, 8, 5, -24);
a(15, 4, 8, 5, -24);
a(0, 4, 9, 0, -8.75);
a(1, 4, 9, 0, 7);
a(2, 4, 9, 0, -8.75);
a(3, 4, 9, 0, -8.75);
a(4, 4, 9, 0, -8.75);
a(5, 4, 9, 0, 7);
a(6, 4, 9, 0, 7);
a(7, 4, 9, 0, 7);
a(8, 4, 9, 0, 9.8);
a(9, 4, 9, 0, 7);
a(10, 4, 9, 0, 7);
a(11, 4, 9, 0, 7);
a(12, 4, 9, 0, 7);
a(13, 4, 9, 0, 9.8);
a(14, 4, 9, 0, 9.8);
a(0, 4, 9, 1, -8.75);
a(1, 4, 9, 1, -8.75);
a(2, 4, 9, 1, -8.75);
a(3, 4, 9, 1, -8.75);
a(4, 4, 9, 1, -8.75);
a(5, 4, 9, 1, -8.75);
a(6, 4, 9, 1, -8.75);
a(7, 4, 9, 1, -8.75);
a(8, 4, 9, 1, 7);
a(9, 4, 9, 1, -8.75);
a(10, 4, 9, 1, -8.75);
a(11, 4, 9, 1, -8.75);
a(12, 4, 9, 1, -8.75);
a(13, 4, 9, 1, 7);
a(14, 4, 9, 1, 7);
a(0, 4, 9, 2, -8.75);
a(1, 4, 9, 2, -8.75);
a(2, 4, 9, 2, -8.75);
a(3, 4, 9, 2, -8.75);
a(4, 4, 9, 2, -8.75);
a(5, 4, 9, 2, -8.75);
a(6, 4, 9, 2, -8.75);
a(7, 4, 9, 2, -8.75);
a(8, 4, 9, 2, 7);
a(9, 4, 9, 2, -8.75);
a(10, 4, 9, 2, -8.75);
a(11, 4, 9, 2, -8.75);
a(12, 4, 9, 2, -8.75);
a(13, 4, 9, 2, 7);
a(14, 4, 9, 2, 7);
a(0, 4, 9, 3, -8.75);
a(1, 4, 9, 3, -8.75);
a(2, 4, 9, 3, -8.75);
a(3, 4, 9, 3, -8.75);
a(4, 4, 9, 3, -8.75);
a(5, 4, 9, 3, -8.75);
a(6, 4, 9, 3, -8.75);
a(7, 4, 9, 3, -8.75);
a(8, 4, 9, 3, 7);
a(9, 4, 9, 3, -8.75);
a(10, 4, 9, 3, -8.75);
a(11, 4, 9, 3, -8.75);
a(12, 4, 9, 3, -8.75);
a(13, 4, 9, 3, 7);
a(14, 4, 9, 3, 7);
a(0, 4, 9, 4, -8.75);
a(1, 4, 9, 4, 7);
a(2, 4, 9, 4, -8.75);
a(3, 4, 9, 4, -8.75);
a(4, 4, 9, 4, -8.75);
a(5, 4, 9, 4, 7);
a(6, 4, 9, 4, 7);
a(7, 4, 9, 4, 7);
a(8, 4, 9, 4, 9.8);
a(9, 4, 9, 4, 7);
a(10, 4, 9, 4, 7);
a(11, 4, 9, 4, 7);
a(12, 4, 9, 4, 7);
a(13, 4, 9, 4, 9.8);
a(14, 4, 9, 4, 9.8);
}
};
function initNegativeInfluense(radios) {
const Cradios = radios;
var a = function (radioId, industryId, questionId, answerId, influense) {
addNegativeInfluenseToRadio(Cradios, radioId, industryId, questionId, answerId, influense);
}
// industry 0
{
a(2, 0, 1, 3, -45);
a(7, 0, 6, 3, -25);
a(10, 0, 6, 3, -25);
a(12, 0, 6, 3, -25);
a(14, 0, 6, 3, -25);
a(15, 0, 6, 3, -25);
a(11, 0, 6, 5, -18);
a(12, 0, 6, 5, -18);
a(15, 0, 8, 4, -25);
a(11, 0, 8, 5, -18);
a(12, 0, 8, 5, -18);
}
// industry 1
{
a(11, 1, 6, 5, -26.25);
a(12, 1, 6, 5, -26.25);
a(12, 1, 8, 5, -26.25);
}
// industry 2
{
a(7, 2, 6, 3, -25);
a(10, 2, 6, 3, -25);
a(12, 2, 6, 3, -25);
a(14, 2, 6, 3, -25);
a(15, 2, 6, 3, -25);
a(11, 2, 6, 5, -18);
a(12, 2, 6, 5, -18);
a(15, 2, 8, 4, -25);
a(11, 2, 8, 5, -18);
a(12, 2, 8, 5, -18);
}
// industry 3
{
a(7, 3, 6, 3, -25);
a(10, 3, 6, 3, -25);
a(12, 3, 6, 3, -25);
a(14, 3, 6, 3, -25);
a(15, 3, 6, 3, -25);
a(15, 3, 8, 4, -25);
}
// industry 4
{
a(7, 4, 6, 3, -25);
a(10, 4, 6, 3, -25);
a(12, 4, 6, 3, -25);
a(14, 4, 6, 3, -25);
a(15, 4, 6, 3, -25);
a(11, 4, 6, 5, -18);
a(12, 4, 6, 5, -18);
a(15, 4, 8, 4, -25);
a(11, 4, 8, 5, -18);
a(12, 4, 8, 5, -18);
}
}
// ;;
// ;\n
// .*,0\);\n
// ^\nvar ansCounter = 0;
var QuestionObj = class QuestionObj {
constructor(sectionTitle, question, questionShort, answers, influence, type, multiple, questionInfo) {
typeof window.totalQuestions == "undefined" ? window.totalQuestions = 0 : window.totalQuestions = parseInt(window.totalQuestions);
this.id = window.totalQuestions;
this._htmlId = `questionContainer-${this.id}`;
window.totalQuestions++;
this.sectionTitle = sectionTitle;
this.question = question;
this.questionShort = questionShort;
this.influence = influence;
this.questionInfo = questionInfo;
this.multiple = multiple;
for (var i in answers) {
var answer = answers[i];
answer.html = answer.html.trim();
if (typeof answer.long == "undefined") {
answer.long = answer.html;
}
if (typeof answer.short == "undefined") {
answer.short = answer.long;
}
if (multiple) {
answer.value = false;
}
if (typeof answer.multiple == "undefined") {
answer.multiple = multiple;
}
}
this.answers = answers;
this.type = type;
this.valueSelected = "";
}
render() {
if (this.type == "radio") return this.renderRadio();
if (this.type == "radioBox") return this.renderRadioBox();
return "none";
}
rendeAns() {
var short = "";
var long = "";
if (this.multiple) {
for (var ans in this.answers) {
if (this.answers[ans].value) {
if (short == "") {
short = short + `<div>${this.answers[ans].short}</div>`;
}
long = long + `<div>${this.answers[ans].long}</div>`;
}
}
}
else if (this.valueSelected !== "") {
long = this.answers[this.valueSelected].long;
short = this.answers[this.valueSelected].short;
}
if (short === "") return "";
ansCounter++;
return `
<div class="renderedAnswer renderedAnswer-${ansCounter}">
<div class="topQuestion">
${this.questionShort}
</div>
<div class="topQuestionAns" onclick="goToStepExpandedCheck(this, ${this.id})">
<span class="long">${long}</span>
<span class="short">${short}</span>
</div>
</div>
`;
}
rendeAnsData() {
var value = "";
if (this.multiple) {
for (var ans in this.answers) {
if (this.answers[ans].value) {
if (typeof this.answers[ans].short != "undefined") {
value = `${value}&${this.answers[ans].short}`;
}
else {
value = `${value}&${this.answers[ans].long}`;
}
}
}
if (value == "") return "";
value = value.substring(1);
}
else if (this.valueSelected !== "") {
if (typeof this.answers[this.valueSelected].short != "undefined") {
value = this.answers[this.valueSelected].short;
}
else {
value = this.answers[this.valueSelected].long;
}
}
if (value == "") return "";
return `${this.question}->${value}`;
}
renderRadio() {
const that = this;
var radioQuestions = this.answers.reduce((acc, curr, currentIndex) => {
if (typeof curr.disabled != "undefined" && curr.disabled) return acc;
var checked = "";
if (typeof curr.value != "undefined" && curr.value) {
checked = "checked";
}
else if (typeof curr.value == "undefined" && that.valueSelected === currentIndex) {
checked = "checked";
}
var linkLabel = curr.html;
linkLabel = $(`<span>${linkLabel}</span>`).text().toString().trim();
acc += `<div class="form-check" data-uet='{"link-type":"button","link-label":"${linkLabel}","cname":"field value populated","link-url":"@field value populated","link-place":"1","restriction":"public","page-area":"2"}'>
<input ${checked} onchange="radioChanged(this, ${that.id},${currentIndex})" class="form-check-input" type="${that.multiple ? "checkbox" : "radio"}" name="radioInput" id="radio-${currentIndex}" value="${currentIndex}">
<label class="form-check-label radio-${currentIndex}-label" for="radio-${currentIndex}">${curr.html}</label>
</div>`;
return acc;
}
, "");
var rendered = `
<div class="radioQuestionContainer">
${this.renderQuestionInfo()}
<div class="form-check-container ${this._htmlId}" id="${this._htmlId}">
${radioQuestions}
</div>
</div>
`;
return rendered;
}
renderRadioBox() {
const that = this;
var radioQuestions = this.answers.reduce((acc, curr, currentIndex) => {
if (typeof curr.disabled != "undefined" && curr.disabled) return acc;
var info = "";
if (typeof curr.infoDescription != "undefined" && curr.infoDescription.trim() != "") {
info = `
<div class="info">
<img src="https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bbe581b31-ce36-4d0c-98d1-779e297329c1%7D_infoIcon.png" alt="info" />
</div>
<div class="infoHovered">
${curr.infoDescription}
</div>
`;
}
var checked = "";
if (typeof curr.value != "undefined" && curr.value) {
checked = "checked";
}
else if (typeof curr.value == "undefined" && that.valueSelected === currentIndex) {
checked = "checked";
}
if (that.id == 8 && currentIndex == 4) {
acc += `
<p style="margin: 10px 0;font-size: 16px" class="questionContainer-8-radio-p">Optional Environmental Feature. Select all that apply</p>
`;
}
acc += `<div class="form-check ${this._htmlId}-radio-${currentIndex}" id="${this._htmlId}-radio-${currentIndex}">
<input ${checked} onchange="radioChanged(this, ${that.id},${currentIndex})" class="form-check-input" type="${(that.multiple || curr.multiple) ? "checkbox" : "radio"}" name="radioInput" id="radio-${currentIndex}" value="${currentIndex}">
<label class="form-check-label radio-${currentIndex}-label ${info != "" ? "hasInfo" : ""}" for="radio-${currentIndex}">${info}${curr.html}</label>
</div>`;
return acc;
}
, "");
var rendered = `
<div class="radioQuestionContainer">
${this.renderQuestionInfo()}
<div class="form-check-container large ${this._htmlId}" id="${this._htmlId}">
${radioQuestions}
</div>
</div>
`;
return rendered;
}
renderQuestionInfo() {
if (this.questionInfo != "") {
return `<p class="questionInfo">${this.questionInfo}</p>`;
}
return "";
}
getInfluense(radio, industry) {
var influence = 0;
if (this.id == 2) {
return 0;
}
if (this.disabled) {
return 0;
}
for (var answerId in this.answers) {
influence += this.getInfluenseAnswer(radio, industry, answerId);
}
return influence;
}
getInfluenseAnswer(radio, industry, answerId) {
if (questions[8].valueSelected === "" && [8].includes(parseInt(this.id))) {
return 0;
}
if (questions[8].valueSelected !== "" && [4, 5, 6, 7].includes(parseInt(this.id))) {
return 0;
}
var answer = this.answers[answerId];
// var realInfluense = typeof answer.influence != "undefined"?answer.influence:this.influence;
// if(typeof realInfluense == "object"){
// realInfluense = realInfluense[industry];
// }
if (answer.disabled) {
var influence = 0;
}
else if (this.id == 8 && answerId == 0 && questions[3].valueSelected == 0 && questions[8].valueSelected == 0) {
var singleBandException = [10, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
influence = singleBandException[radio.id];
}
else if (this.id == 8 && answerId == 0 && questions[3].valueSelected == 0 && questions[8].valueSelected != 0) {
influence = 0;
}
else if (industry != 1 && this.id == 8 && answerId == 4 && questions[3].valueSelected == 0 && (questions[8].valueSelected == 0 || questions[8].valueSelected == 1 || questions[8].valueSelected == 2) && answer.value) {
var extremeException = [-25, -25, -25, -25, -25, -25, -25, 50, -25, -25, 50, -25, 50, -25, 50, 25];
influence = extremeException[radio.id];
}
else if (industry != 1 && this.id == 8 && answerId == 4 && questions[3].valueSelected == 0 && (questions[8].valueSelected == 0 || questions[8].valueSelected == 1 || questions[8].valueSelected == 2) && !answer.value) {
var extremeException = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25];
influence = extremeException[radio.id];
}
else if ((this.multiple && answer.value) || (answer.multiple && answer.value) || this.valueSelected == answerId) {
if (typeof radio.positiveInfluense[industry] == "undefined" || typeof radio.positiveInfluense[industry][this.id] == "undefined" || typeof radio.positiveInfluense[industry][this.id][answerId] == "undefined") {
influence = 0;
}
else {
influence = radio.positiveInfluense[industry][this.id][answerId];
}
}
else {
if (typeof radio.negativeInfluense[industry] == "undefined" || typeof radio.negativeInfluense[industry][this.id] == "undefined" || typeof radio.negativeInfluense[industry][this.id][answerId] == "undefined") {
influence = 0;
}
else {
influence = radio.negativeInfluense[industry][this.id][answerId];
}
}
if (typeof influence == "undefined") {
console.log("info: ", radio.name, radio.id, this.id, answerId, influence)
}
if (influence != 0 && radio.id === false) {
console.log("info: ", this.id, answerId, influence);
}
if (influence < 0) {
radio.hasNegative++;
}
return influence;
}
}
function initQuestions() {
var questions = [];
questions.push(new QuestionObj("Section 1 - Tell us about your agency", "Select industry:", "Select industry", [
{
html: "Law Enforcement",
positiveImpact: [],
}, {
html: "Fire & Emergency Medical Services",
short: "Fire & EMS",
positiveImpact: [],
}, {
html: "Non-Public Safety Government (ie Public Works)",
short: "Non-Pub Safety Gov",
}, {
html: "Oil & Gas",
}, {
html: "Utilities",
}
], 8, "radio", false, "Please only select one option"));
questions.push(new QuestionObj("Section 1 - Tell us about your agency", "Who will be primarily using radios?", "Primary Radio Usage", [
{
html: "Officers in the field (tactical)",
update: function () {
this.html = "Officers in the field (tactical)";
this.long = "Officers";
this.short = "Officers";
if (questions[0].valueSelected === 1) {
this.html = "Frontline Firefighters / Emergency Personnel";
this.long = "Firefighters";
this.short = "Firefighters";
}
if (questions[0].valueSelected === 2 || questions[0].valueSelected === 3 || questions[0].valueSelected === 4) {
this.html = "Mobile Workers";
this.long = "Mobile Workers";
this.short = "Mobile Workers";
}
},
},
{
html: "Administrative Personnel, Support Staff (Non-frontline responder/mobile worker)",
short: "Admin/Support Staff",
}, {
html: "Chief level staff, command staff etc",
short: "Leadership Staff",
}, {
html: "Covert units/personnel (tactical)",
short: "Covert units",
update: function () {
if (questions[0].valueSelected === 0) {
this.disabled = false;
}
else {
this.disabled = true;
}
}
}], 9, "radio", false, "Please only select one option"));
questions.push(new QuestionObj("Section 1 - Tell us about your agency", "How many full-time sworn officers are part of your agency?", "No. of officers", [{
html: "0-10 Sworn",
update: function () {
this.html = "0-10 Sworn"
this.long = "0-10 Sworn"
this.short = "0-10 Sworn"
questions[2].question = "How many full-time sworn officers are part of your agency?";
questions[2].questionShort = "No. of officers";
if (questions[0].valueSelected === 1) {
this.html = "0-10 Firefighters";
this.long = "0-10 Firefighters";
this.short = "0-10 Firefighters";
questions[2].question = "How many career, volunteer, or combination firefighters are part of your agency?";
questions[2].questionShort = "No. of officers";
}
if (questions[0].valueSelected === 3 || questions[0].valueSelected === 4) {
this.html = "0-10 employees";
this.long = "0-10 employees";
this.short = "0-10 employees";
questions[2].question = "How many employees are part of your agency?";
questions[2].questionShort = "No. of officers";
}
},
}, {
html: "11-50 sworn",
update: function () {
this.html = "11-50 Sworn";
this.long = "11-50 Sworn";
this.short = "11-50 Sworn";
if (questions[0].valueSelected === 1) {
this.html = "11-50 Firefighters";
this.long = "11-50 Firefighters";
this.short = "11-50 Firefighters";
}
if (questions[0].valueSelected === 3 || questions[0].valueSelected === 4) {
this.html = "11-50 employees";
this.long = "11-50 employees";
this.short = "11-50 employees";
}
},
}, {
html: "51-100 Sworn",
update: function () {
this.html = "51-100 Sworn";
this.long = "51-100 Sworn";
this.short = "51-100 Sworn";
if (questions[0].valueSelected === 1) {
this.html = "51-100 Firefighters";
this.long = "51-100 Firefighters";
this.short = "51-100 Firefighters";
}
if (questions[0].valueSelected === 3 || questions[0].valueSelected === 4) {
this.html = "51-100 employees";
this.long = "51-100 employees";
this.short = "51-100 employees";
}
},
}, {
html: "101-250 Sworn",
update: function () {
this.html = "101-250 Sworn";
this.long = "101-250 Sworn";
this.short = "101-250 Sworn";
if (questions[0].valueSelected === 1) {
this.html = "101-250 Firefighters";
this.long = "101-250 Firefighters";
this.short = "101-250 Firefighters";
}
if (questions[0].valueSelected === 3 || questions[0].valueSelected === 4) {
this.html = "101-250 employees";
this.long = "101-250 employees";
this.short = "101-250 employees";
}
},
}, {
html: "250+",
}], 0, "radio", false, "Please only select one option"));
questions.push(new QuestionObj("Section 2 - Frequency Bands", "Select your frequency band requirements:", "Frequency", [{
html: "Single band only",
}, {
html: "Dual band",
}, {
html: "All band",
}, {
html: "Single band today, but may need to add additional frequency bands at a later time",
short: "Single, add later",
}], 50, "radio", false, `
<span class="extraHeader">
Frequency Bands include UHF, VHF, and 7/800 Mhz. Single, dual or all-band radios will be capable of
operating on one, two, or all of these frequencies bands (respectively).
Select single-band models offer 900 MHz frequency band.
</span>
Please only select one option
`));
questions.push(new QuestionObj("Section 3a - Individual Features", "Select number of channels:", "Channels", [{
html: "Up to 512 channels & up to 50 zones",
short: "512 chan., 50 zones",
long: "up to 512 channels </br> up to 50 zones",
}, {
html: "Up to 1000 channels, up to 65 zones",
short: "1000 chan., 65 zones",
long: "Up to 1000 channels </br> up to 65 zones",
positiveImpact: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
}, {
html: "Up to 3000 channels, up to 200 zones",
short: "3000 chan., 200 zones",
long: "Up to 3000 channels </br> up to 200 zones",
positiveImpact: [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
}, {
html: "Up to 5000 channels, up to 300 zones",
short: "5000 chan., 300 zones",
long: "Up to 5000 channels </br> up to 300 zones",
positiveImpact: [],
disabled: true
}], 3, "radio", false, "Please only select one option"));
questions.push(new QuestionObj("Section 3a - Individual Features", "Select audio requirements:", "Audio",
[{
html: `
<b>Basic Audio</b>
<ul>
<li>Windporting and basic noise surpression</li>
<li>1 Microphone</li>
</ul>`,
short: "Basic Audio",
positiveImpact: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
infoDescription: "Need radios to be clear but not expecting use in potentially loud environments. No andvanced speaker or microphone requirements needed."
},
{
html: `
<b>Enhanced Audio</b>
<ul>
<li>Windporting and basic noise surpression</li>
<li>Adaptive Audio Engine</li>
<li>3 Microphones</li>
</ul>
`,
short: "Enhanced Audio",
positiveImpact: [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
infoDescription: "Enhanced audio capabilities engineered for public safety use in potentially loud environments or situations where radiio PTT best practices may not be an option or where users may not be able to afford having to repeat or request repeated transmissions."
},
{
html: `
<b>Advanced Audio</b>
<ul>
<li> Windporting and basic noise surpression</li>
<li> Adaptive Audio Engine</li>
<li> 3 High Dynamic Range Microphones</li>
<li> Intelligent Volume Leveling on Recieve</li>
</ul>
`,
short: "Advanced Audio",
positiveImpact: [8, 13, 14, 15],
infoDescription: "Advanced audio capabilities engineered for public safety to ensure crystal clear communications with even volume levels in nearly all situations. Designed for use in potentially loud environments or situations where radiio PTT best practices may not be an option or where users may not be able to afford having to repeat or request repeated transmissions."
}]
, 7, "radioBox", false, "Please only select one option"));
questions.push(new QuestionObj("Section 3a - Individual Features", "Select usability requirements:", "Usability",
[{
html: "<b>Ultra-rugged touch display</b>",
short: "Touch display",
influence: [4, 8, 4, 4, 4],
positiveImpact: [8, 13, 14, 15],
infoDescription: "Ultra-rugged touch display for enhanced usability and features."
},
{
html: "<b>Top display</b>",
short: "Top display",
influence: 3,
positiveImpact: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
infoDescription: "Top display to retrieve key radio information at a glance."
},
{
html: `<b>Radio voice control capabilities</b>`,
short: "Voice control",
influence: 3,
positiveImpact: [1, 5, 8, 13, 14, 15],
infoDescription: "Capabilities to control key radio functions, such as channel change and volume selection, by voice."
},
{
html: `<b>Exaggerated controls and form factor</b>`,
short: "Extreme form factor",
influence: [25, 50, 25, 25, 25],
positiveImpact: [7, 10, 12, 14, 15],
update: function () {
if (questions[0].valueSelected === 1 && questions[1].valueSelected === 0) {
this.disabled = true;
this.value = true;
}
else {
this.disabled = false;
}
},
infoDescription: "Exaggerated controls and form factor for enhanced grip and use with gloves (ideal for firefighters and those operating in harsh environments)."
},
{
html: `<b>Mandown/Fall alert</b>`,
influence: 2,
positiveImpact: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
infoDescription: "Man Down/Fall alert assures proactive surveillance of employee well-being and dispatches automatic emergency notifications to the appropriate response."
},
{
html: `<b>HazLoc UL Div 1 required</b>`,
short: "HazLoc UL Div 1",
influence: [24, 35, 24, 24, 24],
positiveImpact: [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12],
infoDescription: "Radios need to be HazLoc UL Div 1 intrisically safe for frequent operation around flammable gaseous environments."
}]
, 0, "radioBox", true, "Please select all that apply"));
questions.push(new QuestionObj("Section 3a - Individual Features", "Select security requirements:", "Security",
[{
html: `Hardware encryption (more encrypted)`,
short: "Hardware encryption",
positiveImpact: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
},
{
html: `Software encryption only (not as encrypted)`,
short: "Software encryption",
positiveImpact: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
}]
, 5, "radio", false, "Please only select one option"));
questions.push(new QuestionObj("Section 3b - Grouped Features", "Select the feature groupings that best apply:", "Grouped Features",
[{
html: `
<b>Basic/Entry Tier</b>
<p>
Economy radio, primarily for non-public safety P25 users and/or government. Users need limited features and rarely change channel or zones.
</p>
<ul>
<li> Push-to-talk voice</li>
<li> Limited P25 radio features</li>
<li> Software Encryption</li>
</ul>
`,
short: " <b>Basic/Entry Tier</b>",
updateImpact: function (questions) {
if (questions[3].valueSelected == 0) {
this.positiveImpact = [0, 1];
this.html = `
<b>Basic/Entry Tier</b>
<p>
Economy radio, primarily for non-public safety P25 users and/or government. Users need limited features and rarely change channel or zones.
</p>
<ul>
<li> Push-to-talk voice</li>
<li> Limited P25 radio features</li>
<li> Software Encryption</li>
</ul>
`;
}
else {
this.positiveImpact = [9, 10, 11, 12, 13, 14, 15];
this.html = `
<b>Basic/Entry Tier</b>
<p>
Users need limited features and rarely change channel or zones.
</p>
<ul>
<li> Push-to-talk voice</li>
<li> Limited P25 radio features</li>
<li> Software Encryption</li>
</ul>
`;
}
}
},
{
html: `
<b>Mid-Tier</b>
<p> Users need popular radio features. Change channel or zones can occur. </p>
<ul>
<li> Push-to-talk voice</li>
<li> Enhanced Audio</li>
<li> Hardware Encryption</li>
<li> Popular P25 radio features</li>
</ul>
`,
short: "Mid-Tier",
positiveImpact: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
},
{
html: `
<b>Advanced Tier</b>
<p> Users need advanced radio features. Changing zones and channels is common. </p>
<ul>
<li> Push-to-talk voice</li>
<li> Advanced Audio</li>
<li> Hardware encryption</li>
<li> WiFi</li>
<li> Full set of P25 radio features</li>
<li> Extremely rugged</li>
</ul>
`,
short: "Advanced-Tier",
positiveImpact: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
},
{
html: `
<b>High-Tier</b>
<p> Users need advanced radio features. Changing zones and channels is common.</p>
<ul>
<li> Best-in-class Audio</li>
<li> Advanced hardware encryption</li>
<li> WiFi</li>
<li> LTE</li>
<li> Full set of P25 radio features</li>
<li> Extremely rugged</li>
</ul>
`,
short: "High-Tier",
positiveImpact: [8, 13, 14, 15],
},
{
html: `
<p> Add extreme form factor for common operation in harsh environments. Includes enlarged knobs and controls for gloved use with exaggerated shape for enhanced grip </p>
`,
short: "Extreme form factor",
positiveImpact: [7, 12, 14, 15],
multiple: true,
value: false
},
{
html: `
<p> Radios need to be HazLoc UL Div 1 intrisically safe for frequent operation around flammable gaseous environments </p>
`,
short: "HazLoc UL Div 1",
positiveImpact: [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12],
multiple: true,
value: false
}]
, 10, "radioBox", false, "Please only select one option"));
questions.push(new QuestionObj("Section 4 - Smart Applications", "Select the smart applications you would like your radios to include:", "Smart Applications",
[{
html: `
<b>SmartConnect</b>
<p> Maintain voice communication, even outside of LMR coverage. Extend coverage of P25 features when out of radio range by the help of WiFi or LTE. </p>
`,
short: "SmartConnect",
long: "SmartConnect",
positiveImpact: [1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
infoDescription: "Improve indoor radio communication/coverage. Alleviate any gaps in current coverage area without additional tower sites. Maintain voice communication outsite of current LMR coverage area."
},
{
html: `
<b>SmartLocate</b>
<p> Improve responder location information. Transmit near-real time location information of each radio over LTE to dispatch to other radios with SmartMapping. </p>
`,
short: "SmartLocate",
long: "SmartLocate",
positiveImpact: [8, 13, 14, 15],
infoDescription: "Improve officer safety and and resource coordination by providing dispatch with more accurate, near-real time location information of responder radios in the field."
},
{
html: `
<b>SmartMapping</b>
<p> See location of other users, ESRI information, your own location, all directly on your radio's screen, away from a vehicle.</p>
`,
short: "SmartMapping",
long: "SmartMapping",
positiveImpact: [8, 13, 14, 15],
infoDescription: "Add mapping application to radios, giving users view other users' location as well as their own."
},
{
html: `
<b>SmartMessaging</b>
<p> View and Share multimedia and texts messages straight from your radio for grearter situational awareness. </p>
`,
short: "SmartMessaging",
long: "SmartMessaging",
positiveImpact: [8, 13, 14, 15],
infoDescription: "Added information in users hands for improved collaboration such as exchanging multi-media incident information to and from the field, such as NG9-1-1 data, BOLO images, text messges and more."
},
{
html: `
<b>Fleet Management Over Broadband</b>
<p>Program or update your entire radio fleet faster. Batch program radios in the field over WiFi or LTE.</p>
`,
short: "Fleet Manage Over BB",
long: "Fleet Manage Over BB",
positiveImpact: [8, 13, 14, 15],
infoDescription: "Reduce time/resources to program, update or manage radio fleet. Improved radio management experience: Lower time and cost associated with programming, updating, and maintaining radio fleets."
}]
, 7, "radioBox", true, "Please select all that apply"));
return questions;
}var cartObj = class cartObj {
constructor() {
this.items = [];
}
addItem(item) {
var itemIndex = this.items.findIndex(i => i.id === item.id)
if (itemIndex === -1) {
this.items.push(item);
item.totalCart = 0;
}
item.totalCart++;
}
removeItem(item) {
var itemIndex = this.items.findIndex(i => i.id === item.id);
if (itemIndex !== -1) {
this.items.splice(itemIndex, 1);
}
}
render() {
var rendered = "";
for (var item in this.items) {
item = this.items[item];
rendered = rendered + `
<div class="cartItem" id="${item._htmlId}-cart-item">
<div class="left">
<img src="${item.getFullImageSrc()}" alt="${item.name}">
<div class="radioTitle">
Radio:
</br>
${item.name}
</div>
</div>
<div class="right">
<p class="estimate">
ESTIMATED NO.
</p>
<div class="radioTitle">
Radio:
</br>
${item.name}
</div>
<div class="numControl">
<button onclick="decreaseCart(this)"><img class="minus" src="https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bf85cc040-20a0-47be-a92f-a3218e3e9a03%7D_minus.png" alt=""></button>
<input type="text" oninput="clenseInput(this)" onchange="cartChange(this,${item.id})" min="0" value="${item.totalCart}"/>
<button onclick="increaseCart(this)"><img class="plus" src="https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Ba4adff35-2863-4c2b-afdd-1f370a11b840%7D_plus.png" alt=""></button>
</div>
<div>
<a data-uet='{"link-type":"button","link-label":"remove from cart - ${item.name}","cname":"button click","link-url":"Remove from cart","link-place":"1","restriction":"public","page-area":"2"}' onclick="removeFromCart(${item.id})" href="javascript:void(0)">remove</a>
</div>
</div>
</div>
`;
}
return rendered;
}
}
function clenseInput(elem) {
elem.value = elem.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');
elem.value = elem.value.replace(/\b0+/g, '')
}
function cartChange(elem, id) {
closeRenderedAnswers();
var input = $(elem);
val = parseInt(input.val());
val = isNaN(val) ? 0 : val
radios[id].totalCart = val;
}
function decreaseCart(elem) {
closeRenderedAnswers();
var input = $(elem).parent().find("input");
val = parseInt(input.val());
val = isNaN(val) ? 0 : val;
if (val > 0) {
val--;
input.val(val);
input.trigger("change");
}
}
function increaseCart(elem) {
closeRenderedAnswers();
var input = $(elem).parent().find("input");
val = parseInt(input.val());
val = isNaN(val) ? 0 : val;
val++
input.val(val);
input.trigger("change");
}
function initCart() {
return new cartObj();
};var compareObj = class compareObj {
constructor() {
this.items = [];
}
addItem(item) {
var itemIndex = this.items.findIndex(i => i.id === item.id)
if (itemIndex === -1) {
this.items.push(item);
}
}
removeItem(item) {
var itemIndex = this.items.findIndex(i => i.id === item.id);
if (itemIndex !== -1) {
this.items.splice(itemIndex, 1);
}
}
render() {
var rendered = "";
if (this.items.length < 1) {
return "";
}
rendered = `
<div class="compareOnCartContainer">
<div class="left">
${this.items.length} item${this.items.length == 1 ? "" : "s"} in compare list
</div>
<div class="right">
<a onclick="openCompare()" href="javascript:void(0)">OPEN</a>
</div>
</div>
`;
return rendered;
}
renderDescriptions() {
var rendered = "";
var k = 0;
for (var item in this.items) {
item = this.items[item];
item.compareId = k;
k++;
rendered = rendered + `
<div>
${item.description}
</div>
`;
}
return rendered;
}
renderHighlatedFeatures() {
var rendered = "";
var k = 0;
var radioFeatureLists = [];
for (var item in this.items) {
item = this.items[item];
radioFeatureLists.push(item.generateHighlitedFeatureList());
}
// console.log(radioFeatureLists);
// debugger
for (var radioIndex in radioFeatureLists) {
var featureList = radioFeatureLists[radioIndex];
for (var categoryName in featureList) {
var category = featureList[categoryName];
for (var feature in category) {
feature = category[feature];
if(typeof feature.tempCreated != "undefined" && feature.tempCreated) continue;
// console.log(radioIndex, feature.name);
for (var radioIndex2 in radioFeatureLists) {
var currentRadio = this.items[radioIndex2];
var featureList2 = radioFeatureLists[radioIndex2];
if(radioIndex == radioIndex2){
continue;
}
if (typeof featureList2[categoryName] == "undefined") {
featureList2[categoryName] = [];
}
item = featureList2[categoryName].find(i => (i.name === feature.name) || (typeof i.group != "undefined" && i.group === feature.group));
if(typeof item == "undefined"){
// console.log(radioIndex2, "Not");
var f = JSON.parse(JSON.stringify(feature));
if (typeof feature.update == "function") {
f.update = feature.update;
}
var flag = true;
f.fakeFeature = undefined;
if (typeof f.subset != "undefined") {
for(var j in f.subset){
if(currentRadio.features.includes(`${f.featureId}@${f.subset[j]}`)) {
flag = false;
f.fakeFeature = features[f.featureId].options[f.subset[j]];
break;
};
}
}
f.fake = flag;
f.tempCreated = true;
// console.log(currentRadio.name, feature.name, f);
featureList2[categoryName].push(f);
}
}
}
}
}
// console.log(radioFeatureLists);
// debugger;
for (var item in this.items) {
var currentRadio = this.items[item];
var featureList = radioFeatureLists[item];
for (var category in featureList) {
for(var feature in featureList[category]){
featureList[category][feature].radio = currentRadio;
}
}
item = this.items[item];
item.compareId = k;
k++;
rendered = rendered + `
<div class="featureContainer">
${item.renderFeatureList(featureList, true)}
</div>
`;
for (var category in featureList) {
for(var feature in featureList[category]){
delete featureList[category][feature].radio;
}
}
}
return rendered;
}
renderImages() {
var rendered = "";
var k = 0;
for (var item in this.items) {
item = this.items[item];
item.compareId = k;
k++;
rendered = rendered + `
<div>
<img src="${item.getImageSrc()}" alt="${item.name}"/>
<div class="name">${item.name}</div>
</div>
`;
}
return rendered;
}
renderAddToCart() {
var rendered = "";
var k = 0;
for (var item in this.items) {
item = this.items[item];
item.compareId = k;
k++;
var addedToCart = typeof cart.items.find(i => i.id === item.id) != "undefined";
rendered = rendered + `
<div>
<a class="${addedToCart ? "added" : ""} link-${item.id}" onclick="addToCart(${item.id})" href="javascript:void(0)">ADD TO CART</a>
</div>
`;
}
return rendered;
}
}
function initCompare() {
return new compareObj();
};var curentStep = 0;
function startSurvey() {
curentStep = 0;
setSurveyStep();
}
function skip3A() {
curentStep = 8;
setSurveyStep();
}
function nextStep() {
if (curentStep == 7) {
curentStep = 9
}
else {
curentStep++;
}
setSurveyStep();
}
function prevStep() {
if (curentStep == 8) {
curentStep = 4;
}
else if (curentStep == 9 && questions[8].valueSelected === "") {
curentStep = 7;
}
else {
curentStep--;
}
setSurveyStep(true);
}
function goToStep(step) {
curentStep = step;
setSurveyStep();
}
function goToStepExpandedCheck(elem, step) {
if ($(elem).closest(".expanded").length == 0) return;
compare.items = [];
goToStep(step);
}
function setSurveyStep(prevFlag = false) {
var QNUM = curentStep + 1;
if (questions.length != curentStep) {
var step = parseInt(curentStep);
var question = questions[step];
if (typeof question != "undefined") {
newPageView(`Q_${QNUM}_${question.question.toString().replaceAll(" ", "_").replaceAll("?", "")}`);
}
}
else {
newPageView(`resultPage`);
}
const CprevFlag = prevFlag;
window.requestAnimationFrame(function animate() {
if ($(".stepContainer").hasClass("notAnimate")) {
_setSurveyStep(CprevFlag);
return;
}
window.requestAnimationFrame(animate);
});
}
function _setSurveyStep(prevFlag = false) {
const CprevFlag = prevFlag;
var step = parseInt(curentStep);
for (var question in questions) {
question = questions[question]
for (var answer in question.answers) {
answer = question.answers[answer];
if (typeof answer.update == "function") {
answer.update(questions);
}
}
}
if (step < 0) {
$("main").addClass("initImage");
setMainState("initialState");
return;
}
$(".loader .percentage").css("width", (step / questions.length * 100) + "%");
$(".skipQuestion").hide();
if (step >= 0) {
var background = "";
var industry = questions[0].valueSelected;
$("main").attr("data-backimage", "initImage");
if (industry === 0) {
background = "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B32369b4c-1b91-47e6-bcb3-76dcadeaf821%7D_law.jpg";
$("main").attr("data-backimage", "law");
}
else if (industry === 1) {
background = "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B7e406957-9137-4bbe-b4c1-6dbd57b4c13b%7D_fire.jpg";
$("main").attr("data-backimage", "fire");
}
else if (industry === 2) {
background = "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bd94b6a7e-5efe-4086-a8ed-aadf5e57d3f4%7D_goverment.jpg";
$("main").attr("data-backimage", "goverment");
}
else if (industry === 3) {
background = "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bf3e2e2c0-05f8-4ef9-a565-343e0e4b6113%7D_oil.jpg";
$("main").attr("data-backimage", "oil");
}
else if (industry === 4) {
background = "https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B81ef94a2-894d-4235-af5e-0e3dfa2d64f6%7D_utilities.jpg";
$("main").attr("data-backimage", "utilities");
}
if (background != "") {
$("main").removeClass("initImage");
$("main").css("background-image", `url('${background}')`);
}
else {
$("main").addClass("initImage");
$("main").css("background-image", ``);
}
}
if (step == 1 && questions[0].valueSelected == 3) {
questions[8].answers[5].value = true;
questions[6].answers[3].value = true;
}
if (step == 4) {
questions[8].valueSelected = "";
$(".skipQuestion").show();
}
if (step == 8) {
for (var i = 4; i < 8; i++) {
questions[i].valueSelected = "";
if (questions[i].multiple) {
for (var ans in questions[i].answers) {
questions[i].answers[ans].value = false;
}
}
}
}
setMainState("stepState");
var question = questions[step];
if (typeof question == "undefined") {
question = new QuestionObj("", "", "", [], 0, "radio", false, "");
}
var rendered = question.render();
if (step != 0 && !CprevFlag) {
$(".stepContainer .prevContainer").show();
}
else {
$(".stepContainer .prevContainer").hide();
}
$(".stepContainer").attr("data-step", step);
$(".stepContainer .currentContainer .sectionTitle").html(question.sectionTitle);
$(".stepContainer .currentContainer .currentQuestion").html(question.question);
$(".stepContainer .currentContainer .questionContainer").html(rendered);
if (CprevFlag) {
$(".stepContainer").addClass("preAnimatePrev");
}
else {
$(".stepContainer").addClass("preAnimate");
}
window.requestAnimationFrame(function animate() {
if ($(".stepContainer").hasClass("notAnimate")) {
$(".stepContainer").removeClass("preAnimate").removeClass("preAnimatePrev");
if (CprevFlag) {
$(".stepContainer").addClass("animatePrev").removeClass("animate").removeClass("notAnimate");
}
else {
$(".stepContainer").addClass("animate").removeClass("animatePrev").removeClass("notAnimate");
}
setTimeout(function () {
$(".stepContainer").removeClass("animatePrev").removeClass("animate").addClass("notAnimate");
$(".stepContainer .prevContainer .sectionTitle").html($(".stepContainer .currentContainer .sectionTitle").html());
$(".stepContainer .prevContainer .currentQuestion").html($(".stepContainer .currentContainer .currentQuestion").html());
var elem = $(".stepContainer .currentContainer .questionContainer").clone();
var elems = elem.find("[id]");
elems.each(function (index, elem) {
$(elem).attr("id", "");
$(elem).attr("name", "");
}
);
$(".stepContainer .prevContainer .questionContainer").html(elem.html());
fixMainSize();
}, 600);
return;
}
window.requestAnimationFrame(animate);
});
if (!question.multiple && question.valueSelected === "") {
$(".nextQuestion").addClass("disabled");
}
else {
$(".nextQuestion").removeClass("disabled");
if (curentStep == questions.length - 1) {
$(".custom-btn-next").addClass("disabled");
}
}
$(".nextQuestionBtn").removeClass("recommendedText").removeClass("nextText");
if (step == questions.length - 1) {
$(".nextQuestionBtn").addClass("recommendedText");
}
else {
$(".nextQuestionBtn").addClass("nextText");
}
if (step > questions.length - 1) {
setTimeout(function () { finalstate(); }, 400);
}
if ($(window).width() < 600) {
const transition = document.querySelector('.currentContainer');
onResizeAdjustments();
transition.addEventListener('transitionend', () => {
onResizeAdjustments();
});
}
$(".progressBar .currentProgress").css("width", (step / questions.length * 100) + "%");
fixMainSize();
}
function setMainState(newState) {
const $main = $("main");
$main.removeClass("initialState");
$main.removeClass("stepState");
$main.removeClass("finalState");
$main.removeClass("preFinalState");
$main.addClass(newState);
if (newState == "preFinalState") {
setTimeout(function () {
$main.addClass("finalState");
$main.removeClass("preFinalState");
onResizeAdjustments();
}, 10);
}
}
function radioChanged(elem, id, index) {
var question = questions[id];
if (question.multiple || questions[id].answers[index].multiple) {
questions[id].answers[index].value = elem.checked;
return;
}
if (id == 0 && index == 3) {
questions[6].answers[4].value = true;
}
questions[id].valueSelected = index;
$(".nextQuestion").removeClass("disabled");
}
function finalstate() {
renderAnswers();
var orderRadios = getRadioOrderedScore();
suggestRadios("top", orderRadios);
$("#renderedAnswers").removeClass("expanded");
$("#renderedAnswers .mCSB_container").removeClass("expanded");
setMainState("preFinalState");
$(".topContainer").addClass("survey").removeClass("all");
updateCartMobileUi();
}
function showAll() {
closeRenderedAnswers();
var orderRadios = getRadioOrderedScore();
if ($(".topContainer").hasClass("all")) {
suggestRadios("top", orderRadios);
$(".topContainer").addClass("survey").removeClass("all");
}
else {
suggestRadios("all", orderRadios);
$(".topContainer").addClass("all").removeClass("survey");
}
}
function suggestRadios(mode, orderRadios) {
var radiosToShow = 5;
if (mode == "all") {
radiosToShow = orderRadios.length
}
var rendered = "";
for (var i = 0; i < radiosToShow; i++) {
if (typeof orderRadios[i] == "undefined") continue;
if (mode == "top" && i > 2 && orderRadios[i].score + 15 <= orderRadios[2].score) {
break;
}
var radio = orderRadios[i];
rendered = rendered + radio.render();
// console.log(radio.name, radio.id, radio.score);
}
$("#renderedRadios .mCSB_container").html(rendered)
updateCompareUi();
}
function renderAnswers() {
var rendered = "";
ansCounter = 0;
for (var i in questions) {
// for (var j in questions[i].answers) {
// questions[i].valueSelected = j;
// rendered = rendered + questions[i].rendeAns();
// }
rendered = rendered + questions[i].rendeAns();
}
rendered = `
<div class="filters renderedAnswer">
${ansCounter} Filters
</div>
` + rendered;
rendered = rendered + `<div class ="expandIcon" onclick="togglexpand(false)"></div>`;
rendered = rendered + `<div class="extraNote">
To find other radios for your fleet, please adjust the options above to choose your next user type or modify your feature selections
</div>`;
if ($("#renderedAnswers .mCSB_container").length != 0) {
$("#renderedAnswers .mCSB_container").html(rendered);
}
else {
$("#renderedAnswers").html(rendered);
}
fixFilterSize();
}
function togglexpand(checkExpand, elem) {
event.stopPropagation();
if (checkExpand) {
if ($(elem).closest(".expanded").length != 0) return;
}
$("#renderedAnswers").toggleClass("expanded");
$("#renderedAnswers .mCSB_container").toggleClass("expanded");
}
function closeRenderedAnswers() {
$("#renderedAnswers").removeClass("expanded");
$("#renderedAnswers .mCSB_container").removeClass("expanded");
}
function getRadioOrderedScore() {
for (var question in questions) {
question = questions[question]
for (var answer in question.answers) {
answer = question.answers[answer];
if (typeof answer.updateImpact == "function") {
answer.updateImpact(questions);
}
}
}
var radioAr = [];
for (var radio in radios) {
radio = radios[radio];
if (question.disabled) continue;
radio.score = 0;
radio.hasNegative = 0;
var industry = questions[0].valueSelected;
for (var question in questions) {
question = questions[question];
var influence = question.getInfluense(radio, industry);
radio.score = radio.score + influence;
}
// if (![0, 3, 6, 9, 7].includes(radio.id) && industry === 4) {
// radio.score = radio.score - 100000;
// }
// if (![0, 3, 6, 7, 11, 12].includes(radio.id) && industry === 3) {
// radio.score = radio.score - 100000;
// }
// if (![7, 10, 12, 14, 15].includes(radio.id) && industry === 1 && questions[1].answers[0].value) {
// radio.score = radio.score - 100000;
//
if ([15].includes(radio.id) && industry !== 1) {
radio.score = radio.score + OMIT;
}
if ([7, 10, 12, 14].includes(radio.id) && (industry === 0 || industry === 2 || industry === 4) && (questions[8].answers[4].value !== true && questions[6].answers[3].value !== true)) {
radio.score = radio.score + OMIT;
}
if ([15].includes(radio.id) && industry === 2) {
radio.score = radio.score - 100000;
}
if (radio.score > -10000 && !radio.disabled) {
radioAr.push(radio);
}
}
radioAr.sort(function (a, b) {
// if (a.hasNegative - b.hasNegative) {
// return a.hasNegative - b.hasNegative;
// }
if (b.score == a.score) {
return b.id - a.id;
}
return b.score - a.score;
});
return radioAr;
}
function openDetails(id) {
closeRenderedAnswers();
$(".radioDetailsContent").mCustomScrollbar("scrollTo", "top");
var radio = radios[id];
$(".radioDetails .title").html(radio.name);
var taglines = [
"Essential Communication. Exceptional Service.",
"Easy. Efficient. Essential.",
"",
"Better Equipped For Close Collaboration.",
"",
"Simple. Reliable. Secure.",
"Reliable. Responsive. Ready for Anything.",
"Reliable. Responsive. Ready for the Extremes.",
"Focused. Forward.",
"Unlimited mobility. Uncompromising performance.",
"Unlimited Mobility. Extreme Performance.",
"Unlimited Mobility. Uncompromising Performance.",
"360 Degrees of Safety.",
"Protect Your Focus.",
"Focused in the Extreme.",
"Outperform the Unexpected."
];
$(".radioDetails .subTitle").html("Focused in the Extreme.");
if(typeof taglines[id] != "undefined") {
$(".radioDetails .subTitle").html(taglines[id]);
}
$(".radioDetails .radioDetailsImage img").attr("src", radio.getFullImageSrc()).attr("alt", radio.name);
$(".radioDetails .radioDetailsContent .description").html(radio.description);
var highlated = radio.renderHighlatedFeatures();
var nonHighlated = radio.renderNonHighlatedFeatures();
$(".radioDetails .radioDetailsContent").removeClass("zeroHighLighted");
$(".radioDetails .radioDetailsContent").removeClass("zeroNonHighLighted");
$(".radioDetails .radioDetailsContent .highLighted").html(highlated);
$(".radioDetails .radioDetailsContent .noHighLighted").html(nonHighlated);
if (highlated == "") {
$(".radioDetails .radioDetailsContent").addClass("zeroHighLighted");
}
if (nonHighlated == "") {
$(".radioDetails .radioDetailsContent").addClass("zeroNonHighLighted");
}
$("html").addClass("overlayOpen");
$(".overlay").addClass("detail");
$(".overlay").removeClass("compare");
$(".overlay").removeClass("form");
fixDetailsSize();
}
function openCompare() {
$(".compare .customScroll").mCustomScrollbar("scrollTo", "top");
closeRenderedAnswers();
$(".radioCompare").removeClass("one-radios").removeClass("two-radios").removeClass("three-radios");
if (compare.items.length == 1) {
$(".radioCompare").addClass("one-radios");
}
if (compare.items.length == 2) {
$(".radioCompare").addClass("two-radios");
}
// if (compare.items.length == 3) {
// $(".radioCompare").addClass("three-radios");
// }
$(".radioCompare").addClass("three-radios");
$(".radioCompare .descriptions").html(compare.renderDescriptions());
$(".radioCompare .higlatedFeatures").html(compare.renderHighlatedFeatures());
$(".radioCompare .images").html(compare.renderImages());
$(".radioCompare .addToCartCompare").html(compare.renderAddToCart());
$(".overlay").addClass("compare");
$(".overlay").removeClass("detail");
$(".overlay").removeClass("form");
$("html").addClass("overlayOpen");
$(".radioCompare")
.imagesLoaded()
.always(function () {
fixCompareElementSize();
});
fixCompareElementSize();
}
function closeOverlay() {
$(".overlay").removeClass("detail");
$(".overlay").removeClass("compare");
$(".overlay").removeClass("form");
$("html").removeClass("overlayOpen");
$(".radioDetailsContent").mCustomScrollbar("scrollTo", "top");
$(".compare .customScroll").mCustomScrollbar("scrollTo", "top");
}
function addToCart(id) {
closeRenderedAnswers();
$(`.link-${id}`).addClass("added");
cart.addItem(radios[id]);
$(".cart")
.imagesLoaded()
.always(function () {
updateCartUi();
});
updateCartMobileUi();
}
function removeFromCart(id) {
closeRenderedAnswers();
cart.removeItem(radios[id]);
$(`#${radios[id]._htmlId}-cart-item`).remove();
$(".cart").attr("data-count", cart.items.length);
onResizeAdjustments();
updateCartMobileUi();
}
function updateCartMobileUi() {
if (cart.items.length == 0) {
$(".mobileCart").css("display", "none");
}
else {
$(".mobileCart").css("display", "");
}
$(".mobileCart .itemsAdded").html(`
Cart: ${cart.items.length} item${cart.items.length == 1 ? "" : "s"}
`);
}
function updateCartUi() {
if ($("#cartItemsContainer .mCSB_container").length == 0) {
$("#cartItemsContainer").html(cart.render());
}
else {
$("#cartItemsContainer .mCSB_container").html(cart.render());
}
$(".cart").attr("data-count", cart.items.length);
onResizeAdjustments();
}
function updateCompareUi() {
$("#compareCart").html(compare.render());
if (compare.items.length >= 3) {
for (var item in compare.items) {
item = compare.items[item];
$(`#radio-${item.id}-compare`).prop("checked", true);
}
$(".radioContainer .compare input:not(:checked)").parent().addClass("disabled");
$(".radioContainer .compare input:not(:checked)").addClass("disabled").prop("disabled", true);
} else {
$(".radioContainer .compare").removeClass("disabled");
$(".radioContainer .compare input").removeClass("disabled").prop("disabled", false);
}
onResizeAdjustments();
}
function addCompare(element, id) {
closeRenderedAnswers();
if (element.checked) {
compare.addItem(radios[id]);
}
else {
compare.removeItem(radios[id]);
}
updateCompareUi();
}
function requestAQuote() {
var str = "";
for (var i in questions) {
var temp = questions[i].rendeAnsData();
if (temp == "") {
continue;
}
str = `${str};${temp}`;
}
str = str.substring(1);
$("[name=questionAnswers]").val(str);
var str = "";
for (var i in cart.items) {
var temp = cart.items[i].rendeAnsData();
if (temp == "") {
continue;
}
str = `${str};${temp}`;
}
str = str.substring(1);
$("[name=radioAnswers]").val(str);
closeRenderedAnswers();
$(".overlay").addClass("form");
$(".overlay").removeClass("compare");
$(".overlay").removeClass("detail");
$("html").addClass("overlayOpen");
$(".formContainer").removeClass("thankYouMode");
$(`.formContainer .formThankYou h1`).html(`Thank you for completing the APX Portable Radio Solution Builder for ${questions[0].answers[questions[0].valueSelected].short}.`);
$(`.formContainer .formThankYou p`).html(`A sales representative will be in contact with you soon to discuss your solution.`);
$(`.formContainer .formThankYou h2`).html(`
If you’d like to continue building out your entire fleet, please retake the survey and select your next user type.
<div class="custom-btn white" onclick="resetExperience()" style="text-transform: uppercase;letter-spacing: 1px;font-weight: normal;margin: 20px auto 0 auto; font-family: Arial, Helvetica, sans-serif;">
<span>Continue Building Fleet</span>
</div>
`);
}
function fixCartSize() {
var itemContainerHeight = window.innerHeight - 37 - ($(".cart").outerHeight() - $(".cart").height()) - 64;
if ($(window).width() < 600) {
itemContainerHeight = window.innerHeight - ($(".cart").outerHeight() - $(".cart").height()) - 64;
}
$(".cart").height(itemContainerHeight);
}
function fixFilterSize() {
if ($(window).width() > 600) {
if ($("#renderedAnswers").find(".mCustomScrollBox ").length != 0) {
$("#renderedAnswers").mCustomScrollbar('destroy');
}
}
if ($(window).width() < 600) {
if ($("#renderedAnswers").find(".mCustomScrollBox ").length == 0) {
$("#renderedAnswers").removeClass("expanded");
$("#renderedAnswers").mCustomScrollbar({
theme: "3d", scrollInertia: 200
});
}
}
var itemContainerHeight = window.innerHeight - 27 - ($("#renderedAnswers").outerHeight() - $("#renderedAnswers").height()) - 100;
$("#renderedAnswers").css("max-height", itemContainerHeight);
}
function fixCompareElementSize() {
if (!$(".overlay").hasClass("compare")) {
return;
}
if ($(window).width() > 600) {
var elements = [];
elements[0] = $(".featureContainer:nth-child(1) .categoryContainer > *")
elements[1] = $(".featureContainer:nth-child(2) .categoryContainer > *")
elements[2] = $(".featureContainer:nth-child(3) .categoryContainer > *")
for (let i = 0; i < elements[0].length; i++) {
$(elements[0].get(i)).css("height", "");
var max = $(elements[0].get(i)).outerHeight();
if (typeof elements[1].get(i) != "undefined") {
$(elements[1].get(i)).css("height", "");
max = Math.max(max, $(elements[1].get(i)).outerHeight());
}
if (typeof elements[2].get(i) != "undefined") {
$(elements[2].get(i)).css("height", "");
max = Math.max(max, $(elements[2].get(i)).outerHeight());
}
$(elements[0].get(i)).outerHeight(max);
if (typeof elements[1].get(i) != "undefined") {
$(elements[1].get(i)).outerHeight(max);
}
if (typeof elements[2].get(i) != "undefined") {
$(elements[2].get(i)).outerHeight(max);
}
}
}
return
}
function fixRadioContainerSize() {
var itemContainerHeight = $(".finalContainer").outerHeight() - $(".finalContainer .topContainer").outerHeight() - 50;
$("#renderedRadios").height(itemContainerHeight);
}
function fixDetailsSize() {
var itemContainerHeight = $(".radioDetails").height() - $(".radioDetailsImage").outerHeight();
$(".radioDetailsContent").height(itemContainerHeight);
if ($(window).width() > 600) {
$(".radioDetailsContent").css("height", "");
}
}
function fixQuestionContainerSize() {
var itemContainerHeight = $(".stepContainer").height() - $(".currentContainer .sectionTitle").outerHeight(true) - $(".currentContainer .currentQuestion").outerHeight(true) - $(".currentContainer .questionActions").outerHeight(true) - $(".currentContainer .questionInfo").outerHeight(true) - 60;
$(".form-check-container").height(itemContainerHeight);
if ($(window).width() > 600) {
$(".form-check-container").css("height", "");
$(".form-check-container").each(function () {
if ($(this).find(".mCustomScrollBox ").length != 0) {
$(this).mCustomScrollbar('destroy');
}
}
);
} else {
$(".form-check-container").mCustomScrollbar({
theme: "3d", scrollInertia: 200
});
}
}
function onResizeAdjustments() {
fixCartSize();
fixRadioContainerSize();
fixDetailsSize();
fixQuestionContainerSize();
fixFilterSize();
fixMainSize();
fixCompareElementSize();
}
function fixMainSize() {
if ($(".initialState .initialContainer").length > 0) {
var minH = $(".initialState .initialContainer").height() + 40;
}
else if ($(".stepState .currentContainer").length > 0) {
var minH = $(".stepState .currentContainer").height() + 40;
}
else {
var minH = "unset";
}
$("main").css("min-height", minH);
}
function goToAccesories() {
closeRenderedAnswers();
window.open('https://shop.motorolasolutions.com/', '_blank');
}
function headerLink() {
closeRenderedAnswers();
window.open('https://www.motorolasolutions.com/en_us/mission-critical-communications/demo.html?utm_medium=chat&utm_source=sf_chat', '_blank');
}
function initScrols() {
$(".customScroll").each(function () {
$(this).mCustomScrollbar({
theme: "3d", scrollInertia: 200
});
});
}
function resetExperience() {
closeOverlay();
curentStep = 0;
cart.items = [];
compare.items = [];
updateCartUi();
updateCartMobileUi();
for (var i in questions) {
questions[i].valueSelected = "";
if (questions[i].multiple) {
for (var j in questions[i].answers) {
questions[i].answers[j].value = false;
}
}
}
setSurveyStep();
}
function submitForm(formContainer = "formContainer") {
setTimeout(function () {
var form = $(`.${formContainer} form`);
var errors = form.find(".parsley-error").length;
if (errors == 0) {
$.post(form.attr("action"), form.serialize())
.done(function (data) {
utag.link({
tealium_event: "eloqua form submit",
customer_email: document.getElementsByName("email")[0].value,
});
});
$(`.${formContainer}`).addClass("thankYouMode");
newPageView(`radio_finder_thankyou`);
} else {
// for validation
// $formWrapper.trigger('submit');
}
}, 500);
return false;
}
var $selectCountry = '<option value="CA">Canada</option>' + '<option value="US">United States</option>';
var $selectStatesCa = '<option value="AB">Alberta</option>' + '<option value="MB">Manitoba</option>' + '<option value="BC">British Columbia</option>' + '<option value="NB">New Brunswick</option>' + '<option value="NL">Newfoundland and Labrador</option>' + '<option value="NS">Nova Scotia</option>' + '<option value="NT">Northwest Territories</option>' + '<option value="NU">Nunavut</option>' + '<option value="ON">Ontario</option>' + '<option value="PE">Prince Edward Island</option>' + '<option value="QC">Quebec</option>' + '<option value="SK">Saskatchewan</option>' + '<option value="YT">Yukon</option>';
var $selectStatesUs = '<option value="AK">Alaska</option>' + '<option value="AL">Alabama</option>' + '<option value="AR">Arkansas</option>' + '<option value="AZ">Arizona</option>' + '<option value="CA">California</option>' + '<option value="CO">Colorado</option>' + '<option value="CT">Connecticut</option>' + '<option value="DC">D.C.</option>' + '<option value="DE">Delaware</option>' + '<option value="FL">Florida</option>' + '<option value="GA">Georgia</option>' + '<option value="HI">Hawaii</option>' + '<option value="IA">Iowa</option>' + '<option value="ID">Idaho</option>' + '<option value="IL">Illinois</option>' + '<option value="IN">Indiana</option>' + '<option value="KS">Kansas</option>' + '<option value="KY">Kentucky</option>' + '<option value="LA">Louisiana</option>' + '<option value="MA">Massachusetts</option>' + '<option value="MD">Maryland</option>' + '<option value="ME">Maine</option>' + '<option value="MI">Michigan</option>' + '<option value="MN">Minnesota</option>' + '<option value="MO">Missouri</option>' + '<option value="MS">Mississippi</option>' + '<option value="MT">Montana</option>' + '<option value="NC">North Carolina</option>' + '<option value="ND">North Dakota</option>' + '<option value="NE">Nebraska</option>' + '<option value="NH">New Hampshire</option>' + '<option value="NJ">New Jersey</option>' + '<option value="NM">New Mexico</option>' + '<option value="NV">Nevada</option>' + '<option value="NY">New York</option>' + '<option value="OH">Ohio</option>' + '<option value="OK">Oklahoma</option>' + '<option value="OR">Oregon</option>' + '<option value="PA">Pennsylvania</option>' + '<option value="RI">Rhode Island</option>' + '<option value="SC">South Carolina</option>' + '<option value="SD">South Dakota</option>' + '<option value="TN">Tennessee</option>' + '<option value="TX">Texas</option>' + '<option value="UT">Utah</option>' + '<option value="VA">Virginia</option>' + '<option value="VT">Vermont</option>' + '<option value="WA">Washington</option>' + '<option value="WI">Wisconsin</option>' + '<option value="WV">West Virginia</option>' + '<option value="WY">Wyoming</option>';
function stateValues() {
// var countryVal = document.getElementsByName('country')[0].value;
var countryVal = $("select[name=country]").val();
if (countryVal === "US") {
$("input[name=OptIn]").prop("checked", true);
$("select[name=state]").html($selectStatesUs);
$("select[name=state]").closest(".formElement").show();
} else if (countryVal === "CA") {
$("input[name=OptIn]").prop("checked", false);
$("select[name=state]").html($selectStatesCa);
$("select[name=state]").closest(".formElement").show();
} else {
$("input[name=OptIn]").prop("checked", false);
$("select[name=state]").html('<option value=""> State / Province</option>');
$("select[name=state]").closest(".formElement").hide();
}
}
function gotToStart() {
curentStep = -1;
setSurveyStep();
}
function openCart() {
$(".cart").addClass("open");
fixCartSize();
}
function closeCart() {
$(".cart").removeClass("open");
}
var radios;
var questions;
var features;
var cart;
var compare;
var debug = false;
// debug = true;
function preloadImageUrl(url) {
var img = new Image();
img.src = url;
}
function trackEvent(trackingObj, type = "") {
// reusableAnalyticsEvent(act,lkCatg,lkType,lkLabel,lkUrl,lkPlace,restr,addDetail,cn,parea){
var parameter = "@" + trackingObj.category;
reusableAnalyticsEvent(trackingObj.action, trackingObj.category, trackingObj.action, trackingObj.label, parameter, "1", "public", "", trackingObj.category, "2");
}
function newPageView(url) {
if (typeof utag == "undefined") return;
var viewData = {
page_name: document.title,
page_uri: `/${localeName}/webApp/${url}`,
locale: localeName,
page_type: "landing",
form_name: form_name,
campaign_code: keywords,
};
utag.view(viewData);
}
function trackRequestContact() {
var trackingObj = { category: "body interaction", action: "button click", label: "Request contact" };
trackEvent(trackingObj, "requestContact");
}
function findGetParameter(parameterName) {
var result = undefined,
tmp = [];
location.search
.substring(1)
.split("&")
.forEach(function (item) {
tmp = item.split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
});
return result;
}
jQuery(function () {
if (findGetParameter("debug") === "true") {
debug = true;
}
$("select[name=country]").change(function () {
stateValues();
});
stateValues();
features = initFeatures();
radios = initRadios();
questions = initQuestions();
cart = initCart();
compare = initCompare();
onResizeAdjustments();
$(window).on("resize", function () {
onResizeAdjustments();
});
updateCartUi();
initScrols();
for (var preloadImage in preloadImages) {
preloadImage = preloadImages[preloadImage];
preloadImageUrl(preloadImage);
}
setInterval(function () {
$(".formContainer form input,.formContainer form select").each(function () {
if ($(this).val() === "undefined" || $(this).val() === null) {
$(this).val("").trigger("change");
}
else if ($(this).val().toString().includes("~eloqua..type--e")) {
$(this).val("").trigger("change");
}
});
}, 1000);
if (debug) {
// var answers = [0, 0, 3, 2, 1, 2, 0, 0, 0, 0];
// var answers = [0, 0, 3, 2, 1, 2];
// answers[7] = 0;
// for (var i in questions) {
// if(typeof answers[i] == "undefined") continue;
// questions[i].valueSelected = answers[i];
// }
// questions[1].answers[0].value = true;
// var answers = [0, 0, 3, 2, 1, 2];
// answers[7] = 0;
// for (var i in questions) {
// if(typeof answers[i] == "undefined") continue;
// questions[i].valueSelected = answers[i];
// }
// questions[1].answers[0].value = true;
// questions[9].answers[0].value = true;
var answers = [0, 0, 3, 0, 2, 2, 1, 0, undefined, 0];
// var answers = [0, 0, 3, 0, undefined, undefined, undefined, undefined, 2, 0];
// answers[7] = 1;
// answers[7] = 0;
if (typeof findGetParameter("industry") != "undefined") {
answers[0] = parseInt(findGetParameter("industry"));
}
for (var i in questions) {
if (typeof answers[i] === "undefined") continue;
if (questions[i].multiple === true) {
questions[i].answers[answers[i]].value = true;
}
questions[i].valueSelected = answers[i];
}
// questions[8].answers[4].value = true;
questions[9].answers[2].value = true;
// questions[1].answers[0].value = true;
// questions[6].answers[0].value = true;
// questions[6].answers[1].value = true;
// questions[9].answers[1].value = true;
curentStep = questions.length - 1;
curentStep = 3;
curentStep = questions.length;
setSurveyStep();
// addToCart(1);
// requestAQuote();
// $(".formContainer").addClass("thankYouMode");
// openDetails(0);
// addToCart(1);
// addToCart(2);
// addToCart(3);
// addToCart(4);
// addToCart(5);
// openDetails(0);
// openCart();
setTimeout(function () {
showAll();
$("#radio-8-compare").prop("checked", true).trigger("change");
// $("#radio-0-compare").prop("checked", true).trigger("change");
$("#radio-13-compare").prop("checked", true).trigger("change");
$("#radio-6-compare").prop("checked", true).trigger("change");
openCompare();
}, 1000);
return;
var tempRadios = getRadioOrderedScore()
tempRadios.sort(function (a, b) {
return a.id - b.id;
});
tempRadios.forEach(function (e) { console.log("info score: ", e.id, e.name, e.score) });
return;
setTimeout(function () {
showAll();
$("#radio-13-compare").prop("checked", true).trigger("change");
$("#radio-3-compare").prop("checked", true).trigger("change");
$("#radio-0-compare").prop("checked", true).trigger("change");
openCompare();
}, 1000);
return;
// requestAQuote();
// return;
openCompare();
}
$(document.body).on('mousedown', 'button[data-uetfake], a[data-uetfake], input[data-uetfake], img[data-uetfake], span[data-uetfake], div[data-uetfake]', function (e) {
if ($(e.target).attr("data-uetfake") && e.target != this) {
return;
}
if ($(this).attr("data-uetfake")) {
var uetData = $(this).attr("data-uetfake");
var uetObject = JSON.parse(uetData);
reusableAnalyticsEvent("button click", "body interaction", "button click", uetObject["link-label"], uetObject["link-url"], uetObject["link-place"], uetObject["restriction"], "", uetObject.cname, uetObject["page-area"]);
}
});
});
var preloadImages = [
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B7e406957-9137-4bbe-b4c1-6dbd57b4c13b%7D_fire.jpg",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bd94b6a7e-5efe-4086-a8ed-aadf5e57d3f4%7D_goverment.jpg",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B020c0261-f3f0-4465-9062-c7b62aa148ac%7D_initial.jpg",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B32369b4c-1b91-47e6-bcb3-76dcadeaf821%7D_law.jpg",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7Bf3e2e2c0-05f8-4ef9-a565-343e0e4b6113%7D_oil.jpg",
"https://images.campaignresources.motorolasolutions.com/EloquaImages/clients/MotorolaSolutionsInc/%7B81ef94a2-894d-4235-af5e-0e3dfa2d64f6%7D_utilities.jpg"
];
APX™ P25 Portable Two-Way Radio
Solution Builder
Mission-critical communications are essential to helping police officers, firefighters and other first responders alike in the moments that matter most. We’ve put everything we’ve learned over the last 90 years into our APX radios, representing the very best of the Motorola Solutions radio portfolio.
Take the next step and begin to build out your APX Radio fleet, online. Find recommended solutions within the APX portfolio that are best suited for the many different users within your organization. Our recommendations are based on your answers, we suggest speaking with a Motorola Solutions Account Executive to verify the best solution(s) for your organization.
GET STARTED
Mission-critical communications are essential to helping police officers, firefighters and other first responders alike in the moments that matter most. We’ve put everything we’ve learned over the last 90 years into our APX radios, representing the very best of the Motorola Solutions radio portfolio.
Take the next step and begin to build out your APX Radio fleet, online. Find recommended solutions within the APX portfolio that are best suited for the many different users within your organization. Our recommendations are based on your answers, we suggest speaking with a Motorola Solutions Account Executive to verify the best solution(s) for your organization.
GET STARTED
NEXT QUESTION
VIEW RECOMMENDED PRODUCTS
VIEW PRODUCTS
SKIP SECTION 3A
NEXT QUESTION
VIEW RECOMMENDED PRODUCTS
VIEW PRODUCTS
SKIP SECTION 3A
SOLUTION FINDER
RESULTS
Solutions based on survey
All solutions
OPEN
Cart
Cart is empty
REQUEST A QUOTE
ACCESSORIES SHOP ONLINE
MOTOROLA, MOTO, MOTOROLA SOLUTIONS and the Stylized M Logo are trademarks or registered trademarks of Motorola
Trademark Holdings, LLC and are used under license. All other trademarks are the property of their respective owners.
© 2023 Motorola Solutions, Inc. All rights reserved.
Highlighted features based on your selection
Additional Features
Back to results
Compare devices
Select a maximum of 3 radios and compare their highlighted features based on your selection