 
/**
 * NAME OF FILE-CommonJS.js
 * ---------------------
 * DESCRIPTION : Javascript file.
 * ---------------------
 **/

var len;
var indexes;
var arrStateCity;
var arrStateCityVals;

var arrState;
var arrStateVals;
var arrCity;
var arrCityVals;
var val;
var count;
var form;

/*   Changes made By Subodh... to enhance the functionality for Course starts here*/
var dlen;
var dindexes;
var dval;
var dval2;
var dcount;
var arrDegreeSpec;
var arrDegreeSpecVals;
var arrFunctSpec;
var arrFunctSpecVals;
var arrDegree;
var arrDegreeVals;

/*   Changes made By Subodh... to enhance the functionality for Course ends here*/

/* Changes made by ritu... to check for valid phone numbers starts here*/
var validWorldPhoneChars = "0123456789-+ ";

// ********
function loadFunctSpecDDStartup(form, field1, field2){
	//alert('loadFunctSpecDDStartup');
	dlen = form.elements[field2].options.length;
	arrFunctSpec = new Array(len);
	arrFunctSpecVals = new Array(len);	
	for (var i=0;i<dlen;i++) {
		arrFunctSpecVals[i] = form.elements[field2].options[i].value;
		arrFunctSpec[i] = form.elements[field2].options[i].text;
	}	
	dcount=0;
	var dselcount= new Array(dlen);
	dval2 = new Array(dlen);
	//dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var klen=0;
	var dl=form.elements[field1].options.length;
	//alert("dl "+dl);
	var dval_func=new Array(dl);
	for(var ilen=0;ilen<dl;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	if(klen==0)
	{
		for(var t=0;t<dl;t++)
		{
			dval_func[klen] = form.elements[field1].options[t].value;
				klen++;
		}
	}
	//
	//alert("klen: "+klen);

	var i=0;
	var ii=0;
	var k=0;
	for(i=0,k=0;i<dlen;i++)
	{		
		if(form.elements[field2].options[i].selected)
		{
			dval2[k] = form.elements[field2].options[i].value;			
			k++;
		}
	}	
	dindexes = new Array(dlen);	

	for(var n=0;n<klen;n++){
		if(parseInt(dval_func[n]) == -1){
			form.elements[field2].options.length=0;
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = -1;
			form.elements[field2].options[0].text = "No Preference";
			form.elements[field2].selectedIndex = 0; 
			return;
		}
	}
}


// ********


/* Changes made by raj... for Area of Specialisation  here*/

function loadFunctSpecDD(form, field1, field2){
	
	dlen = form.elements[field2].options.length;
	arrFunctSpec = new Array(len);
	arrFunctSpecVals = new Array(len);	
	for (var i=0;i<dlen;i++) {
		arrFunctSpecVals[i] = form.elements[field2].options[i].value;
		arrFunctSpec[i] = form.elements[field2].options[i].text;
	}	
	dcount=0;
	var dselcount= new Array(dlen);
	dval2 = new Array(dlen);
	//dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var klen=0;
	var dl=form.elements[field1].options.length;
	//alert("dl "+dl);
	var dval_func=new Array(dl);
	for(var ilen=0;ilen<dl;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	if(klen==0)
	{
		for(var t=0;t<dl;t++)
		{
			dval_func[klen] = form.elements[field1].options[t].value;
				klen++;
		}
	}
	//
	//alert("klen: "+klen);

	var i=0;
	var ii=0;
	var k=0;
	for(i=0,k=0;i<dlen;i++)
	{		
		if(form.elements[field2].options[i].selected)
		{
			dval2[k] = form.elements[field2].options[i].value;			
			k++;
		}
	}	
	dindexes = new Array(dlen);	

	for (i=0,ii=0;i<dlen;i++)
	{
		for(var n=0;n<klen;n++){
			if (form.elements[field2].options[i].value.substring(0,2) == dval_func[n])
			{
				//alert("dval_func[n] "+dval_func[n]);
				for(var kk=0;kk<i;kk++)
				{
					if(form.elements[field2].options[i].value == dval2[kk])
					{
						dselcount[ii] = i;
						ii++;	
					}
				}			
				dindexes[dcount] = i;
				dcount = dcount+1;	
			}
		}
	}
	form.elements[field2].options.length=0;
	var sel = -1;
	for (var i=0;i<dcount;i++) { 
		var j = dindexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrFunctSpecVals[j];
		form.elements[field2].options[i].text = arrFunctSpec[j];
		for(var kk=0;kk<ii;kk++)
		{
			if(j == dselcount[kk])
			{
				form.elements[field2].options[i].selected =true; 			
			}
		}
	}
	for(var n=0;n<klen;n++){
		if(parseInt(dval_func[n]) == -1){
			form.elements[field2].options.length=0;
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = -1;
			form.elements[field2].options[0].text = "No Preference";
			form.elements[field2].selectedIndex = 0; 
			return;
		}
	}
}
function changeFunctSpec(form,field1,field2) {
	
	dlen = form.elements[field1].options.length;
//	alert("dlen "+dlen);
	dcount=0;
	var dval_func=new Array(dlen);
	var klen=0;


//val = form.elements[field1].options[form.elements[field1].selectedIndex].value;

	for(var ilen=0;ilen<dlen;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	
for(var n=0;n<klen;n++){
	if(parseInt(dval_func[n]) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}
}

	dindexes = new Array(dlen);
	for (var i=0;i<arrFunctSpecVals.length;i++) 
	{

		for(var k=0;k<=klen;k++)
		{
			if (arrFunctSpecVals[i].substring(0,2) == dval_func[k])
			{ 
				//alert("arrFunctSpecVals[i] "+ arrFunctSpecVals[i]);
				dindexes[dcount] = i;
				dcount = dcount+1;	
				//alert("dcount "+dcount);
			}
		}
	}

	form.elements[field2].options.length=0;
	var sel = 0;
	if(dcount>0){
		for (i=0;i<dcount;i++) { 
			var j = dindexes[i];
			form.elements[field2].options.length += 1;
			form.elements[field2].options[i].value = arrFunctSpecVals[j];
			form.elements[field2].options[i].text = arrFunctSpec[j];		
		}
	}else
	{
		for (i=0;i<arrFunctSpecVals.length;i++) { 
			//var j = dindexes[i];
			form.elements[field2].options.length += 1;
			form.elements[field2].options[i].value = arrFunctSpecVals[i];
			form.elements[field2].options[i].text = arrFunctSpec[i];		
		}
	
	}
}
function loadFunctSpecDDEmp(form, field1, field2){
	
	dlen = form.elements[field2].options.length;
	arrFunctSpec = new Array(len);
	arrFunctSpecVals = new Array(len);	
	for (var i=0;i<dlen;i++) {
		arrFunctSpecVals[i] = form.elements[field2].options[i].value;
		arrFunctSpec[i] = form.elements[field2].options[i].text;
	}	
	dcount=0;
	var dselcount= new Array(dlen);
	dval2 = new Array(dlen);
	//dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var klen=0;
	var dl=form.elements[field1].options.length;
	//alert("dl "+dl);
	var dval_func=new Array(dl);
	for(var ilen=0;ilen<dl;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	
	/*if(klen==0)
	{
		for(var t=0;t<dl;t++)
		{
			dval_func[klen] = form.elements[field1].options[t].value;
				klen++;
		}
	}*/
	
	var i=0;
	var ii=0;
	var k=0;
	if(klen>0){
		for(i=0,k=0;i<dlen;i++)
		{		
			if(form.elements[field2].options[i].selected)
			{
				dval2[k] = form.elements[field2].options[i].value;			
				k++;
			}
		}	

	dindexes = new Array(dlen);	
	
	for (i=0,ii=0;i<dlen;i++)
	{
		for(var n=0;n<klen;n++){
			if (form.elements[field2].options[i].value.substring(0,2) == dval_func[n])
			{
				//alert("dval_func[n] "+dval_func[n]);
				for(var kk=0;kk<i;kk++)
				{
					if(form.elements[field2].options[i].value == dval2[kk])
					{
						dselcount[ii] = i;
						ii++;	
					}
				}			
				dindexes[dcount] = i;
				dcount = dcount+1;	
			}
		}
	}
	form.elements[field2].options.length=0;
	var sel = -1;
	for (var i=0;i<dcount;i++) { 
		var j = dindexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrFunctSpecVals[j];
		form.elements[field2].options[i].text = arrFunctSpec[j];
		for(var kk=0;kk<ii;kk++)
		{
			if(j == dselcount[kk])
			{
				form.elements[field2].options[i].selected =true; 			
			}
		}
	}
	}
	else
	{
		
			form.elements[field2].options.length = 1;				
			form.elements[field2].options[0].value = "-1";
			form.elements[field2].options[0].text = "Please Select Functional Area";	
	}


	for(var n=0;n<klen;n++){
		if(parseInt(dval_func[n]) == -1){
			form.elements[field2].options.length=0;
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = -1;
			form.elements[field2].options[0].text = "No Preference";
			form.elements[field2].selectedIndex = 0; 
			return;
		}
	}
}

function changeFunctSpecEmp(form,field1,field2) {
	
	dlen = form.elements[field1].options.length;
//	alert("dlen "+dlen);
	dcount=0;
	var dval_func=new Array(dlen);
	var klen=0;


//val = form.elements[field1].options[form.elements[field1].selectedIndex].value;

	for(var ilen=0;ilen<dlen;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	
for(var n=0;n<klen;n++){
	if(parseInt(dval_func[n]) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}
}

	dindexes = new Array(dlen);
	for (var i=0;i<arrFunctSpecVals.length;i++) 
	{

		for(var k=0;k<=klen;k++)
		{
			if (arrFunctSpecVals[i].substring(0,2) == dval_func[k])
			{ 
				//alert("arrFunctSpecVals[i] "+ arrFunctSpecVals[i]);
				dindexes[dcount] = i;
				dcount = dcount+1;	
				//alert("dcount "+dcount);
			}
		}
	}

	form.elements[field2].options.length=0;
	var sel = 0;
	if(dcount>0){
		for (i=0;i<dcount;i++) { 
			var j = dindexes[i];
			form.elements[field2].options.length += 1;
			form.elements[field2].options[i].value = arrFunctSpecVals[j];
			form.elements[field2].options[i].text = arrFunctSpec[j];		
		}
	}else
	{
		
		
			form.elements[field2].options.length += 1;
			//form.elements[field2].options[i].value = arrFunctSpecVals[i];
			//form.elements[field2].options[i].text = arrFunctSpec[i];		
			form.elements[field2].options[0].value = "-1";
			form.elements[field2].options[0].text = "Please Select Functional Area";		
		
	
	}
}
function loadStateCityDD(form, field1, field2){
	len = form.elements[field2].options.length;
	arrStateCity = new Array(len);
	arrStateCityVals = new Array(len);


	for (var i=0;i<len;i++) {
		arrStateCityVals[i] = form.elements[field2].options[i].value;
		arrStateCity[i] = form.elements[field2].options[i].text;
	}
	
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;

	indexes = new Array(len);

	for (var i=0;i<len;i++) {
		if (form.elements[field2].options[i].value.substring(0,3) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}
	form.elements[field2].options.length=0;
	var sel = -1;
	for (var i=0;i<count;i++) { 
		var j = indexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrStateCityVals[j];
		form.elements[field2].options[i].text = arrStateCity[j];
		if(parseInt(form.elements[field2].options[i].value) == 198185)
			form.elements[field2].selectedIndex = i;
	}
	
	if(parseInt(val) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}
}

function loadSearchStateCityDD(form, field1, field2){
	len = form.elements[field2].options.length;
	arrStateCity = new Array(len);
	arrStateCityVals = new Array(len);


	for (var i=0;i<len;i++) {
		arrStateCityVals[i] = form.elements[field2].options[i].value;
		arrStateCity[i] = form.elements[field2].options[i].text;
	}
	
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	indexes = new Array(len);

	for (var i=0;i<len;i++) {
		if (form.elements[field2].options[i].value.substring(0,3) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}
	form.elements[field2].options.length=0;
	var sel = -1;

		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";

	for (var i=0;i<count;i++) { 
		var j = indexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i+1].value = arrStateCityVals[j];
		form.elements[field2].options[i+1].text = arrStateCity[j];
	}
	
		form.elements[field2].selectedIndex = 0; 
		return;
}

function loadStateDD(form, field1, field2){
	len = form.elements[field2].options.length;
	arrState = new Array(len);
	arrStateVals = new Array(len);


	for (var i=0;i<len;i++) {
		arrStateVals[i] = form.elements[field2].options[i].value;
		arrState[i] = form.elements[field2].options[i].text;
	}
	
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	indexes = new Array(len);

	for (var i=0;i<len;i++) {
		if (form.elements[field2].options[i].value.substring(0,3) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}
	form.elements[field2].options.length=0;
	var sel;
	for (var i=0;i<count;i++) { 
		var j = indexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrStateVals[j];
		form.elements[field2].options[i].text = arrState[j];
		if(parseInt(form.elements[field2].options[i].value) == parseInt(form.hidState.value))
			sel = i;
	}
	form.elements[field2].selectedIndex = sel;
}


function loadCityDD(form, field1, field2){
	len = form.elements[field2].options.length;
	arrCity = new Array(len);
	arrCityVals = new Array(len);


	for (var i=0;i<len;i++) {
		arrCityVals[i] = form.elements[field2].options[i].value;
		arrCity[i] = form.elements[field2].options[i].text;
	}
	
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	indexes = new Array(len);

	for (var i=0;i<len;i++) {
		if (form.elements[field2].options[i].value.substring(0,6) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}
	form.elements[field2].options.length=0;
	var sel;
	for (var i=0;i<count;i++) { 
		var j = indexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrCityVals[j];
		form.elements[field2].options[i].text = arrCity[j];
		if(parseInt(form.elements[field2].options[i].value) == parseInt(form.hidCity.value))
			sel = i;
	}
	form.elements[field2].selectedIndex = sel;
}


function changeStateCity(form,field1,field2) {
	len = arrStateCityVals.length;
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	if(parseInt(val) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}

	indexes = new Array(len);
	for (var i=0;i<len;i++) {
		if (arrStateCityVals[i].substring(0,3) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}

	form.elements[field2].options.length=0;
	var sel = 0;
	for (i=0;i<count;i++) { 
		var j = indexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrStateCityVals[j];
		form.elements[field2].options[i].text = arrStateCity[j];
		if(parseInt(form.elements[field2].options[i].value) == 198185)
			sel = i;
	}
	form.elements[field2].selectedIndex = sel;
}


/*----  Added for search forms only*/
function changeSearchStateCity(form,field1,field2) {
	len = arrStateCityVals.length;
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	if(parseInt(val) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}

	indexes = new Array(len);
	for (var i=0;i<len;i++) {
		if (arrStateCityVals[i].substring(0,3) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}

	form.elements[field2].options.length=0;
	form.elements[field2].options.length += 1;
	form.elements[field2].options[0].value = -1;
	form.elements[field2].options[0].text = "No Preference";
	for (i=1;i<=count;i++) { 
		var j = indexes[i-1];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrStateCityVals[j];
		form.elements[field2].options[i].text = arrStateCity[j];
	}
	form.elements[field2].selectedIndex = 0;
}
/*----*/

function changeState(form,field1,field2,field3) {
	len = arrStateVals.length;
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	indexes = new Array(len);
	for (var i=0;i<len;i++) {
		if (arrStateVals[i].substring(0,3) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}

	form.elements[field2].options.length=0;
	var sel = 0;
	for (i=0;i<count;i++) { 
		var j = indexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrStateVals[j];
		form.elements[field2].options[i].text = arrState[j];
		if(parseInt(form.elements[field2].options[i].value) == 198103)
			sel = i;
	}
	form.elements[field2].selectedIndex = sel;
	changeCity(form,field2,field3);
}

function changeCity(form,field1,field2) {
	len = arrCityVals.length;
	count=0;
	val = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	indexes = new Array(len);
	for (var i=0;i<len;i++) {
		if (arrCityVals[i].substring(0,6) == val) { 
			indexes[count] = i;
			count = count+1;	
		}
	}

	form.elements[field2].options.length=0;
	var sel = 0;
	for (i=0;i<count;i++) { 
		var j = indexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrCityVals[j];
		form.elements[field2].options[i].text = arrCity[j];
		if(parseInt(form.elements[field2].options[i].value) == 198103100)
			sel = i;
	}
	form.elements[field2].selectedIndex = sel;
}

function checkPositiveInteger(field,name) {
		var fieldValue = field.value;
		//Check for non-integer or negative entries 
		if(isNaN(fieldValue) || parseInt(fieldValue) <= 0 || fieldValue.indexOf(".") != -1)	
		{
			field.focus();
			if(name != null)
				alert("Please provide a numeric value for "+name);
			else
				alert("Please provide a numeric value only.");
			field.select();
			field.focus();
			return false;
		}
		return true;
}

function checkFloat(field,name) {
		var fieldValue = field.value;
		//Check for negative entries 
		if(isNaN(fieldValue) || parseInt(fieldValue) <= 0)	
		{
			field.focus();
			if(name != null)
				alert("Please provide a numeric value for "+name);
			else
				alert("Please provide a numeric value only.");
			field.select();
			field.focus();
			return false;
		}
		if(fieldValue.indexOf(".") != -1)
		{
			var substring1 = fieldValue.substring(fieldValue.indexOf(".")+1,fieldValue.length);
			if(substring1.length > 2)
			{
			field.focus();
			if(name != null)
				alert("Please provide only two digits after decimal for "+name);
			else
				alert("Please provide only two digits after decimal.");
			field.select();
			field.focus();
			return false;
			}
				
		}

		return true;
}

function trim( instr ) {
    	var reFirst = /\S/;		// regular expression for first non-white char
    	var reLast = /\s+$/;	// regular expression for first white char after last non-white char
    	var firstChar = instr.search(reFirst);
    	var lastChar = instr.search(reLast);
    	
    	if( lastChar == -1 ) 
			lastChar = instr.length;    	
    	outstr = instr.substring( firstChar, lastChar );
    	return outstr;
}

function checkBlank(field,name)
{
	if(trim(field.value) == "")
	{	
		field.focus();
		if(name != null)
			alert(name+" cannot be left blank.");
		else
			alert("This field cannot be left blank.");

		field.value = "";
		field.focus();
		return false;
	}
	return true;
}
//New function added to display correct error/ warning msgs.
//by pawan on 11/10/2004
function checkBlankNew(field,msg)
{
	if(trim(field.value) == "")
	{	
		field.focus();
		if(msg != null)
			alert(msg);
		else
			alert("This field is Mandatory");

		field.value = "";
		field.focus();
		return false;
	}
	return true;
}

function replaceQuotes(field)
{

	if(trim(field.value) != ""){
//		alert(field.name);
		if(!parseText(field.value,field))
		{
			alert(" Please Enter Valid Characters  " ) ;
			field.focus();
			return false;
		}
			
		var myRegExp = /'/g;
		var newString = field.value.replace(myRegExp,"`");
		field.value = newString;
	}
	return true;
}

function isAlphabetic(val)
{
   if (val.match(/^[a-zA-Z]+$/))
   {
      return true;
   }
   else
   {
      return false;
   }   
}


// new function
function isValidName(val)
{
   if (val.match(/^[a-zA-Z. ]+$/))
   {
      return true;
   }
   else
   {
      return false;
   }   
}


function isEmail (emailIn){
	var isEmailOk = false;
//	var filter = /^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9-]+(\.[a-zA-Z][a-zA-Z-]+)+$/
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;


	if(emailIn.search(filter) != -1)
		isEmailOk = true;
	if(emailIn.indexOf("..") != -1)
		isEmailOk = false;
	if(emailIn.indexOf(".@") != -1)
		isEmailOk = false;
		if(emailIn.indexOf("@.") != -1)
		isEmailOk = false;

	return isEmailOk;
} // Ends 

function isValidEmail (emailIn){
	var isEmailOk = false;
//	var filter = /^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9-]+(\.[a-zA-Z][a-zA-Z-]+)+$/
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;


	if(emailIn.search(filter) != -1)
		isEmailOk = true;
	if(emailIn.indexOf("..") != -1)
		isEmailOk = false;
	if(emailIn.indexOf(".@") != -1)
		isEmailOk = false;
	if(emailIn.indexOf("'") != -1 || emailIn.indexOf("''") != -1 || emailIn.indexOf("\"") != -1 || emailIn.indexOf("\"\"") != -1 || emailIn.indexOf("(") != -1  || emailIn.indexOf(")") != -1 || emailIn.indexOf("[") != -1 || emailIn.indexOf("]") != -1 || emailIn.indexOf("{") != -1  || emailIn.indexOf("}") != -1 || emailIn.indexOf(",") != -1 || emailIn.indexOf(",,") != -1 || emailIn.indexOf(":") != -1 || emailIn.indexOf(";") != -1 || emailIn.indexOf("#") != -1 || emailIn.indexOf("mailto:") != -1)
		isEmailOk = false;

	return isEmailOk;
} // Ends 

/********************************************************added by lokesh*****/ 
function MultipleEmail (emailIn){
	//alert("emailIn =="+emailIn);
	var isEmailOk = false;
//	var filter = /^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9-]+(\.[a-zA-Z][a-zA-Z-]+)+$/
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	
	var LastCommaIndex = emailIn.lastIndexOf(',');	
	//alert("LastCommaIndex==="+LastCommaIndex);


	var separator = ",";
	
	lastemail = emailIn.substring(LastCommaIndex,emailIn.length);
	
	emailIn = emailIn.substring(0,emailIn.length);
	//alert("lastemail emailIn====="+emailIn);

	if (lastemail.length > 1)
	{
	}
	else
	{
		emailIn = emailIn.substring(0,LastCommaIndex);
	}
	var arrayOfStrings = emailIn.split(separator);
	
	var sizeArr  = arrayOfStrings.length;
	//alert("sizeArr=="+sizeArr);

	for (em=0;em<sizeArr ;em++ )
	{
		getemailIn = arrayOfStrings[em];
		//alert("Inside for getemailIn == == "+getemailIn);
		if(getemailIn.search(filter) != -1)
		{
			isEmailOk = true;
			//alert("isEmailOk== "+isEmailOk);
		}
		else
		{
			isEmailOk = false;
			break;
		}
		if(getemailIn.indexOf("..") != -1)
		{
			isEmailOk = false;
			//alert("isEmailOk 2== "+isEmailOk);
		}
		if(getemailIn.indexOf(".@") != -1)
		{
			isEmailOk = false;
			//alert("isEmailOk 3== "+isEmailOk);
		}
		emailIn ="";
	}
	return isEmailOk;
} // Ends
/********************************************************/

function isSms (sms)
{
	var isSmsOk = false;
	var filter = /^[\+]?[0-9]{10,}\@[a-zA-Z0-9]+(\.[a-zA-Z][a-zA-Z]+)+$/

	if(sms.search(filter) != -1)
		isSmsOk = true;

	return isSmsOk;
}

function validateContactDetailForm(frm)
{	
	if(  frm.chkEmail.checked==false && frm.chkPostalAddress.checked==false  ) {
		alert("Please select atleast one option for contact details.");
		frm.chkEmail.focus();
		return false;
	}

	if(frm.chkEmail.checked && frm.rdoEmail[1].checked) {
		if(!isEmail(trim(frm.txtEmail2.value))){
			alert("Email format is not correct. \nThe entry should be of type 'a@b.c', where 'c' is a valid domain name or a 2-letter country code.");
			frm.txtEmail2.select();
			frm.txtEmail2.focus();
			return false;
		}
		if (!replaceQuotes(frm.txtEmail2))
		{
			return false;
		}
	}


	if(frm.chkPostalAddress.checked)
	{
		if (!replaceQuotes(frm.txtAddress1))
		{
			return false;
		}
		if (!replaceQuotes(frm.txtAddress2))
		{
			return false;
		}
		if (!replaceQuotes(frm.txtTelOff))
		{
			return false;
		}
		if (!replaceQuotes(frm.txtTelOther))
		{
			return false;
		}
	}




	if(frm.chkPostalAddress.checked)
	{
		if(trim(frm.txtPinCode.value) != "")
		if(!checkPositiveInteger(frm.txtPinCode))
		 return false;
	}

	if(frm.chkTerms != null && frm.chkTerms.checked == false)
	{
	var retVal = confirm("Yes! I agree with the Terms of Use.");
		if(retVal){
			frm.chkTerms.checked = true;
			return true;
		}
		else
			return false;
	}

	return true;
}

function checkDate(day,month,year)
{
	var dd = parseInt(day.options[day.selectedIndex].value);
	var mm = parseInt(month.options[month.selectedIndex].value);
	var yyyy = parseInt(year.options[year.selectedIndex].value);

	if((mm == 4 || mm == 6 || mm == 9 || mm == 11) && (dd > 30))
	{
		alert("Please select a valid date");
		day.focus();
		return false;
	}
	if(mm == 2)
	{
		if(dd > 29)
		{
			alert("Please select a valid date");
			day.focus();
			return false;
		}
		else if (dd == 29) { 
				if(!( ((yyyy%4 == 0) && (yyyy%100 != 0)) || (yyyy%400 == 0) )) {
					alert("Please select a valid date");
					day.focus();
					return false;	
				}
		}
	}
	return true;
}

function isDateBeforeSystemDate(day,month,year,cday,cmonth,cyear)
{	
	var dd = parseInt(day.options[day.selectedIndex].value);
	var mm = parseInt(month.options[month.selectedIndex].value);
	var yyyy = parseInt(year.options[year.selectedIndex].value);
	
	if(cyear.value < yyyy)
	{
		alert("Date should be before today's date");			
		day.focus();
		return false;
	}

	if((cyear.value == yyyy) && (cmonth.value < mm))
	{
		alert("Date should be before today's date");			
		day.focus();
		return false;
	}

	if((cyear.value == yyyy) && (cmonth.value == mm)  && (cday.value <= dd))
	{
		alert("Date should be before today's date");			
		day.focus();
		return false;
	}
	return true;
}

function isDateBeforeToday(day,month,year)
{
	var dd = parseInt(day.options[day.selectedIndex].value);
	var mm = parseInt(month.options[month.selectedIndex].value);
	var yyyy = parseInt(year.options[year.selectedIndex].value);
	var today = new Date();
	if(today.getFullYear() < yyyy)
	{
		alert("Date should be before today's date");			
		day.focus();
		return false;
	}

	if((today.getFullYear() == yyyy) && ((today.getMonth() + 1) < mm))
	{
		alert("Date should be before today's date");			
		day.focus();
		return false;
	}

	if((today.getFullYear() == yyyy) && ((today.getMonth() + 1) == mm)  && (today.getDate() < dd))
	{
		alert("Date should be before today's date");			
		day.focus();
		return false;
	}
	return true;
}

function isDateBeforeToday1(day,month,year)
{
	var dd = parseInt(day.options[day.selectedIndex].value);
	var mm = parseInt(month.options[month.selectedIndex].value);
	var yyyy = parseInt(year.options[year.selectedIndex].value);
	var today = new Date();
	if(today.getFullYear() < yyyy)
	{
		alert("Death Date should be today's date or before today's date");			
		day.focus();
		return false;
	}

	if((today.getFullYear() == yyyy) && ((today.getMonth() + 1) < mm))
	{
		alert("Death Date should be today's date or before today's date");			
		day.focus();
		return false;
	}

	if((today.getFullYear() == yyyy) && ((today.getMonth() + 1) == mm)  && (today.getDate() < dd))
	{
		alert("Death Date should be today's date or before today's date");			
		day.focus();
		return false;
	}
	return true;
}




function isDateAfterToday(day,month,year)
{
	var dd = parseInt(day.options[day.selectedIndex].value);
	var mm = parseInt(month.options[month.selectedIndex].value);
	var yyyy = parseInt(year.options[year.selectedIndex].value);
	var today = new Date();
	if(today.getFullYear() > yyyy)
	{
		alert("Date should be after today's date");			
		day.focus();
		return false;
	}

	if((today.getFullYear() == yyyy) && ((today.getMonth() + 1) > mm))
	{
		alert("Date should be after today's date");			
		day.focus();
		return false;
	}

	if((today.getFullYear() == yyyy) && ((today.getMonth() + 1) == mm)  && (today.getDate() > dd))
	{
		alert("Date should be after today's date");			
		day.focus();
		return false;
	}
	return true;
}

function compareDates(day1,month1,year1,day2,month2,year2)
{
	var dd1 = parseInt(day1.options[day1.selectedIndex].value);
	var mm1 = parseInt(month1.options[month1.selectedIndex].value);
	var yyyy1 = parseInt(year1.options[year1.selectedIndex].value);
	var dd2 = parseInt(day2.options[day2.selectedIndex].value);
	var mm2 = parseInt(month2.options[month2.selectedIndex].value);
	var yyyy2 = parseInt(year2.options[year2.selectedIndex].value);

	if(yyyy1 > yyyy2)
	{
		alert("'To Date' should be after 'From Date'");			
		day1.focus();
		return false;
	}

	if((yyyy1 == yyyy2) && (mm1 > mm2))
	{
		alert("'To Date' should be after 'From Date'");			
		day1.focus();
		return false;
	}

	if((yyyy1 == yyyy2) && (mm1 == mm2)  && (dd1 > dd2))
	{
		alert("'To Date' should be after 'From Date'");			
		day1.focus();
		return false;
	}
	return true;
}

function compareDates1(cboDeathDay,cboDeathMonth,cboDeathYear,cboBirthDay,cboBirthMonth,cboBirthYear)
{
	var dd1 = parseInt(cboDeathDay.options[cboDeathDay.selectedIndex].value);
	var mm1 = parseInt(cboDeathMonth.options[cboDeathMonth.selectedIndex].value);
	var yyyy1 = parseInt(cboDeathYear.options[cboDeathYear.selectedIndex].value);
	var dd2 = parseInt(cboBirthDay.options[cboBirthDay.selectedIndex].value);
	var mm2 = parseInt(cboBirthMonth.options[cboBirthMonth.selectedIndex].value);
	var yyyy2 = parseInt(cboBirthYear.options[cboBirthYear.selectedIndex].value);

	if(yyyy1 < yyyy2)
	{
		alert("Death Date should be greater than Birth Date");			
		cboDeathDay.focus();
		return false;
	}

	if((yyyy1 == yyyy2) && (mm1 < mm2))
	{
		alert("Death Date should be greater than Birth Date");			
		cboDeathDay.focus();
		return false;
	} 

	if((yyyy1 == yyyy2) && (mm1 == mm2)  && (dd1 < dd2))
	{
		alert("Death Date should be greater than Birth Date");			
		cboDeathDay.focus();
		return false;
	}
	return true;
}

function mandatoryValidate(field1,name)
	{
	val = field1.options[field1.selectedIndex].value;
	if(parseInt(val) == -1){
		field1.focus();
		if(name != null)
			alert("Please select some value for "+name);
		else
			alert("Please select some value for this field");
		field1.focus();
		return false;
	}
		return true;
	}
function mandatoryValidateList(field1,name)
	{
	val =field1.selectedIndex;
	//val = field1.options[field1.selectedIndex].value;	//not required
	if(parseInt(val) == -1){
		field1.focus();
		if(name != null)
			alert("Please select some value for "+name);
		else
			alert("Please select some value for this field");
		field1.focus();
		return false;
	}
		return true;
	}


function mandatoryValidateNew(field1,msg)
	{
	val = field1.options[field1.selectedIndex].value;
	if(parseInt(val) == -1){
		field1.focus();
		if(msg != null)
			alert(msg);
		else
			alert("Please select some value for this field");
		field1.focus();
		return false;
	}
		return true;
	}
	
/*
function parseText(str,field)
{
	for( i = 0 ; i < str.length ; i++ )
	{
		var ascVal = str.charCodeAt(i) ;
		//if( (ascVal < 32 || ascVal > 126) && ascVal != 13 && ascVal != 10)
		//{
			if(str.charCodeAt(i) == 183)
			{
				str = replaceSplchar(i,183,str);
				field.value = str;
			}
			if(str.charCodeAt(i) == 8226)
			{
				str = replaceSplchar(i,8226,str);
				field.value = str;

			}
			if(str.charCodeAt(i) ==8217)
			{
				str =replaceSplchar(i,8217,str);
				field.value = str;
			}
			if(str.charCodeAt(i) ==8216)
			{
				str =replaceSplchar(i,8216,str);
				field.value = str;
			}
			if(str.charCodeAt(i) ==8211)
			{
				str =replaceSplchar(i,8211,str);
				field.value = str;
			}
			if(str.charCodeAt(i) ==8220)
                        {
                                str =replaceSplchar(i,8220,str);
                                field.value = str;
                        }
			if(str.charCodeAt(i) ==8221)
                        {
                                str =replaceSplchar(i,8221,str);
                                field.value = str;
                        }
			if(str.charCodeAt(i) ==9)
                        {
                                str =replaceSplchar(i,9,str);
                                field.value = str;
                        }
			if(str.charCodeAt(i) ==8230)
                        {
                                str =replaceSplchar(i,8230,str);
                                field.value = str;
                        }
			if(str.charCodeAt(i) != 183 && str.charCodeAt(i) != 8226 && str.charCodeAt(i) != 8217 && str.charCodeAt(i) != 8216 && str.charCodeAt(i) != 8211 && str.charCodeAt(i) != 8220 && str.charCodeAt(i) != 8221 && (str.charCodeAt(i) <32 || str.charCodeAt(i) >126) && ascVal != 13 && ascVal != 10 ) 
			{
                                str =replaceSplchar(i,str.charCodeAt(i),str);
                                field.value = str;

			}
			//return false ;
		//}
	}
	return true ;
}

*/
// for pasing text

function parseText(text,field) {
	var finaltext = "";
	for(var i = 0; i < text.length ; i++)
	{
		var charCode = text.charCodeAt(i);
		if(charCode == 39 ) {
			finaltext += "`";
		}
		else if(charCode == 9 ) {
			finaltext += " ";
		}
		

		else if(charCode == 10) {
//			if((String(field.name) == "txtCompDesc" || String(field.name) == "txtCompDesc" || String(field.name) == "txtJobDesc" || String(field.name) == "txtAddress1")){
				finaltext += text.charAt(i);
//			}
//			else {
//				finaltext += " ";
//			}
		}

		else if( !(charCode >= 33 && charCode <= 126 ) ) {
			finaltext += " ";
		}
		else {
			finaltext +=  text.charAt(i);
		}
	}
	field.value = finaltext;
	return true;
}

/*
function parseText(text,field)
{
	
	var finaltext = "";	
	for(var i = 0; i < text.length ; i++)
	{
		var charCode = text.charCodeAt(i);
		
		if( !( (charCode >= 64 && charCode <= 90) || (charCode >= 48 && charCode <= 58) || (charCode >= 97 && charCode <= 122)  || charCode == 95 || charCode == 44 || charCode == 45 || charCode == 46 || charCode == 9 | charCode == 10)  )
		{
			finaltext += " ";
		}
		else
		{
			finaltext +=  text.charAt(i);
		}
	}
	field.value = finaltext;
	return true;
}
*/

//

function replaceSplchar(i,code,str)
{
		var temp=""+str ;
		var replaceWith = "";
		if(code == 183)
			replaceWith ="-";
		else if(code == 8226)
			replaceWith ="-";
		else if(code == 8217)
			replaceWith ="`";
		else if(code == 8216)
			replaceWith ="`";
		else if(code == 8220)
			replaceWith ="\"";
		else if(code == 8221)
			replaceWith ="\"";
		else if(code == 8211)
			replaceWith ="-";
		else if(code == 9)
			replaceWith ="  ";
		else if(code == 8230)
			replaceWith =".";
		else
			replaceWith =" ";
	
		temp = str.substring(0,i) +replaceWith + str.substring(i+1,str.length);		
	return temp;
}


/*function parseText(str)
{
	var filter = /^[a-zA-Z0-9_\\\/~`!@#$%^&*()-+-={}\[\]|\"\':;<>.,? ]*$/
	if(str.search(filter) == -1)
	{
		return false;
	}
	else 
	{
		return true;
	}
}*/




/*   Changes made By Subodh... to enhance the functionality for Course starts here*/

function loadDegreeSpecDD(form, field1, field2){
	dlen = form.elements[field2].options.length;
	arrDegreeSpec = new Array(len);
	arrDegreeSpecVals = new Array(len);


	for (var i=0;i<dlen;i++) {
		arrDegreeSpecVals[i] = form.elements[field2].options[i].value;
		arrDegreeSpec[i] = form.elements[field2].options[i].text;
	}
	
	dcount=0;

   if( (form.elements[field1].selectedIndex)!=-1)
   dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var dval2 = form.elements[field2].options[form.elements[field2].selectedIndex].value; // change
	dindexes = new Array(dlen);

	for (var i=0;i<dlen;i++) {
		if (form.elements[field2].options[i].value.substring(0,3) == dval) { 
			dindexes[dcount] = i;
			dcount = dcount+1;	
		}
	}
	//form.elements[field2].options.length=0;
form.elements[field2].options.length=dcount; // change
//alert('dcount='+dcount);
//alert('dval2='+dval2);
var selectedcounter=0;										//change
	var sel = -1;
	for (var i=0;i<dcount;i++) { 
		var j = dindexes[i];
		form.elements[field2].options.length += 0;
		form.elements[field2].options[i].value = arrDegreeSpecVals[j];
		form.elements[field2].options[i].text = arrDegreeSpec[j];			
//alert('field2 value='+form.elements[field2].options[i].value);
		if (form.elements[field2].options[i].value==dval2)   //change
		{
			selectedcounter=i;
		
		}
	}
	form.elements[field2].options[selectedcounter].selected=true; // change
	if(parseInt(dval) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}
}


function changeDegreeSpec(form,field1,field2) {
	/*dlen = arrDegreeSpecVals.length;
	dcount=0;
	dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	if(parseInt(dval) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}

	dindexes = new Array(dlen);
	for (var i=0;i<dlen;i++) {
		if (arrDegreeSpecVals[i].substring(0,3) == dval) { 
			dindexes[dcount] = i;
			dcount = dcount+1;	
		}
	}

	form.elements[field2].options.length=0;
	form.elements[field2].options.length += 1;
	form.elements[field2].options[0].value = "-1";
	form.elements[field2].options[0].text = "Select";

	var sel = 0;
	for (i=0;i<dcount;i++) { 
		var j = dindexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i+1].value = arrDegreeSpecVals[j];
		form.elements[field2].options[i+1].text = arrDegreeSpec[j];		
	}*/
	dlen = form.elements[field1].options.length;
	dcount=0;
	var dval_func=new Array(dlen);
	var klen=0;
    for(var ilen=0;ilen<dlen;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
    for(var n=0;n<klen;n++)
	{
	  if(parseInt(dval_func[n]) == -1)
	  {
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	  }
    }

	dindexes = new Array(dlen);
	for (var i=0;i<arrDegreeSpecVals.length;i++) 
	{
		for(var k=0;k<=klen;k++)
		{
			if (arrDegreeSpecVals[i].substring(0,3) == dval_func[k])
			{ 
				dindexes[dcount] = i;
				dcount = dcount+1;	
			}
		}
	}

	form.elements[field2].options.length=0;
	var sel = 0;
	if(dcount>0)
	{
		for (i=0;i<dcount;i++) 
		{ 
			var j = dindexes[i];
			form.elements[field2].options.length += 1;
			form.elements[field2].options[i].value = arrDegreeSpecVals[j];
			form.elements[field2].options[i].text = arrDegreeSpec[j];		
		}
	}
	else
	{
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = "-1";
			form.elements[field2].options[0].text = "Please Select Functional Area";		
	}
}
	
function contactus()
{
	window.open('http://timesjobs.com/timesJobWebApp/tj/common/Contact.jsp','contactus', 'toolbar=no,location=no,status=no,scrollbars=no,menubar=no,width=340,height=400');
}

function contactusemp()
{
	window.open('http://timesjobs.com/timesJobWebApp/tj/common/Contactemployer.jsp','contactus', 'toolbar=no,location=no,status=no,scrollbars=no,menubar=no,width=340,height=400');
}

function CustQuery()
{
	window.open('http://timesjobs.com/timesJobWebApp/tj/common/CustomerQuery.jsp','Query', 'toolbar=no,location=no,status=no,scrollbars=no,menubar=no,width=550,height=400');
}

function CareerFairNR()
{
	window.open('http://timesjobs.com/timesJobWebApp/tj/common/NonRusers.html','Query', 'toolbar=no,location=no,status=no,scrollbars=no,menubar=no,width=550,height=400');
}
/*   Changes made By Subodh... to enhance the functionality for Course ends here*/
/*   Added a function By Akash... to add a PopUp for contatus on Employer Side on 16.01.2004*/

/* Changes made by ritu to check for valid phone number on 05 jan 2005 starts here*/

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
if (s.length == 0)
	return true;
else 
	return false;
}
/* Changes made by ritu to check for valid phone number on 05 jan 2005 ends here*/



function loadDegreeSpecDDEmpNew(form, field1, field2){
	
	dlen = form.elements[field2].options.length;
	arrDegreeSpec = new Array(len);
	arrDegreeSpecVals = new Array(len);	
	for (var i=0;i<dlen;i++) {
		arrDegreeSpecVals[i] = form.elements[field2].options[i].value;
		arrDegreeSpec[i] = form.elements[field2].options[i].text;
	}	
	dcount=0;
	var dselcount= new Array(dlen);
	dval2 = new Array(dlen);
	//dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var klen=0;
	var dl=form.elements[field1].options.length;
	//alert("dl "+dl);
	var dval_func=new Array(dl);
	for(var ilen=0;ilen<dl;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	if(klen==0){
		
			form.elements[field2].options.length = 1;				
			form.elements[field2].options[0].value = "-1";
			form.elements[field2].options[0].text = "Please Select Highest Qualification";	
	}
	
	var i=0;
	var ii=0;
	var k=0;
	if(klen>0){
		for(i=0,k=0;i<dlen;i++)
		{		
			if(form.elements[field2].options[i].selected)
			{
				dval2[k] = form.elements[field2].options[i].value;			
				k++;
			}
		}	
	}
	dindexes = new Array(dlen);	
	
	for(var n=0;n<klen;n++){
		if(parseInt(dval_func[n]) == -1){
			form.elements[field2].options.length=0;
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = -1;
			form.elements[field2].options[0].text = "No Preference";
			form.elements[field2].selectedIndex = 0; 
			return;
		}
	}
}

function changeDegreeSpecEmpNew(form,field1,field2) {
	
	dlen = form.elements[field1].options.length;
	// alert("dlen "+dlen);
	dcount=0;
	var dval_func=new Array(dlen);
	var klen=0;


//val = form.elements[field1].options[form.elements[field1].selectedIndex].value;

	for(var ilen=0;ilen<dlen;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	
for(var n=0;n<klen;n++){
	if(parseInt(dval_func[n]) == -1){
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "No Preference";
		form.elements[field2].selectedIndex = 0; 
		return;
	}
}

	dindexes = new Array(dlen);
	for (var i=0;i<arrDegreeSpecVals.length;i++) 
	{

		for(var k=0;k<=klen;k++)
		{
			if (arrDegreeSpecVals[i].substring(0,3) == dval_func[k])
			{ 
				dindexes[dcount] = i;
				dcount = dcount+1;	
		//		alert("dcount "+dcount);
			}
		}
	}

	form.elements[field2].options.length=0;
	var sel = 0;
	if(dcount>0){
		for (i=0;i<dcount;i++) { 
			var j = dindexes[i];
			form.elements[field2].options.length += 1;
			form.elements[field2].options[i].value = arrDegreeSpecVals[j];
			form.elements[field2].options[i].text = arrDegreeSpec[j];		
		}
	}else
	{
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = "-1";
			form.elements[field2].options[0].text = "Please Select Highest Qualification";		
	}
}


function loadFunctSpecDDNewEmp(form, field1, field2){
	
	dlen = form.elements[field2].options.length;
	arrFunctSpec = new Array(len);
	arrFunctSpecVals = new Array(len);	
	for (var i=0;i<dlen;i++) {
		arrFunctSpecVals[i] = form.elements[field2].options[i].value;
		arrFunctSpec[i] = form.elements[field2].options[i].text;
	}	
	dcount=0;
	var dselcount= new Array(dlen);
	dval2 = new Array(dlen);
	//dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var klen=0;
	var dl=form.elements[field1].options.length;
	//alert("dl "+dl);
	var dval_func=new Array(dl);
	for(var ilen=0;ilen<dl;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}

	var i=0;
	var ii=0;
	var k=0;
	for(i=0,k=0;i<dlen;i++)
	{		
		if(form.elements[field2].options[i].selected)
		{
			dval2[k] = form.elements[field2].options[i].value;			
			k++;
		}
	}	
	dindexes = new Array(dlen);	

	for (i=0,ii=0;i<dlen;i++)
	{
		for(var n=0;n<klen;n++){
			if (form.elements[field2].options[i].value.substring(0,2) == dval_func[n])
			{
				for(var kk=0;kk<i;kk++)
				{
					if(form.elements[field2].options[i].value == dval2[kk])
					{
						dselcount[ii] = i;
						ii++;	
					}
				}			
				dindexes[dcount] = i;
				dcount = dcount+1;	
			}
		}
	}
	form.elements[field2].options.length=0;
	var sel = -1;
	if(dcount >0)
	{
	for (var i=0;i<dcount;i++) { 
		var j = dindexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrFunctSpecVals[j];
		form.elements[field2].options[i].text = arrFunctSpec[j];
		for(var kk=0;kk<ii;kk++)
		{
			if(j == dselcount[kk])
			{
				form.elements[field2].options[i].selected =true; 			
			}
		}
	}
	}
	else 
	{
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = "-1";
		form.elements[field2].options[0].text = "Please Select Functional Area";		
		
	}

	for(var n=0;n<klen;n++){
		if(parseInt(dval_func[n]) == -1){
			form.elements[field2].options.length=0;
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = -1;
			form.elements[field2].options[0].text = "No Preference";
			form.elements[field2].selectedIndex = 0; 
			return;
		}
	}
}

function loadInstCoursesDDEmp(form, field1, field2){
	dlen = form.elements[field2].options.length;
	arrDegree = new Array(len);
	arrDegreeVals = new Array(len);	
	for (var i=0;i<dlen;i++) {
		arrDegreeVals[i] = form.elements[field2].options[i].value;
		arrDegree[i] = form.elements[field2].options[i].text;
	}	
	dcount=0;
	var dselcount= new Array(dlen);
	dval2 = new Array(dlen);
	//dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var klen=0;
	var dl=form.elements[field1].options.length;
	//alert("arrDegree "+arrDegree);
	//alert("arrDegreeVals "+arrDegreeVals);
	var dval_func=new Array(dl);
	for(var ilen=0;ilen<dl;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}
	if(klen==0){
		
			form.elements[field2].options.length = 1;				
			form.elements[field2].options[0].value = "-1";
			form.elements[field2].options[0].text = "Select Institute";	
	}
	
	var i=0;
	var ii=0;
	var k=0;
	if(klen>0){
		for(i=0,k=0;i<dlen;i++)
		{		
			if(form.elements[field2].options[i].selected)
			{
				dval2[k] = form.elements[field2].options[i].value;			
				k++;
			}
		}	
	}
	dindexes = new Array(dlen);	
	
	for(var n=0;n<klen;n++){
		if(parseInt(dval_func[n]) == -1){
			form.elements[field2].options.length=0;
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = -1;
			form.elements[field2].options[0].text = "Select Course";
			form.elements[field2].selectedIndex = 0; 
			return;
		}
	}
}
function loadInstitutes(form, field, field2,coursesString)
{
	//alert("courses = "+coursesString);
	var temp	=	coursesString.split('#');
	var vv = form.elements[field].selectedIndex;
	var instId = form.elements[field].options[vv].value;

	if(form.elements[field].value==-1)
	{
		form.elements[field2].options.length=0;
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = -1;
		form.elements[field2].options[0].text = "Select Course";
		form.elements[field2].selectedIndex = 0;
		return;
	}
	//alert("InstId = "+instId);
	//form.elements[field2].options.length = 0;
	var ee=true;
	for( var i=0; i<temp.length; i++)
	{
		var innArr = temp[i].split(" ");
		//alert("innArr = "+innArr);
		for(var k=0; k<innArr.length; k++)		
		{
			//alert("innArr[0] = "+innArr[0]);
			if(instId.indexOf(innArr[0])>=0)
			{
				if(ee)
				{
					form.elements[field2].options.length = 1;
					form.elements[field2].options[0].value="-1";
					form.elements[field2].options[0].text="Select Institute";
					ee=false;
				}
				//alert("Inside if");
				for( var j=0; j<arrDegreeVals.length; j++)
				{
					//alert("Inside for");
					var aa = innArr[k];
					if(aa==arrDegreeVals[j])
					{
						//alert("compared success");
						form.elements[field2].options.length += 1;
						form.elements[field2].options[k].value=arrDegreeVals[j];
						form.elements[field2].options[k].text=arrDegree[j];
					}
				}

			}

		}

	}
}

// new function Raj 21 March
function loadDegreeMaster(form, field1, field2){

	dlen = form.elements[field2].options.length;
	arrDegreeSpec = new Array(len);
	arrDegreeSpecVals = new Array(len);	
	for (var i=0;i<dlen;i++) {
		arrDegreeSpecVals[i] = form.elements[field2].options[i].value;
		arrDegreeSpec[i] = form.elements[field2].options[i].text;
	}	
	dcount=0;
	var dselcount= new Array(dlen);
	dval2 = new Array(dlen);
	//dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;
	var klen=0;
	var dl=form.elements[field1].options.length;
	//alert("dl "+dl);
	var dval_func=new Array(dl);
	for(var ilen=0;ilen<dl;ilen++)
	{
		if(form.elements[field1].options[ilen].selected)
		{
			dval_func[klen] = form.elements[field1].options[ilen].value;
			klen++;
		}		
	}

	var i=0;
	var ii=0;
	var k=0;
	for(i=0,k=0;i<dlen;i++)
	{		
		if(form.elements[field2].options[i].selected)
		{
			dval2[k] = form.elements[field2].options[i].value;			
			k++;
		}
	}	
	dindexes = new Array(dlen);	

	for (i=0,ii=0;i<dlen;i++)
	{
		for(var n=0;n<klen;n++){
			if (form.elements[field2].options[i].value.substring(0,3) == dval_func[n])
			{
				for(var kk=0;kk<i;kk++)
				{
					if(form.elements[field2].options[i].value == dval2[kk])
					{
						dselcount[ii] = i;
						ii++;	
					}
				}			
				dindexes[dcount] = i;
				dcount = dcount+1;	
			}
		}
	}
	form.elements[field2].options.length=0;
	var sel = -1;
	if(dcount >0)
	{
	for (var i=0;i<dcount;i++) { 
		var j = dindexes[i];
		form.elements[field2].options.length += 1;
		form.elements[field2].options[i].value = arrDegreeSpecVals[j];
		form.elements[field2].options[i].text = arrDegreeSpec[j];
		for(var kk=0;kk<ii;kk++)
		{
			if(j == dselcount[kk])
			{
				form.elements[field2].options[i].selected =true; 			
			}
		}
	}
	}
	else 
	{
		form.elements[field2].options.length += 1;
		form.elements[field2].options[0].value = "-1";
		form.elements[field2].options[0].text = "Please Select ";		
		
	}

	for(var n=0;n<klen;n++){
		if(parseInt(dval_func[n]) == -1){
			form.elements[field2].options.length=0;
			form.elements[field2].options.length += 1;
			form.elements[field2].options[0].value = -1;
			form.elements[field2].options[0].text = "No Preference";
			form.elements[field2].selectedIndex = 0; 
			return;
		}
	}
}


//function to check the country code of altenate number

	function chkaltCode(lc)
	{ 
		var chk=false;

		var code=trim(lc.value);
		if(code.indexOf("+") == 0 )
		{
			code1=code.substring(1,code.length)
			if( code.length >= 3 && code.length <= 5 && chkNumeric(code1))
			{
				chk=true;
			}
		}
		else
		{ 
			chk=false;
		}
		return chk;
	}

	 //function to check txtAltTelStdCode Code 

	function chkStd(larea)
	{
		var chk=false;
		var std;
		std=trim(larea.value);
		if( chkNumeric(std ) && std.length >=2 && std.length <=5)
		{ 
			chk=true;
		}
		else
		{
			chk=false;
		}
		return chk;
	}




//Function to check validity of Mobile Number 
	function chkMobile(mnum,cc)
	{
		var i;
		var result=true;
		var mobilecode=/(99)|(98)|(97)|(94)|(93)|(92)/

		var c=trim(mnum.value);
		var ccode=trim(cc.value);
		if((ccode=="+91") &&(ccode != -1))
		{  
			var subc=c.substring(0,2);

			if((subc.search(mobilecode) == -1) || (c.length!=10))
			{
				result=false;
			}
		}
		else if (c.length < 8 || c.length > 15)
		{
			result=false;
		}

		return result;
	}

 // to check if the number is numeric or not

	function chkNumeric(objName)
	{
		var isNum=true;
		//var searchIn=/^[0-9]/
		var num;
		if(trim(objName) != "")
		{
			num=objName;
		//	if(num.match(searchIn))
		 if (num.match(/^[0-9]+$/))
				isNum=true;
			else
				isNum=false;
		}
		else
		{
			isNum=true;
		}

		return isNum;
	}
  
	function chkArea(larea)
	{
		var chk=true;
		var std;
		std=trim(larea.value);

		if( (chkNumeric(std)) && (std.length<=5 && std.length>=2))
		{
			chk=true;
		}
		else
		{
			chk=false;
		}

		return chk;
	}


 //Function to check the Country code of Mobile other than "+91"
   
	function chkMCode(cd)
	{
		var code=trim(cd);
		var chk=true;
		var chkmc;

		if((code.indexOf("+")) == 0)
		{
			var codenum=code.substring(1,code.length);
			if (chkNumeric(codenum))
			{       
				if (cd.length >= 3 && cd.length<=5)
				{
					chk=true;
				}
				else
				{
					chk=false;
				}
			}
			else
				chk=false;

		}
		else
		{
			chk=false;
		}
		return chk;
	}


	function chkAlternate(lnum)
	{   
		var i=0;
		var idx;
		var result=true;

		var num=trim(lnum.value);

		if(!chkNumeric(num))
		{
			if(num.search(",") != -1)
			{
				idx=num.indexOf(",");
				var num1=num.substring(idx+1,num.length)
				var num2=num.substring(0,idx);
				if((chkNumeric(num1)) && (num1.length<=25 && num1.length>=4))
				{
					result=true;
				}
				else
				{
					result=false;
				}
				if(result && (chkNumeric(num2)) && (num2.length<=25 && num2.length>=4))
				{
					result=true;
				}
				else
				{
					result=false;
				}
			}
			else if(num.search(",") == -1)
			{
				if(((chkNumeric(num)) && (num.length<= 25 && num.length>=4)))
				{
					result=true;
				}
				else
				{
					result=false;
				}
			}
			else
			{
				result=false;
			}
		}
		else
		{
			if(((chkNumeric(num)) && (num.length<= 25 && num.length>=4)))
			{
				result=true;
			}
			else
			{
				result=false;
			}
		}
		return result;
	} 


	function checkValidContact(cc,mnum,lnum,lc,larea)
	{
		if( trim(mnum.value) == "" && trim(lnum.value) == "" )
		{
			res1=false;//No values entered
			alert("Please provide a Contact Number. ")
			return false;
		}
		
		if( trim(cc.value) == "" && trim(mnum.value)!="") 
		{
			alert("Please provide a Country Code ")
			return false;
		}

		if( trim(cc.value) != "" && !chkMCode(cc.value) && trim(mnum.value)!="") 
		{
			alert("Please provide a valid Country Code ")
			return false;
		}

		if( trim(cc.value) != "" && trim(mnum.value) != "")
		{
			if(cc.value == "+91")
			{
				if( (!(chkNumeric(mnum.value)) || !(chkMobile(mnum,cc))))
				{
					alert("Please provide a valid Mobile Number");
					return false;
				}
				
			}
			else if( cc.value != "+91")
			{
				var mobnum=mnum.value;
				if(!chkNumeric(mnum.value) || !(chkMobile(mnum,cc)))
				{
					mob=1;
					alert("Please provide a valid Mobile Number");
					return false;
				}
			}
		}

		if( trim(lc.value) =="" && (trim(lnum.value)!="" || trim(larea.value)!=""))
		{
			// If Country code field is Not Filled
			alert("Please provide a Country Code ")
			return false;
		}

		if( trim(lc.value) !="" && !chkaltCode(lc) && (trim(lnum.value)!="" || trim(larea.value)!=""))
		{
			// If Country code field is Not Filled
			alert("Please provide a valid Country Code ")
			return false;
		}

		if(trim(larea.value) == "" && chkAlternate(lnum))
		{
			return true;
		}

		if(trim(larea.value) != "" || trim(lnum.value) != "")
		{
			if((!(chkAlternate(lnum)) || !(chkArea(larea))))
			{
				alert("Please provide a valid Alternate number");
				return false;
			}
		}
		return true;
	}

