document.write("<script src='prefs.js' type='text/javascript'></script>");
document.write("<script src='user.js' type='text/javascript'></script>");
//Ajax methods
var subjReq = createRequestObject();
//Get unique time key
function getTimeKey() {
	var now = new Date();
	var hour = now.getHours();
	var minute = now.getMinutes();
	var second = now.getSeconds();
	var monthnumber = now.getMonth();
	var monthday = now.getDate();
	var year = now.getYear();
	return hour + "" + minute + "" + second + "" + monthnumber + "" + monthday + "" + year;
}
function sndSubjReq(action, params, callBackFn) {
	if (subjReq.readyState >= 1 && subjReq.readyState <= 3) {
		return true;
	}
	// dummyid parameter required since the IE Browser caches the previous URL and http stuff
   	// So to say this is a new request url, dummyid being unique will help
	var urlFire = action + "?dummyid=" + getTimeKey() + "" + params + "&showUrl=true";
	subjReq = createRequestObject();
	subjReq.open("POST", urlFire);
	subjReq.onreadystatechange = eval(callBackFn);
	subjReq.send(null);
	return false;
}
function sndReq(callfor, param, functionname) {
	// dummyid parameter required since the IE Browser caches the previous URL and http stuff
   	// So to say this is a new request url, dummyid being unique will help
	var urlFire = callfor + "?dummyid=" + getTimeKey() + "" + param + "&showUrl=true";
	req = createRequestObject();
	req.open("POST", urlFire);
	req.onreadystatechange = eval(functionname);
	req.send(null);
}
function sndReqSync(callfor, param, functionname) {	
	// dummyid parameter required since the IE Browser caches the previous URL and http stuff
   	// So to say this is a new request url, dummyid being unique will help
	var urlFire = callfor + "?dummyid=" + getTimeKey() + "" + param;
	req = createRequestObject();
	req.open("POST", urlFire, false);
	req.onreadystatechange = eval(functionname);
	req.send(null);
}
function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer") {
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		ro = new XMLHttpRequest();
	}
	return ro;
}
//Ajax calling functions
function getStatesAccountInfo(number) {
	document.frmAccountInformation.orgState.value = "";
	document.frmAccountInformation.orgState.disabled = true;
	if (number == 0) {
		return;
	}
	sndReq("common_ajax.htm", "&submitName=getStates&number=" + number + "&classname=AccountInfoVO&property=country", "statesCallBack");
}
function statesCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = "frmAccountInformation";
			var compName = "orgState";
			var xmlRoot = "states";
			buildStateDropDown(formName, compName, xmlRoot);
		}
	}
}
function getStatesSubject(number) {
	document.frmSubject.state.value = "";
	document.frmSubject.program.value = "";
	document.frmSubject.programLevel2.value = "";
	document.frmSubject.programType.value = "";
	document.frmSubject.moi.value = "";
	document.frmSubject.state.disabled = true;
	document.frmSubject.program.disabled = true;
	document.frmSubject.programLevel2.disabled = true;
	document.frmSubject.programType.disabled = true;
	document.frmSubject.moi.disabled = true;
	if (number == "" || number == 0) {
		return;
	}
	sndReq("common_ajax.htm", "&submitName=getStates&number=" + number + "&classname=AccountInfoVO&property=country", "statesCallBackSubject");
}
var prgmTO;
function getPrograms(programTypeId) {
	document.frmSubject.program.value = "";
	document.frmSubject.programLevel2.value = "";
	document.frmSubject.program.disabled = true;
	document.frmSubject.programLevel2.disabled = true;
	if (programTypeId == "" || programTypeId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + programTypeId + "&parentName=program", "programCallBack")) {
		clearTimeout(prgmTO);
		prgmTO = setTimeout("getPrograms('" + document.frmSubject.programType.value + "')", 700);
	}
}
function getProgramsLearnTeach(programTypeId) {
	document.forms[0].program.value = "";
	document.forms[0].programLevel2.value = "";
	document.forms[0].program.disabled = true;
	document.getElementById("level").innerHTML = "";
	document.forms[0].programLevel2.disabled = true;
	document.getElementById("selectAllChk2").checked = false;
	document.getElementById("selectAllChk2").disabled = true;
	var prtype = document.forms[0].programType;
	selected_prtype = "";
	if (prtype.selectedIndex != -1) {
		selected_prtype = prtype.options[prtype.selectedIndex].text;
		selected_prtype = selected_prtype.replace(/^\s+|\s+$/g, "");
	}
	if (selected_prtype == "Academic Curriculum" || selected_prtype == "Test Preparation") {
		document.getElementById("addSubject").style.display = "none";
	} else {
		document.getElementById("addSubject").style.display = "";
	}
	if (programTypeId == "" || programTypeId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + programTypeId + "&parentName=program", "programCallBackLearnTeach")) {
		clearTimeout(prgmTO);
		prgmTO = setTimeout("getProgramsLearnTeach('" + document.forms[0].programType.value + "')", 700);
	}
}
var prgmTypeTO;
function getProgramType(stateId) {
	document.frmSubject.programType.value = "";
	document.frmSubject.program.value = "";
	document.frmSubject.programLevel2.value = "";
	document.frmSubject.moi.value = "";
	document.frmSubject.program.disabled = true;
	document.frmSubject.programType.disabled = true;
	document.frmSubject.programLevel2.disabled = true;
	document.frmSubject.moi.disabled = true;
	if (stateId == "" || stateId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + stateId + "&parentName=programType", "programTypeCallBack")) {
		clearTimeout(prgmTypeTO);
		prgmTypeTO = setTimeout("getProgramType('" + document.frmSubject.state.value + "')", 700);
	} else {
		getMOISubject(stateId);
	}
}
function getProgramTypeLearnTeach(stateId) {
	document.forms[0].programType.value = "";
	document.forms[0].program.value = "";
	document.forms[0].programLevel2.value = "";
	document.forms[0].moi.value = "";
	document.forms[0].program.disabled = true;
	document.forms[0].programType.disabled = true;
	document.getElementById("level").innerHTML = "";
	document.forms[0].programLevel2.disabled = true;
	document.getElementById("selectAllChk2").checked = false;
	document.getElementById("selectAllChk2").disabled = true;
	document.forms[0].moi.disabled = true;
	document.getElementById("addSubject").style.display = "";
	if (stateId == "" || stateId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + stateId + "&parentName=programType", "programTypeCallBackLearnTeach")) {
		clearTimeout(prgmTypeTO);
		prgmTypeTO = setTimeout("getProgramTypeLearnTeach('" + document.forms[0].state.value + "')", 700);
	} else {
		getMOISubjectLearnTeach(stateId);
	}
}
var moiTO;
function getMOISubject(moiStateId) {
	document.frmSubject.moi.value = "";
	document.frmSubject.moi.disabled = true;
	if (moiStateId == "" || moiStateId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateMOIDropDown&parentId=" + moiStateId + "&parentName=MOISubject", "MOISubjectCallBack")) {
		clearTimeout(moiTO);
		moiTO = setTimeout("getMOISubject('" + document.frmSubject.state.value + "')", 700);
	}
}
function getMOISubjectLearnTeach(moiStateId) {
	document.forms[0].moi.value = "";
	document.forms[0].moi.disabled = true;
	if (moiStateId == "" || moiStateId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateMOIDropDown&parentId=" + moiStateId + "&parentName=MOISubject", "MOISubjectCallBackLearnTeach")) {
		clearTimeout(moiTO);
		moiTO = setTimeout("getMOISubjectLearnTeach('" + document.forms[0].state.value + "')", 700);
	}
}
var levelTO;
function getLevels(programId) {
	document.frmSubject.programLevel2.value = "";
	document.frmSubject.programLevel2.disabled = true;
	if (programId == "" || programId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + programId + "&parentName=programLevel", "levelCallBack")) {
		clearTimeout(levelTO);
		levelTO = setTimeout("getLevels('" + document.frmSubject.program.value + "')", 700);
	}
}
function getLevelsLearnTeach(programId) {
	document.forms[0].programLevel2.value = "";
	document.getElementById("level").innerHTML = "";
	document.forms[0].programLevel2.disabled = true;
	document.getElementById("selectAllChk2").checked = false;
	document.getElementById("selectAllChk2").disabled = true;
	if (programId == "" || programId == 0) {
		return;
	}
	if (sndSubjReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + programId + "&parentName=programLevel", "levelCallBackLearnTeach")) {
		clearTimeout(levelTO);
		levelTO = setTimeout("getLevelsLearnTeach('" + document.forms[0].program.value + "')", 700);
	}
}
var retainOld = false;
function getCountryTimeZone(parentId) {
	if (parentId == "") {
		document.frmRegistration.timeZone.value = "";
		document.getElementById("timeZoneCombo").style.visibility = "hidden";
		document.getElementById("timeZoneCombo").style.display = "none";
	}
	sndReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + parentId + "&parentName=timezoneCountry", "getCountryTimeZoneBack");
}
function getCountryEditTimeZone(parentId) {
	if (parentId == "") {
		document.frmAccountInformation.timeZone.value = "";
		document.getElementById("timeZoneCombo").style.visibility = "hidden";
		document.getElementById("timeZoneCombo").style.display = "none";
	}
	sndReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + parentId + "&parentName=timezoneCountry", "getCountryEditTimeZoneBack");
}
function levelCallBack() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDown(xml, "frmSubject", "programLevel2");
			document.frmSubject.programLevel2.disabled = false;
		}
	}
}
function levelCallBackLearnTeach() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDown(xml, document.forms[0].name, "programLevel2");
			document.forms[0].programLevel2.disabled = false;
			document.getElementById("selectAllChk2").disabled = false;
		}
	}
}
function programCallBack() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDownProgram(xml, "frmSubject", "program");
			document.frmSubject.program.disabled = false;
		}
	}
}
function programCallBackLearnTeach() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDownProgram(xml, document.forms[0].name, "program");
			document.forms[0].program.disabled = false;
		}
	}
}
function programTypeCallBackLearnTeach() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDown(xml, document.forms[0].name, "programType");
			document.forms[0].programType.disabled = false;
		}
	}
}
function programTypeCallBack() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDown(xml, "frmSubject", "programType");
			document.frmSubject.programType.disabled = false;
		}
	}
}
function MOISubjectCallBack() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDown(xml, "frmSubject", "moi");
			document.frmMyTeaching.moi.disabled = false;
		}
	}
}
function MOISubjectCallBackLearnTeach() {
	var result;
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			xml = subjReq.responseXML;
			updateDropDown(xml, document.forms[0].name, "moi");
			document.forms[0].moi.disabled = false;
		}
	}
}
function getCountryTimeZoneBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = "frmRegistration";
       //var formName= 'frmEditAccountInformation';
			var compName = "timeZone";
			timeZoneUpdate(formName, compName);
		}
	}
}
function getCountryEditTimeZoneBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = "frmEditAccountInformation";
			var compName = "timeZone";
			timeZoneUpdate(formName, compName);
		}
	}
}
function timeZoneUpdate(formName, compName) {
	var obj = req.responseXML.getElementsByTagName("options")[0];
	var defaultValue = 0;
	i = 0;
	j = 1;
	html = "";
	comp = document.forms[formName].elements[compName].options;
	comp.length = 0;
	if (obj.childNodes.length == 1) {
		var option = new Option();
		id = obj.childNodes.item(0).childNodes.item(0).childNodes.item(0).nodeValue;
		name = obj.childNodes.item(0).childNodes.item(1).childNodes.item(0).nodeValue;
		option.value = id;
		option.text = name;
		comp[0] = option;
		document.getElementById("timeZoneCombo").style.visibility = "hidden";
		document.getElementById("timeZoneCombo").style.display = "none";
		return;
	}
	var option = new Option();
	option.value = "";
	option.text = "Select";
	comp[0] = option;
	while ((j >= 1) && (j <= obj.childNodes.length)) {
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			var option = new Option();
			option.value = id;
			option.text = name;
			comp[j] = option;
			document.getElementById("timeZoneCombo").style.visibility = "visible";
			document.getElementById("timeZoneCombo").style.display = "";
		} else {
                // i = -1;
                // j=-1;
		}
		j++;
		i++;
	}
	try {
		if (retainOld) {
			retainOld = false;
			document.forms[formName].elements[compName].value = oldVal;
		}
	}
	catch (e) {
	}
}
function updateDropDown(xml, formName, compName) {
	var obj = xml.getElementsByTagName("options")[0];
	var defaultValue = 0;
	i = 0;
	j = 1;
	html = "";
	comp = document.forms[formName].elements[compName].options;
	comp.length = 0;
	if (obj.childNodes.length > 1) {
		var option = new Option();
		if (compName != "moi") {
			option.value = "";
			option.text = "Select";
		} else {
			while ((j >= 1) && (j <= obj.childNodes.length)) {
				if (obj.childNodes.length > 0) {
					id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
					name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
				}
				if (name == "English") {
					option.value = id;
					option.text = name;
					break;
				}
				j++;
				i++;
			}
		}
		if (compName != "programLevel2") {
			comp[0] = option;
		}
                //document.frmSubject.program.disabled = true;
	} else {
		if (obj.childNodes.length < 1) {
			var option = new Option();
			option.value = "";
			option.text = "Not Available";
			comp[0] = option;
	    //document.forms[formName].proglevels.disabled = true;
		}
	}
	i = 0;
	j = 1;
	m = 1;
	while ((j >= 1) && (j <= obj.childNodes.length)) {
		k = 1;
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			if (obj.childNodes.length > 1 && compName != "programLevel2") {
				if (name != "English") {
					var option = new Option();
					option.value = id;
					option.text = name;
					if (m == 0) {
						comp[j - 1] = option;
					} else {
						comp[j] = option;
					}
				} else {
					m--;
				}
			} else {
				var option = new Option();
				option.value = id;
				option.text = name;
				comp[i] = option;
				if (compName == "programType") {
					getProgramsLearnTeach(option.value);
				}
				if (compName != "programLevel2") {
					break;
				}
			}
		}
		j++;
		i++;
		k++;
	}
}
function updateDropDownProgram(xml, formName, compName) {
	var obj = xml.getElementsByTagName("options")[0];
	var defaultValue = 0;
	i = 0;
	j = 1;
	html = "";
	comp = document.forms[formName].elements[compName].options;
	comp.length = 0;
	if (obj.childNodes.length > 1) {
		var option = new Option();
		option.value = "";
		option.text = "Select";
		comp[0] = option;
	}
	while ((j >= 1) && (j <= obj.childNodes.length)) {
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			if (obj.childNodes.length > 1) {
				var option = new Option();
				option.value = id;
				option.text = name;
				option.title = name;
				comp[j] = option;
			} else {
				var option = new Option();
				option.value = id;
				option.text = name;
				option.title = name;
				comp[i] = option;
				if (formName != "frmSubject") {
					getLevelsLearnTeach(option.value);
				} else {
					getLevels(option.value);
				}
			}
		}
		j++;
		i++;
	}
}
function updateDropDownProgramLevel(xml, formName, compName) {
	var obj = xml.getElementsByTagName("options")[0];
	var defaultValue = 0;
	i = 0;
	j = 1;
	html = "";
	comp = document.forms[formName].elements[compName].options;
	comp.length = 0;
	if (obj.childNodes.length > 1) {
		var option = new Option();
		option.value = "";
		option.text = "Select";
		comp[0] = option;
	}
	if (obj.childNodes.length < 1) {
		var option = new Option();
		option.value = "";
		option.text = "Not Available";
		comp[0] = option;
		document.forms[formName].proglevels.disabled = true;
	} else {
		document.forms[formName].proglevels.disabled = false;
	}
	while ((j >= 1) && (j <= obj.childNodes.length)) {
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			if (obj.childNodes.length > 1) {
				var option = new Option();
				option.value = id;
				option.text = name;
				comp[j] = option;
			} else {
				var option = new Option();
				option.value = id;
				option.text = name;
				comp[i] = option;
				//getLevels(option.value);
			}
		}
		j++;
		i++;
	}
}
function pageUpdateCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
		}
	}
}

function addCartCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
	    if (req.status == 200) { // OK response
		result = req.responseText;			
			if(result != "") {
				document.getElementById("addToShoppingCart").innerHTML = result;	
			}
		}
	}
}
function buildStateDropDown(formName, compName, xmlRoot) {
	var obj = req.responseXML.getElementsByTagName(xmlRoot)[0];
	var defaultValue = 0;
	i = 0;
	j = 1;
	html = "";
	comp = document.forms[formName].elements[compName].options;
	comp.length = 0;
	document.forms[formName].elements[compName].disabled = false;
	var option = new Option();
	option.value = "";
	option.text = "Select";
	comp[0] = option;
	while ((j >= 1) && (j <= obj.childNodes.length)) {
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			var option = new Option();
			option.value = id;
			option.text = name;
			if (obj.childNodes.length == 1) {
				comp[j - 1] = option;
				getProgramType(id);
				setTimeout("getMOISubjectTeach(" + id + ")", 1000);
			} else {
				comp[j] = option;
			}
		}
		j++;
		i++;
	}
}
function buildStatesNonAcademic(formName, compName, xmlRoot) {
	var obj = req.responseXML.getElementsByTagName(xmlRoot)[0];
	var defaultValue = 0;
	i = 0;
	j = 1;
	html = "";
	comp = document.forms[formName].elements[compName].options;
	comp.length = 0;
	document.forms[formName].elements[compName].disabled = false;
	var option = new Option();
	option.value = "";
	option.text = "Select";
	comp[0] = option;
	while ((j >= 1) && (j <= obj.childNodes.length)) {
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			var option = new Option();
			option.value = id;
			option.text = name;
			comp[j - 1] = option;
		}
		j++;
		i++;
	}
}
function statesCallBackSubject() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = "frmSubject";
			var compName = "state";
			var xmlRoot = "states";
			buildStateDropDown(formName, compName, xmlRoot);
			document.frmSubject.state.disabled = false;
		}
	}
}
function deleteDoc(sessEventId) {
	sndReq("teaching_sessions_.htm", "&submitName=deleteDocument&sessEventId="+sessEventId, "pageUpdateCallBack");
}
function addToCartSearch(listingId,offerId, quantity) {
	sndReq("cart_add.htm", "&submitName=addToCartSearch&security=any&listingId="+listingId+"&offerId="+offerId+"&Quantity="+quantity, "addCartCallBack");
}
function deleteDocLearn(sessEventId) {
	sndReq("learning_sessions_.htm", "&submitName=deleteDocument&sessEventId="+sessEventId, "pageUpdateCallBack");
}
function addSubject(keyword, location, programType, program, programLevel, moi, allValues) {
	sndReq("search_subjects.htm", "&submitName=updateSubject&keyword=" + keyword + "&location=" + location + "&programType=" + programType + "&program=" + program + "&programLevel=" + programLevel + "&moi=" + moi + "&allValues=" + allValues, "subjectCallBack");
}
function getSearchResultCount(allParams) {
	sndReq("search_advance_.htm", "&submitName=searchResultCount&" + allParams, "advanceSearchCallBack");
}
var listId = "";
function getSubjectTinyUrl(listingId, itemLabel) {
  listId = listingId;
	sndReq("general_url.htm", "&submitName=getTinyUrl&listingId=" + listingId+"&itemLabel="+itemLabel+"&security=any", "getSubjectUrlCallBack");
}
function addSubjectTeach(keyword, location, programType, program, programLevel, moi, allValues) {
	sndReq("search_subjects.htm", "&submitName=updateSubjectLearnTeach&keyword=" + keyword + "&location=" + location + "&programType=" + programType + "&program=" + program + "&programLevel=" + programLevel + "&moi=" + moi + "&allValues=" + allValues + "&searchFor=true", "subjectCallBack");
}
function addLanguage(keyword) {
	sndReq("search_languages.htm", "&submitName=updateLanguage&security=any&keyword=" + keyword, "languageCallBack");
}
function updateLanguages(langIds, parentLangIds, actionType) {
	sndReq("search_languages.htm", "&submitName=updateParent&actionType=" + actionType + "&languages=" + langIds + "&prevLanguages=" + parentLangIds, "languageUpdateCallBack");
}
function retainLanguages() {
	sndReq("search_languages.htm", "&submitName=retainLanguage", "languageUpdateCallBack");
}
function retainSubjects() {
	sndReq("search_subjects.htm", "&submitName=retainSubjects", "subjectUpdateCallBack");
}
function retainPage() {
	sndReq("search_subjects.htm", "&submitName=retainPage", "pageUpdateCallBack");
}
function updateSubjects(keyword, prevSubjects, actionType, selState, ctry, moi) {
	sndReq("search_subjects.htm", "&submitName=updateParent&actionType=" + actionType + "&subjects=" + keyword + "&prevSubjects=" + prevSubjects + "&selState=" + selState + "&selCountry=" + ctry + "&selMoi=" + moi, "subjectUpdateCallBack");
}
function updateSubjectForOffering(keyword, selState, ctry, moi) {
	sndReq("search_subjects.htm", "&submitName=updateOffering&subjects=" + keyword + "&selState=" + selState + "&selCountry=" + ctry + "&selMoi=" + moi, "offeringUpdateCallBack");
}
function calculateRating(rating, category, childId, groupId, categoryId, noOfCriterias, grpLvl, catLvl) {
	sndReq("rating_.htm", "&submitName=formRatingXML&category=" + category + "&childId=" + childId + "&groupId=" + groupId + "&rating=" + rating + "&groupSize=" + noOfCriterias + "&isGroupLvl=" + grpLvl + "&isCatLvl=" + catLvl + "&categoryId=" + categoryId, "ratingCallBack");
}
function ratingCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			var xml = req.responseXML;
			if (xml != null) {
				setAvgRating(xml);
			}
		} else {
			alert("Problem: " + req.statusText);
		}
	}
}
function setAvgRating(xml) {
	var groupId;
	var groupRating;
	document.getElementById("avgRating").className = "imgRating imgRating" + xml.getElementsByTagName("AvgRating")[0].childNodes[0].nodeValue;
	var grpTag = xml.getElementsByTagName("currGrpId")[0];
	var grpRateTag = xml.getElementsByTagName("currGrpRating")[0];
	if (grpTag != null && grpRateTag != null) {
		groupId = grpTag.childNodes[0].nodeValue;
		groupRating = grpRateTag.childNodes[0].nodeValue;
	}
	for (i = 1; i <= groupRating; i++) {
		document.getElementById("group" + groupId + i).innerHTML = "<img src='Images/Icon_StarSelected.png' alt='' width='15' height='15' />";
	}
	if (groupRating >= 0) {
		for (j = parseInt(groupRating) + 1; j <= 5; j++) {
			document.getElementById("group" + groupId + j).innerHTML = "<img src='Images/Icon_StarUnSelected.png' alt='' width='15' height='15' />";
		}
	}
	var catId = xml.getElementsByTagName("currCatId")[0].childNodes[0].nodeValue;
	var catRating = xml.getElementsByTagName("currCatRating")[0].childNodes[0].nodeValue;
	for (i = 1; i <= catRating; i++) {
		document.getElementById("cat" + catId + i).innerHTML = "<img src='Images/Icon_StarSelected.png' alt='' width='15' height='15' />";
	}
	if (catRating >= 0) {
		for (j = parseInt(catRating) + 1; j <= 5; j++) {
			document.getElementById("cat" + catId + j).innerHTML = "<img src='Images/Icon_StarUnSelected.png' alt='' width='15' height='15' />";
		}
	}
}
function languageUpdateCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("langdiv").innerHTML = result;
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function languageCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				document.getElementById("languageCat").innerHTML = result;
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function subjectUpdateCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("subjectdiv").innerHTML = result;
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}

function offeringUpdateCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("subjectdiv").innerHTML = result;
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function subjectCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				document.getElementById("mainContent").innerHTML = result;
				document.getElementById("tdSearchFor").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function advanceSearchCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			var xml = req.responseXML;
			if (xml != null) {
				setResultCount(xml);
				var states = xml.getElementsByTagName("states")[0];
				if (states != undefined) {
					updateStates(xml);
				}
				//updateStatesOffering(xml);
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function getSubjectUrlCallBack() {
	var result;
	//alert(req.readyState);
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			var xml = req.responseXML;
			if (xml != null) {
				setUrl(xml);				
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function setResultCount(xml) {
	document.getElementById("recordCount").innerHTML = xml.getElementsByTagName("result")[0].childNodes[0].nodeValue;
}
function setUrl(xml) {
   document.getElementById("url"+listId).innerHTML = xml.getElementsByTagName("result")[0].childNodes[0].nodeValue;
   copyToClipboard(xml.getElementsByTagName("result")[0].childNodes[0].nodeValue);
}
function updateStates(xml) {
	var states = xml.getElementsByTagName("states")[0];
	var state = xml.getElementsByTagName("stateId");
	var options;
	if (states.getAttribute("id") == "curriculum") {
		options = document.frmAdvanceSearch.state.options;
		document.frmAdvanceSearch.state.disabled = false;
	} else {
		if (states.getAttribute("id") == "offering") {
			options = document.frmAdvanceSearch.stateOff.options;
			document.frmAdvanceSearch.stateOff.disabled = false;
		}
	}
	if (state.length > 0) {
		options.length = 0;
		for (var i = 0; i < state.length; i++) {
			stateId = state[i].childNodes.item(0).nodeValue;
			stateName = xml.getElementsByTagName("stateName")[i].childNodes.item(0).nodeValue;
			if (stateId != null && stateName != null) {
				var option = new Option();
				if (i == 0) {
					option.value = "";
					option.text = "Select";
					options[i] = option;
					option = new Option();
				}
				option.value = stateId;
				option.text = stateName;
				options[i + 1] = option;
			}
		}
	}
}

  //country/state dynamic fetch for search
function getStatesForSearch(number) {
	var frmObj = document.frmRegistration;
	frmObj.state.options.length = 0;
	frmObj.state.disabled = true;
	sndReq("common_ajax.htm", "&submitName=getStates&number=" + number + "&security=any&classname=GeneralSearchResultVO&property=country", "statesCallBackForSearch");
}
function getStatesForNonAcademic(number) {
	var frmObj = document.frmNonAcadSubject;
	frmObj.state.options.length = 0;
	sndReq("common_ajax.htm", "&submitName=getStates&number=" + number + "&security=any&classname=GeneralSearchResultVO&property=country", "statesCallBackForNonAcademic");
}
function showProgramLevels(countryId) {
	var frmObj = document.frmRegistration;
	frmObj.proglevels.options.length = 0;
	frmObj.proglevels.disabled = true;
	sndReq("search_.htm", "&submitName=showProgramLevels&ctrId=" + countryId + "&security=any&classname=GeneralSearchResultVO&property=country", "statesCallBackForSearchLevel");
}
function statesCallBackForSearch() {
	if (req.readyState == 4) { // Complete  
		if (req.status == 200) { // OK response  
			var xml = req.responseXML;
			var frmObj = document.frmRegistration;
			var state = xml.getElementsByTagName("states")[0];
			var comp = frmObj.state.options;
			comp.length = 0;
			frmObj.state.disabled = false;
			if (state.getAttribute("id") == frmObj.country.value) {
				var i = 0;
				while ((i >= 0) && (i != state.childNodes.length)) {
					stateId = state.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
					stateName = state.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
					if (stateId != null && stateName != null) {
						var option = new Option();
						option.value = stateId;
						option.text = stateName;
						comp[i] = option;
						i++;
					} else {
						i = -1;
					}
				}
			}
		}
	}
}
function statesCallBackForNonAcademic() {
	if (req.readyState == 4) { // Complete  
		if (req.status == 200) { // OK response  
			var xml = req.responseXML;
			xml = req.responseXML;
			var formName = "frmNonAcadSubject";
			var compName = "state";
			var xmlRoot = "states";
			buildStatesNonAcademic(formName, compName, xmlRoot);
		}
	}
}
function statesCallBackForSearchLevel() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			updateDropDownProgramLevel(xml, "frmRegistration", "proglevels");
			//document.frmRegistration.proglevels.disabled = false;
		}
	}
}

 //country/state dynamic fetch for search
