
crir={
init:function(){
arrLabels=document.getElementsByTagName('label');
searchLabels:
for(var i=0;i<arrLabels.length;i++){
if(arrLabels[i].getAttributeNode('for')&&arrLabels[i].getAttributeNode('for').value!=''){
labelElementFor=arrLabels[i].getAttributeNode('for').value;
inputElement=document.getElementById(labelElementFor);
}
else{
continue searchLabels;
}
inputElementClass=inputElement.className;
if(inputElementClass=='crirHiddenJS'){
inputElement.className='crirHidden';
inputElementType=inputElement.getAttributeNode('type').value;
if(inputElementType=="checkbox"){
inputElement.onclick=crir.toggleCheckboxLabel;
}
else{
inputElement.onclick=crir.toggleRadioLabel;
}
if(inputElement.checked){
if(inputElementType=='checkbox'){arrLabels[i].className='checkbox_checked'}
else{arrLabels[i].className='radio_checked'}
}
else{
if(inputElementType=='checkbox'){arrLabels[i].className='checkbox_unchecked'}
else{arrLabels[i].className='radio_unchecked'}
}
}
else if(inputElement.nodeName!='SELECT'&&inputElement.getAttributeNode('type').value=='radio'){
arrLabels[i].onclick=crir.toggleRadioLabel;
inputElement.onclick=crir.toggleRadioLabel;
}
}
},
findLabel:function(inputElementID){
arrLabels=document.getElementsByTagName('label');
searchLoop:
for(var i=0;i<arrLabels.length;i++){
if(arrLabels[i].getAttributeNode('for')&&arrLabels[i].getAttributeNode('for').value==inputElementID){
return arrLabels[i];
break searchLoop;
}
}
},
toggleCheckboxLabel:function(){
labelElement=crir.findLabel(this.getAttributeNode('id').value);
if(labelElement.className=='checkbox_checked'){
labelElement.className="checkbox_unchecked";
}
else{
labelElement.className="checkbox_checked";
}
},
toggleRadioLabel:function(){
clickedLabelElement=crir.findLabel(this.getAttributeNode('id').value);
clickedInputElement=this;
clickedInputElementName=clickedInputElement.getAttributeNode('name').value;
arrInputs=document.getElementsByTagName('input');
for(var i=0;i<arrInputs.length;i++){
inputElementType=arrInputs[i].getAttributeNode('type').value;
if(inputElementType=='radio'){
inputElementName=arrInputs[i].getAttributeNode('name').value;
inputElementClass=arrInputs[i].className;
if(inputElementName==clickedInputElementName&&inputElementClass=='crirHidden'){
inputElementID=arrInputs[i].getAttributeNode('id').value;
labelElement=crir.findLabel(inputElementID);
labelElement.className='radio_unchecked';
}
}
}
if(clickedInputElement.className=='crirHidden'){
clickedLabelElement.className='radio_checked';
}
},
addEvent:function(element,eventType,doFunction,useCapture){
if(element.addEventListener)
{
element.addEventListener(eventType,doFunction,useCapture);
return true;
}else if(element.attachEvent){
var r=element.attachEvent('on'+eventType,doFunction);
return r;
}else{
element['on'+eventType]=doFunction;
}
}
}
crir.addEvent(window,'load',crir.init,false);
