FeatureIcon                       = new Array()
FeatureIcon [FeatureIcon .length] = ["feature","unfeature"]

	function requestFeatureData(Location,Handler,PassiveVars){
	IE = (window.ActiveXObject)? true : false

		if(IE){
		Request = new ActiveXObject("Microsoft.XMLHTTP")
		} else {
		Request = new XMLHttpRequest()
		}

		if(Request){
		Request.onreadystatechange = function(){collectFeatureData(Handler,PassiveVars)}
		Request.open("GET", Location + '&nocache=' + Math.random(0,9999), true)
		Request.send('')
		}
	}

	function collectFeatureData(Handler,PassiveVars){
		if(Request.readyState == 4){
			if(Request.status == 200){
			eval(Handler + '(Request,PassiveVars)')
			}
		}
	}

	function parseFeature(Request,PassiveVars){
	Data  = Request.responseXML.documentElement

	State = Data.getElementsByTagName('threadfeature')[0].firstChild.data
	// 0 == Locked | 1 == Open
	NewState = (State == 0)? 1 : 0

		for(t=0;t<FeatureIcon .length;t++){
			if(PassiveVars.src.match(FeatureIcon [t][State] + '.')){
			NewIcon = PassiveVars.src.replace(FeatureIcon [t][State],FeatureIcon [t][NewState])
			}
		}

		if(!NewIcon){
		alert('Unable to find corresponding image!')
		}

	PassiveVars.src = NewIcon
	}