function getStatesOfferForSearch(number) {
	var frmObj = document.frmRegistration;
	frmObj.stateOffer.options.length = 0;
	frmObj.stateOffer.disabled = true;
	sndReq("common_ajax.htm", "&submitName=getStates&number=" + number + "&security=any&classname=GeneralSearchResultVO&property=country", "statesOfferCallBackForSearch");
}
function statesOfferCallBackForSearch() {
	if (req.readyState == 4) { // Complete  
		if (req.status == 200) { // OK response  
			var xml = req.responseXML;
			var frmObj = document.frmRegistration;
			var stateOffer = xml.getElementsByTagName("states")[0];
			var comp = frmObj.stateOffer.options;
			comp.length = 0;
			frmObj.stateOffer.disabled = false;
			if (stateOffer.getAttribute("id") == frmObj.countryOffer.value) {
				var i = 0;
				while ((i >= 0) && (i != stateOffer.childNodes.length)) {
					stateId = stateOffer.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
					stateName = stateOffer.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
					if (stateId != null && stateName != null) {
						var option = new Option();
						option.value = stateId;
						option.text = stateName;
						comp[i] = option;
						i++;
					} else {
						i = -1;
					}
				}
			}
		}
	}
}
//Association scripts start
function removeAssociation(category, listId) {
	sndReq("profile_tutor_.htm", "&submitName=removeAttribute&listId=" + listId + "&category=" + category, "callBackRemoveAssociation");
}
function callBackRemoveAssociation() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("associationHtmlDiv").innerHTML = result;
				parent.document.getElementById("associationHtmlDiv").style.visibility = "visible";
				parent.document.getElementById("associationHtmlDiv").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
