// JavaScript Document
addEvent(window,"load",labels_init);

function labels_init(){
	if(document.getElementById&&document.styleSheets){
		try{
			var s=document.styleSheets[document.styleSheets.length-1];
			addStyleRule(s,"label.inside","position:absolute; visibility:hidden;");
			for(var i=0,label=null;(label=document.getElementsByTagName("label")[i]);i++){
				if(label.className=='inside'){label_init(label);}
			}
			addEvent(document.forms[0],"submit",labels_uninit);
		}
		catch(e){}
	}
}
function labels_uninit(e){
	if(document.getElementById&&document.styleSheets){
		for(var i=0,label=null;(label=document.getElementsByTagName("label")[i]);i++){
			var el=document.getElementById(label.htmlFor);if(el&&el.value==el._labeltext)label_hide(el);
		}
	}
}
function label_init(label){
	try{
		var el=document.getElementById(label.htmlFor);
		var elName=el.nodeName;
		var elType=el.getAttribute("type");
		if(elName=="TEXTAREA"||(elType=="text"||elType=="password")){
			el._labeltext=label.firstChild.nodeValue;
			el._type=el.getAttribute("type");
			addEvent(el,"focus",label_focused);
			addEvent(el,"blur",label_blurred);
			label_blurred({currentTarget:el});
		}
		else{
			label.style.position="static";label.style.visibility="visible";
		}
	}
	catch(e){
		label.style.position="static";label.style.visibility="visible";
	}
}
function label_focused(e){
	e=fix_e(e);
	var el=e.currentTarget;
	if(el.value==el._labeltext)el=label_hide(el)
	el.select();
}
function label_hide(el){
	if(el._type=="password")el=label_setInputType(el,"password");el.value="";return el;
}
function label_blurred(e){
	e=fix_e(e);
	var el=e.currentTarget;
	if(el.value=="")el=label_show(el);
}
function label_show(el){
	if(el._type=="password")el=label_setInputType(el,"text");el.value=el._labeltext;return el;
}
function label_setInputType(el,type){
	if(navigator.appName=="Microsoft Internet Explorer"){
		var newEl=document.createElement("SPAN");
		newEl.innerHTML='<input type="'+type+'" />';
		newEl=newEl.firstChild;
		var s='';
		for(prop in el){
			try{
				if(prop!="type"&&prop!="height"&&prop!="width")newEl[prop]=el[prop];
			}
			catch(e){}
		}
		addEvent(newEl,"focus",label_focused);
		addEvent(newEl,"blur",label_blurred);
		el.parentNode.replaceChild(newEl,el);
		return newEl;
	}
	else{
		el.setAttribute("type",type);
		return el;
	}
}
function addEvent(obj,evType,fn){
	if(obj.addEventListener){
		obj.addEventListener(evType,fn,false);
		return true;
	}
	else if(obj.attachEvent){
		var r=obj.attachEvent("on"+evType,fn);
		return r;
	}
	else{
		return false;
	}
}
function addStyleRule(stylesheet,selector,rule){
	if(stylesheet.addRule)stylesheet.addRule(selector,rule);
	else{
		var index=stylesheet.cssRules.length;stylesheet.insertRule(selector+"{"+rule+"}",index);
	}
}
function fix_e(e){
	if(!e&&window.event)e=window.event;
	if(!e.currentTarget&&e.srcElement)e.currentTarget=e.srcElement;
	if(!e.originalTarget&&e.srcElement)e.originalTarget=e.srcElement;
	return e;
}