function makearray(n) {
	this.length = n;
	for(var i = 1; i <= n; i++)
		this[i] = 0;
	return this;
}
function hex(i) {
	if (i < 0)	  return "00";
	else if (i > 255) return "ff";
	else		  return "" + hexa[Math.floor(i/16)] + hexa[i%16];
}
function hexnumtodec(hexchar) {
	if (parseInt(hexchar) == hexchar) return Number(hexchar)
	hexchar = hexchar.toUpperCase()
	switch (hexchar) {
		case 'A': return 10; break;
		case 'B': return 11; break;
		case 'C': return 12; break;
		case 'D': return 13; break;
		case 'E': return 14; break;
		case 'F': return 15; break;
	}
}
function hextodec(daHex) {
	var daDec = Number((16 * hexnumtodec(daHex.substring(0,1))) + hexnumtodec(daHex.substring(1,2)))
	return daDec
}

function setColor(r,g,b) {
	var hr = hex(r); var hg = hex(g); var hb = hex(b);
	var daColor = "#"+hr+hg+hb
	daEl.style.backgroundColor = daColor
	if (daColor == colorend.toLowerCase()) {
		clearInterval(iId)
		iId = null
		timerRunning = false
	}
}

function fade() {
	i++
	setColor(
		Math.floor(sr * ((step-i)/step) + er * (i/step)),
		Math.floor(sg * ((step-i)/step) + eg * (i/step)),
		Math.floor(sb * ((step-i)/step) + eb * (i/step)));
}
hexa = new makearray(16);
for(var i = 0; i < 10; i++)
	hexa[i] = i;
hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
hexa[13]="d"; hexa[14]="e"; hexa[15]="f";

var i
var iId = null
var sr, sg, sb
var er, eg, eb
var interval = 1
var step = 16
var colorstart
var colorend
var daEl
var timerRunning = false

function myfade(el,cs,ce,iv,st) {
	daEl = el
	colorstart = cs
	colorend = ce
	interval = iv
	step = st
	i = 0
	if (timerRunning) {
		clearInterval(iId)
		iId = null
	}
	var myRe = /#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i
	if (colorstart.match(myRe)) {
		sr = hextodec(RegExp.$1)
		sg = hextodec(RegExp.$2)
		sb = hextodec(RegExp.$3)
	}
	if (colorend.match(myRe)) {
		er = hextodec(RegExp.$1)
		eg = hextodec(RegExp.$2)
		eb = hextodec(RegExp.$3)
	}
	timerRunning = false;
	iId = setInterval("fade()",interval)
	timerRunning = true;
}
function cellover(table_cell) {
	// play around with these values
	// element, from_color, to_color, interval(milliseconds), transition steps
	myfade(table_cell,'#82807E','#4F3D31',20,32)
}
function cellout(table_cell) {
	if (timerRunning) {
		clearInterval(iId)
		iId = null
	}
	table_cell.style.backgroundColor = '#82807E'
}



function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		  
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		    return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		   
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		   
		    return false
		 }

 		 return true					
	}

<!-- Begin
function checkFields() {

missinginfo = "";

if(document.form2.Name.value == "" | document.form2.Name.value=='Name') {
missinginfo += "\n     -  Name";
}

if(document.form2.Email.value == "" | document.form2.Email.value=='Email') {
missinginfo += "\n     -  Email";
}else if(echeck(document.form2.Email.value)==false) {
missinginfo += "\n     -  Invalid E-mail ID";
}


if(document.form2.Phone.value == "" | document.form2.Phone.value=='Phone') {
missinginfo += "\n     -  Phone";
}

if(document.form2.Enquiry.value == "" | document.form2.Enquiry.value=='Enquiry') {
missinginfo += "\n     -  Enquiry";
}


if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Please complete the missing required fields:\n" +
missinginfo + "\n_____________________________" +
"\nPlease re-enter and submit again!";
alert(missinginfo);
return false;
}
else return true;
}
//  End -->


