var values = new Array();
var stateIndex;
var regionIndex;

function makeEditable(){
	var elems = getElementsByClassName('uneditable');
	for(i=0;i<elems.length;i++){
		if(elems[i].checked == true){
			values[i] = 'checked';
		}else{
			if(elems[i].selectedIndex >= 0){
				if(elems[i].name == "state"){
					stateIndex = elems[i].selectedIndex;
				}
				if(elems[i].name == "region"){
					regionIndex = elems[i].selectedIndex;
				}
			}else{
				values[i] = elems[i].value;
			}
		}
		elems[i].setAttribute("onfocus","");
		elems[i].disabled = false;
		elems[i].className = 'editable';
	}
}

function cancelChanges(){
	var elems = getElementsByClassName('editable');
	for(i=0;i<elems.length;i++){
		if(elems[i].selectedIndex >= 0){
			if(elems[i].name == "state"){
				elems[i].selectedIndex = stateIndex;
			}
			if(elems[i].name == "region"){
				elems[i].selectedIndex = regionIndex;
			}
		}else{
			if(values[i] == 'checked'){
				elems[i].checked = true;
			}else{
				elems[i].checked = false;
				elems[i].value = values[i];
			}
		}
	}
	makeUneditable();
}

function makeUneditable(){
	var elems = getElementsByClassName('editable');
	for(i=0;i<elems.length;i++){
		if(elems[i].type == 'checkbox'){
			elems[i].disabled = true;
		}
		elems[i].setAttribute("onfocus","this.blur()");
		if((document.all && !document.opera) || (elems[i].type == 'button') || (elems[i].type == 'submit')){
			elems[i].disabled = true;
		}
		elems[i].className = 'uneditable';
	}
}

function getElementsByClassName(n){
        elems = getElementNodes(document.body);
        var ret = new Array();
        var ctr = 0;
        for(i=0;i<elems.length;i++){
                    att = elems[i].getAttribute("class");
                    att2 = elems[i].className;
            if(att == n || att2 == n)
                ret[ctr++] = elems[i];
        }
    return ret;
}

function getElementNodes(rt){
	/*
    var retElems = new Array();
    var pos = 0;
    myWalker = document.createTreeWalker(rt,NodeFilter.SHOW_ELEMENT,null,false);
    while(myWalker.nextNode()){
        retElems[pos++] = myWalker.currentNode;
    }
  */
    return document.getElementsByTagName("*");
}

function checkAll(formname, checkname, boolstate){
	if(document.forms[formname].elements[checkname+"[]"].length){
		for (i = 0; i < document.forms[formname].elements[checkname+"[]"].length; i++){
			document.forms[formname].elements[checkname+"[]"][i].checked = boolstate;
		}
	}else{
		document.forms[formname].elements[checkname+"[]"].checked = boolstate;
	}
}

