var bargenerator={
colormoder: {radio: '', inputs:[]},
colormodem: {radio: '', inputs:[]},
widthmoder: {radio: '', inputs:[]},
widthmodem: {radio: '', inputs:[]},

defineurlstr:function(){
	var pageurl='colormode='+(this.colormoder.radio.checked? 'random' : 'user-selected')
 if (this.colormoder.radio.checked)
		pageurl+='&colorbase='+document.getElementById('colorbase').value
	else if (this.colormodem.radio.checked){
		for (var i=1; i<6; i++)
			pageurl+='&color'+i+'='+document.getElementById('color'+i).value
	}
	pageurl+='&widthmode='+(this.widthmoder.radio.checked? 'random' : 'user-selected')
 if (this.widthmoder.radio.checked){
			pageurl+='&widthmax='+document.getElementById('widthmax').value
			pageurl+='&widthmin='+document.getElementById('widthmin').value
	}
	else if (this.widthmodem.radio.checked)
		pageurl+='&widthset='+document.getElementById('widthset').value
	this.pageurl=encodeURI(pageurl)
},

ajaxconnect:function(){
	var page_request = false
	if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
		try {
		page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
			try{
			page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){}
		}
	}
	else if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else
		return false
	page_request.onreadystatechange=function(){
		bargenerator.loadresult(page_request)
	}
	this.resultdiv.innerHTML='<center><img src="loading.gif" /></center>'
	var param=this.pageurl
	page_request.open('POST', 'generate.php', true)
	page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	page_request.setRequestHeader("Content-length", param)
	page_request.setRequestHeader("Connection", "close")
	page_request.send(param)
},

loadresult:function(page_request){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
		this.resultdiv.innerHTML=page_request.responseText
	}
},

submitit:function(){
	this.defineurlstr()
	this.ajaxconnect()
},

enabledisable:function(enable, disable){
	for (var i=0; i<enable.inputs.length; i++){
		enable.inputs[i].disabled=false
	}
	for (var i=0; i<disable.inputs.length; i++){
		disable.inputs[i].disabled=true
	}
},

init:function(){
	this.resultdiv=document.getElementById('result')
	this.colormoder.radio=document.getElementById('colormoderandom')
	this.colormoder.inputs.push(document.getElementById('colorbase'))
	this.colormodem.radio=document.getElementById('colormodemanual')
	for (var i=1; i<6; i++){
		this.colormodem.inputs.push(document.getElementById('color'+i))
	}
	this.widthmoder.radio=document.getElementById('widthmoderandom')
	this.widthmoder.inputs.push(document.getElementById('widthmax'))
	this.widthmoder.inputs.push(document.getElementById('widthmin'))
	this.widthmodem.radio=document.getElementById('widthmodemanual')
	this.widthmodem.inputs.push(document.getElementById('widthset'))
	if (this.colormoder.radio.checked)
		this.enabledisable(this.colormoder, this.colormodem)
	if (this.colormodem.radio.checked)
		this.enabledisable(this.colormodem, this.colormoder)
	this.colormoder.radio.onclick=function(){
		bargenerator.enabledisable(bargenerator.colormoder, bargenerator.colormodem)
	}
	this.colormodem.radio.onclick=function(){
		bargenerator.enabledisable(bargenerator.colormodem, bargenerator.colormoder)
	}
	if (this.widthmoder.radio.checked)
		this.enabledisable(this.widthmoder, this.widthmodem)
	if (this.widthmodem.radio.checked)
		this.enabledisable(this.widthmodem, this.widthmoder)
	this.widthmoder.radio.onclick=function(){
		bargenerator.enabledisable(bargenerator.widthmoder, bargenerator.widthmodem)
	}
	this.widthmodem.radio.onclick=function(){
		bargenerator.enabledisable(bargenerator.widthmodem, bargenerator.widthmoder)
	}
}

}