dojo.require("dojo.io.cookie");
dojo.require("dojo.html.common");
dojo.require("dojo.event.browser");

cookieManager = new function(){
	var forms = [];
	this.initial = function(){
		for(var i=0;i<arguments.length;i++){
			forms[i] = window.document.forms[arguments[i]];
		}
		for(var i=0;i<forms.length;i++){
			this.setAllValueFormCookie(forms[i]);
		}
		dojo.addOnUnload(this.setAllCookieFromForm);
	}

	this.setAllValueFormCookie = function(form){
		var inputs = form.getElementsByTagName("INPUT");
		var selects = form.getElementsByTagName("SELECT");

		for(var i=0;i<inputs.length;i++){
		  setValueFromCookie(inputs[i]);
		}
		for(var i=0;i<selects.length;i++){
		  setValueFromCookie(selects[i]);
		}	
	}

	this.setAllCookieFromForm = function(){
		for(var i=0;i<forms.length;i++){
			inputs = forms[i].getElementsByTagName("INPUT");
			selects = forms[i].getElementsByTagName("SELECT");
			for(var i=0;i<inputs.length;i++){
			  setCookieFromForm(inputs[i]);
			}
			
			for(var i=0;i<selects.length;i++){
			  setCookieFromForm(selects[i]);
			}
		}
	}
}	

function setCookieFromForm(input){
	var value = null;
	if(dojo.html.isTag(input,"input","select")){
		value = input.value;
	}
	
	if(value){
		dojo.io.cookie.setCookie(input.name,value);
	}
}

function setValueFromCookie(input){
	var value = dojo.io.cookie.getCookie(input.name);
	if(value){
		if(dojo.html.isTag(input,"input","select")){
			input.value = value;
			input.fireEvent("onChange");;
		}
	}
}