//Association scripts end
//Certification scripts start
function removeCertification(category, listId) {
	sndReq("profile_tutor_.htm", "&submitName=removeAttribute&listId=" + listId + "&category=" + category, "callBackRemoveCertification");
}
function callBackRemoveCertification() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("certificationHtmlDiv").innerHTML = result;
				parent.document.getElementById("certificationHtmlDiv").style.visibility = "visible";
				parent.document.getElementById("certificationHtmlDiv").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
//Certification scripts end
//Education scripts start
function removeEducation(category, listId) {
	sndReq("profile_tutor_.htm", "&submitName=removeAttribute&listId=" + listId + "&category=" + category, "callBackRemoveEducation");
}
function callBackRemoveEducation() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("educationHtmlDiv").innerHTML = result;
				parent.document.getElementById("educationHtmlDiv").style.visibility = "visible";
				parent.document.getElementById("educationHtmlDiv").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
//Education scripts end
//Background check scripts start
function removeBackGndCheck(category, listId) {
	sndReq("profile_tutor_.htm", "&submitName=removeAttribute&listId=" + listId + "&category=" + category, "callBackRemoveBackGndCheck");
}
function callBackRemoveBackGndCheck() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("backgroundcheckHtmlDiv").innerHTML = result;
				parent.document.getElementById("backgroundcheckHtmlDiv").style.visibility = "visible";
				parent.document.getElementById("backgroundcheckHtmlDiv").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
//Background check scripts end
//Resume scripts start
function removeResume(category, listId) {
	sndReq("profile_tutor_.htm", "&submitName=removeAttribute&listId=" + listId + "&category=" + category, "callBackRemoveResume");
}
function callBackRemoveResume() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("resumeHtmlDiv").innerHTML = result;
				parent.document.getElementById("resumeHtmlDiv").style.visibility = "visible";
				parent.document.getElementById("resumeHtmlDiv").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
//Resume scripts end
//Testimonial scripts start
function removeTestimonial(category, listId) {
	sndReq("profile_tutor_.htm", "&submitName=removeAttribute&listId=" + listId + "&category=" + category, "callBackRemoveTestimonial");
}
function callBackRemoveTestimonial() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("testimonialHtmlDiv").innerHTML = result;
				parent.document.getElementById("testimonialHtmlDiv").style.visibility = "visible";
				parent.document.getElementById("testimonialHtmlDiv").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
