var _selectHeight = 23; var _forms = document.getElementsByTagName('form'); var inputs = new Array(); var selects = new Array(); var labels = new Array(); var radios = new Array(); var radioLabels = new Array(); var checkboxes = new Array(); var checkboxLabels = new Array(); var buttons = new Array(); var selects = new Array(); var all_selects = false; var active_select = null; var agt = navigator.userAgent.toLowerCase(); var isMac = is_mac(); var selectText = "please select"; var IN_CFORMS = true; function is_mac() { if (navigator.appVersion.indexOf("Safari") != -1) { if(!window.getComputedStyle) { return true; } } return false; } function initCastomForms() { if(!document.getElementById) {return false;} getElements(); separateElements(); replaceRadios(); replaceCheckboxes(); replaceSelects(); var _selects = document.getElementsByTagName('select'); var _SelctClassName = []; if (_selects) { for (var i = 0; i < _selects.length; i++) { if (_selects[i].className != '' && _selects[i].className != 'outtaHere') _SelctClassName[i] = ' drop-'+_selects[i].className; } for (var i = 0; i < _SelctClassName.length; i++) { var _selectDrop = document.getElementById('optionsDiv'+i); if (_selectDrop) { if (_SelctClassName[i]) _selectDrop.className += _SelctClassName[i]; } } } } // getting all the required elements function getElements() { for (var nf = 0; nf < document.getElementsByTagName("form").length; nf++) { for(var nfi = 0; nfi < document.forms[nf].getElementsByTagName("input").length; nfi++) {inputs.push(document.forms[nf].getElementsByTagName("input")[nfi]);} for(var nfl = 0; nfl < document.forms[nf].getElementsByTagName("label").length; nfl++) {labels.push(document.forms[nf].getElementsByTagName("label")[nfl]);} for(var nfs = 0; nfs < document.forms[nf].getElementsByTagName("select").length; nfs++) {selects.push(document.forms[nf].getElementsByTagName("select")[nfs]);} } } // separating all the elements in their respective arrays function separateElements() { var r = 0; var c = 0; var t = 0; var rl = 0; var cl = 0; var tl = 0; var b = 0; for (var q = 0; q < inputs.length; q++) { if(inputs[q].type == "radio") { radios[r] = inputs[q]; ++r; for(var w = 0; w < labels.length; w++) { if((inputs[q].id) && labels[w].htmlFor == inputs[q].id) { radioLabels[rl] = labels[w]; ++rl; } } } if(inputs[q].type == "checkbox") { checkboxes[c] = inputs[q]; ++c; for(var w = 0; w < labels.length; w++) { if((inputs[q].id) && (labels[w].htmlFor == inputs[q].id)) { checkboxLabels[cl] = labels[w]; ++cl; } } } if((inputs[q].type == "submit") || (inputs[q].type == "button")) { buttons[b] = inputs[q]; ++b; } } } //replacing radio buttons function replaceRadios() { for (var q = 0; q < radios.length; q++) { radios[q].className += " outtaHere"; var radioArea = document.createElement("div"); if(radios[q].checked) { radioArea.className = "radioAreaChecked"; } else { radioArea.className = "radioArea"; } radioArea.id = "myRadio" + q; radios[q].parentNode.insertBefore(radioArea, radios[q]); radios[q]._ra = radioArea; radioArea.onclick = new Function('rechangeRadios('+q+')'); if (radioLabels[q]) { radioLabels[q].onclick = new Function('rechangeRadios('+q+')'); } } return true; } //checking radios function checkRadios(who) { var what = radios[who]._ra; for(var q = 0; q < radios.length; q++) { if((radios[q]._ra.className == "radioAreaChecked")&&(radios[q]._ra.nextSibling.name == radios[who].name)) { radios[q]._ra.className = "radioArea"; } } what.className = "radioAreaChecked"; } //changing radios function changeRadios(who) { if(radios[who].checked) { for(var q = 0; q < radios.length; q++) { if(radios[q].name == radios[who].name) { radios[q].checked = false; } radios[who].checked = true; checkRadios(who); } } } //rechanging radios function rechangeRadios(who) { if(!radios[who].checked) { for(var q = 0; q < radios.length; q++) { if(radios[q].name == radios[who].name) { radios[q].checked = false; } radios[who].checked = true; checkRadios(who); } } } //replacing checkboxes function replaceCheckboxes() { for (var q = 0; q < checkboxes.length; q++) { checkboxes[q].className += " outtaHere"; var checkboxArea = document.createElement("div"); if(checkboxes[q].checked) { checkboxArea.className = "checkboxAreaChecked"; } else { checkboxArea.className = "checkboxArea"; } checkboxArea.id = "myCheckbox" + q; checkboxes[q].parentNode.insertBefore(checkboxArea, checkboxes[q]); checkboxes[q]._ca = checkboxArea; checkboxArea.onclick = checkboxArea.onclick2 = new Function('rechangeCheckboxes('+q+')'); if (checkboxLabels[q]) { checkboxLabels[q].onclick = new Function('changeCheckboxes('+q+')'); } checkboxes[q].onkeydown = checkEvent; } return true; } //checking checkboxes function checkCheckboxes(who, action) { var what = checkboxes[who]._ca; if(action == true) { what.className = "checkboxAreaChecked"; what.checked = true; } if(action == false) { what.className = "checkboxArea"; what.checked = false; } } //changing checkboxes function changeCheckboxes(who) { if(checkboxes[who].checked) { checkCheckboxes(who, false); } else { checkCheckboxes(who, true); } } //rechanging checkboxes function rechangeCheckboxes(who) { var tester = false; if(checkboxes[who].checked == true) { tester = false; } else { tester = true; } checkboxes[who].checked = tester; checkCheckboxes(who, tester); } //check event function checkEvent(e) { if (!e) var e = window.event; if(e.keyCode == 32) {for (var q = 0; q < checkboxes.length; q++) {if(this == checkboxes[q]) {changeCheckboxes(q);}}} //check if space is pressed } function replaceSelects() { for(var q = 0; q < selects.length; q++) { if (!selects[q].replaced && selects[q].offsetWidth) { selects[q]._number = q; //create and build div structure var selectArea = document.createElement("div"); var left = document.createElement("span"); left.className = "left png"; selectArea.appendChild(left); var disabled = document.createElement("span"); disabled.className = "disabled"; selectArea.appendChild(disabled); selects[q]._disabled = disabled; var center = document.createElement("a"); if (selects[q].parentNode.className.indexOf("type2") != -1){ center.href = "javascript:showOptions("+q+",true)"; } else { center.href = "javascript:showOptions("+q+",false)"; } var button = document.createElement("a"); var text = document.createTextNode(selectText); center.id = "mySelectText"+q; var stWidth = selects[q].offsetWidth+1; selectArea.style.width = stWidth + "px"; if (selects[q].parentNode.className.indexOf("type2") != -1){ button.href = "javascript:showOptions("+q+",true)"; } else { button.href = "javascript:showOptions("+q+",false)"; } button.className = "selectButton png"; selectArea.className = "selectArea"; selectArea.className += " " + selects[q].className; selectArea.id = "sarea"+q; center.className = "center png"; center.appendChild(text); selectArea.appendChild(center); selectArea.appendChild(button); //hide the select field selects[q].className += " outtaHere"; //insert select div selects[q].parentNode.insertBefore(selectArea, selects[q]); //build & place options div var optionsDiv = document.createElement("div"); var optionsList = document.createElement("ul"); optionsDiv.innerHTML += "