var prevVal="";
// JavaScript Document
	var myOffset = 170 ;
	var dE = document.documentElement ;
	var dB = document.body ;
	var dObj, errObj ;

	g = function (id)
	{
		return ( document.getElementById ( id ) ) ;
	} ;

	getGlobalOffset = function (obj)
	{
		var cL = cT = 0 ;
		do {
			cL += obj.offsetLeft;
			cT += obj.offsetTop;
		} while (obj = obj.offsetParent);

		return [cL, cT] ;
	} ;

	showError = function ()
	{
			var pos = getGlobalOffset(this);
			errObj.style.display = "block";
			errObj.style.top = pos[1] + "px";
			alert ("width " + this.width + " OffsetW: " + this.offsetWidth + " StyleWidth: " + this.style.width);
			errObj.style.right = ( this.parentNode.parentNode.offsetWidth + myOffset ) + "px" ;
			pos = [] ;
	} ;

	window.onunload = function ()
	{
		//alert ("Hi clearing memory... ! " + errObj);
		errObj = null ;
		//alert ("bye memory cleared :) ! " + errObj);
	};

	window.onload = function ()
	{
		errObj = g('errorDisp') ;
		// test if dE works or dB works accordingly set dObj
		(dE.scrollLeft>=0)? dObj=dE : (dB.scrollLeft>=0)? dObj = dB : dObj = null ;
//		g('txtName').onfocus = showError ;
//		g('txtEmail').onfocus = showError ;
//		g('cmbCity').onclick = showError ;
	} ;
function ajaxFunction(page)
{
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
			alert("Your browser does not support AJAX!");
			return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			document.getElementById('callus'+page).style.visibility='visible';
		}
	}
	xmlHttp.open('GET', 'callus.php', true);
	// xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//     xmlHttp.setRequestHeader("Content-length", parameters.length);
	//     xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(null);
}
function getKeyCode(e)// v1.0
{
	if (window.event)
	   return window.event.keyCode;
	else if (e)
	   return e.which;
	else
	   return null;
}
function keyRestrict(e, validchars)
{
	var key='', keychar='';
	key = getKeyCode(e);
	if (key == null) return true;
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	validchars = validchars.toLowerCase();
	if (validchars.indexOf(keychar) != -1)
		return true;
	if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
		return true;
	return false;
}
function remove(val,elementName)
{
//	alert(elementName);
	errObj = g('errorDisp') ;
	prevVal=val;
	errObj.style.display = 'none';
	if(val=="Full Name *" || val=="Company Email *" || val=="Tel *"  || val=="Company *"|| val=="City *"|| val=="Country *" || val=="Webpage")
	{
		document.frmFirst[elementName].value="";
		var pos = getGlobalOffset(g(elementName));
		errObj.style.display = "block";
		errObj.style.top = pos[1] + "px";
		//console.log ("width " + g(elementName).width + " OffsetW: " + g(elementName).offsetWidth + " StyleWidth: " + g(elementName).style.width);
		//console.log("width " + g(elementName).offsetWidth + "R: " + g(elementName).offsetLeft + 'O ' + errObj.offsetWidth);
		//var w = g('mainContainer').offsetLeft + g(elementName).offsetWidth;
		var txtStr="";
		switch(elementName)
		{
			case 'txtName':
				txtStr="Please enter your full name.";
				break;
			case 'txtEmail':
				txtStr="Our service is aimed at corporations, advertising<br> & design agencies, publishers, professional users<br> & resellers only.So please enter your corporate email address.";
				break;
			case 'txtTele':
				txtStr="Please enter your telephone number.";
				break;
			case 'txtCompany':
				txtStr="We do not extend our services to private requests.<br> So kindly enter your company name.";
				break;
			case 'txtCity':
				txtStr="Please enter the name of your city.";
				break;
			case 'txtCountry':
				txtStr="Please enter the name of your country.";
				break;
			case 'txtWebpage':
				txtStr="Please enter the url of your official website/webpage.";
				break;
		}
		g('errorDisp').getElementsByTagName('span')[0].innerHTML=txtStr;
		errObj.style.left = pos[0] - errObj.offsetWidth - 16 + "px" ;

		pos = [] ;

	}

}

