/*commonFunc.js */
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

var reqParam = null;
function gethttpObject()
{
	if (reqParam != null && reqParam.readyState != 0 && reqParam.readyState != 4)
	{
		reqParam.abort();
	}
	try
	{
		reqParam = new XMLHttpRequest();
	}
    catch (error)
	{
		try
		{
			reqParam = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (error)
		{
			throw error;
        }
	}
	return reqParam;
}

function checkgoTo(totalPages, val)
{
        if ( !val || val.length == 0 )
        {
                showTopErrMsg("Please enter a valid page no.");
                return false;
        }

	if(checkNum(val))
	{
		val = parseInt(val);
        totalPages = parseInt(totalPages);
        if(val > totalPages || val < 1)
        {
            showTopErrMsg("Please enter a valid page no.");
            return false;
        }
	}
	else
	{
		showTopErrMsg("Please enter a valid page no.");
		return false;
	}
	return true;
}

function checkNum(iNumber)
{
    var i;
    for (i=0;i<iNumber.length;i++)
    {
        var c = iNumber.charAt(i);
        if (! checkDigit(c))
            return false;
    }
    return true;
}

function checkDigit(c)
{
    return ((c >= "0") && (c <= "9"))
}

function matchRegEx(value)
{
	var pattern = /[^A-Za-z 0-9\\\/_\-]/i;
	return !pattern.test(value);
}

function isValidEmail(Email)
{
	var pattern = /^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/;
	return (Email.length >= 6 && pattern.test(Email));
}
		
function changePageID(pageID) { document.frmLinks_1.pageID.value=pageID; document.frmLinks_1.submit(); }

function sortBy(sortBy, sortOrder)
{
	var f = document.frmSort;
	f.sortBy.value = sortBy;
	f.sortOrder.value = sortOrder;
	f.submit();
}

function removeErrors(arr)
{
    for(var i = 0; i < arr.length; i++)
    {
		if(e = gbi(arr[i]+"error"))
        {
            e.innerHTML = ""; e.style.display = "none";
        }
    }
}

function showTopErrMsg(errMsg)
{
	try{ gbi('greenmess').style.display='none';} catch(e) {}
	var parent  = gbi('errormess');
	var child = parent.childNodes;
	child[0].innerHTML = errMsg;
	parent.style.display = '';
	scroll(0,0);
}

function hideTopErrMsg()
{
	try{ gbi('greenmess').style.display='none';} catch(e) {}
	var parent  = gbi('errormess');
	var child = parent.childNodes;
	child[0].innerHTML = '';
	parent.style.display = 'none';
}

function ChkBoxLocationCounter(city, country, locid, firstTime)
{
        var arrCity = document.getElementsByName(city);
        var arrCountry = document.getElementsByName(country);
        var Count = 0;
        for (i = 0; i < arrCity.length; i++)
        {
			if( arrCity[i].checked == true && arrCity[i].value != '0' && arrCity[i].value != '')
            	Count++;
        }
		for (i = 0; i < arrCountry.length; i++)
        {
			if( arrCountry[i].checked == true && arrCountry[i].value != '0' && arrCity[i].value != '')
            	Count++;
        }
		if(!firstTime || (firstTime && Count > 0))
        	gbi(locid).value = "- Locations ( "+Count+" ) -";
}

function checkGroupHeader(location, group)
{
	var i;
	if(gbi(group+location).checked == true)
	{
		for(i = location+1;gbi(group+i) && gbi(group+i).value!=''; i++)	
			gbi(group+i).checked = true;
	}
	else
	{ 
		for(i = location+1;gbi(group+i) && gbi(group+i).value!=''; i++)
			gbi(group+i).checked = false;
	}
	ChkBoxLocationCounter('city[]', 'country[]', 'jlocation',0);
}

/*jobList.js */
function downloadResponse(jobName, jobID, respCount)
{
	var f = document.downloadXls;
	f.jobName.value = jobName;
	f.jobID.value = jobID;
	f.respCount.value = respCount;
	f.submit();
}
function changePageIDForJob(pageNo)
{
	var f = document.jsJobSrchFrm;
	f.pageNo.value = pageNo;
	f.sortType.value = toggleVal(f.sortType.value);
	f.submit();
}

function changeSortingField(fieldName, sortType)
{
	var f = document.jsJobSrchFrm;
	f.sortType.value = (f.sortOnField.value != fieldName ) ? 2 : sortType;
	f.sortOnField.value = fieldName;
	f.submit();
}
function changeViewsPerPage(selObj)
{
	var f = document.jsJobSrchFrm;
	f.pageNo.value = 1;
	f.jobsPerPage.value = selObj.value;
	f.sortType.value = toggleVal(f.sortType.value);
	f.submit();
}
function changeJobType(selObj)
{
	var f = document.jsJobSrchFrm;
	f.jobType.value = selObj.value;
	f.pageNo.value = 1;
	f.sortType.value = toggleVal(f.sortType.value);
	f.submit();
}
function setDelJobId(jobId)
{
	var f = document.delJob;
	f.delJobId.value = jobId;
	f.sortType.value = toggleVal(f.sortType.value);
}
function setBlockJobId(jobId, dupMonths)
{
	setBlockFieldName();

	var f = document.frmBlock;
	f.jobID.value = jobId;
	f.blockDuration.value=dupMonths;
	f.sortType.value = toggleVal(f.sortType.value);
}
function setBlockFieldName()
{
	document.frmBlock.block.value = (document.frmBlock.blockDuration.value == 0) ? "Unblock" : "Block";
}
function validateJobSearchForm()
{
	var f = document.jobsearch;
	if ( f.keyword.value.trim().length == 0 && f.jobPostedAfter.value.length == 0 && f.jobPostedBefore.value.length == 0 )
	{
		showTopErrMsg("Please enter at least one criteria to search for jobs.");
		return false;
	}
	return true;
}

function toggleVal(val) { return (val == 1) ? 2 : 1; }

/*ajaxFolder.js */
function createFolder()
{
	var str = document.frmCreate;
	var id = str.id.value;
	var folderName = str.fname.value.trim();
	
	if(folderName == "")
	{
		gbi("createError2").className = 'error';
		gbi("createError2").innerHTML = "Please enter a folder name.";
	}
	else if(matchRegEx(folderName) == false)
	{
		gbi("createError2").className = 'error';
		gbi("createError2").innerHTML = "Please enter a valid folder name.";
	}
	else
	{
		try
		{
			reqFolder = gethttpObject();
		}
		catch(error)
		{
			reqFolder = null; return false;
		}
		gbi("createError2").className = 'error';
		gbi("createError2").innerHTML = "Checking the availability of folder name...";
		reqFolder.onreadystatechange = onReadyStateChangeCreateFolder;
		reqFolder.open("GET", ajax_checkFolder+"?id="+id+"&fname=" + folderName + "&r=1");
		reqFolder.setRequestHeader("X-Requested-With", "XMLHttpRequest");
		reqFolder.send(null);
	}

	return false;
}


function onReadyStateChangeCreateFolder()
{
	if (reqFolder.readyState == 4)
	{
		try
		{
			if (reqFolder.status == 200)
			{
				gbi("createError2").innerHTML = "";
				if(reqFolder.responseText == "OK")
				{
					document.frmCreate.submit();
				}
				else 
				{
					gbi("createError2").style.display = "";
					gbi("createError2").innerHTML = reqFolder.responseText;
					return false;
				}
			}
			else if (reqFolder.status != 0)
			{
				alert("Your request could not be processed due to a technical error. Please try again after some time.");
			}
		}
		catch (error){ }
	}

	return true;
}

function renameFolder()
{
	var str = document.frmRename;
	var id = str.id.value;
	var folderName = str.fname.value.trim();
	
	if(folderName == "")
	{
		gbi("renameError").innerHTML = "Please enter a folder name.";
		gbi("renameError").style.display= '' ;
	}
	else
	{
		try
		{
			reqFolder = gethttpObject();
		}
		catch(error)
		{
			reqFolder = null; return false;
		}
		gbi("createError2").innerHTML = "Checking the availability of folder name...";
		reqFolder.onreadystatechange = onReadyStateChangeRenameFolder;
		reqFolder.open("GET", ajax_checkFolder+"?id="+id+"&fname=" + folderName+"&fid="+str.fid.value);
		reqFolder.setRequestHeader("X-Requested-With", "XMLHttpRequest");
		reqFolder.send(null);
	}

	return false;
}


function onReadyStateChangeRenameFolder()
{
	if (reqFolder.readyState == 4)
	{
		try
		{
			if (reqFolder.status == 200)
			{
				gbi("renameError").innerHTML = "";
				if(reqFolder.responseText == "OK")
				{
					document.frmRename.submit();
				}
				else  if ( reqFolder.responseText == "ERROR")
				{
					window.location.reload(true);
				}
				else
				{
					gbi("renameError").style.display = "";
					gbi("renameError").innerHTML = reqFolder.responseText;
					return false;
				}
			}
			else if (reqFolder.status != 0)
			{
				alert("Your request could not be processed due to a technical error. Please try again after some time.");
			}
		}
		catch (error){ }
	}

	return true;
}

function setFolderData(folderID, respCount, folderName)
{
	var frm = document.downloadFolder;
	frm.folderID.value = folderID;
	frm.respCount.value = respCount;
	frm.folderName.value = folderName;
	frm.submit();
}
function searchFolders()
{
	var folderList = document.getElementsByName('fol_id[]');
	var selCount = 0;
	var folderSrchFrm = document.searchInFolders;
	for(var i=0; i<folderList.length; i++)
	{
		if ( folderList[i].checked == true )
		{
			selCount++;
			var input = document.createElement('INPUT');
			input.name = 'arrFolderIDs[]';
			input.type = 'hidden';
			input.value = folderList[i].value;
			folderSrchFrm.appendChild(input);
		}
	}
	if ( selCount == 0 )
	{
		showTopErrMsg('Please select at least one folder to perform the search.');
		return false;
	}
	else
		folderSrchFrm.submit();
}

function checkAll(eleName, checkVal) 
{
	var f = document.frmActions;
	if(f)
	{
		var check = f.elements[checkVal].checked;
		if(f.checkAll_1) f.checkAll_1.checked = check;
		if(f.checkAll_2) f.checkAll_2.checked = check;
		
		for(i=0;i<f.elements.length;i++)
		{
			if(f.elements[i].name == eleName)
				f.elements[i].checked = check;
		}
	}
	else
		checkAllByName(eleName, checkVal);
}

function checkAllByName(eleName, checkVal)
{
	var ids = document.getElementsByName(eleName);
	var otherCheckVal = (checkVal == "checkAll_1") ? "checkAll_2" : "checkAll_1";
	var checkids = document.getElementsByName(checkVal);
	var check = checkids[0].checked;
	
	for(var i=0;i<ids.length;i++)
		ids[i].checked = check;
	
	var checkAll = document.getElementsByName(otherCheckVal);
	for(i=0;i<checkAll.length;i++)
		checkAll[i].checked =check;
}

/*draft.js */
function validateDraft()
{
	removeErrors(new Array("fromName", "fromEmail", "subject", "draftName", "message"));

	var str = document.frmDraft, focusField = "", arrError= new Array(), j = 0;
	var fromName = str.fromName.value.trim();
	if(fromName == "")
	{
		focusField = "fromName";
		arrError["fromName"] = "This field cannot be left blank.";
	}
	else if(! isValidName(name))
	{
		focusField = "fromName";
		arrError["fromName"] = "Please enter a valid name.";
	}
	
	var fromEmail = str.fromEmail.value.trim();
	if(fromEmail == "")
	{
		focusField = (focusField != "") ? focusField : "fromEmail";
		arrError["fromEmail"] = "This field cannot be left blank.";
	}
	else if(! isValidEmail(fromEmail))
	{
		focusField = (focusField != "") ? focusField : "fromEmail";
		arrError["fromEmail"] = "Please enter a valid email.";
	}
	
	var subject = str.subject.value.trim();
	if(subject == "")
	{
		focusField = (focusField != "") ? focusField : "subject";
		arrError["subject"] = "This field cannot be left blank.";
	}

	var message = str.message.value.trim();
	if(message == "")
	{
		focusField = (focusField != "") ? focusField : "message";
		arrError["message"] = "This field cannot be left blank.";
	}
	
	if((actionName == "new") || (actionName == "flow" && str.saveAsTemplate.checked))
	{
		var draftName = str.draftName.value.trim();
		if(draftName == "")
		{
			focusField = (focusField != "") ? focusField : "draftName";
			arrError["draftName"] = "This field cannot be left blank.";
		}
	}
	
	for(idx in arrError)
	{
		++j;
		if(e = gbi(idx + "error"))
		{
			e.innerHTML = arrError[idx]; e.style.display = "";
		}
	}

	if(j == 0) str.submit();
	else if(focusField != "") 
	{
		str.action = "";
		str.elements[focusField].focus();
	}
}

function setDraftActivity(type)
{
	var str = document.frmAct;
	gbi("errorSpan").innerHTML = "";
	gbi("errormess").style.display = 'none';
	str.draftID.value='';
	
	if(type == "s")
	{
		str.action = sharedAction;
		gbi("shareMsg").innerHTML = sharedMsg;
		str.submitShare.value = "Share";
	}
	else if(type == "u")
	{
		str.action = unsharedAction;
		gbi("shareMsg").innerHTML = unsharedMsg;
		str.submitShare.value = "Unshare";
	}
	else if(type == "d")
	{
		str.draftID.value = getMultipleElements("draft_id[]");
		if(str.draftID.value == '')
		{
			gbi("errorSpan").innerHTML = deleteErrMsg;
			gbi("errormess").style.display = "";
			scroll(0, 0);
			return false;
		}

		str.action = deleteAction;
		gbi("deleteMsg").innerHTML = deleteMsg;
	}
	return true;
}

function getMultipleElements(eleName) 
{
	var retVal = "", arr = document.getElementsByName(eleName);
  	for(i=0; i<arr.length; i++)
  	{
    	if(arr[i].checked)
    	{
     		retVal += ((retVal == "") ? "" : ",") + arr[i].value;
    	}
  	}
  	return retVal.trim();
}

function isAtleastOneElementSelected(eleName)
{
	return (getMultipleElements(eleName) == "") ? false : true;
}

/* getResp.js */
function onloadEventsInUpload()
{
	selectCountry(); getEducation(); checkFresher();
}

function getEducation()
{
	getSpec("ugSpec", document.frmGetResponse.ugCourse.value, document.frmGetResponse.ugSpec.value);
	getSpec("pgSpec", document.frmGetResponse.pgCourse.value, document.frmGetResponse.pgSpec.value);
}

function getSpec(type, val, specVal)
{
	var arrCourse = val.split("|X|");
	var course = arrCourse[0];
	document.frmGetResponse.elements[type].options[0].text = " - Select - ";
	document.frmGetResponse.elements[type].options[0].value = -1;
	
	if(arrCourse[1])
	{
		var arrSpec = arrCourse[1].split("#");
		var optLength = arrSpec.length;

		document.frmGetResponse.elements[type].options.length = optLength + 1;
		for(var i=0;i<optLength;i++)
		{
			document.frmGetResponse.elements[type].options[i+1].text = arrSpec[i];
			document.frmGetResponse.elements[type].options[i+1].value = arrSpec[i];
		}
		if(specVal == -1 || specVal == '')
			document.frmGetResponse.elements[type].options[0].selected = true;
	}
	else
		document.frmGetResponse.elements[type].options.length = 1;
}

function selectCountry()
{
	if ( document.frmGetResponse.country.value == -1 ||  document.frmGetResponse.country.value == "INDIA")
	{
		gbi("otherCountry").style.display = "none";
		document.frmGetResponse.city.disabled = false;
		selectCity();
	}
	else  if ( document.frmGetResponse.country.value == "Other" )  
	{
		gbi("otherCountry").style.display = "";
		document.frmGetResponse.city.value = -1;
		document.frmGetResponse.city.disabled = true;
		gbi("otherCity").style.display = "";
	}
	else  
	{
		document.frmGetResponse.city.value = -1;
		document.frmGetResponse.city.disabled = true;
		gbi("otherCity").style.display = "";
		gbi("otherCountry").style.display = "none";
	}
}

function selectCity()
{
	var city = gbi("city");
	var ocity = gbi("otherCity");
	var pattern = /(Other)/;

	if ( city.options[city.selectedIndex].text.match("Other") ) 
		ocity.style.display = ( pattern.test(city.options[city.selectedIndex].value) ) ? "" : "none";
	else
		ocity.style.display = "none";
}

function validateResume()
{
	removeErrors(Array("name", "dob", "country", "city", "email", "phone", "mobile", "exp", "currOrg", "currDesig", "ctc", "ugc", "ugs", "pgs", "upload"));
	
	var arrQ = document.frmGetResponse.mQues.value.split(",");
	for(i = 0; i < arrQ.length; i++)
	{
		if( (q = parseInt(arrQ[i])) > 0)
		{
			if(obj = gbi("queserr_"+q))
			{
				obj.innerHTML = "";	obj.style.display="none";
			}
		}
	}
	
	var msg = "", err, arrError = new Array(), str = document.frmGetResponse, focusField = "";
	
	var name = str.clientName.value;
	//var name = str.clientName.value = str.clientName.value.trim();
	if(name == "")
	{
		focusField = "clientName";
		arrError["nameerror"] = "This field cannot be left blank.";
	}
	else if(name.length < 6)
	{
		focusField = "clientName";
		arrError["nameerror"] = "Please enter minimum six characters.";
	}
	else if(! isValidName(name))
	{
		focusField = "clientName";
		arrError["nameerror"] = "Special characters other than . and ' are not allowed.";
	}

	if(str.dobDate.value == -1 || str.dobMonth.value == -1 || str.dobYear.value == -1)
	{
		focusField = (focusField != "") ? focusField : "dobDate";
		arrError["doberror"] = "Please enter a valid date of birth.";
	}
	else if(! isValidDate(str.dobDate.value, str.dobMonth.value, str.dobYear.value))
	{
		focusField = (focusField != "") ? focusField : "dobDate";
		arrError["doberror"] = "Please enter a valid date of birth.";
	}

	if(str.country.value == -1)
	{
		focusField = (focusField != "") ? focusField : "country";
		arrError["countryerror"] = "This field cannot be left blank.";
	}
	else if(str.country.value == "INDIA")
	{
		if(str.city.value == -1 || str.city.value == "")
		{
			focusField = (focusField != "") ? focusField : "city";
			arrError["cityerror"] = "This field cannot be left blank.";
		}
		else if(str.city.value.match("Other") )
		{
			if( (err = validateLoc("City")) != "")
			{
				focusField = (focusField != "") ? focusField : "otherCity";
				arrError["cityerror"] = err;
			}
		}
	}
	else if(str.country.value == "Other")
	{
		if( (err = validateLoc("Country")) != "")
		{
			focusField = (focusField != "") ? focusField : "otherCountry";
			arrError["countryerror"] = err;
		}
	}
	else if( (err = validateLoc("City")) != "")
	{
		focusField = (focusField != "") ? focusField : "otherCity";
		arrError["cityerror"] = err;
	}

	var email = str.email.value = str.email.value.trim();
	if(email == "")
	{
		focusField = (focusField != "") ? focusField : "email";
		arrError["emailerror"] = "This field cannot be left blank.";
	}
	else if(! isValidEmail(email))
	{
		focusField = (focusField != "") ? focusField : "email";
		arrError["emailerror"] = email + " is not a valid email id. Please enter a valid email id.";
	}
	
	var countryPhone = str.countryPhone.value = str.countryPhone.value.trim();
	var cityPhone = str.cityPhone.value = str.cityPhone.value.trim();
	var phone = str.phone.value = str.phone.value.trim();
	var mobile = str.mobile.value = str.mobile.value.trim();
	if(phone == "" && mobile == "")
	{
		focusField = (focusField != "") ? focusField : "mobile";
		arrError["mobileerror"] = "This field cannot be left blank.";
	}
	if(phone.length > 0)
	{
		if(phone.length < 5)
		{
			focusField = (focusField != "") ? focusField : "phone";
			arrError["phoneerror"] = "Please enter a valid Phone Number.";
		}	
		else if(! isValidPhone(countryPhone + cityPhone + phone))
		{
			focusField = (focusField != "") ? focusField : "countryPhone";
			arrError["phoneerror"] = "Please specify a valid landline number.";
		}
	}
	if(mobile.length > 0)
	{
		if(mobile.length < 10)
		{
			focusField = (focusField != "") ? focusField : "mobile";
			arrError["mobileerror"] = "Please enter a valid Mobile Number.";
		}
		else if(!isValidPhone(mobile))
		{
			focusField = (focusField != "") ? focusField : "mobile";
			arrError["mobileerror"] = "Please enter a valid mobile number.";
		}
	}
	
	if(str.expYear.value == -1 || (str.expYear.value != 99 && str.expYear.value !=31 && str.expMonth.value == -1))
	{
		focusField = (focusField != "") ? focusField : "expYear";
		arrError["experror"] = "This field cannot be left blank.";
	}
	
	var curOrg = str.currentOrg.value = str.currentOrg.value.trim();
	if(curOrg == "")
	{
		focusField = (focusField != "") ? focusField : "currentOrg";
		arrError["currOrgerror"] = "This field cannot be left blank.";
	}

	var curDesig = str.currentDesig.value = str.currentDesig.value.trim();	
	if(curDesig == "")
	{
		focusField = (focusField != "") ? focusField : "currentDesig";
		arrError["currDesigerror"] = "This field cannot be left blank.";
	}
	
	if(str.expYear.value != 99 && (str.currency.value == -1 || str.ctcLacs.value == -1 || (str.ctcThousands.value == -1 && str.ctcLacs.value <= 50) ) )
	{
		focusField = (focusField != "") ? focusField : "currency";
		arrError["ctcerror"] = "This field cannot be left blank.";
	}
	
	if(str.ugCourse.value == -1)
	{
		focusField = (focusField != "") ? focusField : "ugCourse";
		arrError["ugcerror"] = "This field cannot be left blank.";
	}
	
	if(str.ugSpec.value == -1)
	{
		focusField = (focusField != "") ? focusField : "ugSpec";
		arrError["ugserror"] = "This field cannot be left blank.";
	}

	if(str.pgCourse.value != -1 && str.pgSpec.value == -1)
	{
		focusField = (focusField != "") ? focusField : "pgSpec";
		arrError["pgserror"] = "This field cannot be left blank.";
	}
	
	if(str.docName.value == "" && str.textCV.value == "")
	{
		focusField = (focusField != "") ? focusField : "textCV";
		arrError["uploaderror"] = "Please upload your resume to proceed.";
	}
	
	var arrQues = str.mQues.value.split(",");
	var i,j,e,c,q,arrCh,flag=0;
	for(i = 0; i < arrQues.length; i++)
	{
		if( (q = parseInt(arrQues[i])) > 0)
		{
			e=0;
			c = arrQues[i].substr(arrQues[i].length-1, 1);
			if(c == "T")
			{
				if(str.elements["ques_"+q].value.trim() == "") e=1;
			}
			else if(c == "R")
			{
				for(j = 0; str.elements["ques_"+q][j]; j++)
				{
					if(str.elements["ques_"+q][j].checked)
					{
						flag=1; break;
					}
				}
				if(flag==0)	e=1;
			}
			else if(c == "L")
			{
				if(str.elements["ques_"+q].value == "") e=1;
			}
			else if(c =="C")
			{
				arrCh = document.getElementsByName("ques_"+q+"[]");
				for(j = 0; j < arrCh.length; j++)
				{
					if(arrCh[j].checked)
					{
						flag=1; break;
					}
				}
				if(flag==0) e=1;
			}
			if(e)	arrError["queserr_"+q] = "This field cannot be left blank.";
		}
	}

	i = 0; var e;
	for(idx in arrError)
	{
		if(e = gbi(idx))
		{
			i++;
			e.innerHTML = arrError[idx]; e.style.display = "";
		}
	}


	if(i > 0)
	{
		var obj = gbi("errormess").getElementsByTagName('span');
		obj[0].innerHTML = i+" errors found. Please enter details correctly and submit the form again.";
		gbi("errormess").style.display = "block";
		if(focusField != "") { str.elements[focusField].focus(); scroll(0, 0);}
		return false;
	}
	return true;
}

function validateLoc(type)
{
	var fieldname = (type == "City") ? "otherCity" : "otherCountry";
	var val = document.frmGetResponse.elements[fieldname].value.trim();
	if(val == "")
		return "Please type the " + type + " name in the text box.";
	else if(val.length < 2)
		return "Please enter the correct name of the " + type + ".";
	else
	{
		var pattern = /[^a-zA-Z\s,.\-/]/;
		if(pattern.test(val))
			return "Special characters other than . - , are not allowed.";
	}
	return "";
}

function isValidDate(Date, Month,Year)
{
	var arrDate  = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if ( Year % 4 == 0 ) arrDate[1] = 29;

	return (Date > arrDate[Month-1]) ? false : true;
}

function isValidPhone(Value)
{
	if ( Value.length == 0 )
		return true;

	var pattern  = /[0-9]/g;
	var pattern1 = /[+]?[0-9]*$/g;
	var firstChar = Value.charAt(0);
	if ( !  (firstChar == "+" || firstChar == "-" || ( firstChar >=0 && firstChar <= 9 )) ) 
		return false;

	for(i=1; i< Value.length; i++ )
	{
		firstChar = Value.charAt(i);
		if(! (firstChar >= 0 || firstChar <= 9) )
			return false;
	}
	return true;
}

function checkFresher()
{
	var str = document.frmGetResponse;
	if(str.expYear.value == 99)
		str.expMonth.disabled = str.currency.disabled = str.ctcLacs.disabled = str.ctcThousands.disabled = true;
	else if(str.expYear.value == 31)
	{
		str.expMonth.disabled = true;
		str.currency.disabled = str.ctcLacs.disabled = str.ctcThousands.disabled = false;
	}
	else
		str.expMonth.disabled = str.currency.disabled = str.ctcLacs.disabled = str.ctcThousands.disabled = false;
}

function checkCTC()
{
	document.frmGetResponse.disabled = (document.frmGetResponse.ctcLacs.value == 51) ? true : false;
}

/* manageQuestionnaire.js */
function changeViewsPerPageForQues(obj)
{
	var f = document.frmSort;
	f.pageNo.value = 1;
	f.countPerPage.value = obj.value;
	f.submit();
}
function changeSortBy()
{
	var f = document.frmSort;
	f.pageNo.value = 1;
	f.orderBy.value = (f.orderBy.value == 1 ) ? 2 : 1;
	f.submit();
}
function checkSelected(eleName)
{
	var val = getMultipleElements(eleName);
	if(val == "")
	{
		showTopErrMsg('Please select the questionnaire(s) to be deleted.');
		return false;
	}
	else
	{
		hideTopErrMsg();
		document.frmSort.delTplID.value = val;
		return true;
	}
}
function deleteTemplate()
{
	var f = document.frmSort;
	var tidLength = document.getElementsByName('tID[]').length;
	var count = getMultipleElements('tID[]').split(",").length;
	
	if(count == tidLength && f.pageNo.value == f.maxPageValue.value)
		f.pageNo.value = parseInt(f.pageNo.value) - 1;
		
	f.submit();
}
function validateQuesForm(calledFor)
{
	var bool = isAtleastOneElementSelected('jobID[]');
	if(bool == false)
	{
		if(document.getElementsByName('jobID[]').length > 0)
			alert('Please select the job(s) to which you wish to '+ calledFor +' the questionnaire.');
		else
			alert("No job found.");
	}
	return bool;
}
function openAssignToJobWindow(qnID)
{
	qID = qnID;
	getJobFor='assign';
	document.assignToJob.tID.value = qID;
	changePageID_ques(1);
}
function openRevokeFromJobWindow(qnID)
{
	qID = qnID;
	getJobFor='remove';
	document.assignToJob.tID.value = qID;
	changePageID_ques(1);
}

/* questionCommon.js */
var httpObj = null;
var getJobFor = null;
var qID = null;
function changePageID_ques(pageNo)
{
	if ( httpObj != null )
		httpObj.abort();
	if ( getJobFor == 'assign' || getJobFor == 'remove')
	{
		// Paging called for AJAX
		getUserJobs(getJobFor, qID, pageNo);
	}
	else 
	{
		// Paging  called for Questionnaire
		document.frmSort.pageNo.value = pageNo;
		document.frmSort.submit();
	}
}
function getUserJobs(getJobFor, qID, pageNo)
{
	var waitMsg = '<br><br><center>Please wait......</center>';
	if( getJobFor == 'assign')
	{
		gbi('ajax_assignJob_content').innerHTML = waitMsg;
		gbi('assignToJob').disabled = true;
	} else 
	{
		gbi('ajax_removeJob_content').innerHTML = waitMsg;
		gbi('removeFromJob').disabled = true;
	}
	if ( httpObj == null )
		httpObj = gethttpObject();

	httpObj.onreadystatechange = function(){ eval("onReadyStateChangeGetUserJob('"+getJobFor+"', "+qID+")") };

	if ( getJobFor == 'assign')
		httpObj.open("GET", ajax_getAssignJob_url+"?id="+id+'&pageNo='+pageNo+'&rand='+Math.random(), true);
	else if ( getJobFor == 'remove')
		httpObj.open("GET", ajax_getRevokeJob_url+"?id="+id+"&tID="+qID+'&pageNo='+pageNo+'&rand='+Math.random(), true);
	httpObj.setRequestHeader("X-Requested-With", "XMLHttpRequest");
	httpObj.send(null);
}
function onReadyStateChangeGetUserJob(getJobFor, qID)
{
	if (httpObj.readyState == 4 ) {
		if ( httpObj.status == 200 ) {
			if (httpObj.responseText == 'ERROR') {
				window.location.reload(true); return;
			}
			var xmlResponse = httpObj.responseXML;
			var xmlRoot = xmlResponse.documentElement;
			var ajax_job_content = (getJobFor == 'assign') ? gbi('ajax_assignJob_content') : gbi('ajax_removeJob_content');
			if (xmlRoot.firstChild.firstChild.nodeValue.toUpperCase() == "SUCCESS") {
				var image_html = "<img src='"+img+"/ques.gif' alt='' width='13' height='13' vspace='2' title='Jagga' />";
				ajax_job_content.innerHTML = '';
				var dummyRow = '';
				var sampleDiv = gbi('dummyRow').innerHTML;
				var xc =xmlRoot.childNodes;
				if ( xc.length > 2 )
				{
					gbi(getJobFor + 'PageLinks').innerHTML = xc[1].childNodes[0].data;
					for (ic=2; ic<xc.length;ic++)
					{
						var jobIdArray = xc[ic].getElementsByTagName('JOB_ID');
						var postArray = xc[ic].getElementsByTagName('POST');
						var dateArray = xc[ic].getElementsByTagName('DATE');
						var tIDArray = xc[ic].getElementsByTagName('TEMPLATE_ID');

						try {
						for(var i=0; i<jobIdArray.length; i++) {
							dummyRow = sampleDiv;
							dummyRow = dummyRow.replace('__JOB__ID_ELE_NAME__', 'jobID[]');
							dummyRow = dummyRow.replace('__JOB_ID__', jobIdArray.item(i).firstChild.data);
							if ( getJobFor == 'assign' && parseInt(tIDArray.item(i).firstChild.data) > 0 )
								dummyRow = dummyRow.replace('__POST__', postArray.item(i).firstChild.data + image_html);
							else
								dummyRow = dummyRow.replace('__POST__', postArray.item(i).firstChild.data);
							dummyRow = dummyRow.replace('__DATE__', dateArray.item(i).firstChild.data);
							if ( i%2 == 0 )
								dummyRow = dummyRow.replace('oddRow', 'evenRow');
							ajax_job_content.innerHTML += dummyRow;
						}
						}catch(e) {}
					}

					if (getJobFor == 'assign')
						gbi('assignToJob').disabled = false;
					else if ( getJobFor == 'remove')
						gbi('removeFromJob').disabled = false;

				} else {
					gbi('assignToJob').disabled = gbi('removeFromJob').disabled = false;
					ajax_job_content.innerHTML = "<br><br><center>No job found.</center>";
				}
				try{document.assignToJob.tID.value = qID; } catch(e){}

				modalwin('680','350',getJobFor, gbi(getJobFor+qID));					
			} else if (xmlRoot.firstChild.firstChild.nodeValue == "FAILURE")  {
				showTopErrMsg('There was an error while processing your request. Please try again later.');
			}
			// done especially for handling on IE
			httpObj = null;
		}
	}
}
function assignQuesToJobs()
{
	gbi('assignToJob').disabled = true;
	var strJobID = getMultipleElements('jobID[]');
	if ( strJobID.length == 0)
	{
		alert("Please select the job(s) to which you wish to assign the questionnaire.");
		gbi('assignToJob').disabled = false;
		return false;
	}
	else 
	{
		var f = document.questionnaire;
		f.jobID.value = strJobID;
		f.create.click();
	}
}

/* questionnaire.js */
function addNewQuestion()
{
    var currQuesCnt = document.questionnaire.currQuesCnt.value;
    var maxQuesCnt = document.questionnaire.maxQuesCnt.value;
    var sampleQuestion = gbi('sample_question').innerHTML;
    sampleQuestion = sampleQuestion.replace(/@@/g,currQuesCnt);
    currQuesCnt++;
	sampleQuestion = sampleQuestion.replace(/_QID_/g, currQuesCnt);
    var newDiv = document.createElement('DIV');
    newDiv.innerHTML = sampleQuestion;
    gbi('container_question').appendChild(newDiv);
    document.questionnaire.currQuesCnt.value = currQuesCnt;
    if ( currQuesCnt >= maxQuesCnt)
    {
        gbi('addMoreQues').style.display = 'none';
        return false;
    }
    return false;
}

function validateCreateQues(objForm, calledFrom, startId )
{
	var skipped = 0, k;
	var error = false;
	var focussed = false;

	var previewFlag = false;
	if ( calledFrom == 'preview') {
		calledFrom = 'new';
		previewFlag = true;
	}

	if ( calledFrom == 'new' ) {
try{
		var errormess = gbi('errormess');
		var topErrMsg = gbi('topErrMsg');
		errormess.style.display = 'none';
		topErrMsg.innerHTML = '';

}catch(e) {  }
		var questionnaireName_err = gbi('questionnaireName_err');
		questionnaireName_err.style.display = 'none';
		questionnaireName_err.innerHTML = '';

		var questionnaireName = gbi('questionnaireName');
		questionnaireName.value = questionnaireName.value.trim();

		if ( questionnaireName.value.length == 0 ) {
			questionnaireName_err.innerHTML = 'Please enter a name.';
			questionnaireName_err.style.display = '';
			if ( !focussed) {
				questionnaireName.focus(); focussed = true;
			}
			error = true;
		}
	}

	var errorClassName = (calledFrom == 'new') ? 'error' : 'error2';
	var i = (startId == null ) ? 1 : startId

	for(;i<=objForm.currQuesCnt.value;i++) {
		var j = i - 1;
		var question_err = gbi('question_err'+i);
		var answerType_err = gbi('answerType_err'+i);
		var answer_err = gbi('answer_err'+i);

		question_err.style.display = answerType_err.style.display = answer_err.style.display = 'none';
		question_err.innerHTML = answerType_err.innerHTML = answer_err.innerHTML = '';

		var question = gbi('question'+i);
		var answerType = gbi('answerType'+i);
		var answer = gbi('answer'+i);
		var mandatory = gbi('mandatory'+i);

		question.value = question.value.trim();
		answer.value = answer.value.trim();

		if (calledFrom == 'new' && question.value.length == 0 && 
			answerType.selectedIndex == 0 && 
			answer.value.length == 0 && 
			mandatory.checked == false) {
			skipped++;
		}else {
			if ( question.value.length == 0 ) {
				question_err.innerHTML = 'Please enter the question.';
				question_err.style.display = '';
				if ( !focussed ) {
					question.focus(); focussed = false;
				}
				error = true;
			}
			if ( answerType.value == -1 ) {
				answerType_err.innerHTML = 'Please select the type of answer.';
				answerType_err.style.display = '';
				if ( !focussed ) {
					answerType.focus(); focussed = true;
				}
				error = true;

				if ( answer.value.length == 0 ) {
					answer_err.innerHTML = 'Please enter the answer options.';
					answer_err.style.display = '';
					if ( !focussed) {
						answer.focus(); focussed = true;
					}
					error = true;
				}
			} else if ( answerType.value != 'Text Box' ) {
				answer.value = answer.value.replace(/[ ]{2,}/g, ' ');
				if ( answer.value.indexOf(',') == -1 ) {
					answer_err.innerHTML = "Please enter at least two options for answers.";
					answer_err.style.display = '';
					if ( !focussed ) {
						answer.focus(); focussed = true;
					}
					error = true;
				} else {
					answer.value = answer.value.replace(/[,]{2,}/g, ',');
					if ( answer.value.charAt(0) == ',' )
						answer.value = answer.value.substring(1);
					if ( answer.value.charAt(answer.value.length-1) == ',')
						answer.value = answer.value.substring(0,answer.value.length-1);

					var ansLength = 0, ansVal = '', ansList = answer.value.split(','), a;
					for(k = 0; k < ansList.length; k++) { 
					 	a = ansList[k].trim();
						if(a != "") { ansVal += (ansVal == '') ? a : ","+a; }
					}
					answer.value = ansVal;

					if ( ansVal.split(",").length <= 1 ) {
						answer_err.innerHTML = "Please enter at least two options for answers.";
						answer_err.style.display = '';
						if ( !focussed ) {
							answer.focus(); focussed = true;
						}
						error = true;
					}
				}
			} else if ( answer.value.length > 0 ) {
				answer.disabled = false;
				answer_err.innerHTML = 'You can not define the answer for a text box.';
				answer_err.style.display = '';
				if ( !focussed ) {
					answer.focus(); focussed = true;
				}
				error = true;
			}
		}
	}

	if ( calledFrom == 'new') {
		if ( skipped == objForm.currQuesCnt.value) {
			showTopErrMsg('Please enter at least one question to save this questionnaire.');
			error = true;
		}
	}

	if ( error == false ) {
		if ( previewFlag == true) {
			objForm.action = formPreviewAction;
			objForm.target = '_blank';
		} else {
			objForm.action = formSaveAction;
			objForm.target = '_self';
		}
	}

	return !error;
}
function gbi(eleId) { try { return document.getElementById(eleId); } catch(e) { return null; } }
function gbn(eleName) { try { return document.getElementsByName(eleName); } catch(e) { return null } }

function showEditBtn(btnID) { gbi(btnID).style.display = ''; }
function checkQuesSelected(eleName)
{
	var val = getMultipleElements(eleName);
	if(val == "")
	{
		showTopErrMsg('Please select the questions you wish to delete.');
		return false;
	}
	else
	{
		hideTopErrMsg();
		document.delQues.qID.value = val;
		return true;
	}
}
function hideAddFrmError()
{
	gbi('question_err1').style.display = gbi('answerType_err1').style.display = gbi('answer_err1').style.display = 'none';
}
function disableSelBox(selBox, eleId)
{
	if ( selBox.value == 'Text Box') 
	{
		gbi('answer'+eleId).value = '';
		gbi('answer'+eleId).disabled = true;
		var answer_err =  gbi('answer_err'+eleId);
		answer_err.style.display = 'none';
		answer_err.innerHTML = '';
		var answerType_err = gbi('answerType_err'+eleId);
		answerType_err.style.display = 'none';
		answerType_err.innerHTML = '';
		gbi('hint_'+eleId).style.display = '';
	} else 
	{
		gbi('answer'+eleId).disabled = false;
		gbi('hint_'+eleId).style.display = 'none';
	}
}

/* ajaxResponse.js */
function moveResponses()
{
	var str = document.frmCreate;
	var id = str.id.value;
	if(str.ftype[0].checked && str.folderID.value <= 0)
	{
		gbi("folderErrorRow").style.display = "block";
		gbi("folderError").innerHTML = "Please select a folder to move responses.";
	}
	else if(str.ftype[1].checked)
	{
		var folderName = str.folderName.value.trim();
		if(folderName == "")
		{
			gbi("createErrorRow").style.display = "block";
			gbi("createError").innerHTML = "Please enter a folder name.";
		}
		else if(matchRegEx(folderName)== false)
		{
			gbi("createErrorRow").style.display = "block";
			gbi("createError").innerHTML = "Please enter a valid folder name.";
		}
		else
		{
			try
			{
				reqFolder = gethttpObject();
			}
			catch(error)
			{
				reqFolder = null; return false;
			}

			gbi("createError").innerHTML = "Please wait....";
			reqFolder.onreadystatechange = onReadyStateChangeFolder;
			reqFolder.open("GET", ajax_createFolder+"?id="+id+"&fname=" + folderName+ "&r=1");
			reqFolder.setRequestHeader("X-Requested-With", "XMLHttpRequest");
			reqFolder.send(null);
		}
	}
	else
	{
		str.strResponseID.value = getMultipleElements("respID[]");
		str.folderName.value = str.folderID.options[str.folderID.selectedIndex].text;
		str.submit();
	}
	return false;
}

function onReadyStateChangeFolder()
{
	var str = document.frmCreate;
	if (reqFolder.readyState == 4)
	{
		try
		{
			if (reqFolder.status == 200)
			{
				if( reqFolder.responseText == "ERROR" )
				{
					window.location.reload(true);
					return false;
				}
				gbi("createError").innerHTML = "";
				
				var arrText = reqFolder.responseText.split("|X|");
				if(arrText[0] == "OK")
				{
					str.strResponseID.value = getMultipleElements("respID[]");
					str.newFolder.value = 1;
					str.folderID.options.length = str.folderID.options.length + 1;
					
					var optn = new Option;
					optn.text = str.folderName.value.trim();
					optn.value = arrText[1];
					str.folderID.options[str.folderID.options.length-1] = optn;
					str.folderID.options[str.folderID.options.length-1].selected = true;
					
					str.submit();
				}
				else 
				{
					gbi("createError").innerHTML = reqFolder.responseText;
				}
			}
			else if (reqFolder.status != 0)
			{
				alert("Your request could not be processed due to a technical error. Please try again after some time.");
			}
		}
		catch (error){}
	}

	return true;
}

function deleteResponses() { document.frmActions.act.value = "delete"; document.frmActions.submit(); }

/* frwdResp.js */
function takeActions(act, actid, preview)
{
	var f = document.frmActions, flagAct;
	if(preview != 1)
	{
		var flag = isAtleastOneElementSelected("respID[]");
		if(flag == false)
		{
			if ( act == "delete" )
				flagAct = "Delete";
			else if ( act == "download" )
				flagAct = "Download";
			else if ( act == "forward")
				flagAct = "Forward";
			else
				flagAct = "Move";

			showTopErrMsg("Please select the responses you wish to "+ flagAct +".");
			return false;
		}
	}
	
	if(act == "chngAct")
	{
		f.actID.value=actid; f.act.value=act; f.submit();
	}
	else return true;
}
function chngStat(objRdBtn, fieldName, stat)
{
	if ( objRdBtn.checked == true)
		gbi(fieldName).disabled = stat;
}
function validateForwardForm(showPreview)
{
	hideFrwdErr();
	var f = document.frwdResp;
	var name = f.name;
	var email = f.email;
	var remail = f.remail;
	var subject = f.subject;
	var message = f.message;
	var format = f.format;
	var error = false;

	name.value = name.value.trim();
	email.value = email.value.trim();
	remail.value = remail.value.trim();
	subject.value = subject.value.trim();
	message.value = message.value.trim();

	if ( name.value.length == 0 ) {
		gbi('error_name').style.display = '';
		gbi('errorstr_name').innerHTML = 'This field cannot be left blank.';
		error = true;
	return !error;
	} else if ( ! isValidName(name.value)) {
		gbi('error_name').style.display = '';
		gbi('errorstr_name').innerHTML = 'Please specify valid name.';
		error = true;
	return !error;
	}

	if ( email.value.length == 0 ) {
		gbi('error_email').style.display = '';
		gbi('errorstr_email').innerHTML = 'This field cannot be left blank.';
		error = true;
	return !error;
	} else if ( !isValidEmail(email.value)) {
		gbi('error_email').style.display = '';
		gbi('errorstr_email').innerHTML = 'Please specify valid email id.';
		error = true;
	return !error;
	}

	if ( remail.value.length == 0 ) {
		gbi('error_remail').style.display = '';
		gbi('errorstr_remail').innerHTML = 'This field cannot be left blank.';
		error = true;
	return !error;
	} else {
		var arrEmail = remail.value.split(',');
		if ( arrEmail.length > 5 ) {
			gbi('error_remail').style.display = '';
			gbi('errorstr_remail').innerHTML = 'You cannot specify more than 5 email ids.';
		error = true;
		return !error;
		}
		for(var z=0; z<arrEmail.length; z++)
		{
			arrEmail[z] = arrEmail[z].toString().trim();
			if ( !isValidEmail(arrEmail[z])) {
				gbi('error_remail').style.display = '';
				gbi('errorstr_remail').innerHTML = 'Please specify valid recipient email id.';
				error = true;
				return !error;
			}
		}
	}

	if ( subject.value.length == 0 ) {
		gbi('error_subject').style.display = '';
		gbi('errorstr_subject').innerHTML = 'This field cannot be left blank.';
		error = true;
	return !error;
	}

	if ( message.value.length == 0 ) {
		gbi('error_message').style.display = '';
		gbi('errorstr_message').innerHTML = 'Please specify message.';
		error = true;
	return !error;
	}

	if ( format[0].checked == false && format[1].checked == false  && format[2].checked == false )
	{
		gbi('error_format').style.display = '';
		gbi('errorstr_format').innerHTML = 'Please select a format.';
		error = true;
	return !error;
	}

	if (!error) 
	{
		f.strResid.value = getMultipleElements('respID[]');
		if ( showPreview ) 
		{
			showFrwdPreview(); addppg('forwardForm'); addppg('preview')
		}
	}
	return !error;

}
function showFrwdPreview()
{
	var f = document.frwdResp;
	gbi('prev_subject').innerHTML = f.subject.value;
	gbi('prev_to').innerHTML = f.remail.value.replace(/,/g, ',<br>');
	gbi('prev_message').innerHTML = f.message.value.replace(/\n/g, '<br>');
}
function clearFrwdFrm()
{
	var f = document.frwdResp;
	f.name.value = f.email.value = f.remail.value = f.subject.value = f.message.value = '';
	return true;
}
function hideFrwdErr()
{
	gbi('error_name').style.display = gbi('error_email').style.display = gbi('error_remail').style.display = gbi('error_subject').style.display = gbi('error_message').style.display = gbi('error_format').style.display = 'none';
}
function contact(source,respID)
{
    var frm = document.frmContact, j = 0;
    if(respID == 0)
    {
    	frm.respID.value = getMultipleElements("respID[]");
	if(frm.respID.value != "")
		j = frm.respID.value.split(",").length;
    }
    else 
    {
        j=1; frm.respID.value = respID;
    }

    if(j > 0) 
    {
        if(source == "send") frm.action = sendContact; else if(source == "edit") frm.action = editContact; else frm.action = previewContact; 
        frm.submit();
    }
    else 
        showTopErrMsg("Please select resumes that you wish to contact.");
}

/* downloadResp.js */
function onSbmtDwnLd()
{
  var f = document.downloadResp;
  var arr = gbi('downloadDiv').getElementsByTagName('input');
  for(var i =0; i < arr.length; i++)
  {
    if(arr[i].type == "radio" && arr[i].checked)
    {
      f.dwnldType.value = arr[i].value;
      f.resid.value = getMultipleElements('respID[]');
      f.action = download_multiple;
      hidemodal();
      f.submit();
      return true;
    }
  }
  alert("Please select a format to download resumes.");
  return false;
}

/* response - html */
function validateSearchWithin()
{
	var msg, str = document.frmSearch;
	str.keywords.value = str.keywords.value.trim();
	str.minExp.value = parseInt(str.minExp.value);
	str.maxExp.value = parseInt(str.maxExp.value);

	var keywordsFilled = ( str.keywords.value.length  > 0 ) ? true : false;
	var experienceFilled = checkExperience(str.minExp.value, str.maxExp.value);
	var locationFilled  =  ( checkLocation("city[]") || checkLocation("country[]") );

	if ( !keywordsFilled && experienceFilled == "NONE" && !locationFilled )
		msg = "Please enter at least one criteria to perform the search.";

	if(msg) 
	{ 
		showTopErrMsg(msg); 
		return false; 
	} 
	else return true;
}
function checkExperience(minExp, maxExp)
{
	if ( minExp == -1 && maxExp == -1 )
		return "NONE";
	else if ( minExp > -1 && maxExp > -1 )
		return "BOTH";
	else if ( minExp > -1 )
		return "MIN";
	else if ( maxExp > -1 )
		return "MAX";
}
function checkLocation(loc)
{
	if( (objLoc = document.getElementsByName(loc)) && (objLoc.length > 0) )
	{
		for(var i=0; i<objLoc.length; i++)
		{
			if(objLoc[i].checked) return true;
		}
	}
	return false;
}
function showImage(imageEleID)
{
	gbi(imageEleID).style.display = ''; return true;
}

function showCreate()
{
	var f = document.frmCreate;
	gbi("createError").innerHTML=gbi("folderError").innerHTML="";gbi("createErrorRow").style.display=gbi("folderErrorRow").style.display='none';

	if(f.ftype[1].checked) 
	{
		f.submitForm.value = "Create & Move";
		gbi("folderName").style.display="";
		gbi("useExisting").innerHTML = gbi("useExisting").innerHTML.replace(/\<(\/?strong)\>/gi, "");
		gbi("useNew").innerHTML = "<strong>" + gbi("useNew").innerHTML + "</strong>";
		gbi("folderID").style.display="none";
	}
	else 
  	{
  		f.submitForm.value = "Move";
  		gbi("folderName").style.display="none";
  		gbi("useNew").innerHTML = gbi("useNew").innerHTML.replace(/\<(\/?strong)\>/gi, "");
  		gbi("useExisting").innerHTML = "<strong>" + gbi("useExisting").innerHTML + "</strong>";
  		gbi("folderID").style.display="";
  	}
}

/* jobFilter.js */
function addSpecialization(objCourse, courseType, specSpanId)
{
    var i = 0, j = 0;
    var courseEleName = (courseType == 'ug' ) ? 'ugCourse[]' : 'pgCourse[]';
    var specEleName = (courseType == 'ug' ) ? 'ugSpec[]' : 'pgSpec[]';
    var course = document.getElementsByName(courseEleName);
    var specSpan = gbi(specSpanId);
    var spec = document.getElementsByName(specEleName);
    var arrCurrSpecSelected = new Array();
    for(j=0; j<spec.length; j++)
    {
        if ( spec[j].checked == true)
        {
            arrCurrSpecSelected[i] = spec[j].value;
            i++;
        }
    }
    specSpan.innerHTML = '';
    for(j=0; j < course.length; j++)
    {
        if ( course[j].checked == true )
        {
            var tmp = course[j].value.toString().split('|X|');
            var tmp1 = tmp[1].toString().split('#');
            var tmpLi = document.createElement('LI');
            var tmpDiv = document.createElement('DIV');
            var tmpStrong = document.createElement('STRONG');
            var tmpTextNode = document.createTextNode('----'+tmp[0]+'----');
            tmpStrong.appendChild(tmpTextNode);
            tmpDiv.appendChild(tmpStrong);
            tmpLi.appendChild(tmpDiv);
            specSpan.appendChild(tmpLi);
            for(i=0; i < tmp1.length; i++)
            {
                var li = document.createElement('LI');
                var input = document.createElement('INPUT');
                var txtNode = document.createTextNode(tmp1[i].toString());

                input.setAttribute('type','checkbox');
                input.setAttribute('value', tmp[0].toString()+"|X|"+tmp1[i].toString());
                input.setAttribute('name', specEleName);
	       
                li.appendChild(input);
	       li.appendChild(txtNode);
                specSpan.appendChild(li);
            }
        }
    }
    spec = document.getElementsByName(specEleName);
    for(j=0; j<spec.length; j++)
    {
        for(i=0; i<arrCurrSpecSelected.length; i++)
        {
            if ( spec[j].value == arrCurrSpecSelected[i])
            {
                spec[j].checked = true;
                break;
            }
        }
    }
}
function onloadEventsForFilter()
{
    var i = 0, j = 0, f = document.filter;
    var ugcourse = document.getElementsByName('ugCourse[]');
    for(i=0; i<ugcourse.length; i++)
    {
        if(ugcourse[i].checked == true )
        {
            addSpecialization(ugcourse[i], 'ug', 'containerUgSpec');
        }
    }

    var pgcourse = document.getElementsByName('pgCourse[]');
    for(i=0; i<pgcourse.length; i++)
    {
        if(pgcourse[i].checked == true )
        {
            addSpecialization(pgcourse[i], 'pg', 'containerPgSpec');
        }
    }

	if(ugSpec)
	{
		var objUgSpec = new Array(), k=0;
		var arrUgSpec = ugSpec.toString().split('~');
		for(i=0; i < f.elements.length; i++)
			if(f.elements[i].name == "ugSpec[]")
				objUgSpec[k++] = f.elements[i];

		for(i=0; i<objUgSpec.length; i++)
		{
			for(j=0; j<arrUgSpec.length; j++)
			{
				arrUgSpec[j] = arrUgSpec[j].replace("&amp;", "&");
				if ( objUgSpec[i].value == arrUgSpec[j])
				{
					objUgSpec[i].checked = true;
					break;
				}
			}
		}
	}

	if(pgSpec) 
	{
		var objPgSpec = new Array(), k=0;
		var arrPgSpec = pgSpec.toString().split('~');
		for(i=0; i < f.elements.length; i++)
			if(f.elements[i].name == "pgSpec[]")
				objPgSpec[k++] = f.elements[i];

		for(i=0; i<objPgSpec.length; i++)
		{
			for(j=0; j<arrPgSpec.length; j++)
			{
				arrPgSpec[j] = arrPgSpec[j].replace("&amp;", "&");
				if ( objPgSpec[i].value == arrPgSpec[j])
				{
					objPgSpec[i].checked = true;
					break
				}
			}
		}
	}
	onchangeDraftID(gbi('draftID'));
}
function submitFilterForm()
{
	// Has been called intentionally, to handle if users plays with browser javascript stats
  if(validateFilterForm())
  {
	onchangeDraftID(gbi('draftID'));

	var form = document.filter;
	var moveToFolder = gbi('defaultFolder');
	var strEmailID = gbi('strEmailID');
	var copyToFolder = gbi('personalFolder');
	var draftID = gbi('draftID');
	var draftText = gbi('draftText');

	strEmailID.value = strEmailID.value.trim();
	draftText.value = draftText.value.trim();

	if ( strEmailID.value.toLowerCase().trim() == "5 email ids allowed. seperate using comma (,)" )
		strEmailID.value = "";

	if ( moveToFolder.selectedIndex == 0 && strEmailID.value.length == 0 && copyToFolder.selectedIndex == 0 && draftID.selectedIndex == 0 && draftText.value.length == 0 )	{
		showTopErrMsg("Please select at least one action for the filter");
		if ( strEmailID.value.length == 0 )
			strEmailID.value == "5 email id(s) allowed. Seperate using comma (,)";
		return false;
	} if ( moveToFolder.selectedIndex > 0 || copyToFolder.selectedIndex > 0 || draftID.selectedIndex > 0 || draftText.value.trim().length > 0 ){
	}
	if ( strEmailID.value.length > 0 ) {
		var strEmail = strEmailID.value.replace(/;/g, ',');
		strEmail = strEmail.replace(/[,]{2,}/g, ',');
		var arrEmail = strEmail.split(',');
		
		for(i=0;i<arrEmail.length;i++)
		{
			arrEmail[i] =  arrEmail[i].trim();
			if ( ! isValidEmail(arrEmail[i]) )
			{
				showTopErrMsg("Please specify valid email id(s)");
				if ( strEmailID.value.length == 0 )
					strEmailID.value == "5 email id(s) allowed. Seperate using comma (,)";
				return false;
			}
		}
	}
	return true;
  }
  return false;
}
function validateFilterForm()
{
	var state = false;
	var f = document.filter;

	var includeKeywords = f.includeKeywords;
	var includeKeywordsSearchType = f.includeKeywordsSearchType;
	var designationSearchText = f.designationSearchText;
	var designationType = f.designationType;
	var designationSearchType = f.designationSearchType;
	var employerSearchText = f.employerSearchText;
	var employerType = f.employerType;
	var employerSearchType = f.employerSearchType;
	var minExperience = f.minExperience;
	var maxExperience = f.maxExperience;
	var city = document.getElementsByName('city[]');
	var country = document.getElementsByName('country[]');
	var ugCourse = document.getElementsByName('ugCourse[]');
	var pgCourse = document.getElementsByName('pgCourse[]');
	var mergeUgPg = f.mergeUgPg;
	var expErr = false;
	
	if ( parseInt(minExperience.value) >= 0 || parseInt(maxExperience.value) >= 0 ) {
		if ( parseInt(minExperience.value) <= parseInt(maxExperience.value) ) {
			return true;
		} else {
			state =  false;
			expErr = true;
		}
		if ( expErr == true ) {
			showTopErrMsg('Please specify a valid range of experience.');
			return false;
		}

	}
	else 
	{
		if ( includeKeywords.value.trim().length > 0 )
			state = true;
		else if ( designationSearchText.value.trim().length > 0 )
			state = true;
	
		else if ( employerSearchText.value.trim().length > 0 )
			state =  true;

		var i = 0;
		for(i=0;i<city.length;i++) {
			if ( city[i].checked == true ) {
				state =  true;
				break;
			}
		}

		for(i=0;i<country.length;i++) {
			if ( country[i].checked == true ) {
				state =  true;
				break;
			}
		}

		for(i=0;i<ugCourse.length;i++) {
			if ( ugCourse[i].checked == true ) {
				state =  true;
				break;
			}
		}

		for(i=0;i<pgCourse.length;i++) {
			if ( pgCourse[i].checked == true ) {
				state =  true;
				break;
			}
		}
		
	    try	//dynamic validation for customised question.
	    {
	    	i = 0;
	    	var ele;
	    	while(ele = document.getElementsByName('criteria['+i+'][]'))
	    	{
	    		if (ele[0].type.toString().toLowerCase() == 'text' )
	    		{
	    			if ( ele[0].value.trim().length > 0 )
	    			{
	    				state =  true;
	    				break;
	    			}
	    		}
	    		else if ( ele[0].type.toString().toLowerCase().indexOf("select") > -1 )
	    		{
	    			if ( ele[0].selectedIndex > -1 )
	    			{
	    				state =  true;
	    				break;
	    			}
	    		}
	    		i++;
	    	}
	    }
	catch(e){ }
	if ( state == false ) 
	{
		showTopErrMsg("Please specify at least one criteria to apply the filter.");
	}
	return state;
    }
}
function onchangeDraftID(draftID)
{
	try
	{
		var draftText = gbi('draftText');
		draftText.disabled = (draftID.selectedIndex == 0) ? false : true;
	}catch(e){  }
}

/*renameAgent.js */
var xmlHttpObj = null;
function checkDuplicateAgentName()
{
	xmlHttpObj = gethttpObject();

	var newName = gbi('agentNewName').value.trim();
	if ( newName.length == 0 )
	{
		gbi('ajaxErrMsg').innerHTML = 'Please enter a name to save this search.';
		gbi('ajaxErrMsg').className = 'error';
		return false;
	}else if ( newName.indexOf("\"") > -1 ) {
		gbi('ajaxErrMsg').innerHTML = 'Please enter a valid name.';
		gbi('ajaxErrMsg').className = 'error';
		return false;
	}

	xmlHttpObj.onreadystatechange = onreadyStateChangeChkDupAgtName;
	gbi('ajaxErrMsg').className = 'error';
	gbi('ajaxErrMsg').innerHTML = 'Please wait.....';

	var requestParams = "id="+gbi('id').value+"&agentNewName="+gbi('agentNewName').value.replace(/\&/,'|XA|');
	xmlHttpObj.open("GET", gbi('ajax_chk_dupAgtName').value + "?" + requestParams, true);
	xmlHttpObj.setRequestHeader("X-Requested-With", "XMLHttpRequest");
	xmlHttpObj.send(null);
}

function onreadyStateChangeChkDupAgtName()
{
	if ( xmlHttpObj.readyState == 4 ) {
		if ( xmlHttpObj.status ==  200 ) {
			gbi('ajaxErrMsg').innerHTML = '';
			gbi('ajaxErrMsg').className = '';
			var responseText = xmlHttpObj.responseText.toUpperCase();
			if ( responseText == 'UNIQUE') {
				document.renameAgent.agentNewName.value = gbi('agentNewName').value;
				document.renameAgent.submit();
			} else if ( responseText == 'NON_UNIQUE') {
				gbi('ajaxErrMsg').className = 'error';
				gbi('ajaxErrMsg').innerHTML = 'You have already saved a search with this name. Please enter another name.';
			} else if ( responseText == 'ERROR' ) {
				window.location.reload(true);
			}
		}
	}
}

/*searchAgent.js */
function onloadEventsForSearch()
{
	var i = 0, j = 0;
	var ugcourse = document.getElementsByName('ugCourse[]');
	for(i=0; i<ugcourse.length; i++)
	{
		if(ugcourse[i].checked == true )
		{
			addSpecialization(ugcourse[i], 'ug', 'containerUgSpec');
		}
	}

	var pgcourse = document.getElementsByName('pgCourse[]');
	for(i=0; i<pgcourse.length; i++)
	{
		if(pgcourse[i].checked == true )
		{
			addSpecialization(pgcourse[i], 'pg', 'containerPgSpec');
		}
	}

	var arrUgSpec = ugSpec.toString().split('~');
	var objUgSpec = document.getElementsByName('ugSpec[]');
	for(i=0; i<objUgSpec.length; i++)
	{
		for(j=0; j<arrUgSpec.length; j++)
		{
			if ( objUgSpec[i].value == arrUgSpec[j])
			{
				objUgSpec[i].checked = true;
				break
			}
		}
	}

	var arrPgSpec = pgSpec.toString().split('~');
	var objPgSpec = document.getElementsByName('pgSpec[]');
	for(i=0; i<objPgSpec.length; i++)
	{
		for(j=0; j<arrPgSpec.length; j++)
		{
			if ( objPgSpec[i].value == arrPgSpec[j])
			{
				objPgSpec[i].checked = true;
				break
			}
		}
	}
}

function validateSearchForm()
{
	var state = false;
	var i=0;
	var f = document.responseSearch;

	if ( f.includeKeywords.value.trim().length >  0 )
		state =true;
	
	if ( f.minExp.selectedIndex > 0 || f.maxExp.selectedIndex > 0)
		state =true;

	var city = document.getElementsByName('city[]');
	for(i=0;i<city.length;i++) {
		if ( city[i].checked == true ) {
			state =true;
			break;
		}
	}

	var country = document.getElementsByName('country[]');
	for(i=0;i<country.length;i++) {
		if ( country[i].checked == true ) {
			state =true;
			break;
		}
	}

	if ( f.searchEmployerText.value.trim().length > 0 )
		state =true;

	if ( f.searchDesignationText.value.trim().length > 0 )
		state =true;

	var ugcourse = document.getElementsByName('ugCourse[]');
	for(i=0;i<ugcourse.length;i++) {
		if ( ugcourse[i].checked == true ) {
			state =true;
			break;
		}
	}
	
	var pgcourse = document.getElementsByName('pgCourse[]');
	for(i=0;i<pgcourse.length;i++) {
		if ( pgcourse[i].checked == true ){
			state =true;
			break;
		}
	}

	try
	{
		i = 0;
		var ele;
		while(ele = document.getElementsByName('criteria['+i+'][]'))
		{
			if (ele[0].type.toString().toLowerCase() == 'text' )
			{
				if ( ele[0].value.trim().length > 0 )
				{
					state =true;
					break;
				}
			}
			else if ( ele[0].type.toString().toLowerCase().indexOf("select") > -1 )
			{
				if ( ele[0].selectedIndex > -1 )
				{
					state =true;
					break;
				}
			}
			i++;
		}
	}
	catch(e){} 

	try
	{
		if( f.activityID.selectedIndex > 0 )
			state =true;
	}catch(e){}
	try {
		if ( f.responseSource.selectedIndex > 0 )
			state =true;
	}catch(e) {}
	try {
		if ( f.applicationDate.value.length > 0 )
			state =true;
	}
	catch(e)
	{
	}

	if ( state == false ) {
		showTopErrMsg('Please enter at least one criteria to perform the search.');
		return false;
	} else {
		var agtNames = document.getElementsByName('agentName');
		for( var y=0;y<agtNames.length;y++)
		{
			if ( agtNames[y].type.toLowerCase() == 'text' && document.responseSearch.saveAgent.checked == true && agtNames[y].value.trim().indexOf("\"")> -1 )
			{
				showTopErrMsg('Please enter a valid name to save this search.');
				return false;
			}
		}
	}
	return true;
}

/* search agent listing - html */
function checkForDelete()
{
	var strAgentList = getMultipleElements('saID[]');
	if ( strAgentList.length > 0 )
	{
		document.delSrchAgt.strAgentList.value = strAgentList;
		return true;
	}

	showTopErrMsg(delMsg);
	document.delSrchAgt.strAgentList.value = '';
	return false;
}
function emptyValues()
{
	var f = document.renameAgent;
	f.saID.value = f.agentNewName.value = gbi('agentNewName').value = '';
	gbi('ajaxErrMsg').className = 'noerror';
}
function changeAgentType(obj)
{
	document.ChgAgtType.agentType.value = obj.value;
	document.ChgAgtType.submit();
}

/* eappsMis.js */
function validateMisForm()
{
	var f =  document.mis;
	var startDate = f.startDate;
	var endDate = f.endDate;
	var viewType = f.viewType;
	var boolError = true;

	if ( startDate.value.trim().length == 0 )
	{
		showTopErrMsg('Please select the From date.');
		boolError = false;
	}
	else if ( endDate.value.trim().length == 0 )
	{
		showTopErrMsg('Please select the To date.');
		boolError = false;
	}
	else if ( startDate.value.trim().length > 0 && endDate.value.trim().length > 0) {
		var start = startDate.value.split('-');
		var end = endDate.value.split('-');
		var sdt = start[0]+start[1]+start[2];
		var tdt = end[0]+end[1]+end[2];

	if ( parseInt(sdt) > parseInt(tdt) ) {
			showTopErrMsg('Please select valid date range.');
			boolError = false;
	        }
	}
	if (boolError == true &&  viewType[0].checked == false && viewType[1].checked == false )
	{
		showTopErrMsg('Please select the display format.');
		boolError = false;
	}
	return boolError;
}

function checkSubscription()
{
	var bool = isAtleastOneElementSelected('autoEmailType');
	if(bool) return true;
	else
	{
		showTopErrMsg('Please select the duration of subscription.');
		return false;
	}
}
/* inline_admin.js */
var currentUser = null;
var calledFor = null;
var http = null;
var const_inline_error = "<br>An error has occured while processing your request. We recommend clicking the \"Refresh\" or \"Reload\" button on your browser's toolbar.";

function Inline(oName)
{
	this.oName = oName; // name of object

	this.inlinejobs = function(layerid, clickEventId, uid, pageNo){
		pageNo = ( pageNo == null ) ? 1 : parseInt(pageNo);
	 	currentUser = uid;
		calledFor = layerid;
		http = null;
		http = gethttpObject();
		var id = gbi('id').value;
		var requestParams = "id="+id+"&uname="+uid + "&pageNo=" + pageNo+"&rand="+Math.random();
		gbi('user_NaMe').innerHTML = gbi('uname_'+uid).innerHTML;
		gbi('user_NaMe1').innerHTML = gbi('uname_'+uid).innerHTML;
		gbi("assignbutton").disabled = true;
		gbi("delbutton").disabled = true;
		modalwin('680','400',layerid, gbi(clickEventId));
		switch(clickEventId)
		{
			case 'add1':
				var fstr = this.oName + ".onreadystatechangeInline(0,"+ uid + ")";
					http.onreadystatechange = function() {
					eval(fstr); return true;
					};
					http.open("GET", gbi("ajax_url_assignlist").value + "?" + requestParams, true);
					http.setRequestHeader("X-Requested-With", "XMLHttpRequest");
					
					break;
			case 'remove1':
					var fstr = this.oName + ".onreadystatechangeInline(1,"+	uid + ")";
					http.onreadystatechange = function() {
					eval(fstr); return true;
					};
					http.open("GET", gbi("ajax_url_dellist").value + "?" + requestParams, true);
					http.setRequestHeader("X-Requested-With", "XMLHttpRequest");
					
					break;
		}
		http.send(null);
	}
	
	this.assign = function(uid){
	try{	
		http = gethttpObject();
		var id = gbi('id').value;

		var jobids = "";
		var a = gbi("assign_count").value;
		var count = 0;
		for(var i = 0; i < a; i++){
		if(gbi("check_" + i).checked)
			{
			jobids += gbi("check_" + i).value + "+";
			count++;
			}
		}
		if ( count == 0 ) {
			alert('Please select at least one job.');
			return ;
		}
		jobids = jobids.slice(0,-1);	
		var requestParams = "id="+id+"&jids="+jobids+"&uid="+uid;
		var fstr = this.oName + ".onreadystatechangeInline2(2,"+ uid +")";
		http.onreadystatechange = function() {
				eval(fstr); return true;
		};
		http.open("POST", gbi("ajax_url_assign").value, true);
		http.setRequestHeader("X-Requested-With", "XMLHttpRequest");
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", requestParams.length);
		http.setRequestHeader("Connection", "close");
		http.send(requestParams);
	}catch(e) {  }
	}
	
	this.remove = function(uid){
		
		http = gethttpObject();
		var id = gbi('id').value;

		var jobids = "";
		var a = gbi("del_count").value;
		var count = 0;
		for(var i = 0; i < a; i++){
		if(gbi("check_" + i).checked)
			{
			jobids += gbi("check_" + i).value + "+";
			count++;
			}
		}
		if ( count == 0 ) {
			alert('Please select at least one job.');
			return;
		}
		jobids = jobids.slice(0,-1);	
		var requestParams = "id="+id+"&jids="+jobids+"&uid="+uid;
		var fstr = this.oName + ".onreadystatechangeInline2(3,"+uid +")";
		http.onreadystatechange = function() {
				eval(fstr); return true;
		};
		http.open("POST", gbi("ajax_url_del").value, true);
		http.setRequestHeader("X-Requested-With", "XMLHttpRequest");
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", requestParams.length);
		http.setRequestHeader("Connection", "close");
		http.send(requestParams);
	}
		
	
	this.onreadystatechangeInline = function(action,uid) {
		if (http.readyState == 4) {
			try {	
				if (http.status == 200) {	
					// The ajax request failed because user was  timed out.
					if ( http.responseText == "ERROR")
					{
						window.location.reload(true);;
						return false;
					}
					var xmlResponse = http.responseXML;
					xmlRoot = xmlResponse.documentElement;
					var master = gbi("jobdiv"+ action);
					var arr = master.childNodes;
					var cnt = arr.length;
					for(var i = cnt -1; i >= 0 ;i--)
						master.removeChild(arr[i]);
					var dummy = gbi("dummyrow").innerHTML;
					if (xmlRoot.firstChild.firstChild.nodeValue == "Success") 
					{
						try{
						gbi(calledFor+'PageLinks').innerHTML = xmlRoot.childNodes[1].childNodes[0].data;
						idArray = xmlRoot.getElementsByTagName("id");
						dateArray = xmlRoot.getElementsByTagName("date");
						postArray = xmlRoot.getElementsByTagName("post");
						var tmp = "";
						var cnt2 = idArray.length;
						for (var i=0; i<cnt2; i++)
						{
							tmp = "";
							tmp = dummy.replace("checkbox_val",idArray.item(i).firstChild.data);
							tmp = tmp.replace("CHECKiD","check_" + i);
							tmp = tmp.replace("DATY",dateArray.item(i).firstChild.data);
							tmp = tmp.replace("ROLYY",postArray.item(i).firstChild.data);
							var b = document.createElement('div');
							b.innerHTML = tmp;
							// class name added by Vishal
							if( i%2 == 1 ) {
								b.className = "cls oddRow lh28";
								b.setAttribute('class', 'cls evenRow lh28');
							} else {
								b.className = "cls evenRow lh28"
								b.setAttribute('class', 'cls oddRow lh28');
							}
							master.appendChild(b);
						}
						switch(action)
						{
							case 0: //AddListing	
								gbi("assign_count").value = i;	
								gbi("assignbutton").onclick = function(){i1.assign(uid, "assign");};
								gbi("assignbutton").disabled = false;
								break;
							case 1: //DelListing
								gbi("del_count").value = i;	
								gbi("delbutton").onclick = function(){i1.remove(uid);};
								gbi("delbutton").disabled = false;
								break;
						}
						}catch(e) {
							try{
							var errDv = document.createElement("DIV");
							errDv.style.color = '#ff0000';
							errDv.align = 'center';
							errDv.innerHTML = '<br>No Job Found.';
							master.appendChild(errDv);
							gbi(calledFor+'PageLinks').innerHTML = '';
							} catch(e) {}
						}
					}
					else
					{
						if (xmlRoot.firstChild.firstChild.nodeValue == "Err") 
						{
							hidemodal();
							gbi('successmsg').innerHTML = const_inline_error;
							gbi('greenmess').style.display = "block";	
							scroll(0,80);	
						}						

					}
				
				}
				else if (http.status == 302) {
					gbi("error_comments"+i).innerHTML = const_inline_error;
				}
				else if (http.status != 0) { // IE returns a status code of 0 on some occasions, so ignore that case
					gbi("error_comments"+i).innerHTML = const_inline_error;
				}
			}
			catch (error) {
			}
		}
		return true;
	};
	
	this.onreadystatechangeInline2 = function(action,uid) {
		if (http.readyState == 4) {
			try {	
				if (http.status == 200) {	
					// The ajax request failed because user was  timed out.
					if ( http.responseText == "ERROR")
					{
						window.location.reload(true);;
						return false;
					}
					if (http.responseText.charAt(0) == "\n") // to handle prob with symfony (extra \n char)
						var arr_response = http.responseText.substr(1).split("|X|");
					else
						var arr_response = http.responseText.split("|X|");
					if (arr_response[0] == "OK") 
					{
        					var xmlResponse = http.responseXML;
						switch(action)
						{
							case 2: //add
								gbi('successmsg').innerHTML = arr_response[1]+" Job(s) has/have been assigned to "+gbi('uname_'+uid).innerHTML;
								gbi('greenmess').style.display = "block";
								var cnt = parseInt(gbi('ucount_'+uid).innerHTML)+ parseInt(arr_response[1]);
								gbi('ucount_'+uid).innerHTML = (cnt < 0 ) ? '0' : cnt;
								scroll(0,80);	
								hidemodal();
								cleanmodal(0);	
								break;
							case 3: //remove
								gbi('successmsg').innerHTML = arr_response[1]+" Job(s) has/have been revoked from "+gbi('uname_'+uid).innerHTML;
								gbi('greenmess').style.display = "block";
								var cnt = parseInt(gbi('ucount_'+uid).innerHTML) - parseInt(arr_response[1] );
								gbi('ucount_'+uid).innerHTML = (cnt < 0 ) ? '0' : cnt;

								hidemodal();
								scroll(0,80);
								cleanmodal(1);	
								break;
						}
					}
					else
					{
						if (arr_response[0] == undefined) 
						{
							gbi("error_comments"+i).innerHTML = const_inline_error;
						}						

					}
				}
				else if (http.status == 302) {
					gbi("error_comments"+i).innerHTML = const_inline_error;
				}
				else if (http.status != 0) { // IE returns a status code of 0 on some occasions, so ignore that case
					gbi("error_comments"+i).innerHTML = "<br>" + const_inline_error;
				}
				http = null;
			}
			catch (error) {
			}
		}
		return true;
	};
	return this; // return object of Inline class
}

function cleanmodal(cnt)
{
	var browser=navigator.appName;
	var master = gbi("jobdiv"+cnt);
	var arr = master.childNodes;
	var cnt = arr.length;
	var lim;
	if( browser == "Netscape")
		lim = 3;
	else	
		lim = 1;
	try {
	for(var i = cnt -1; i >= lim ;i--)
		var tmpChildN = arr[i].chileNodes;
		for(var j=0; j<tmpChildN.length;j++)
			arr[i].removeChild(tmpChildN[j]);
		master.removeChild(arr[i]);
	}catch(err1) {
		try {
			master.innerHTML = '';
		} catch(err2) {
		}
	}
}
function changePageIDForJobAssign(pageNo)
{
	i1.inlinejobs(calledFor, calledFor+'1', currentUser, pageNo);
}

/* inlineNew.js */

// Global variable to send ajax request for comments
var xmlHttpObj = null;

function addComment(objBtn) {
	if ( xmlHttpObj == null )
		xmlHttpObj = gethttpObject();

	if ( gbi('commentCount').value >= maxComment ) {
		showTopErrMsg('You can only add '+ maxComment +' comments.');
		return false;
	}

	var commentText = gbi('newComment').value.trim();
	if ( commentText.length == 0 ) {
		showTopErrMsg("You have not entered any comment.");
		gbi('newComment').focus();
		return false;
	} else if ( commentText.length > 250 ) {
		showTopErrMsg("You can enter only upto 250 characters.");
		gbi('newComment').focus();
		return false;
	}
	hideTopErrMsg();
	commentText = commentText.replace(/\&amp;/g, '&');
	commentText = commentText.replace(/\&/g, '|XA|');
	commentText = commentText.replace(/\+/g, '|XX|');


	xmlHttpObj.onreadystatechange = function(){ onreadyStateChangeAddComment( objBtn ); }

	var requestParams = "id="+gbi('id').value+"&resid=" + gbi("resid").value + "&comment=" + commentText;
	xmlHttpObj.open("POST", gbi('ajax_url_add').value , true);
	xmlHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttpObj.setRequestHeader("Content-length", requestParams.length);
	xmlHttpObj.setRequestHeader("Connection", "close");

	xmlHttpObj.send(requestParams);
	objBtn.disabled = true;

}

function updateComment(objBtn, i) {
	if ( xmlHttpObj == null )
		xmlHttpObj = gethttpObject();

	var commentText = gbi('textarea_'+i).value.trim();
	if ( commentText.length == 0 ) {
		showTopErrMsg("You have not entered any comment.");
		gbi('newComment').focus();
		return false;
	} else if ( commentText.length > 250 ) {
		showTopErrMsg("You can enter only upto 250 characters.");
		gbi('newComment').focus();
		return false;
	}

	hideTopErrMsg();
	objBtn.disabled = true;
	commentText = commentText.replace(/\&amp;/g, '&');
	commentText = commentText.replace(/\&/g, '|XA|');
	commentText = commentText.replace(/\+/g, '|XX|');

	xmlHttpObj.onreadystatechange = function() { onreadyStateChangeUpdateComment(objBtn, i); }

	var requestParams = "id="+gbi('id').value+ "&comment_id=" + gbi('comment_id_'+i).value + "&comment=" + commentText;
	xmlHttpObj.open("POST", gbi('ajax_url_save').value , true);
                xmlHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                xmlHttpObj.setRequestHeader("Content-length", requestParams.length);
                xmlHttpObj.setRequestHeader("Connection", "close");
	xmlHttpObj.send(requestParams);
}

function deleteComment(objBtn, ij) {
	if ( xmlHttpObj == null )
		xmlHttpObj = gethttpObject();

	hideTopErrMsg();
	objBtn.disabled = true;
	xmlHttpObj.onreadystatechange = function() {onreadyStateChangeDeleteComment(ij);};

	var requestParams = "id="+gbi('id').value+ "&comment_id=" + gbi('comment_id_'+ij).value;
	xmlHttpObj.open("GET", gbi('ajax_url_delete').value + "?" + requestParams, true);
	xmlHttpObj.send(null);
}

function onreadyStateChangeAddComment(objBtn) {
	if ( xmlHttpObj.readyState == 4 ) {
		if ( xmlHttpObj.status == 200 ) {
			gbi('comment_count_master').innerHTML = parseInt(gbi('comment_count_master').innerHTML) + 1;
			var responseText = xmlHttpObj.responseText;
			if ( responseText.charAt(0) == "\n" )
				responseText = responseText.substring(0);

			var arrResp = responseText.split('|X|');
			if ( arrResp[0] == "OK" ) {
				var comment_parent =  gbi("add-comments-new");

				var i = gbi('commentCount').value;
				i = parseInt(i) + parseInt(1);

				var newContent = gbi('SampleDiv').innerHTML;
				newContent = newContent.replace(/@@/g, arrResp[1]);

				comment_parent.innerHTML = newContent + comment_parent.innerHTML;
				
				var xx = 1;
				var bEle = document.getElementsByTagName('b');
				for(var j=0; j<bEle.length; j+=2)
				{
					try {
					bEle[j].innerHTML = xx + '.';
					bEle[j+1].innerHTML = (xx++) + '.';
					} catch(e) { }
				}
				gbi('date_'+arrResp[1]+ '_1').innerHTML = getCurrDateString();
				gbi('date_'+arrResp[1]+ '_2').innerHTML = getCurrDateString();
				var newComment_encoded = gbi('newComment').value;
	            newComment_encoded = newComment_encoded.replace(/\&/g, '&amp;');
				newComment_encoded = newComment_encoded.replace(/\</g, '&lt;');
				newComment_encoded = newComment_encoded.replace(/\>/g, '&gt;');
				newComment_encoded = newComment_encoded.replace(/\"/g, '&quot;');
				newComment_encoded = newComment_encoded.replace(/\n/g, '<br />');
				gbi('original_comment_'+ arrResp[1]).innerHTML = newComment_encoded;
				gbi('comment_id_' + arrResp[1]).value = arrResp[1]; 
				comment_parent.style.display = 'block';
				gbi('commentCount').value = i; 
				gbi('newComment').value = '';
				xmlHttpObj = null;
				objBtn.disabled = false;
			}
		} else if ( xmlHttpObj.status ==  302 ) {
		} else if ( xmlHttpObj.status != 0 ) {
		}
	}
}

function onreadyStateChangeUpdateComment(objBtn, i) {
	if ( xmlHttpObj.readyState == 4 ) {
		if ( xmlHttpObj.status == 200 ) {
			var newComment_encoded = gbi('textarea_' + i ).value.trim();
	                        newComment_encoded = newComment_encoded.replace(/\&/g, '&amp;');
	                        newComment_encoded = newComment_encoded.replace(/\</g, '&lt;');
                                newComment_encoded = newComment_encoded.replace(/\>/g, '&gt;');
                                newComment_encoded = newComment_encoded.replace(/\"/g, '&quot;');
                                newComment_encoded = newComment_encoded.replace(/\n/g, '<br />');

			gbi("original_comment_"+i).innerHTML = newComment_encoded;
			gbi("edit_comment_"+i).style.display = 'none';
			gbi('view_comment_'+i).style.display = '';
			objBtn.disabled = false;
			xmlHttpObj = null;
		}
	}
}

function onreadyStateChangeDeleteComment(i) {
	
	if ( xmlHttpObj.readyState == 4 ) {
		if ( xmlHttpObj.status == 200 ) {
			gbi('comment_count_master').innerHTML = ((parseInt(gbi('comment_count_master').innerHTML) - 1) >=0 ) ? parseInt(gbi('comment_count_master').innerHTML) - 1 : 0; 
			var idel = i;
			var new_i = idel;
			gbi('edit_comment_' + idel ).parentNode.removeChild(gbi('edit_comment_' + idel ));
			gbi('view_comment_' + idel ).parentNode.removeChild(gbi('view_comment_' + idel ));
				
			var xx = 1;
			var bEle = document.getElementsByTagName('b');
			for(var j=0; j<bEle.length; j+=2)
			{
				try {
				bEle[j].innerHTML = xx + '.';
				bEle[j+1].innerHTML = (xx++) + '.';
				} catch(e) { }
			}

			gbi('commentCount').value = parseInt(gbi('commentCount').value) - 1;
			xmlHttpObj = null;
		}
	}
}

function ModifyComment(commentID)
{
	var original_comment = gbi("original_comment_"+commentID).innerHTML;
    original_comment = original_comment.replace(/\&amp\;/g, '&'); 
    original_comment = original_comment.replace(/\&lt\;/gi, '<');
    original_comment = original_comment.replace(/\&gt\;/gi, '>');
    original_comment = original_comment.replace(/\&quot\;/gi, '"');
    original_comment = original_comment.replace(/\n/gi, '');
    original_comment = original_comment.replace(/<br>/gi, '\n');
    original_comment = original_comment.replace(/<br \/>/gi, '\n');
	gbi("textarea_"+commentID).value = original_comment;
    gbi("edit_comment_"+commentID).style.display = '';
    gbi("view_comment_"+commentID).style.display = 'none';
}
function CancelModifyComment(commentID)
{
    gbi("edit_comment_"+commentID).style.display = 'none';
    gbi("view_comment_"+commentID).style.display = '';
    gbi("textarea_"+commentID).value = gbi("original_comment_"+commentID).innerHTML;
}

function getCurrDateString() 
{
	var months = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
	var dt = new Date();
	var dtStr = dt.getDate() + '-' + months[dt.getMonth()] + '-' + dt.getFullYear();
	return dtStr;
}
function checkLimit(obj, length)
{
	if (obj.value.trim().length > length )
		showTopErrMsg('You cannot add more than ' + length + ' characters');
}


/* highlight */
function highlightWord(node,word) {
	var l = word.replace(/\\/g,'').length;
	if (node.hasChildNodes()) {
		var hi_cn;
		for (hi_cn=0;hi_cn<node.childNodes.length;hi_cn++) {
			highlightWord(node.childNodes[hi_cn],word);
		}
	}

	if (node.nodeType == 3) {
		tempNodeVal = node.nodeValue.toLowerCase();
		tempWordVal = word.toLowerCase();
		if(tempWordVal.search(/(\.|\+|\*|\#)/) == -1)
		var st = "tempNodeVal.search(\/\\b"+tempWordVal+"\\b\/i)";
		else if(tempWordVal == 'c')
		var st = "tempNodeVal.search(\/\\bc(\\ |\\,|\\.|\\\\|\\\/)\/i)";
		else
		var st = "tempNodeVal.search(\/"+tempWordVal+"/i)";
		if (eval(st) != -1) {
			pn = node.parentNode;
			checkn = pn;
			while (checkn.nodeType != 9 &&
			checkn.nodeName.toLowerCase() != 'body') {
				if (checkn.className.match(/\bnosearchhi\b/)) { return; }
				checkn = checkn.parentNode;
			}
			if (pn.className != "searchword") {
				nv = node.nodeValue;
				if(tempWordVal.search(/(\.|\+|\*|\#)/) == -1)
				var st1 = "tempNodeVal.search(\/\\b"+tempWordVal+"\\b\/i)";
				else if(tempWordVal == 'c')
				var st1 = "tempNodeVal.search(\/\\bc(\\ |\\,|\\.|\\\\|\\\/)\/i)";
				else
				var st1 = "tempNodeVal.search(\/"+tempWordVal+"/i)";
				ni = eval(st1);
				if(ni == -1) return;
				before = document.createTextNode(nv.substr(0,ni));
				docWordVal = nv.substr(ni,l);
				after = document.createTextNode(nv.substr(ni+l));
				hiwordtext = document.createTextNode(docWordVal);
				hiword = document.createElement("span");
				hiword.className = "searchword";
				hiword.appendChild(hiwordtext);
				pn.insertBefore(before,node);
				pn.insertBefore(hiword,node);
				pn.insertBefore(after,node);
				pn.removeChild(node);
			}
		}
	}
}

function SearchHighlight() 
{
	if (!document.createElement) return;
	if(qs == '') return;
	
	qsa = qs.split(',');
	for (i=0;i<qsa.length;i++) 
	{
		qsip = qsa[i];
		highlightWord(gbi("rdxResume"),qsip);
	}
}

/*  upload - html */
function checkContainer(frmName)
{
	var frmObj = eval('document.' + frmName);
	var arr = frmObj.container.value.split("|X|");
	if(arr[0] == "" || typeof(arr[1]) == "undefined")
	{
		var obj = gbi("errormess").getElementsByTagName("span");
		gbi("errormess").style.display="block";
		obj[0].innerHTML = err;
		scroll(0, 0);
	}
	else frmObj.submit();
}

/* othermedia - html */
function submitOMediaForm()
{
	if ( !checkPost() )	return false;
	if ( !checkMedia() )	return false;

	var postType = document.getElementsByName('postType');
	var mediaType = document.getElementsByName('mediaType');

	if ( postType[0].checked && mediaType[0].checked )
	{
		var vJobID = gbi('oldPost').value;
		var src = gbi('oldMedia');
		var sourceID = src.options[src.selectedIndex].text;

		var code = 	sourceUrl.toString().split('|X|');
		var url = code[0] + vJobID + code[1] + sourceID + code[2];
		gbi('codeArea').value = url;
		return false;
	}
	else
		return true;
}
function checkPost()
{
	var postType = document.getElementsByName('postType');
	if ( postType[0].checked && gbi('oldPost').value == '-1')
	{
		chgClass('1', 'mediaSel', 'media', 'step', 'othermedia')
		showTopErrMsg('Please select a job position from the list or \nprovide a new position to proceed.');
		return false;
	}
	else if ( postType[1].checked && gbi('newPost').value.length == 0 )
	{
		chgClass('1', 'mediaSel', 'media', 'step', 'othermedia')
		showTopErrMsg('Please select a job position from the list or \nprovide a new position to proceed.');
		return false;
	}
	else
	{
		chgClass('2', 'mediaSel', 'media', 'step', 'othermedia');
		return true;
	}
}
function checkMedia()
{
	var mediaType = document.getElementsByName('mediaType');
	if ( mediaType[0].checked && gbi('oldMedia').value == -1 )
	{
		chgClass('2', 'mediaSel', 'media', 'step', 'othermedia');
		showTopErrMsg('Please select a media from the list or \nprovide a new media to proceed.');
		return false;
	}
	else if ( mediaType[1].checked && gbi('newMedia').value.length == 0 )
	{
		chgClass('2', 'mediaSel', 'media', 'step', 'othermedia');
		showTopErrMsg('Please select a media from the list or \nprovide a new media to proceed.');
		return false;
	}
	else
	{
		gbi('codeArea').value = '';
		chgClass('3', 'mediaSel', 'media', 'step', 'othermedia')
		return true;
	}
	gbi('codeArea').value = '';
}

function disableStep(eleID) { try { gbi(eleID).disabled = true; } catch(e) {} }
function enableStep(eleID) { try { gbi(eleID).disabled = false; } catch(e) {} }

function isValidName(Name)
{
    var pattern = /[^a-zA-Z'\s.]+/;
    return !(pattern.test(Name));
}