//Testimonial scripts end
//----------SpecialNeedsExp componet starts here--------
function addSpecialNeedsExpAjax(strlistid, strSubject, strExp, stryearsOfExp) {
	sndReq("profile_tutor_.htm", "&submitName=addSpecialNeedExperience&listid=" + strlistid + "&strSubject=" + strSubject + "&strExp=" + strExp + "&stryearsOfExp=" + stryearsOfExp + "", "specialNeedsCallBack");
}
function removeAjaxSpecialNeedExp(value) {
	sndReq("profile_tutor_.htm", "&submitName=removeSpecialNeedExperience&values=" + value + "", "specialNeedsCallBack");
}
function reloadSpecialNeedsAjax() {
	sndReq("profile_tutor_.htm", "&submitName=reloadSpecialNeedExperience", "specialNeedsCallBack");
}
function specialNeedsCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("addSpecialNeedExp").innerHTML = result;
				parent.document.getElementById("addSpecialNeedExp").style.visibility = "visible";
				parent.document.getElementById("addSpecialNeedExp").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function addSessionBudgetAjax(strCurrencyId) {
	sndReq("teaching_.htm", "&submitName=addSessionBudget&currency=" + strCurrencyId + "", "sessionbudgetCallBack");
}
function sessionbudgetCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("addsessionbudget").innerHTML = result;
				parent.document.getElementById("addsessionbudget").style.visibility = "visible";
				parent.document.getElementById("addsessionbudget").style.display = "";
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
var paramValue = "";
var nameForm = "";
function getStatesforOffering(number, param) {
	paramValue = param;
	nameForm = document.forms[0].name;
	document.getElementById("addSubject").style.display = "";
	if (number == "" && param == "both") {
		document.forms[0].state.value = "";
		document.forms[0].stateOff.value = "";
		document.forms[0].state.disabled = true;
		document.forms[0].stateOff.disabled = true;
		return;
	} else {
		if (number == "" && param == "offer") {
			document.forms[0].stateOff.value = "";
			document.forms[0].stateOff.disabled = true;
			return;
		} else {
			if (number == "" && param == "subject") {
				document.forms[0].state.value = "";
				document.forms[0].state.disabled = true;
				return;
			} else {
				if (number != "" && param == "both") {
					document.forms[0].state.disabled = false;
					document.forms[0].stateOff.disabled = false;
				} else {
					if (number != "" && param == "subject") {
						document.forms[0].state.disabled = false;
					} else {
						if (number != "" && param == "offer") {
							document.forms[0].stateOff.disabled = false;
						}
					}
				}
			}
		}
	}
	if (number == 0) {
		return;
	}
	sndReq("common_ajax.htm", "&submitName=getStates&number=" + number + "&classname=AccountInfoVO&property=country&dropDown=" + paramValue, "statesCallBackforOffering");
}
function statesCallBackforOffering() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = nameForm;
			var compName = "";
			if (paramValue != "both") {
				if (paramValue == "subject") {
					compName = "state";
				} else {
					if (paramValue == "offer") {
						compName = "stateOff";
					}
				}
				var obj = req.responseXML.getElementsByTagName("states")[0];
				var defaultValue = 0;
				i = 0;
				j = 1;
				html = "";
				comp = document.forms[formName].elements[compName].options;
				comp.length = 0;
				var option = new Option();
				option.value = "";
				option.text = "Select";
				comp[0] = option;
				while ((j >= 1) && (j <= obj.childNodes.length)) {
					if (obj.childNodes.length > 0) {
						id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
						name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
					}
					if (id != null && name != null) {
						var option = new Option();
						option.value = id;
						option.text = name;
						comp[j] = option;
					}
					j++;
					i++;
				}
			} else {
				if (paramValue == "both") {
					compName = "state";
					var obj = req.responseXML.getElementsByTagName("states")[0];
					var defaultValue = 0;
					i = 0;
					j = 1;
					html = "";
					comp = document.forms[formName].elements[compName].options;
					comp.length = 0;
					var option = new Option();
					option.value = "";
					option.text = "Select";
					comp[0] = option;
					while ((j >= 1) && (j <= obj.childNodes.length)) {
						if (obj.childNodes.length > 0) {
							id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
							name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
						}
						if (id != null && name != null) {
							var option = new Option();
							option.value = id;
							option.text = name;
							comp[j] = option;
						}
						j++;
						i++;
					}
					compName = "stateOff";
					var obj = req.responseXML.getElementsByTagName("states")[0];
					var defaultValue = 0;
					i = 0;
					j = 1;
					html = "";
					comp = document.forms[formName].elements[compName].options;
					comp.length = 0;
					var option = new Option();
					option.value = "";
					option.text = "Select";
					comp[0] = option;
					while ((j >= 1) && (j <= obj.childNodes.length)) {
						if (obj.childNodes.length > 0) {
							id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
							name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
						}
						if (id != null && name != null) {
							var option = new Option();
							option.value = id;
							option.text = name;
							comp[j] = option;
						}
						j++;
						i++;
					}
				}
			}
		}
	}
}
function getStatesforRequest(number, param) {
	paramValue = param;
	//document.getElementById("addSubject").style.display = "";
	if (number == "" && param == "both") {
		document.frmMyLearning.state.value = "";
		document.frmMyLearning.stateReq.value = "";
		document.frmMyLearning.state.disabled = true;
		document.frmMyLearning.stateReq.disabled = true;
		return;
	} else {
		if (number == "" && param == "request") {
			document.frmMyLearning.stateReq.value = "";
			document.frmMyLearning.stateReq.disabled = true;
			return;
		} else {
			if (number == "" && param == "subject") {
				document.frmMyLearning.state.value = "";
				document.frmMyLearning.state.disabled = true;
				return;
			} else {
				if (number != "" && param == "both") {
					document.frmMyLearning.state.disabled = false;
					document.frmMyLearning.stateReq.disabled = false;
				} else {
					if (number != "" && param == "subject") {
						document.frmMyLearning.state.disabled = false;
					} else {
						if (number != "" && param == "request") {
							document.frmMyLearning.stateReq.disabled = false;
						}
					}
				}
			}
		}
	}
	if (number == 0) {
		return;
	}
	sndReq("common_ajax.htm", "&submitName=getStates&number=" + number + "&classname=AccountInfoVO&property=country&dropDown=" + paramValue, "statesCallBackforRequest");
}
function statesCallBackforRequest() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = "frmMyLearning";
			if (paramValue != "both") {
				if (paramValue == "subject") {
					compName = "state";
				} else {
					if (paramValue == "request") {
						compName = "stateReq";
					}
				}
				var obj = req.responseXML.getElementsByTagName("states")[0];
				var defaultValue = 0;
				i = 0;
				j = 1;
				html = "";
				comp = document.forms[formName].elements[compName].options;
				comp.length = 0;
				var option = new Option();
				option.value = "";
				option.text = "Select";
				comp[0] = option;
				while ((j >= 1) && (j <= obj.childNodes.length)) {
					if (obj.childNodes.length > 0) {
						id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
						name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
					}
					if (id != null && name != null) {
						var option = new Option();
						option.value = id;
						option.text = name;
						comp[j] = option;
					}
					j++;
					i++;
				}
			} else {
				if (paramValue == "both") {
					compName = "state";
					var obj = req.responseXML.getElementsByTagName("states")[0];
					var defaultValue = 0;
					i = 0;
					j = 1;
					html = "";
					comp = document.forms[formName].elements[compName].options;
					comp.length = 0;
					var option = new Option();
					option.value = "";
					option.text = "Select";
					comp[0] = option;
					while ((j >= 1) && (j <= obj.childNodes.length)) {
						if (obj.childNodes.length > 0) {
							id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
							name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
						}
						if (id != null && name != null) {
							var option = new Option();
							option.value = id;
							option.text = name;
							comp[j] = option;
						}
						j++;
						i++;
					}
					compName = "stateReq";
					var obj = req.responseXML.getElementsByTagName("states")[0];
					var defaultValue = 0;
					i = 0;
					j = 1;
					html = "";
					comp = document.forms[formName].elements[compName].options;
					comp.length = 0;
					var option = new Option();
					option.value = "";
					option.text = "Select";
					comp[0] = option;
					while ((j >= 1) && (j <= obj.childNodes.length)) {
						if (obj.childNodes.length > 0) {
							id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
							name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
						}
						if (id != null && name != null) {
							var option = new Option();
							option.value = id;
							option.text = name;
							comp[j] = option;
						}
						j++;
						i++;
					}
				}
			}
		}
	}
}
function updateBudget(sessType, pckgQty, selCurrency, selIndOpt, amount, bidIncrAmt, freeSessions) {
	sndReq("teaching_.htm", "&submitName=updateParent&sessType=" + sessType + "&pckgQty=" + pckgQty + "&selCurrency=" + selCurrency + "&selIndOpt=" + selIndOpt + "&amount=" + amount + "&bidIncrAmt=" + bidIncrAmt + "&freeSessions=" + freeSessions, "budgetUpdateCallBack");
}
function learnupdateBudget(sessType, pckgQty, selCurrency, selIndOpt, amount, bidDecrAmt) {
	sndReq("learning_.htm", "&submitName=updateParent&sessType=" + sessType + "&pckgQty=" + pckgQty + "&selCurrency=" + selCurrency + "&selIndOpt=" + selIndOpt + "&amount=" + amount + "&bidDecrAmt=" + bidDecrAmt, "learnbudgetUpdateCallBack");
}
function changePrice(shopCartid, quantity) {
	sndReq("updatePrice.do", "&submitName=updatePrice&sessType=" + sessType + "&pckgQty=" + pckgQty + "&selCurrency=" + selCurrency + "&sessEndDate=" + sessEndDate + "&selIndOpt=" + selIndOpt + "&amount=" + amount, "budgetUpdateCallBack");
}
function budgetUpdateCallBack() {
	var result;
	if (req.readyState == 4) { // Complete      
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("addsessionbudget").innerHTML = result;
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function learnbudgetUpdateCallBack() {
	var result;
	if (req.readyState == 4) { // Complete      
		if (req.status == 200) { // OK response
			result = req.responseText;
			if (result != "") {
				parent.document.getElementById("addsessionbudget").innerHTML = result;
			}
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function callUpdateListings(roleId) {
	sndReq("calendar_.htm", "&submitName=updateListings&roleId=" + roleId, "CallBackUpdateListings");
}
function CallBackUpdateListings() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			document.getElementById("listingsHolder").innerHTML = result;
			updateListingsRelease();
		}
	}
}
function getAjaxTimeList() {
	sndReq("calendar_.htm", "&submitName=updateTimeDropDown", "levelCallBackTimeList");
}
function levelCallBackTimeList() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			updateTimeDropDown(xml, "startTime");
		}
	}
}
function updateTimeDropDown(xml, compName) {
	var obj = xml.getElementsByTagName("timeList")[0];
	var defaultValue = 0;
	var i = 0;
	var j = 0;
	comp = document.forms[0].elements[compName].options;
	comp.length = 0;
	while ((j >= 0) && (j < obj.childNodes.length)) {
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			var option = new Option();
			option.value = id;
			option.text = name;
			comp[j] = option;
		}
		j++;
		i++;
	}
}
function showSessionLayerAjax(date, month, year, overviewCal) {
	sndReq("general_header.htm", "&submitName=getAjaxEventCalendar&date=" + date + "&month=" + month + "&year=" + year + "&overviewCal=" + overviewCal + "", "sessionLayerCallBack");
}
function sessionLayerCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			parent.document.getElementById("mysessaccountoverviewdiv").innerHTML = result;
			setInlineIfrmHt("eventCal", "ifmWrapper", "sessionsInfo");
			parent.updateProfilesStatus();
			parent.hideMask();
		} else {
			//alert("Problem: " + req.statusText);
		}
	}
}
function getCourseNames(programType) {
	if (programType == "" || programType == 0) {
		return;
	}
	sndSubjReq("common_subjects.htm", "&submitName=getCourseNames&programType=" + programType, "updateCourseNameSuggestions");
}
function getParentSubjects(programType, programName, location, level, languages) {
	if (programType == "" || programType == 0 || level == "" || level == 0 || programName == "" || programName == 0 || location == "" || location == 0) {
		return;
	}
	sndSubjReq("common_subjects.htm", "&submitName=getSubjectDetails&programType=" + programType + "&level=" + level + "&courseName=" + programName + "&state=" + location + "&languages=" + languages, "updateParentSuggestions");
}
function getChildSubjects(parentSub, programName, location, level, languages) {
	sndSubjReq("common_subjects.htm", "&submitName=getChildSubjects&parentSub=" + escape(parentSub) + "&level=" + escape(level) + "&courseName=" + escape(programName) + "&state=" + location + "&languages=" + languages, "updateChildSuggestions");
}
function getLevelNames(programType, courseName, state) {
	if (programType == "" || programType == 0 || courseName == "" || courseName == 0 || state == "" || state == 0) {
		return;
	}
	sndSubjReq("common_subjects.htm", "&submitName=getProgramLevels&courseName=" + courseName + "&programType=" + programType + "&state=" + state, "updateLevelSuggestions");
}
function updateCourseNameSuggestions() {
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			var xml = subjReq.responseXML;
			updateSuggestionsArray(xml);
		}
	}
}
function updateLevelSuggestions() {
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			var xml = subjReq.responseXML;
			updateSuggestionsArray(xml);
		}
	}
}
function updateParentSuggestions() {
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			var xml = subjReq.responseXML;
			updateSuggestionsParent(xml);
		}
	}
}
function updateChildSuggestions() {
	if (subjReq.readyState == 4) { // Complete
		if (subjReq.status == 200) { // OK response
			var xml = subjReq.responseXML;
			updateSuggestionsChild(xml);
		}
	}
}
function updateSuggestionsParent(xml) {
	var response = null;
	var obj = null;
	response = xml.getElementsByTagName("parentSub");
	parSubjectSS.states = [];
	obj = xml.getElementsByTagName("parentSub")[0].childNodes;
	for (var i = 0; i < obj.length; i++) {
		var name = obj[i].childNodes[0].nodeValue;
		if (name != null) {
			parSubjectSS.states.push(name);
		}
	}
	parSubjectSS.requestSuggestions(parSubjectAS, false);
}
function updateSuggestionsChild(xml) {
	var response = null;
	var obj = null;
	response = xml.getElementsByTagName("childSub");
	childSubjectSS.states = [];
	obj = xml.getElementsByTagName("childSub")[0].childNodes;
	for (var i = 0; i < obj.length; i++) {
		var name = obj[i].childNodes[0].nodeValue;
		if (name != null) {
			childSubjectSS.states.push(name);
		}
	}
	childSubjectSS.requestSuggestions(childSubjectAS, false);
}
function updateSuggestionsArray(xml) {
	var courses = "courses";
	var levels = "levels";
	var reqObj = null;
	var response = null;
	var obj = null;
	response = xml.getElementsByTagName(courses);
	if (response.length == 1) {
		reqObj = courses;
		courseNameSS.states = [];
	} else {
		response = xml.getElementsByTagName(levels);
		if (response.length == 1) {
			reqObj = levels;
			levelSS.states = [];
		}
	}
	obj = xml.getElementsByTagName(reqObj)[0].childNodes;
	for (var i = 0; i < obj.length; i++) {
		var name = obj[i].childNodes[1].childNodes[0].nodeValue;
		if (name != null) {
			if (reqObj == levels) {
				levelSS.states.push(name);
			} else {
				if (reqObj == courses) {
					courseNameSS.states.push(name);
				}
			}
		}
	}
	if (reqObj == levels) {
		levelSS.requestSuggestions(levelAS, false);
	} else {
		if (reqObj == courses) {
			courseNameSS.requestSuggestions(courseNameAS, false);
		}
	}
}
function isLoginIdAvail() {
	var loginId = document.forms[0].loginId.value;
	if (loginId == null || loginId == "" || trim(loginId) == "") {
		document.getElementById("loginIdAvailErr").innerHTML = loginIdEmpty;
		return;
	}
	isFieldAvail('loginId', loginId);
}
function isAltLoginIdAvail() {
	var altLoginId = document.forms[0].altLoginId.value;
	if (altLoginId == null || altLoginId == "" || trim(altLoginId) == "") {
		document.getElementById("altLoginIdAvailErr").innerHTML = altLoginIdEmpty;
		return;
	}
	isFieldAvail('altLoginId', altLoginId);
}
function isConfirmEmailIdAvail() {
	var confirmEmailId = document.forms[0].confirmEmailId.value;
	if (confirmEmailId == null || confirmEmailId == "" || trim(confirmEmailId) == "") {
		document.getElementById("confirmEmailIdAvailErr").innerHTML = confirmEmailIdEmpty;
		return;
	}
	isFieldAvail('confirmEmailId', confirmEmailId);
}
function isFieldAvail(fldName, fldValue){
	sndReq("common_ajax.htm", "&submitName=isFieldAvail&fldName=" + escape(fldName) + "&fldValue=" + escape(fldValue), "isFieldAvailCallBack");
}
function isFieldAvailCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			result = req.responseText;
			var resArray = result.split(",");
			document.getElementById(resArray[0] + "AvailErr").innerHTML = resArray[1];
		}
	}
}
//Display TZ Country TZs fetching
function getDisplayCountryTZs(parentId) {
	if (parentId == "") {
		document.frmDispalyTZ.timeZoneId.value = "";
		document.getElementById("timeZoneCombo").style.visibility = "hidden";
		document.getElementById("timeZoneCombo").style.display = "none";
	}
	sndReq("search_subjects.htm", "&submitName=updateChildDropDown&security=any&parentId=" + parentId + "&parentName=timezoneCountry", "getDisplayCountryTZsCallBack");
}
function getDisplayCountryTZsCallBack() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = "frmDispalyTZ";
			var compName = "timeZoneId";
			timeZoneUpdate(formName, compName);
			setIfrmDivHt("ifmWrapper");
		}
	}
}
//Resending Referral Email
function resendRefEmail(referralEmail, referralUserId) {
	sndReq("members_.htm", "&submitName=resendRefEmail&referralEmail=" + referralEmail + "&referralUserId=" + referralUserId, "callBackResendRefEmail");
}
function callBackResendRefEmail() {
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			try {
				var userId = req.responseText;
				document.getElementById("aResendEmail" + userId).style.display = "none";
				document.getElementById("spanMailSent" + userId).style.display = "";
			}
			catch (e) {
			}
		}
	}
}
//Get user remaining session time
function getAvailSessTime() {
	sndReq("auth_common.htm", "&submitName=getAvailSessTime&DONT_UPDATE_RAT=true", "callBackGetAvailSessTime");
}
//Continue session and update recent access time
function continueSession() {
	sndReq("auth_common.htm", "&submitName=continueSession", "callBackGetAvailSessTime");
}
//Call back for session time check and continue session time
function callBackGetAvailSessTime() {
	if (req.readyState == 4) { //Complete
		if (req.status == 200) { //OK response
			try {
				var remSessTime = req.responseText;
				checkSessTimeout(remSessTime);
			}
			catch (e) {
			}
		}
	}
}
//Get profiles status
function updateProfilesStatus() {
	var userIdFlds = document.getElementsByName("user.id.status.check.for.chat");
	if (userIdFlds.length > 0) {
		var userIdsValArray = new Array();
		for (var i = 0; i < userIdFlds.length; i++) {
			userIdsValArray.push(userIdFlds[i].value);
		}
		var userIds = userIdsValArray.join();
		sndReq("general_chat_.htm", "&submitName=checkProfilesStatus&security=any&userIds=" + escape(userIds), "callBackUpdateProfilesStatus");
	}
}
//Update profiles status
function callBackUpdateProfilesStatus() {
	if (req.readyState == 4) { //Complete
		if (req.status == 200) { //OK response
			try {
				var availUserIds = req.responseText;
				if (availUserIds != null) {
					var availUserIdsArray = availUserIds.split(",");
					var statusAnchors = document.getElementsByName("chatStatusA");
					for (var j = 0; j < statusAnchors.length; j++) {
						statusAnchors[j].style.display = "none";
					}
					for (var i = 0; i < availUserIdsArray.length; i++) {
						for (var j = 0; j < statusAnchors.length; j++) {
							if (statusAnchors[j].id == "chatStatusA" + availUserIdsArray[i]) {
								statusAnchors[j].style.display = "";
							}
						}
					}
				}
			}
			catch (e) {
			}
		}
	}
}
//Check for new chat pings
function checkChatPings() {
	sndReq("general_chat_.htm", "&submitName=getChatPings&security=any&DONT_UPDATE_RAT=true", "callBackCheckChatPings");
}
//Update profiles status
function callBackCheckChatPings() {
	if (req.readyState == 4) { //Complete
		if (req.status == 200) { //OK response
			try {
				var xmldoc = req.responseXML;
				var sessions = xmldoc.getElementsByTagName("session");
				var n_sessions = sessions.length;
				for (i = 0; i < n_sessions; i++) {					
					var userIds = sessions[i].getElementsByTagName("userId");
					var anotherUserIds = sessions[i].getElementsByTagName("anotherUserId");
					joinChat(userIds[0].firstChild.nodeValue, anotherUserIds[0].firstChild.nodeValue);
				}
			}
			catch (e) {
			}
			window.top.setTimeout('checkChatPings()', (1000 * 30));
		}
	}
}
//Time zone functions in Add Member page
function getCountryTZAddMember(parentId) {
	if (parentId == "") {
		document.frmMacMember.timezone.value = "";
		hideTimeZone();
	}
	sndReq("search_subjects.htm", "&submitName=updateChildDropDown&parentId=" + parentId + "&parentName=timezoneCountry", "callBackGetCountryTZAddMember");
}
function callBackGetCountryTZAddMember() {
	var result;
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			xml = req.responseXML;
			var formName = "frmMacMember";
			var compName = "timezone";
			updateAddMemberTZ(formName, compName);
		}
	}
}
function updateAddMemberTZ(formName, compName) {
	var obj = req.responseXML.getElementsByTagName("options")[0];
	var defaultValue = 0;
	i = 0;
	j = 1;
	html = "";
	comp = document.forms[formName].elements[compName].options;
	comp.length = 0;
	if (obj.childNodes.length == 1) {
		var option = new Option();
		id = obj.childNodes.item(0).childNodes.item(0).childNodes.item(0).nodeValue;
		name = obj.childNodes.item(0).childNodes.item(1).childNodes.item(0).nodeValue;
		option.value = id;
		option.text = name;
		comp[0] = option;
		hideTimeZone();
		return;
	}
	var option = new Option();
	option.value = "";
	option.text = "Select";
	comp[0] = option;
	while ((j >= 1) && (j <= obj.childNodes.length)) {
		if (obj.childNodes.length > 0) {
			id = obj.childNodes.item(i).childNodes.item(0).childNodes.item(0).nodeValue;
			name = obj.childNodes.item(i).childNodes.item(1).childNodes.item(0).nodeValue;
		}
		if (id != null && name != null) {
			var option = new Option();
			option.value = id;
			option.text = name;
			comp[j] = option;
			showTimeZone();
		} else {
                // i = -1;
                // j=-1;
		}
		j++;
		i++;
	}
	try {
		if (retainOld) {
			retainOld = false;
			document.forms[formName].elements[compName].value = oldVal;
		}
	}
	catch (e) {
	}
}
//Select Membership Type Information
var prevExist = false;
function selectMbrshipType(membershipName) {
	sndReq("mac_addmember.htm", "&submitName=selectMbrshipType&membershipName=" + membershipName, "callBackSelectMbrshipType");
}
function callBackSelectMbrshipType() {
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			mbrshipInfo = req.responseXML;
			var frmObj = document.frmMacMember;
			//Is membership type exist
			var exist = (mbrshipInfo.getElementsByTagName("exist")[0].firstChild != null) ? (mbrshipInfo.getElementsByTagName("exist")[0].firstChild.nodeValue == 'true') : false;
			//Disable if existing membership type
			setMbrshipTypeInfo(exist);
			//Update values
			if(prevExist || exist) {
				frmObj.mbrshipLogo.src = frmObj.mbrshipLogo.src + "#";
				frmObj.membershipDefault[0].checked = (mbrshipInfo.getElementsByTagName("membershipDefault")[0].firstChild != null) ? (mbrshipInfo.getElementsByTagName("membershipDefault")[0].firstChild.nodeValue == '1') : false;
				frmObj.membershipDesc.value = (mbrshipInfo.getElementsByTagName("membershipDesc")[0].firstChild != null) ? mbrshipInfo.getElementsByTagName("membershipDesc")[0].firstChild.nodeValue : "";
			}
			prevExist = exist;
			frmObj.btnSubmit.disabled = false;
			frmObj.btnSubmit.className = "buttonHighLite zeroMargin";
		}
	}
}

function copyToClipboard(text)  
  {  
      if(window.clipboardData)  
      {  
      window.clipboardData.setData('text',text);  
      }      
      return false;  
  }