//function checkClick()
//{
//	if(document.getElementById('chkCatLog').checked==true)
//		document.getElementById('catalogDetails').style.display='block';
//	else
//		document.getElementById('catalogDetails').style.display='none';
//}
function validateMe(val,ctrlId,regEx,msg,field)
{
	if(msg=='webpage'&&val=='')
	{
		document.getElementById(ctrlId).value=field;
	}
	else
	{
		var fieldName="err"+ctrlId;
		if( val=="")
		{
			document.getElementById(ctrlId).value=field;
			document.getElementById(fieldName).innerHTML='Please enter your '+msg;
			document.getElementById(fieldName).style.display='block';
		}
		else if((val!="Full Name *" || val!="Company Email *" || val!="Tel *" ||  val!="Company *"||  val!="City *"|| val!="Country *" ||  val!="") && regEx!="")
		{
			if(!(eval(regEx).test(val)))
			{
				document.getElementById(fieldName).innerHTML='Please enter valid '+msg;
				document.getElementById(fieldName).style.display='block';
			}
			else
			{
				document.getElementById(fieldName).innerHTML="";
				document.getElementById(fieldName).style.display='none';
			}
		}
		else
		{
			document.getElementById(fieldName).innerHTML="";
			document.getElementById(fieldName).style.display='none';
		}
	}


}

function validate()
{
	var flag=0;
		var myArr= new Array("txtName","/^[A-Za-z]{1}[A-Za-z ]+$/","name",
	"txtEmail","/^[A-Za-z]{1}[a-zA-Z0-9]*((\.|\_|-|\'){1}[a-zA-Z0-9]+)*@([a-zA-Z0-9]+([\-]{1}[a-zA-Z0-9]+)*[\.]{1})+[a-zA-Z]{2,4}$/","company email id","txtTele","/^[+]?[0-9]{5,15}$/","phone no.","txtCompany","/^[A-Za-z]{1}[A-Za-z0-9]*$/","company",
	"txtCity","/^[A-Za-z]{1}[A-Za-z ]+$/","city",
	"txtCountry","/^[A-Za-z]{1}[A-Za-z ]+$/","country");
	var len=0;

		len=myArr.length;

//		alert(len);
	for(i=0;i<len;i=i+3)
	{
		var fieldName="err"+myArr[i];
		var val=document.getElementById(myArr[i]).value;
//alert(val)
//alert(myArr[i+1]);
		if(val=="Full Name *" || val=="Company Email *" || val=="Tel *" ||  val=="Company *"|| val=="City *"|| val=="Country *" || val=="")
		{
			document.getElementById(fieldName).innerHTML='Please enter your '+myArr[i+2];
			document.getElementById(fieldName).style.display='block';
			flag=1;
			document.getElementById(fieldName).value=val;
		}
		else if((val!="Full Name *" || val!="Company Email *" || val!="Tel *" || val!="Company *"|| val!="City *"|| val!="Country *" || val!="Webpage" || val!="") && myArr[i+1]!="")
		{
//			alert(eval(myArr[i+1]).test(val));
			if(!(eval(myArr[i+1]).test(val)))
			{
//				alert(myArr[i+1]+" "+i);
				document.getElementById(fieldName).innerHTML='Please enter valid '+myArr[i+2];
				document.getElementById(fieldName).style.display='block';
					flag=1;
			}
			else
			{
				document.getElementById(fieldName).innerHTML="";
				document.getElementById(fieldName).style.display='none';
//				if(flag!=1)
//					flag=0;
			}
		}
		else
		{
//			alert("hhh");
			document.getElementById(fieldName).innerHTML="";
			document.getElementById(fieldName).style.display='none';
//			if(flag!=1)
//					flag=0;
		}
	}
	pdfFile=document.frmFirst.pdfUpload.value;
	if(pdfFile.substr(pdfFile.length-4)!=".pdf" && pdfFile!='')
	{
		document.getElementById('pdfUploadError').innerHTML='Selected file should be a .pdf file';
		document.getElementById('pdfUploadError').style.display='block';
		flag=1;
	}
	else
	{
		document.getElementById('pdfUploadError').style.display='none';
	}

//	alert(flag);
if(flag==1)
	return false;
else
{
	if(document.getElementById('pdfUpload').value)
	alert("Please wait while the file uploads !\nPress Ok to continue ")
	return true;
}

}
