
function eventTarget(e) {
	return (e.target)? ((e.target.nodeType != 3)? e.target:e.target.parentNode) : e.srcElement;
	}
function calcCol(c0,c1,p){
	return Math.ceil(c0+(c1-c0)*p);
	}
var actions= {
	"clearDefault": function(e) {//,act,to_ob,reset
		e=(e)? e : window.event;
		var el=eventTarget(e);
		var name=el.name
		if (el.value==commentDefault[name]) el.value="";
		},
	"changebar": function(e,init) {
		e=(e)? e : window.event;
		var el=eventTarget(e);
		var l=el.value.length;
		var p=l/256;
		var r=125,g=159,b=184;
		if (l<256) {
			bar.style.backgroundColor="rgb("+calcCol(r,255,p)+","+calcCol(g,0,p)+","+calcCol(b,0,p)+")";
			var mR=Math.ceil((1-p)*100);
			bar.style.marginRight=mR+"%";
			} else {
			el.value=el.value.substr(0,256);
			bar.style.backgroundColor="red";
			bar.style.marginRight="0";
			}
		},
	"checkAddress": function(e,act,to_ob,reset) {
		e=(e)? e : window.event;
		var el=eventTarget(e);
		var name=el.name
		
		setcolour(el,"green","white");
		if (el.value==commentDefault[name] || !el.value) return;
		var regexp=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
		//	var regexp=/[a-zA-Z0-9_\.]+@[a-zA-Z0-9_\.]+/
		if (el.value.search(regexp)===0) return;
		alert("You seem to have made a mistake; the email address format should be \"letters.and-numbers@example.com\"");
		setcolour(el,"red","yellow");
		el.focus();
		el.select();
		//document.getElementById('greet').value="Email:"+;
		}
	
	}
function setcolour(thiselt,col,bcol) {
	thiselt.style.color=col;
	thiselt.style.backgroundColor=bcol;
	return true;
	}
	
function init(){
//alert (commentDefault);
	if (!document.getElementById("comment")) return;
	comment=document.getElementById('comment');
	if (!document.getElementById("bar")) return;
	bar=document.getElementById('bar');
	comment.onfocus=actions.clearDefault;
	comment.onkeyup=actions.changebar;
	document.getElementById('email').onfocus=actions.clearDefault;
	document.getElementById('email').onblur=actions.checkAddress;
	document.getElementById('greet').onfocus=actions.clearDefault;
	}
var comment,bar;
	
	
	
	
	
	