 
/**
 * 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;
/*   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;
	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];		
	}
}
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+" can not be left blank.");
		else
			alert("This field can not 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(name+" can not be left blank.");
			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 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-]+)+$/

	if(emailIn.search(filter) != -1)
		isEmailOk = true;
	if(emailIn.indexOf("..") != -1)
		isEmailOk = false;
	if(emailIn.indexOf(".@") != -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 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;
	dval = form.elements[field1].options[form.elements[field1].selectedIndex].value;

	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;
	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 = arrDegreeSpecVals[j];
		form.elements[field2].options[i].text = arrDegreeSpec[j];			
	}
	
	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];		
	}
}
	
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*/

