/** ------------------------------------------------------------------------------------------------------ Allgemeine JS-Functions fuer den Konfigurator-Prototyp 08.02.2008 ------------------------------------------------------------------------------------------------------ **/ /** liefert die Id des selektierten Input-Felds **/ function getCheckedRadio(form, radioname) { if (!document.forms[form].elements[radioname].length && document.forms[form].elements[radioname].checked) return document.forms[form].elements[radioname].id; for (var i=0; i < document.forms[form].elements[radioname].length; i++) { if (document.forms[form].elements[radioname][i].checked) { return document.forms[form].elements[radioname][i].id; } } } /** ueberprueft, ob es ein selektiertes Input-Element gibt **/ function containsCheckedValue(form, radioname) { if (!document.forms[form].elements[radioname].length && document.forms[form].elements[radioname].checked) return true; for (var i=0; i < document.forms[form].elements[radioname].length; i++) { if (document.forms[form].elements[radioname][i].checked) { return true; } } return false; } /** selektiert das erstmoegliche Input-Element und liefert die zugehoerige Id zurueck **/ function setFirstValueChecked(form, radioname) { if (!document.forms[form].elements[radioname].length && !document.forms[form].elements[radioname].disabled) { document.forms[form].elements[radioname].checked = true; return document.forms[form].elements[radioname].id; } for (var i=0; i < document.forms[form].elements[radioname].length; i++) { if (!document.forms[form].elements[radioname][i].disabled) { document.forms[form].elements[radioname][i].checked = true; return document.forms[form].elements[radioname][i].id; } } } function enableId(id) { // alert('enable: id=' + id); enableElement(document.getElementById(id)); } function disableId(id) { disableElement(document.getElementById(id)); if (document.getElementById(id).checked) { // -- auswahl eines disabled geht nicht! document.getElementById(id).checked = false; } } function enableIdParent(id) { enableElement(document.getElementById(id).parentNode); } function disableIdParent(id) { disableElement(document.getElementById(id).parentNode); if (document.getElementById(id).checked) { // -- auswahl eines disabled geht nicht! document.getElementById(id).checked = false; } } function enableElement(el) { el.disabled = false; } function disableElement(el) { el.disabled = true; } function updateCount() { var url = "?step=info" + "&dummy=nix"; if (fzg.baureihe) url += "&baureihe=" + fzg.baureihe; if (fzg.marketsegment) url += "&marketsegment=" + fzg.marketsegment; if (fzg.bauvariante) url += "&bauvariante=" + fzg.bauvariante; if (fzg.fzgeigen) url += "&fzgeigen=" + fzg.fzgeigen; if (fzg.tonnage) url += "&tonnage=" + fzg.tonnage; if (fzg.radformel) url += "&radformel=" + fzg.radformel; if (fzg.heavyduty != undefined) url += "&heavyduty=" + fzg.heavyduty; if (fzg.hydrodrive != undefined) url += "&hydrodrive=" + fzg.hydrodrive; if (fzg.v8 != undefined) url += "&v8=" + fzg.v8; if (fzg.schadstoffklasse) url += "&schadstoffklasse=" + fzg.schadstoffklasse; if (fzg.ps) url += "&ps=" + fzg.ps; if (fzg.cab) url += "&cab=" + fzg.cab; if (fzg.steering) url += "&steering=" + fzg.steering; if (fzg.suspension) url += "&suspension=" + fzg.suspension; if (fzg.buildwork) url += "&buildwork=" + fzg.buildwork; if (fzg.wheelbase) url += "&wheelbase=" + fzg.wheelbase; if (fzg.overhang) url += "&overhang=" + fzg.overhang; //document.getElementById("result").src = url; if (fzg.service) url += "&service=" + fzg.service; if (fzg.support) url += "&support=" + fzg.support; if (fzg.finance) url += "&finance=" + fzg.finance; if (fzg.description) url += "&description=" + fzg.description; } var _paramstring = location.search.indexOf("?") != -1 ? location.search : ""; var _params = _paramstring.split("&"); var _param = new Object(); var _p for (_p=0; _p < _params.length; _p++) { var p = _params[_p].split("="); _param[p[0]] = p[1]; } function getParam(id) { if (_param[id] == undefined) return ""; return encodeURI(_param[id]); } function stepTo(step) { var currentStep = formular.step.value -1; if (step > currentStep) { return; // Vorspringen nicht moeglich } if (step <= 1) { // if (formular.initBaureihe) formular.initBaureihe.value = ""; // if (formular.initMarketsegment) formular.initMarketsegment.value = ""; // if (formular.initBauvariante) formular.initBauvariante.value = ""; if (formular.tonnage) formular.tonnage.value = ""; if (formular.fzgeigen) formular.fzgeigen.value = ""; if (formular.radformel) formular.radformel.value = ""; if (formular.heavyduty) formular.heavyduty.value = ""; if (formular.hydrodrive) formular.hydrodrive.value = ""; if (formular.v8) formular.v8.value = ""; } if (step <= 2) { // if (formular.tonnage) formular.tonnage.value = ""; // if (formular.fzgeigen) formular.fzgeigen.value = ""; // if (formular.radformel) formular.radformel.value = ""; // if (formular.heavyduty) formular.heavyduty.value = ""; // if (formular.hydrodrive) formular.hydrodrive.value = ""; //formular.v4.value = ""; if (formular.schadstoffklasse) formular.schadstoffklasse.value = ""; if (formular.ps) formular.ps.value = ""; if (formular.cab) formular.cab.value = ""; if (formular.steering) formular.steering.value = ""; if (formular.suspension) formular.suspension.value = ""; } if (step <= 3) { if (formular.buildwork) formular.buildwork.value = ""; if (formular.wheelbase) formular.wheelbase.value = ""; if (formular.overhang) formular.overhang.value = ""; } if (step <= 4) { // TODO: service } if (step <= 5) { } formular.step.value = step; formular.submit(); } function jumpToContact() { var currentStep = formular.step.value -1; stepFrom = currentStep; formular.step.value = 7; formular.submit(); } function handleTagClouds() { for (var x in tagClouds) { addTagCloudElement(x,tagClouds[x].url,tagClouds[x].service); } } function addTagCloudElement(name, url, services) { if ( document.getElementById('tagCloud') ) { var linkText = document.createTextNode(name); var linkElement = document.createElement("a"); linkElement.id = name; linkElement.href = url; if (services) { linkElement.target = "_blank"; } else { var popupURL = url; if (popupURL.indexOf("?") != -1) popupURL += "&openAsPopup=true"; else popupURL += "?openAsPopup=true"; linkElement.onclick = function() { openPopupWindow(popupURL); return false; } // linkElement.onclick = function() { toggleInfo('modal_window',url); return false; } } linkElement.appendChild(linkText); document.getElementById('tagCloud').appendChild(linkElement); document.getElementById('tagCloud').appendChild(document.createTextNode(" ")); } } function openPopupWindow(url) { satellit = window.open(url,"","location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=435,height=650"); satellit.window.focus(); }