var Input = { 
  initialize: function() { 
    if(document.getElementsByTagName("form")) { 
      var divs = document.getElementsByTagName("div"); 
      for(var i = 0; i < divs.length; i++) { 
        if(divs[i].className.match("checkbox") || divs[i].className.match("radio")) { 
          //divs[i].onmousedown = Input.effect; 
          divs[i].onmouseup = Input.handle; 
          divs[i].onclick = Input.click; 
          window.onmouseup = Input.clear; 
        } 
      } 
    } 
  }, 

//  effect: function() { 
//    if(this.className == "checkbox" || this.className == "radio") { 
//      this.style.backgroundPosition = "0 -26px"; 
//    } else { 
//      this.style.backgroundPosition = "0 -79px"; 
//    } 
//  }, 


  handle: function() { 
    selector = this.getElementsByTagName("input")[0]; 
    if(this.className == "checkbox") { 
      selector.checked = true; 
      this.className = "checkbox selected"; 
      this.style.backgroundPosition = "center bottom";
      check(selector);
    } else if(this.className == "checkbox selected") { 
      selector.checked = false; 
      this.className = "checkbox"; 
      this.style.backgroundPosition = "center top"; 
      check(selector);
    } else { 
      selector.checked = true; 
      this.className = "radio selected"; 
      this.style.backgroundPosition = "center bottom"; 
      inputs = document.getElementsByTagName("input"); 
      for(i = 0; i < inputs.length; i++) { 
        if(inputs[i].getAttribute("name") == selector.getAttribute("name")) { 
          if(inputs[i] != selector) { 
            inputs[i].parentNode.className = "radio"; 
            inputs[i].parentNode.style.backgroundPosition = "center top"; 
          } 
          check3(inputs[i]);
        } 
      }
      
    } 
  }, 
    click: function() {
        if(this.className=='checkbox selected' || this.className=='radio selected') { 
            selector=this.getElementsByTagName('input')[0];
            var regexCustom=new RegExp('^custom','i');
            if(regexCustom.test(selector.className)) {
                var tokens=selector.className.split('_');
                switch(tokens[1]) {
                    case 'clear':
                    case 'keep':
                        var list=document.getElementsByTagName("input"),length=list.length;
                        for(var i=0;i<length;i++) {
                            var obj=list[i];
                            if(obj.type=='checkbox'&&((obj!=selector&&tokens[1]=='clear')||(obj.className!='custom_keep'&&tokens[1]=='keep'))) {
                                var div=obj.parentNode;
                                var selector2=div.getElementsByTagName("input")[0]; 
                                if(div.className=="checkbox selected") { 
                                    selector2.checked = false; 
                                    div.className = "checkbox"; 
                                    div.style.backgroundPosition = "center top"; 
                                    check(selector2);
                                }
                            }
                        }
                        break;
                    case 'max':
                        var max=tokens[2];
                        if(max>0)
                        {
                            var list=document.getElementsByTagName("input"),length=list.length,count=0;
                            for(var i=0;i<length;i++) {
                                var obj=list[i];
                                if(obj.type=='checkbox'&&obj!=selector) {
                                    var div=obj.parentNode;
                                    if(div.className=="checkbox selected") { 
                                        count++;
                                    }
                                }
                            }
                            if(count>=max) {
                                alert('You can select a maximum of '+max+' options.');
                                selector.checked = false; 
                                this.className = "checkbox"; 
                                this.style.backgroundPosition = "center top"; 
                                check(selector);
                            }
                        }
                        break;
                    case 'slider':
                    case 'q2':
                        var elem=tokens[1];
                        var bstate=tokens[2];
//                        alert('--'+elem+'--'+bstate+'--');
                        if(bstate=='true') {
                            showHideElement(elem,true);
                        } else {
                            showHideElement(elem,false);
                            //document.forms[0].submit();
                        }
//                        var slider=document.getElementById('slider');
//                        if(slider.style.display=='block'||selector.value>0) {
//                            toggleLayer('slider');
//                        }
                        break;
                    case 'q0b':
                    case 'q0c':
                    case 'q1b':
                    case 'q1c':
                    case 'q2b':
                    case 'q2c':
                    case 'q3b':
                    case 'q3c':
                    case 'q4b':
                    case 'q4c':
                    case 'q5b':
                    case 'q5c':
                    case 'q6b':
                    case 'q6c':
                    case 'q7b':
                    case 'q7c':
                    case 'q8b':
                    case 'q8c':
                    case 'q9b':
                    case 'q9c':
                    case 'q10b':
                    case 'q10c':
                    case 'q11b':
                    case 'q11c':
                    case 'q12b':
                    case 'q12c':
                    case 'q13b':
                    case 'q13c':
                    case 'q14b':
                    case 'q14c':
                    case 'q15b':
                    case 'q15c':
                    case 'q16b':
                    case 'q16c':
                    case 'q17b':
                    case 'q17c':
                        var elem=tokens[1];
                        var bstate=tokens[2];
                        if(bstate=='true') {
                            showHideElement(elem,true);
                        } else {
                            showHideElement(elem,false);
                        }
                        break;
                    case 'exit':
                        if(confirm('This option will require you to select a new occupation. Select OK to try a new career.')) {
                            document.location.href='careermatch.php?refresh=true';
                        } else {
                            selector.checked = false; 
                            this.className = "checkbox"; 
                            this.style.backgroundPosition = "center top"; 
                            check(selector);
                        }
                        break;
                }
            }
        }
    },
  clear: function() { 
    divs = document.getElementsByTagName("div"); 
    for(var i = 0; i < divs.length; i++) { 
      if(divs[i].className == "checkbox" || divs[i].className == "radio") { 
        divs[i].style.backgroundPosition = "center top"; 
      } else if(divs[i].className == "checkbox selected" || divs[i].className == "radio selected") { 
        divs[i].style.backgroundPosition = "center bottom"; 
      } 
    } 
  } 
}
window.onload = Input.initialize; 

