/***
* readonly : readOnly
* maxlength : maxLength
***/
FormAttribute = function (frm)
{
	this.form = frm;
	this.arratt = [];
}

FormAttribute.prototype.iniatt = function(elname,elatt,elkey)
{
	if (this.form == false || elatt == null || typeof(elatt) == "undefined")
	{
		return false;
	}
	
	var elkey = (typeof(elkey) == "undefined" || String(elkey) == "")?"all":elkey;
	
	this.arratt[this.arratt.length] = {"elname":elname,"elkey": elkey,"elatt": elatt};
}
FormAttribute.prototype.loadAtt = function()
{
	var t = this;
	var loadatt = function()
	{
		t.setAttFrom();
	}
	Event.observe(window,"load",loadatt);
}

FormAttribute.prototype.setAttFrom = function()
{
	this.form = this.getForm(this.form);
	if (!this.form){
		return false;
	}
	for (var i = 0 ; i < this.arratt.length;i++)
	{
		var elname = this.arratt[i]["elname"];
		var elatt = this.arratt[i]["elatt"];
		var elkey = this.arratt[i]["elkey"];
		var element = this.getFormElement(elname);
		
		if (element == false || element.name == "undefined")
		{
			continue;
		}
		if(element.length > 0 && typeof(element.name) == "undefined")
		{
			if (elkey == "all")
			{
				for (var f = 0;f < element.length ;f++ )
				{
					this.setAtt(element[f],elatt);
				}
			}else{
				this.setAtt(element[elkey],elatt);
			}
		}else{
			this.setAtt(element,elatt);
		}
	}
//	SetFormStyle(this.form.name);
}

FormAttribute.prototype.setAttFromSingle = function(arratt)
{
	this.form = this.getForm(this.form);
	if (!this.form){
		return false;
	}
	var elname = arratt["elname"];
	var elatt = arratt["elatt"];
	var elkey = arratt["elkey"];
	var element = this.getFormElement(elname);
	
	if (element == false || element.name == "undefined")
	{
		return false
	}
	if(element.length > 0 && typeof(element.name) == "undefined")
	{
		if (elkey == "all")
		{
			for (var f = 0;f < element.length ;f++ )
			{
				this.setAtt(element[i],elatt);
			}
		}else{
			this.setAtt(element[elkey],elatt);
		}
	}else{
		this.setAtt(element,elatt);
	}
}

FormAttribute.prototype.setAtt = function (el,arratt)
{
	for (var att in arratt)
	{
		if (att == "event")
		{
			var var_attfunc = {}
			if(typeof(el) == "undefined") 
			{
				continue;
			}
			if(typeof(el.event) == "undefined") 
			{
				el.setAttribute("event",{});
				el.setAttribute("eventexe",{});
			}
			for (var ev in arratt[att])
			{
				var evf = arratt[att][ev];
				if(el.event[ev] == evf) 
				{
					continue;
				}
				el.event[ev] = evf;
				el.eventexe[ev] = function (e,obj,act,func){
						return eval(func);
				}
				var_attfunc[ev] = el.eventexe[ev].bindAsEventListener(el,el,ev,el.event[ev]);
				Event.observe(el,ev,var_attfunc[ev]);
			}
		}else{
			try{
				if(el.getAttribute(att) == arratt[att]) 
				{
					continue;
				}
				if(att == "style") 
				{
					var arr_style = arratt[att].split(";");
					for(stl=0; stl<arr_style.length; stl++) 
					{
						arr_style_val = arr_style[stl].split(":");
						eval("el.style."+arr_style_val[0]+"=\""+arr_style_val[1]+"\"");
					}
					el.setAttribute(att,"");
					el.style = arratt[att];
				}else if(att == "maxlength") 
				{
					el.maxLength = arratt[att];
				}
				else if(att == "focus") 
				{
					el.focus();
				}
				else 
				{
					el.setAttribute(att,arratt[att]);
				}
			}catch(e){}
		}
	}
}
/*
FormAttribute.prototype.setEventAction = function (el,act,func)
{
	Event.observe(el,act,func());
}
FormAttribute.prototype.exeFunc = function (e,obj,ev,func)
{
	eval(func)
}
*/
FormAttribute.prototype.getForm = function (form)
{
	if (form.tagName)
		return form;
	else if (document.getElementById
			&& document.getElementById(form))
		return document.getElementById(form);
	else if (document.forms
			&& document.forms[form])
		return document.forms[form];
	else
		return false;
}


/***
* °´Ã¼¹ÝÈ¯
***/
FormAttribute.prototype.getFormElement = function (elname,form)
{
	form = form?form:this.form;
	if(typeof(form[elname]) == "undefined")
		return false;
	if (form && form.elname){
		return form.elname;
	}else if(form && form[elname]){
		return form[elname];
	}else if (document.getElementById && document.getElementById(elname)){
		return document.getElementById(elname);
	} else{
		return false;
	}
}
