	////************* region made by swapnil*****************************
	
	function findObjectOPT(ObjId)
	{
		return document.getElementById(ObjId);
	}
	function checkBlank(x)
	{
		if(trim(x).length>0)
		{		
			
			if(x=='Name   ' || x=='Email   ')
				return false;
			else			
				return true;
		}
		else 
		{
			return false;
		}
	}
function checkMail(x)
{
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;	
	var arrEmail=x.split(",")	
	for(i=0;i<arrEmail.length;i++)
	{	
		if (!filter.test(trim(arrEmail[i])))		
		{
			return false;
			break;		
		}
	}
	return true;
}

///////////////////////////////////////

// Added by Rahul Gaoshinde on 11/1/06

function Execute_Onunload(id)
{	
	if(id!="4")
	{
		if(window.event.clientX < 0)
		{
			//-- close the child window				
			/*if(WinCall!=null)
		 		WinCall.close();*/
			window.open('/ITPFacade/Popup.aspx?content=feedback','viewpopup','width=800,height=450,scrollbars=yes');	
		}
	}
	delSession('candidate');
}
function checkalphanumericKeywordSearch(x)
{
	var filter  = /^[a-zA-Z0-9\s.\-_,'"()/#+&]+$/;
	if (filter.test(x))
	{
		 return true;
	}
	else
	{
		return false;
	}
}
function keywordCountQuotes(x,sep)
{	
	var filter=	/^"/;
	//var quotescount=x.split("\"");
	//alert(sep);
	var quotescount=x.split(sep);
	//alert(quotescount.length);
	if(quotescount.length%2==0)
	{
	// alert("false");
	 return false;
	}
	else
	{
	
	 return true;
	} 
	//alert(" keyword quotes"+quotescount.length+"    "+quotescount[0]+" "+quotescount[1]);
}

function checkKeyword(x)
{
    var filter  = /^"/;    
	if (filter.test(x))
	{
		 return true;
	}
	else
	{
		return false;
	}
}
function checkalphanumericForResumeCodeJobCode(x)
{
	var filter=/^[AEae][0-9]+$/;
	if(filter.test(x))
	{
		return true;
	}
	else
	{return false;
	}
	
}


//
function ValidateFormOPT(ControlStr)
{

	var obj;
	var i;
	var p;
	var q;
	var chkd;
	var test;
	var num;
	var errors;
	var arrCtrl;	
	
	errors='';
	arrCtrl=ControlStr.split("|");	
	for(var i=0; i<(arrCtrl.length); i++)
	{//For Each Control			
			
			var arrCtrlDef=arrCtrl[i].split("~");
			var ctrlID=arrCtrlDef[0];
			var ctrlName=arrCtrlDef[1];
			var ctrlType=arrCtrlDef[2];
			var ctrlConditions=arrCtrlDef[3].split(",");
			var Dt;						
			
			if(ctrlID.indexOf('CompareValues')==0)
			{
				var cntrStringParts=ctrlID.split(",");
				var ctrlNamePart=ctrlName.split(",");
				
				ctrlFrom=findObjectOPT(cntrStringParts[1]);
			    ctrlTo=findObjectOPT(cntrStringParts[2]);
			     if(trim(ctrlFrom.value)!=trim(ctrlTo.value))
				{
						errors = '- '+ctrlNamePart[1]+' must same as '+ctrlNamePart[0]+' .\n';
						ctrl = ctrlFrom;	
						break;
				}
			
			}
			/////add by swapnil to compare currency and 
			if(ctrlID.indexOf('Comparecurrency')==0)
			{
				
				var cntrStringParts=ctrlID.split(",");
				var ctrlNamePart=ctrlName.split(",");
				
				ctrlCurrVal=findObjectOPT(cntrStringParts[1]);
			    ctrlCurrType=findObjectOPT(cntrStringParts[2]);
			    if(trim(ctrlCurrVal.value)!="")
				{
					if(ctrlCurrType.value==0)
					{
						errors = ctrlNamePart[1]+' must have a value selected .\n';
						ctrl = ctrlCurrVal;	
						break;
					}
				}
				else
				{
					if(ctrlCurrType.value!=0)
					{
						errors = ctrlNamePart[0]+' must have numeric value.\n';
						ctrl = ctrlCurrType;	
						break;
					}
				}
			}
			
			
			if(ctrlID.indexOf('EitherIsRequired')==0)
			{
				var cntrStringParts=ctrlID.split(",");
				var ctrlNamePart=ctrlName.split(",");
				
				ctrlFrom=findObjectOPT(cntrStringParts[1]);
			    ctrlTo=findObjectOPT(cntrStringParts[2]);
			    
			    if(trim(ctrlFrom.value)=='' && trim(ctrlTo.value)=='')
				{
						errors = '- either'+ctrlNamePart[1]+' or '+ctrlNamePart[0]+' is Required' + ' .\n';	
						ctrl = ctrlFrom;
						break;
				}
			
			}
			
				
			
			if(ctrlID.indexOf('dt')==0)//It Is Date type control
			{
			  
				var cntrDateParts=ctrlID.split(",");
				ctrlDate=findObjectOPT(cntrDateParts[1]);
				ctrlMonth=findObjectOPT(cntrDateParts[2]);
				ctrlYear=findObjectOPT(cntrDateParts[3]);
				Dt=  ctrlMonth.value+'/'+ctrlDate.value+'/'+ctrlYear.value;								
				if((ctrlDate.value!=0)||(ctrlMonth.value!=0)||(ctrlYear.value!=0))				
				{		
					if(chkdate(Dt)==false)
					{					    
						errors = '- '+ctrlName+' is not Valid Date.\n';	
						ctrl=ctrlDate;
						break;
					}
				}	
					
				
					for(var j=0; j<(ctrlConditions.length); j++)//Check Each Condition
					{				
					
						switch(ctrlConditions[j])
						{
							case "R"://Checks for required
							{							
								if ((ctrlDate.value==0)||(ctrlMonth.value==0)||(ctrlYear.value==0) ) 
								{
									errors = '- ' + ctrlName + ' is required';									
									ctrl=ctrlDate;
									break;
								}							
							}
						}
						
					}	
					if(errors !='')
					break;
									
			}			
			if(ctrlID.indexOf('ToFromdt')==0)
			{
			
				var cntrDateParts=ctrlID.split(",");
				var ctrlNamePart=ctrlName.split(",");
				
				ctrlDateFrom=findObjectOPT(cntrDateParts[1]);
				ctrlMonthFrom=findObjectOPT(cntrDateParts[2]);
				ctrlYearFrom=findObjectOPT(cntrDateParts[3]);
				ctrlDateTo=findObjectOPT(cntrDateParts[4]);
				ctrlMonthTo=findObjectOPT(cntrDateParts[5]);
				ctrlYearTo=findObjectOPT(cntrDateParts[6]);
				
				DtFrom=ctrlMonthFrom.value+'/'+ctrlDateFrom.value+'/'+ctrlYearFrom.value;
				DtTo=ctrlMonthTo.value+'/'+ctrlDateTo.value+'/'+ctrlYearTo.value;
				if((chkdate(DtFrom)==true) && (chkdate(DtTo)==true))
				{
					if(doDateCheck(DtFrom,DtTo)==false)
					{
						errors = '- '+ctrlNamePart[0]+' must less than '+ctrlNamePart[1]+' .\n';	
						ctrl=ctrlDateFrom;
						break;
					}
					
				}
					
			}	
			
			
			//Shailesh
			if(ctrlID.indexOf('DateofBirth')==0)
			{
				var cntrDateParts=ctrlID.split(",");
				var ctrlNamePart=ctrlName.split(",");
				var CurrDate=new Date();
				var Db;
                
				ctrlDate=findObjectOPT(cntrDateParts[1]);
				ctrlMonth=findObjectOPT(cntrDateParts[2]);
				ctrlYear=findObjectOPT(cntrDateParts[3]);
				
				Db=ctrlMonth.value+'/'+ctrlDate.value+'/'+ctrlYear.value;
				var Dob = new Date(Db) 
				if(Dob > CurrDate)
					{
						
							errors = '- '+ctrlNamePart[0]+' must less than Current Date.\n';	
							ctrl=ctrlDate;
							break;					
						
					}
					
			}		
							
			ctrl=findObjectOPT(ctrlID);	
			
			if(ctrl)//obj not null
			{			
				
				switch(ctrlType)//Switch by Control Types (txt,rd,chk,ddl,lst)
					{					
						
					case "txt":
							{
								
								for(var j=0; j<(ctrlConditions.length); j++)//Check Each Condition
								{
					
									switch(ctrlConditions[j])
									{						
										
										case "R"://Checks for required
										{		
											
											if (checkBlank(ctrl.value)==false) errors = '- '+ctrlName+' is required.\n';												
											break;
										}
										case "IsNumber"://Checks for numeric
										{
											//num = parseFloat(ctrl.value);
										if(trim(ctrl.value).length>0)
											{
												if (checkNumber(ctrl.value)==false) errors ='- '+ctrlName+' must contain a number.\n';											
											}
											break;
										}
										case "IsInt"://Checks for numeric
										{
											//num = parseInt(ctrl.value);
											if(trim(ctrl.value).length>0)
											{
												if (checkInt(ctrl.value)==false) errors ='- '+ctrlName+' must contain a Integer.\n';
											}
											break;
										}
										case "IsEmail"://checks for email address
										{
											
										    if(trim(ctrl.value).length>0)
										    {									   
											if (checkMail(ctrl.value)==false) errors ='- '+ctrlName+' must contain an e-mail address.\n';
											}
											break;
										}
										case "IsAlphaNumeric":
										{
											if(trim(ctrl.value).length>0)
											{
											if (checkalphanumeric(ctrl.value)==false) errors ='- '+ctrlName+' must contain only characters and numbers.\n';
											}
											break;
										
										}
										case "IsAlpha":
										{if(trim(ctrl.value).length>0)
											{
											if (checkalpha(ctrl.value)==false) errors ='- '+ctrlName+' must contain only characters.\n';
											}
											break;
										}
										
										case "IsAlphaNumericAllowCharWithFirstAlpha":
										{
										if(trim(ctrl.value).length>0)
											{
											if (checkalphanumericWithAllowableCharAndFirstAlpha(ctrl.value)==false) errors ='- '+ctrlName+' must contain first alpha character and can have AlphaNumeric and characters(- _ .\').\n';
											}
											break;
										
										}
										
										case "IsAlphaNumericAllowCharWithFirstAlphaWithQuote":
										{
										if(trim(ctrl.value).length>0)
											{
											if (checkalphanumericWithAllowableCharAndFirstAlphaWithQuote(ctrl.value)==false) errors ='- '+ctrlName+' must contain first alpha character and can have AlphaNumeric and characters(- _ .\').\n';
											}
											break;
										
										}
										
										case "IsAlphaNumericAllowCharWithFirstAlphaWithoutQuote":
										{
										if(trim(ctrl.value).length>0)
											{
											if (checkalphanumericWithAllowableCharAndFirstAlphaWithoutQuote(ctrl.value)==false) errors+='- '+ctrlName+' must contain first alpha character and can have AlphaNumeric and characters(- _ .\).\n';
											}
											break;
										
										}
									
										case "IsAlphaNumericAllowChar":
										{
										if(trim(ctrl.value).length>0)
											{
											if (checkalphanumericWithAllowableChar(ctrl.value)==false) errors ='- '+ctrlName+' can have AlphaNumeric and characters(- _ . () # + &\' /)\n';
											}
											break;
										
										}
										
										case "IsPhoneNo":
										{
											if(trim(ctrl.value).length>0)
											{
												if (checkPhoneNo(ctrl.value)==false) errors ='- '+ctrlName+' is not a Valid Phone Number.\n';
											}
											break;
										}
										case "IsMinLen":
										{																											
											if(trim(ctrl.value).length>0)
											{
											if (checkLength(ctrl.value)==false) errors ='- '+ctrlName+' must contain minimum 8 characters.\n';
											}
											break;
										
										}
										case "IsMinLenone":
										{
											if(trim(ctrl.value).length>0 )
											{
												if (ctrl.value<=0)
												{
													 alert(ctrlName+' must contain minimum One Value');
													 return false;
												 }
											}
											else
											{
													 alert(ctrlName+' must contain minimum One Value');
													 return false;
											}
											break;
										
										}
										case "IsMinLen200":
										{
										if(trim(ctrl.value).length>0)
											{
											
											if (checkLengthmin200(ctrl.value)==false) errors ='- '+ctrlName+' must contain minimum 200 characters.\n';
											}
											break;
										
										}
										case "IsMinLen100":
										{
										if(trim(ctrl.value).length>0)
											{
											if (checkLengthmin100(ctrl.value)==false) errors ='- '+ctrlName+' must contain minimum 100 characters.\n';
											}
											break;
										
										}
										case "IsMaxLen": //to check Max length of text box (multi line) control, Make Id of control as ID +"_"+"Length". f.e. "txt1_200" for txt1 text box with Max length 200 
										{	
											arrValue=ctrlID.split("_")																							
											if (checkLengthMax(ctrl.value,arrValue[1])==false)
											{												
												errors+='- '+ctrlName+' cannot contain more than '+ arrValue[1] +' characters.\n';												
											}
											break;										
										}	
										case "IsURL":
										{
										if(trim(ctrl.value).length>0)
											{
											if (checkURL(ctrl.value)==false) errors ='- '+ctrlName+' is not a Valid URL.\n';
											}
											break;
										
										}
										case "checkalphanumericWithAllowableCharUserID":
										{
											if(trim(ctrl.value).length>0)
											{
											if (checkuserId(ctrl.value)==false) errors ='- '+ctrlName+' can have only Alphanumeric and Characters(-_.).\n';
											}
											break;
										}
										////// function to check blank spaces in string Please write "ControlID~Show text~txt~BlankCharChk"
										case "BlankCharChk":
										{
											if(trim(ctrl.value).length>0)
											{
												var white;
												white = " ";
												index = 0;
												while (index < trim(ctrl.value).length)
												{
													if (white.indexOf(ctrl.value.charAt(index))!=-1)
													{
														errors ='- '+ctrlName+' Blank char is not allowed\n';
														break;
													}
													index++;
												}
											}
											break;
										}										
									}
									if (errors !='') break;
								} //end of inner for loop
								break;
							}
						case "rd":
							{
								for(var j = 0; j < ctrl.length; j++)
								{
									if(!ctrl[j].checked)
									{
									}
									else
									{
										chkd = true;//Checked
									}
								}
								if(!chkd) errors ='- '+ctrlName+' must have at least one value selected.\n';
								break;
							}
						case "chk":
							{
								
								if(!ctrl.checked) errors ='- '+ctrlName+' must have at least one value selected.\n';
								break;
							}
						case "ddl":
							{
								if(ctrl.selectedIndex==0) errors ='- Please select '+ctrlName+'.\n';								
								break;
							}
						case "lst":
							{
								if(ctrl.selectedIndex==0 || ctrl.selectedIndex==-1) errors ='- '+ctrlName+' must have at least one value selected.\n';
								break;
							}	
							
							
					}//End Switch
			
			}//end of obj not null						
			if (errors !='') break;								
			
	}//For Each Control		
		
	if(errors)
	{
		alert('The following error occurred:\n'+errors);
		ctrl.focus()
		return false;
	}
	
		return true;
	
}

function delSession(ref)
				{
					
					if(window.event.clientX < 0)
					{
						try
						{
							obj = new ActiveXObject("Msxml2.XMLHTTP");
						}
						catch(e)
						{
							try
							{
								obj = new ActiveXObject("Microsoft.XMLHTTP");
							}
							catch(e1)
							{
								obj = null;
							}
						}
						if(obj!=null)
						{
							obj.onreadystatechange = ProcessResponse;
							obj.open("GET", "http://www.it-people.com/ITPfacade/candidate.aspx?content=strack&SessionFlag="+ref+"",  true);
							obj.send(null);         
						}
						return false;
					}
				}
			function ProcessResponse()
			{
				if(obj.readyState == 4)
				{
					if(obj.status == 200)
					{
					return true;
					}
					else
					{

					}
				}
			}
