document.write('<script src="/v2/cmms.js"><\/script>');
var siteId = 139;
var allCMMSLanguages = {"en":7,"ar":20,"de":8,"es":9,"e1":534,"fr":11,"id":48,"it":70,"ja":1,"ko":103,"nl":69,"pl":333,"pt":12,"ru":97,"sv":14,"zh":15,"z1":463};
var allCMMSFilters = {"AU":"Region>Australia","BE":"Region>Belgium","BR":"Region>Brazil","CL":"Region>Chile","CN":"Region>China","DE":"Region>Germany","ES":"Region>Spain","FR":"Region>France","GB":"Region>United Kingdom","ID":"Region>Indonesia","IN":"Region>India","IT":"Region>Italy","JP":"Region>Japan","KR":"Region>Korea, Republic Of","MX":"Region>Mexico","NL":"Region>Netherlands","PL":"Region>Poland","RU":"Region>Russian Federation","SA":"Region>Saudi Arabia","SE":"Region>Sweden","TW":"Region>Taiwan, Province Of China","US":"Region>United States","R770":1};
var cmmsFiltersMap = {"406": allCMMSFilters, "405": allCMMSFilters, "486": ["Z700","R740","R780"]};
var alliedSalesChannelCountryMap = {"Z700":["US"], "R740":["BE","DE","ES","FR","GB","IT","NL","PL","RU","SA","SE"], "R780":["AU","CN","ID","IN","JP","KR","TW"]};
var productTree = {};
var classDetail = {};
for (var i in allCMMSLanguages) {
	productTree[i] = {};
	classDetail[i] = {};
	for (var j in cmmsFiltersMap) {
		for (var k in cmmsFiltersMap[j]) {
			if (alliedSalesChannelCountryMap[cmmsFiltersMap[j][k]]) {
				productTree[i][cmmsFiltersMap[j][k]] = {};
/*				for (var m in alliedSalesChannelCountryMap[cmmsFiltersMap[j][k]]) {
					productTree[i][cmmsFiltersMap[j][k]] = {};
				}*/
			} else {
				productTree[i][k] = {};
			}
		}
	}
}
var p;
function setupPage(pageVars) {
	this.p = pageVars;
//	if (p.productClass != 486)
	var sourceFilter = p.filter;
	p.filter = getCMMSCountry();
	if (!p.filter)
		p.filter = sourceFilter;
	p.suffix = p.suffix ? '_' + p.suffix : '';
	if (p.productClass == 486) {
		for (var i in alliedSalesChannelCountryMap) {
			for (var j = 0; j < alliedSalesChannelCountryMap[i].length; ++j) {
				if (p.filter == alliedSalesChannelCountryMap[i][j]) {
					p.filter = i;
					break;
				}
			}
		}
	}
	var cmmsSiteId = typeof(wcm) == "undefined" ? '25' : (wcm.site || 25);
	document.write(['<script src=/cda/lookup?type=cma_lookup&params={"domain":"content","action":"defaultAliases","match":"/cmms","siteId":', cmmsSiteId, ',"languageId":', allCMMSLanguages[p.language], '}&cache=defaultAliases-', allCMMSLanguages[p.language], '&callback=menuPaths=><\/script>'].join(''));
//	document.write(['<script src=/cda/cma?params={"action":"defaultAliases","match":"/cmms","siteId":', cmmsSiteId, ',"languageId":', allCMMSLanguages[p.language], '}&fieldName=menuPaths&cache=defaultAliases-', allCMMSLanguages[p.language], '><\/script>'].join(''));
}
function importClassScripts() {
	return imp('tree', p.filter + '/' + p.productClass + 'tree_en' + p.suffix) + imp('classDetail', productPath(p.language, p.productClass));
}
function palert(str) {
	if (location.href.indexOf('preview') > -1)
		alert(str);
}
function importFamilyListScripts() {
	var xmls = [];
	for (var i in productTree['en'][p.filter][p.productClass]) {
		if (p.language != 'en')
			xmls.push(productPath(p.language, i));
		xmls.push(productPath('en', i));
	}
	return imp('family-images', xmls);
}
function importFamilyScripts() {
	return [
		imp('constants', '_' + p.language + '/displayconstants_' + p.language),
		imp('family-images', productPath(p.language, p.family)),
		imp('tree', p.filter + '/' + p.productClass + 'tree_en' + p.suffix)].join('');
}
function importSubFamilyScripts() {
	return imp('constants', '_' + p.language + '/displayconstants_' + p.language);
}
function loadSubFamilies(lang) {
	var xmls = [];
	var subXmls = [];
	for (var i in productTree['en'][p.filter][p.productClass][p.family]) {
		xmls.push(productPath(lang, i));
		for (var j in productTree['en'][p.filter][p.productClass][p.family][i])
			subXmls.push(productPath(lang, i, productTree['en'][p.filter][p.productClass][p.family][i][j]));
	}
//return imp('family-subFamilies', xmls);
	return [imp('family-subFamilies', xmls), imp('subFamily-range', subXmls)].join('');
}
function importSubFamilyListScripts() {
	return loadSubFamilies(p.language) + loadSubFamilies('en');
}
var allImports = [];
function imp(xslt, xml) {
	if (!xml)
		return allImports[xslt] ? ['<script src="', p.path, '/cmms/xslt/', xslt, '.js"><\/script>'].join('') : '';
	var res = ['<script src="', p.path, '/cda/jsp/cdaTransform.jsp?xslt=/cmms/xslt/', xslt, '.xsl'];
	var processedXML = 0;
	var arr = xml.constructor == Array ? xml : [xml];
	for (var i = 0; i < arr.length; ++i) {
		if (true || !allImports[xslt + '|' + arr[i]]) {
			allImports[xslt + '|' + arr[i]] = 1;
			res.push('&xml=/cmms/xslt/', arr[i], '.xml');
			++processedXML;
		}
	}
	res.push('"><\/script>');
	return processedXML == 0 ? '' : res.join('');
}
function productPath(lang, elt, model) {
	return ['_', lang, '/', elt, '/', (model || elt), '_', lang].join('');
}
function importModelScripts() {
	return [
	imp('constants', '_' + p.language + '/displayconstants_' + p.language),
	imp('family-subFamilies', productPath(p.language, p.subFamily)),
	imp('family-subFamilies', productPath('en', p.subFamily)),
	imp('tree', p.filter + '/' + p.productClass + 'tree_en' + p.suffix),
	imp('modelFeatures', productPath(p.language, p.subFamily, p.model)),
	imp('modelFeatures', productPath('en', p.subFamily, p.model)),
	imp('models', productPath(p.language, p.subFamily, p.model)),
	imp('models', productPath('en', p.subFamily, p.model))].join('');
}
function importFamilyModelScripts() {
	var res = [];
	for (var i in productTree['en'][p.filter][p.productClass][p.family]) {
		var xmls = [];
		var engXMLs = [];
		for (var j in productTree['en'][p.filter][p.productClass][p.family][i]) {
			xmls.push(productPath(p.language, i, productTree['en'][p.filter][p.productClass][p.family][i][j]));
			engXMLs.push(productPath('en', i, productTree['en'][p.filter][p.productClass][p.family][i][j]));
		}
		res.push(imp('modelsTree', xmls));
		res.push(imp('modelsTree', engXMLs));
	}
	return res.join('');
}
function importModelListScripts() {
	return [
		imp('constants', '_' + p.language + '/displayconstants_' + p.language),
		imp('constants', '_en/displayconstants_en'),
		imp('tree', p.filter + '/' + p.productClass + 'tree_' + p.language + p.suffix),
		imp('tree', p.filter + '/' + p.productClass + 'tree_en' + p.suffix),
		imp('family-subFamilies', productPath(p.language, p.subFamily)),
		imp('family-subFamilies', productPath('en', p.subFamily))].join('');
}
function loadTechSpecs(lang) {
	var xmls = [];
	var subF = productTree['en'][p.filter][p.productClass][p.family][p.subFamily];
	for (var i in subF)
		xmls.push(productPath(lang, p.subFamily, subF[i]));
	return imp('subFamily-range', xmls);
}
function importModelTechSpecScripts() {
	return loadTechSpecs('en') + loadTechSpecs(p.language);
}
function importModelRelatedScripts() {
	var xmls = [];
	var subF = productTree['en'][p.filter][p.productClass][p.family][p.subFamily];
	for (var i in subF)
		xmls.push(productPath('en', p.subFamily, subF[i]));
	return imp('relatedModels', xmls);
}
function hasArray(arr) {
	return arr && arr.length > 0;
}
function getEquipmentLabel(model) {
	if (hasArray(model.standardEquipment))
		if (hasArray(model.optionalEquipment))
			return cmmsConstants.standard_equipment;
		else
			return cmmsConstants.standard__equipment;
	return cmmsConstants.optional__equipment;
}
function unitize(units, val) {
	if (val.metric)
		return ['<div class=metric>', val.metric, ' ', units.metric, '</div><div class=english>', val.english, ' ', units.english, '</div>'].join('');
	return val;
}
function buildEquipment(header, equipmentSet) {
	var output = [];
	if (equipmentSet && equipmentSet.length > 0) {
		output.push('<h3>', model.name, ' ', header, '</h3><dl>');
		var count = 0;
		for (var j in equipmentSet) {
			++count;
			var cssClass = count % 2 == 1 ? ' class=even' : '';
			output.push('<dd', cssClass, '>', equipmentSet[j].name ? equipmentSet[j].name : equipmentSet[j], '</dd>');
			for (var k in equipmentSet[j].equipment) {
				++count;
				cssClass = count % 2 == 1 ? ' class=even' : '';
				output.push('<dd', cssClass, '><dl><dd>', equipmentSet[j].equipment[k], '</dd></dl></dd>');
			}
		}
		output.push('</dl>');
	}
	return output.join('');
}
function buildAttachments() {
	var output = [];
	var sortedAttachments = [];
	for (var i in attachments) {
		attachments[i].id = i;
		sortedAttachments.push(attachments[i]);
	}
	sortedAttachments.sort(function(a,b){return a.name < b.name ? -1 : 1});
	var canLink = countryFilters[siteId];
	for (var i in sortedAttachments) {
		var path = getCMMSPath(sortedAttachments[i].id, p.filter, p.language);
		if (canLink) {
			if (sortedAttachments[i].image)
				output.push('<a class="type-W" href="', path, '"><img class=thumbImage width=80 height=80 src="', sortedAttachments[i].image, '"></a>');
			else
				output.push('<img class=thumbImage src="/cma/images/pixel.gif" width=80 height=80>');
			output.push('<div class=wideTicklerTitle id=first><a class="type-W" href="', path, '">', sortedAttachments[i].name, '</a></div><div class=ticklerDesc>', sortedAttachments[i].longDescription, '</div><em class=sys>&raquo;</em> <a class="type-W sys" href="', path, '">', cmmsConstants.learn_more, '</a><br clear=all><br>');
		} else {
			if (sortedAttachments[i].image)
				output.push('<img class=thumbImage width=80 height=80 src="', sortedAttachments[i].image, '">');
			else
				output.push('<img class=thumbImage src="/cma/images/pixel.gif" width=80 height=80>');
			output.push('<div class=wideTicklerTitle id=first>', sortedAttachments[i].name, '</div><div class=ticklerDesc>', sortedAttachments[i].longDescription, '</div><br clear=all><br>');
		}
	}
	return output.join('');
}
function importAttachments() {
	if (hasArray(model.related)) {
		var xmls = [];
		var wtGroups = {};
		for (var i in model.related)
			wtGroups[model.related[i].group] = 1;
		for (var i in wtGroups) {
			xmls.push(productPath(p.language, i));
		}
		return imp('relatedAttachments', xmls);
	}
	return '';
}
function buildFeatures(limit) {
	var output = ['<style>.subF { display: none; }<\/style>'];
	var count = 0;
	var feats = features[p.language] && features[p.language].length > 0 ? features[p.language] : features['en'];
	for (var j = 0; j < feats.length; ++j) {
		var feature = feats[j];
		if (limit && count >= limit)
			break;
		++count;
		if (feature.image)
			output.push('<img src="', feature.image, '" class=thumbImage>');
		if (!limit) {
			output.push('<div class=subF id=subF', j, '>');
			for (var i in feature.features) {
				output.push('<h4>', feature.features[i].name, '</h4>', feature.features[i].description, '<br>');
			}
			output.push('</div>');
		}
		output.push('<div class=bfThumb><div class=wideTicklerTitle>', feature.name, '</div><div class=ticklerDesc', (limit ? '' : ' id=subT' + j), '>', feature.description, '<br>');
		if (feature.features && feature.features.length > 0)
			output.push('<em class=sys>&raquo;</em> <a', (limit ? '' : ' name=subA' + j), ' class=sys onClick="return displayFeature(', j, (limit ? ', true' : ''), ');" href="">', cmmsConstants.learn_more, '</a>');
		output.push('</div></div><br clear=all><hr>');
	}
	return output.join('');
}
function displayFeature(j, jump) {
	document.getElementById('subT' + j).innerHTML = document.getElementById('subF' + j).innerHTML;
	if (jump) {
		showTab('features');
		location.href = '#subA' + j;
	}
	return false;
}
function buildSpecs(limit) {
	var output = [];
	var mod = model[p.language] || model['en'] || model;
	var specs = subFamilies[p.language][p.subFamily] ? subFamilies[p.language][p.subFamily].techSpecs : subFamilies['en'][p.subFamily].techSpecs;
	for (var j in specs) {
		var first = true;
		var spec = specs[j];
		var count = 0;
		for (var k in spec) {
			var specValue = mod.techSpecs[k];
			if (specValue) {
				if (limit && count >= limit) {
					output.push('</dl>');
					return output.join('');
				}
				if (first)
					output.push('<h4 style="text-align: left;">', j || cmmsConstants.general_specs, '</h4><dl class=specs>');
				first = false;
				var cssClass = count % 2 == 1 ? 'even' : 'odd';
				++count;
				output.push('<dt class=', cssClass, '>', spec[k].name, '</dt><dd class=', cssClass, '>', unitize(spec[k], specValue), '</dd>');
			}
		}
		output.push('</dl>');
	}
	return output.join('');
}
function toggleUnits() {
	initUnits();
	return ['<table border=0 cellspacing=0 cellpadding=0 width=100% id=contentList><tr><td align=right><div class=english id=units>', cmmsConstants.units, ': <span>', cmmsConstants.u_s_a, '</span> | <a href="" onClick="return changeUnits(\'metric\');">', cmmsConstants.metric, '</a></div><div class=metric id=units>', cmmsConstants.units, ': <a href="" onClick="return changeUnits(\'english\');">', cmmsConstants.u_s_a, '</a> | <span>', cmmsConstants.metric, '</span></div></td></tr></table>'].join('');
}
function buildCompeteCompareLink() {
	return ['<a href="javascript:openWindow(\'http://www.cat.com/redirect.html?url=http%3A//wizportal.catmms.com/wizportal/comsocc/jsp/comparableProducts.jsp%3Fproduct_id%3D', p.model, '%26marketing_org%3D10280336%26unit_of_measure%3DBoth%26lang_id%3Den\', 1);">', cmmsConstants.compete_compare, '</a>'].join('');
}
function buildModelList() {
	var output = [];
	var subFamily = subFamilies[p.language][p.subFamily] || subFamilies['en'][p.subFamily];
	var topTechSpecs = [];
	for (var i in subFamily.techSpecs) {
		for (var j in subFamily.techSpecs[i]) {
			subFamily.techSpecs[i][j].id = j;
			topTechSpecs.push(subFamily.techSpecs[i][j]);
		}
	}
	topTechSpecs.sort(function(a,b){ return a.priority - b.priority; });
	topTechSpecs.length = 3;
	output.push('<table id=contentList border=0 cellspacing=0 cellpadding=0 width=100% class=innerList><tr><th>', cmmsConstants.model, '</th>');
	for (var i in topTechSpecs)
		output.push('<th>',topTechSpecs[i].name,'</th>');
	output.push('</tr>');
	var count = 0;
	for (var j in techSpecs) {
		var cssClass = count % 2 == 1 ? ' class=oddRow' : ' class=evenRow';
		++count;
		output.push('<tr', cssClass, '><td', cssClass, '><em class=sys>&raquo;&nbsp;</em> <a class="type-W" href="', getCMMSPath({"productClass":p.productClass,"family":p.family,"subFamily":p.subFamily,"model":j}, p.filter, p.language), '">', techSpecs[j].name, '</a></td>');
		for (var i in topTechSpecs) {
			var spec = techSpecs[j].techSpecs[topTechSpecs[i].id];
			if (spec) {
				if (spec.metric)
					output.push('<td', cssClass, '><div class=english>', spec.english || '<br>', ' ', topTechSpecs[i].english, '</div><div class=metric>', spec.metric, ' ', topTechSpecs[i].metric, '</div><br></td>');
				else
					output.push('<td', cssClass, '>',spec || '<br>','</td>');
			} else {
				output.push('<td', cssClass, '><br></td>');
			}
		}
		output.push('</tr>');
	}
	output.push('</table>');
	return output.join('');
}
function buildFamilyImages() {
	var sortedFamilies = [];
	for (var i in families['en']) {
		var lang = families[p.language][i] ? p.language : 'en';
		families[lang][i].id = i;
		sortedFamilies.push(families[lang][i]);
	}
	sortedFamilies.sort(function (a, b) { return a.name < b.name ? -1 : 1 });
	var silhouettes = [];
	for (var i in sortedFamilies) {
		silhouettes.push('<div style="float:left; text-align:center; padding:5px; width:115px; height:120px;"><a href="', getCMMSPath(sortedFamilies[i].id, p.filter, p.language), '"');
		if (sortedFamilies[i].iconImageOn)
			silhouettes.push(' onMouseOver="changeImg2(', sortedFamilies[i].id, ',\'', sortedFamilies[i].iconImageOn, '\');" onMouseOut="changeImg2(', sortedFamilies[i].id, ',\'', sortedFamilies[i].iconImageOff, '\')"');
		silhouettes.push('><center><img border=0 id=f', sortedFamilies[i].id, ' src="', sortedFamilies[i].iconImageOff, '"></center>', sortedFamilies[i].name, '</a></div>');
	}
	return ['<style>.cmmsFamilies div { float: left; width: 115px; height: 120px; font: 11px Arial; text-align: center; }.cmmsFamilies a { color: black; text-decoration: none; font-weight: normal; }.cmmsFamilies a:hover { text-decoration: underline; }.cmmsFamilies img { display: block; border-width: 0px; margin-bottom: 3px; }</style><div class=cmmsFamilies>', silhouettes.join(''), '</div>'].join('');
}
function buildFamilyLinks() {
	var sortedFamilies = [];
	for (var i in families['en']) {
		var lang = families[p.language][i] ? p.language : 'en';
		families[lang][i].id = i;
		sortedFamilies.push(families[lang][i]);
	}
	sortedFamilies.sort(function (a, b) { return a.name < b.name ? -1 : 1 });
	var silhouettes = [];
	silhouettes.push('<table border=0 cellspacing=0 cellpadding=0 class=familyLinks><tr><td valign=top class=leftSide>');
	for (var i = 0; i < sortedFamilies.length; ++i) {
		if (i > 0 && i % (sortedFamilies.length / 2) == 0) {
			silhouettes.push('</td><td valign=top>');
		}
		silhouettes.push('<div><a href="', getCMMSPath(sortedFamilies[i].id, p.filter, p.language, null, p.suffix || ''), '"');
		silhouettes.push('>', sortedFamilies[i].name, '</a></div>');
	}
	silhouettes.push('</td></tr></table>');
	return silhouettes.join('');
}
function buildSubFamilyRanges() {
	var output = [];
	var first = true;
	var subF = subFamilies[p.language] && subFamilies[p.language].length > 0 ? subFamilies[p.language] : subFamilies['en'];
	for (var i in productTree['en'][p.filter][p.productClass][p.family]) {
		if (!subF[i])
			subF[i] = subFamilies['en'][i];
		var path = getCMMSPath(i, p.filter, p.language);
		if (!first)
			output.push('<hr>');
		output.push('<div class=wideTicklerTitle', (first ? ' id=first' : ''), '><a href="', path, '">', subF[i].name, '</a></div><div class=ticklerDesc>', subF[i].longDescription, '</div><ul>');
		first = false;
		var topTechSpecs = [];
		var allTechSpecs = [];
		for (var j in subF[i].techSpecs) {
			for (var k in subF[i].techSpecs[j]) {
				subF[i].techSpecs[j][k].id = k;
				allTechSpecs.push(subF[i].techSpecs[j][k]);
			}
		}
		allTechSpecs.sort(function(a,b){ return a.priority - b.priority; });
		for (var j in allTechSpecs)
			if (topTechSpecs.length < 3 && allTechSpecs[j].metric)
				topTechSpecs.push(allTechSpecs[j]);
		for (var j = 0; j < topTechSpecs.length; ++j) {
			var techSpecId = topTechSpecs[j].id;
			var minSpec = {};
			var maxSpec = {};
			for (var k in techSpecs) {
				var currVal = techSpecs[k].techSpecs[techSpecId];
				if (currVal) {
					if (!minSpec.metric || parseFloat(currVal.metric) < minSpec.metric)
						minSpec = currVal;
					if (!maxSpec.metric || parseFloat(currVal.metric) > maxSpec.metric)
						maxSpec = currVal;
				}
			}
			output.push('<li>', topTechSpecs[j].name, ', <div class=english>', minSpec.english, ' ', topTechSpecs[j].english, '</div><div class=metric>', minSpec.metric, ' ', topTechSpecs[j].metric, '</div>');
			if (minSpec.metric < maxSpec.metric)
				output.push('&nbsp;to&nbsp;<div class=english>', maxSpec.english, ' ', topTechSpecs[j].english, '</div><div class=metric>', maxSpec.metric, ' ', topTechSpecs[j].metric, '</div>');
			output.push('</li>');
		}
		output.push('</ul><em class=sys>&raquo;</em> <a class="type-W sys" href="', path, '">', cmmsConstants.view_full_product_line || 'View Full Product Line', '</a><br clear=all><br>');
	}
	return output.join('');
}
function buildFamilyList() {
	var output = [];
	var odd = false;
	output.push('<table border=0 cellspacing=0 cellpadding=0 width=100% class=empty><tr><th class=list id=leftCorner width=1>&nbsp;&nbsp;</th><th class=list width=100%><br></th><th class=list id=rightCorner>&nbsp;&nbsp;</th></tr><tr><td colspan=3><table id=contentList border=0 cellspacing=0 cellpadding=0 width=100% class=innerList>');
	for (var i in families['en']) {
		if (families['en'][i].name.indexOf(p.order) == 0) {
			var path = "";//getCMMSPath({"productClass":p.productClass}, p.filter, p.language);
			var rowStyle = odd ? ' class=oddrow' : ' class=evenrow';
			odd = !odd;
			output.push('<tr', rowStyle, '><td', rowStyle, '><em class=sys>&raquo;&nbsp;</em><a class="type-W" href="', path, '">', (families[p.language][i] ? families[p.language][i].name : families['en'][i].name), '</a></td></tr>');
		}
	}
	output.push('</table></td></tr></table>');
	return output.join('');
}
function buildSubFamilyList() {
	var output = [];
	var odd = false;
	output.push('<table border=0 cellspacing=0 cellpadding=0 width=100% class=empty><tr><th class=list id=leftCorner width=1>&nbsp;&nbsp;</th><th class=list width=100%><br></th><th class=list id=rightCorner>&nbsp;&nbsp;</th></tr><tr><td colspan=3><table id=contentList border=0 cellspacing=0 cellpadding=0 width=100% class=innerList>');
	for (var i in subFamilies['en']) {
		var path = getCMMSPath({"productClass":p.productClass,"family":p.family,"subFamily":i}, p.filter, p.language);
		var rowStyle = odd ? ' class=oddrow' : ' class=evenrow';
		odd = !odd;
		output.push('<tr', rowStyle, '><td', rowStyle, '><em class=sys>&raquo;&nbsp;</em><a class="type-W" href="', path, '">', (subFamilies[p.language][i] ? subFamilies[p.language][i].name : subFamilies['en'][i].name), '</a></td></tr>');
	}
	output.push('</table></td></tr></table>');
	return output.join('');
}
function selectNav(elt) {
	var val = elt.options[elt.selectedIndex].value;
	if (val && val.length > 0)
		location.href = val;
}
function buildSubFamilySelect() {
	var output = [];
	var odd = false;
	output.push('<select onChange="selectNav(this);"><option value="">--- ', cmmsConstants.select_a_subfamily, ' ---');
	var subFams = subFamilies[p.language] && subFamilies[p.language].length > 0 ? subFamilies[p.language] : subFamilies['en'];
	for (var i in subFams) {
		var path = getCMMSPath({"productClass":p.productClass,"family":p.family,"subFamily":i}, p.filter, p.language);
		var rowStyle = odd ? 'oddrow' : 'evenrow';
		odd = !odd;
		output.push('<option value="', path, '">', subFams[i].name);
	}
	output.push('</select>');
	return output.join('');
}
function buildModelSelect() {
	var output = [];
	var odd = false;
	output.push('<select onChange="selectNav(this);"><option value="">--- ', (family.name ? (cmmsConstants.select_a, ' ', family.name) : cmmsConstants.select_a_model), ' ---');
	var subFams = subFamilies[p.language] && subFamilies[p.language].length > 0 ? subFamilies[p.language] : subFamilies['en'];
	for (var i in subFams) {
		var path = getCMMSPath({"productClass":p.productClass,"family":p.family,"subFamily":i}, p.filter, p.language, null, p.suffix);
		var rowStyle = odd ? 'oddrow' : 'evenrow';
		odd = !odd;
		if (p.productClass != 406 || p.suffix == '_nc')
			output.push('<option value="', path, '">--- ', cmmsConstants.select_a, ' ', subFams[i].name, ' ---');
		for (var j in productTree['en'][p.filter][p.productClass][p.family][i]) {
			var modelId = productTree['en'][p.filter][p.productClass][p.family][i][j];
			var modelPath = getCMMSPath({"productClass":p.productClass,"family":p.family,"subFamily":i,"model":modelId}, p.filter, p.language, null, p.suffix);
			var mod = models[p.language][modelId] || models['en'][modelId];
			output.push('<option value="', modelPath, '">', mod.name);
		}
	}
	output.push('</select>');
	return output.join('');
}
var loadedPaths = false;
var cmmsPaths = {};
function getCMMSPath(elt, countryId, languageId, currMenu, inSuffix) {
	if (!loadedPaths) {
		for (var i in menuPaths)
			cmmsPaths[menuPaths[i].id] = menuPaths[i].path;
		loadedPaths = true;
	}
	if (elt.productClass && elt.productClass == 405) {
/*		if (p.filter == 'R770') {
			if (elt.model)
				return getCMMSPath(elt.family, countryId, null, currMenu, inSuffix) + 'm?subFamily=' + elt.subFamily + (elt.model ? '&model=' + elt.model : '') + '&x=' + allCMMSLanguages[languageId];
			else
				return getCMMSPath(elt.family, countryId, null, currMenu, inSuffix) + 's?subFamily=' + elt.subFamily + '&x=' + allCMMSLanguages[languageId];
		}*/
		return getCMMSPath(elt.model || elt.subFamily, countryId, null, currMenu, inSuffix);
	}
	if (elt.productClass && elt.productClass == 486) {
		var familyPath = getCMMSPath(elt.family, countryId, null, currMenu, inSuffix);
		if (familyPath.indexOf('/cmms/') == -1)
			familyPath = '/cmms/' + elt.family;
		if (elt.model)
			return familyPath + 'm?subFamily=' + elt.subFamily + (elt.model ? '&model=' + elt.model : '') + '&x=' + allCMMSLanguages[languageId];
		else
			return familyPath + 's?subFamily=' + elt.subFamily + '&x=' + allCMMSLanguages[languageId];
	}
	if (cmmsPaths[elt + (inSuffix || '')])
		return cmmsPaths[elt + (inSuffix || '')];
	if (elt.model)
		return getCMMSPath(elt.model, countryId, languageId, currMenu, inSuffix);
	var suffix = inSuffix ? inSuffix.substring(1) : p.aliasSuffix;
	return suffix ? '/cmms/' + elt + suffix : '/cmms/' + elt + (languageId ? '?x=' + allCMMSLanguages[languageId] : '');
}
var countryFilters = {'137':'AU','138':'BR','142':'DE','144':'MX','145':'RU','153':'IN','155':'SA','156':'IT','161':'TW','162':'PL','163':'NL','170':'BE','172':'ES','140':'CN','141':'FR','146':'GB','157':'SE','158':'CL','159':'KR','160':'ID','263':'ID','25':'US','62':'R770'};
function getCMMSCountry() {
	return countryFilters[typeof(wcm) == "undefined" ? '25' : (wcm.site || 25)];
}
var inverter = new Array();
inverter['metric'] = 'english';
inverter['english'] = 'metric';
function changeUnits(type) {
	var types = document.getElementsByClassName(type);
	var invertedTypes = document.getElementsByClassName(inverter[type]);
	for (var i = 0; i < types.length; ++i)
		types[i].style.display = 'inline';
	for (var i = 0; i < invertedTypes.length; ++i)
		invertedTypes[i].style.display = 'none';
	createCookie('units', type, 1000);
	return false;
}
document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
};
function createCookie(name,value,days) {
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0)==' ')
			c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)
			return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function initUnits() {
	var cookieVal = readCookie('units');
	if (!cookieVal)
		cookieVal = 'english';
	changeUnits(cookieVal);
}
