var dataStorage = {
	write: function(key, value) {
		 if (window.sessionStorage) {
			sessionStorage.setItem(key, value);
		}
	},
	read: function(key) {
		if (window.sessionStorage) {
			return sessionStorage.getItem(key);
		}
	},
	remove: function(key) {
		if (window.sessionStorage) {
			sessionStorage.removeItem(key);
		}
	}
}

var autoForm = {
	no:null, ar:null, uid:"{AB3D3FCF-A1D5-45ab-BF17-F52B0B24A0D1}",
	load: function (o){
	this.no = o.getElementsByTagName("input");
	this.ar = o.getElementsByTagName("textarea");
	},
	save: function (o) {
	var i;
	this.load(o);
	dataStorage.write(this.uid, location.href);
	for(i=0; i < this.no.length; i++)
		if (this.no[i].type == "text")
			dataStorage.write(this.no[i].name, this.no[i].value);
	for(i=0; i < this.ar.length; i++){
		dataStorage.write(this.ar[i].name, this.ar[i].value);
		}
	},
	restore: function (o) {
		if (dataStorage.read(this.uid) == location.href) {
		var i, data;
		this.load(o);
		for(i=0; i < this.no.length; i++) {
			if (this.no[i].type == "text") {
				data = dataStorage.read(this.no[i].name);
				if (data != null)
					this.no[i].value = data;
			}
		}

		for(i=0; i < this.ar.length; i++) {
			data = dataStorage.read(this.ar[i].name);
			if (data != null)
				this.ar[i].value = data;	
		}
		}
	},
	clean: function () {
		if (dataStorage.read(this.uid) != location.href)
			dataStorage.remove(this.uid);
	}
}

function vbind(a,b,c){if(!a)return;if(a.attachEvent){a.attachEvent("on"+b,c);}
if(a.addEventListener){a.addEventListener(b,c,false);}}

function FixForm(n) {
try {
  if (!document.all) {
	var o = document.forms, i;
	for (i =0; i < o.length; i++) {
		if (o[i].name==n) {
		vbind(o[i], "submit", function() {autoForm.save(this);})
		autoForm.restore(o[i]);
		}
	}
 }
}catch(e){}
}

function ClearFixForm()
{
 if (!document.all) {
	autoForm.clean();
	}
}