var xmlhttp;

//////////////////////////////////////////////////////////
// ajax related common function
//////////////////////////////////////////////////////////
function GetXmlHttpObject(){
	if (window.XMLHttpRequest){
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject){
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}



//////////////////////////////////////////////////////////
// teach keyword ajax functionality
//////////////////////////////////////////////////////////
function ajaxTeachKeyword(whichPressed){
	var message='';	

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);
	
	var foreignkeyid = document.getElementById('id');
	var keyword = document.getElementById('keyword');
	if (foreignkeyid == null && keyword == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var keywordaddbutton = document.getElementById('keywordaddbutton');
	if (keywordaddbutton != null){
		if (keywordaddbutton.name == whichPressed) {
			// validation
			if (keyword.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter a keyword<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var keyworddeletebutton = document.getElementById('keyworddeletebutton');
	if (keyworddeletebutton != null){
		if (keyworddeletebutton.name == whichPressed) {
			var teachkeywords = document.getElementById('teachkeywords');
			if (teachkeywords != null){
				selected = new Array();
				for (var index = 0; index < teachkeywords.options.length; index++){
					if (teachkeywords.options[index].selected){
						selected.push(teachkeywords.options[index].value);
						deletelist += teachkeywords.options[index].value + '|';
					}
				}
				if (deletelist == '') {
					message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nothing selected to delete<br>';
				}
				if (message.length > 0){
					displayError(message);
					return;
				}
			}
		}
	}
	var fk = foreignkeyid.value;
	var keyword = keyword == null ? '' : keyword.value;
	var url="teach.ajax.keyword.php";
	url=url+"?fk="+fk;
	url=url+"&keyword="+keyword;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedTeachKeyword;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////////////////////////////////////////////
// display ajax results list event
//////////////////////////////////////////////////////////
function stateChangedTeachKeyword(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_keyword").innerHTML=xmlhttp.responseText;
	}
}





//////////////////////////////////////////////////////////
// teach attribute ajax functionality
//////////////////////////////////////////////////////////
function ajaxTeachAttribute(whichPressed, currform){
	var message='';	

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}

	var foreignkeyid = document.getElementById('id');
	if (foreignkeyid == null){
		alert ("Invalid query string");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);

	var displayorder = null;
	var attributeid = null;
	
	//----------------------------------------------
	// when 'add' button is clicked
	//----------------------------------------------
	var attributeaddbutton = document.getElementById('attributeaddbutton');
	if (attributeaddbutton != null){
		if (attributeaddbutton.name == whichPressed) {
			attributeid = document.getElementById('attributeid');
			displayorder = document.getElementById('displayorder');
			if (attributeid == null && displayorder == null){
				alert ("Add: Invalid query strings");
				return;
			}
			// validation
			if (attributeid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select an attribute<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	//----------------------------------------------
	// when 'apply changes' button is clicked
	//----------------------------------------------
	var update = false;
	var pk = 0;
	var attributeapplybutton = document.getElementById('attributeapplybutton_' + whichPressed);
	if (attributeapplybutton != null){
		if (document.all || document.getElementById){
			displayorder = document.getElementById('displayorder_' + whichPressed);
			attributeid = document.getElementById('attribute_' + whichPressed);
			if (attributeid == null && displayorder == null){
				alert ("Apply Changes: Invalid query strings");
				return;
			}
			// validation
			if (attributeid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select an attribute<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
			update = true;
			pk = whichPressed;
		}
	}
	//----------------------------------------------
	// when 'delete selected' button is clicked
	//----------------------------------------------
	var deletelist = '';
	var attributedeletebutton = document.getElementById('attributedeletebutton');
	if (attributedeletebutton != null){
		if (attributedeletebutton.name == whichPressed) {
			if (document.all || document.getElementById){
				for(z = 0; z < currform.length; z++){
					if (currform[z].type == 'checkbox'){
						if (currform[z].checked){
							var deleteid = currform[z].id.split("_");
							//alert(currform[z].id);
							if (deleteid[2] != null)
								deletelist += deleteid[2] + '|';
						}
					}
				}
			}
			//alert(deletelist);
			if (deletelist == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nothing selected to delete<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	var fk = foreignkeyid.value;
	var order = displayorder == null ? 0 : displayorder.value;
	var attid = attributeid == null ? 0 : attributeid.value;
	var url="teach.ajax.attribute.php";
	url=url+"?fk="+fk;
	url=url+"&attid="+attid;
	url=url+"&displayorder="+order;
	if (update) url=url+"&update="+pk;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedTeachAttribute;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////////////////////////////////////////////
// display ajax results list event
//////////////////////////////////////////////////////////
function stateChangedTeachAttribute(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_attribute").innerHTML=xmlhttp.responseText;
	}
}




//////////////////////////////////////////////////////////
// teach other ajax functionality
//////////////////////////////////////////////////////////
function ajaxTeachOther(whichPressed, currform){
	var message='';	

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}

	var foreignkeyid = document.getElementById('id');
	if (foreignkeyid == null){
		alert ("Invalid query string");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);

	var displayorder = null;
	var otherid = null;
	var othervalue = null;
	
	//----------------------------------------------
	// when 'add' button is clicked
	//----------------------------------------------
	var otheraddbutton = document.getElementById('otheraddbutton');
	if (otheraddbutton != null){
		if (otheraddbutton.name == whichPressed) {
			displayorder = document.getElementById('displayorder');
			otherid = document.getElementById('otherid');
			othervalue = document.getElementById('othervalue');
			if (otherid == null && othervalue == null && displayorder == null){
				alert ("Add: Invalid query strings");
				return;
			}
			// validation
			if (otherid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select an other<br>';
			}
			if (othervalue.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter value<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}

	//----------------------------------------------
	// when 'apply changes' button is clicked
	//----------------------------------------------
	var update = false;
	var otherapplybutton = document.getElementById('otherapplybutton_'+whichPressed);
	if (otherapplybutton != null){
		if (document.all || document.getElementById){
			displayorder = document.getElementById('displayorder_' + whichPressed);
			otherid = document.getElementById('other_' + whichPressed);
			othervalue = document.getElementById('othervalue_' + whichPressed);
			if (otherid == null && othervalue == null && displayorder == null){
				alert ("Apply Changes: Invalid query strings");
				return;
			}
			// validation
			if (otherid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select an other<br>';
			}
			if (othervalue.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter value<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
			update = true;
			pk = whichPressed;
		}
	}
	
	//----------------------------------------------
	// when 'delete selected' button is clicked
	//----------------------------------------------
	var deletelist = '';
	var otherdeletebutton = document.getElementById('otherdeletebutton');
	if (otherdeletebutton != null){
		if (otherdeletebutton.name == whichPressed) {
			if (document.all || document.getElementById){
				for(z = 0; z < currform.length; z++){
					if (currform[z].type == 'checkbox'){
						if (currform[z].checked){
							var deleteid = currform[z].id.split("_");
							//alert(currform[z].id);
							if (deleteid[2] != null)
								deletelist += deleteid[2] + '|';
						}
					}
				}
			}
			//alert(deletelist);
			if (deletelist == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nothing selected to delete<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	var fk = foreignkeyid.value;
	var displayorder = displayorder == null ? 0 : displayorder.value;
	var otherid = otherid == null ? 0 : otherid.value;
	var othervalue = othervalue == null ? "" : othervalue.value;
	var url="teach.ajax.other.php";
	url=url+"?fk="+fk;
	url=url+"&displayorder="+displayorder;
	url=url+"&otherid="+otherid;
	url=url+"&othervalue="+othervalue;
	if (update) url=url+"&update="+pk;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedTeachOther;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////////////////////////////////////////////
// display ajax results list event
//////////////////////////////////////////////////////////
function stateChangedTeachOther(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_other").innerHTML=xmlhttp.responseText;
	}
}




//////////////////////////////////////////////////////////
// teach image ajax functionality
//////////////////////////////////////////////////////////
function ajaxTeachImage(whichPressed, currform){
	var message='';	

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}

	var foreignkeyid = document.getElementById('id');
	if (foreignkeyid == null){
		alert ("Invalid query string");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);

	var isprimary = null;
	var note = null;

	//----------------------------------------------
	// NOTE: We cannot implement add image feature at javascript level
	// it has to be down at server side only because we cannot get the 
	// file size etc etc for cross browser
	//----------------------------------------------

	//----------------------------------------------
	// when 'apply changes' button is clicked
	//----------------------------------------------
	var update = false;
	var imageapplybutton = document.getElementById('imageapplybutton_'+whichPressed);
	if (imageapplybutton != null){
		if (document.all || document.getElementById){
			isprimary = document.getElementById('isprimary_' + whichPressed);
			note = document.getElementById('note_' + whichPressed);
			if (note == null && isprimary == null){
				alert ("Apply Changes: Invalid query strings");
				return;
			}
			update = true;
			pk = whichPressed;
		}
	}
	
	//----------------------------------------------
	// when 'delete selected' button is clicked
	//----------------------------------------------
	var deletelist = '';
	var deleteimagebutton = document.getElementById('deleteimagebutton');
	if (deleteimagebutton != null){
		if (deleteimagebutton.name == whichPressed) {
			if (document.all || document.getElementById){
				for(z = 0; z < currform.length; z++){
					if (currform[z].type == 'checkbox'){
						if (currform[z].checked){
							var deleteid = currform[z].id.split("_");
							//alert(currform[z].id);
							if (deleteid[2] != null)
								deletelist += deleteid[2] + '|';
						}
					}
				}
			}
			//alert(deletelist);
			if (deletelist == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nothing selected to delete<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	var fk = foreignkeyid.value;
	var isprimary = isprimary == null ? 0 : (isprimary.checked ? 1 : 0);
	var note = note == null ? "" : note.value;
	var url="teach.ajax.image.php";
	url=url+"?fk="+fk;
	url=url+"&isprimary="+isprimary;
	url=url+"&note="+note;
	if (update) url=url+"&update="+pk;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedTeachImage;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////////////////////////////////////////////
// display ajax results list event
//////////////////////////////////////////////////////////
function stateChangedTeachImage(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_image").innerHTML=xmlhttp.responseText;
	}
}





//////////////////////////////////////////////////////////
// teach video ajax functionality
//////////////////////////////////////////////////////////
function ajaxTeachVideo(whichPressed, currform){
	var message='';	

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}

	var foreignkeyid = document.getElementById('id');
	if (foreignkeyid == null){
		alert ("Invalid query string");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);

	var note = null;

	//----------------------------------------------
	// NOTE: We cannot implement add video feature at javascript level
	// it has to be down at server side only because we cannot get the 
	// file size etc etc for cross browser
	//----------------------------------------------

	//----------------------------------------------
	// when 'apply changes' button is clicked
	//----------------------------------------------
	var update = false;
	var videoapplybutton = document.getElementById('videoapplybutton_'+whichPressed);
	if (videoapplybutton != null){
		if (document.all || document.getElementById){
			note = document.getElementById('note_' + whichPressed);
			if (note == null){
				alert ("Apply Changes: Invalid query strings");
				return;
			}
			update = true;
			pk = whichPressed;
		}
	}
	
	//----------------------------------------------
	// when 'delete selected' button is clicked
	//----------------------------------------------
	var deletelist = '';
	var videodeletebutton = document.getElementById('videodeletebutton');
	if (videodeletebutton != null){
		if (videodeletebutton.name == whichPressed) {
			if (document.all || document.getElementById){
				for(z = 0; z < currform.length; z++){
					if (currform[z].type == 'checkbox'){
						if (currform[z].checked){
							var deleteid = currform[z].id.split("_");
							//alert(currform[z].id);
							if (deleteid[2] != null)
								deletelist += deleteid[2] + '|';
						}
					}
				}
			}
			//alert(deletelist);
			if (deletelist == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nothing selected to delete<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	var fk = foreignkeyid.value;
	var note = note == null ? "" : note.value;
	var url="teach.ajax.video.php";
	url=url+"?fk="+fk;
	url=url+"&note="+note;
	if (update) url=url+"&update="+pk;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedTeachVideo;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////////////////////////////////////////////
// display ajax results list event
//////////////////////////////////////////////////////////
function stateChangedTeachVideo(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_video").innerHTML=xmlhttp.responseText;
	}
}





//////////////////////////////////////////////////////////
// teach supplement ajax functionality
//////////////////////////////////////////////////////////
function ajaxTeachSupplement(whichPressed, currform){
	var message='';	

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}

	var foreignkeyid = document.getElementById('id');
	if (foreignkeyid == null){
		alert ("Invalid query string");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);

	var note = null;

	//----------------------------------------------
	// NOTE: We cannot implement add supplement feature at javascript level
	// it has to be down at server side only because we cannot get the 
	// file size etc etc for cross browser
	//----------------------------------------------

	//----------------------------------------------
	// when 'apply changes' button is clicked
	//----------------------------------------------
	var update = false;
	var supplementapplybutton = document.getElementById('supplementapplybutton_'+whichPressed);
	if (supplementapplybutton != null){
		if (document.all || document.getElementById){
			note = document.getElementById('note_' + whichPressed);
			if (note == null){
				alert ("Apply Changes: Invalid query strings");
				return;
			}
			update = true;
			pk = whichPressed;
		}
	}
	
	//----------------------------------------------
	// when 'delete selected' button is clicked
	//----------------------------------------------
	var deletelist = '';
	var supplementdeletebutton = document.getElementById('supplementdeletebutton');
	if (supplementdeletebutton != null){
		if (supplementdeletebutton.name == whichPressed) {
			if (document.all || document.getElementById){
				for(z = 0; z < currform.length; z++){
					if (currform[z].type == 'checkbox'){
						if (currform[z].checked){
							var deleteid = currform[z].id.split("_");
							//alert(currform[z].id);
							if (deleteid[2] != null)
								deletelist += deleteid[2] + '|';
						}
					}
				}
			}
			//alert(deletelist);
			if (deletelist == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nothing selected to delete<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	var fk = foreignkeyid.value;
	var note = note == null ? "" : note.value;
	var url="teach.ajax.supplement.php";
	url=url+"?fk="+fk;
	url=url+"&note="+note;
	if (update) url=url+"&update="+pk;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedTeachSupplement;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////////////////////////////////////////////
// display ajax results list event
//////////////////////////////////////////////////////////
function stateChangedTeachSupplement(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_supplement").innerHTML=xmlhttp.responseText;
	}
}





//////////////////////////////////////////////////////////
// display ajax results
//////////////////////////////////////////////////////////
function ajaxTeachStats(){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);
	var url="teach.ajax.stats.php";
	url=url+"?sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedTeachStats;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
//////////////////////////////////////////////////////////
// display ajax results event
//////////////////////////////////////////////////////////
function stateChangedTeachStats(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_teach_stats").innerHTML=xmlhttp.responseText;
	}
}





//////////////////////////////////////////////////////////
// display ajax results
//////////////////////////////////////////////////////////
function getTeachLatest(){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}
	// check to see if the div is expanded. if so, update ajax panel
	var lnklatestteach = document.getElementById('lnklatestteach');
	if (lnklatestteach != null){
		if (lnklatestteach.style.display != 'none'){
			var url="teach.ajax.latest.php";
			url=url+"?sid="+Math.random();
			//alert(url);
			xmlhttp.onreadystatechange=stateChangedTeachLatest;
			xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
		}
	}
}
//////////////////////////////////////////////////////////
// display ajax results event
//////////////////////////////////////////////////////////
function stateChangedTeachLatest(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_teach_latest").innerHTML=xmlhttp.responseText;
	}
}



//////////////////////////////////////////////////////////
// validate teach signup
//////////////////////////////////////////////////////////
function validateTeachSignup(frm) {
	var message='';

	if (frm.firstname.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter first name<br>';
	}
	if (frm.lastname.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter last name<br>';
	}
	if (frm.nickname.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your username/nickname<br>';
	}
	if (frm.emailaddress.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your email address<br>';
	}
	else {
		if (checkEmail(frm.emailaddress.value ) == false)
			message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalid email address format<br>';
	}
	if (frm.emailaddress2.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your verify email address<br>';
	}
	else {
		if (checkEmail(frm.emailaddress2.value ) == false)
			message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalid verify email address format<br>';
	}
	if (frm.emailaddress.value != '' && frm.emailaddress2.value != '') {
		if (frm.emailaddress.value != frm.emailaddress2.value)
			message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Your email address and verify email address are different<br>';
	}
	if (frm.password1.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your password<br>';
	}
	if (frm.password2.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your verify password<br>';
	}
	if (frm.password1.value != '' && frm.password1.value != '') {
		if (frm.password1.value != frm.password2.value)
			message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Your password and verify password are different<br>';
	}
	if (frm.countryid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter country of residence<br>';
	}
	if (frm.keywords.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter listing keyword(s)<br>';
	}
	if (frm.header.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your listing header<br>';
	}
	if (frm.description.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your listing description<br>';
	}
	if (frm.hasreadterms.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You have not read and agreed to the Terms and Conditions of use<br>';
	}
	if (frm.security_code.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter the validation code<br>';
	}
	if (message.length == 0){
		// submitOnce(frm);
	}
	return displayError(message);
}




//////////////////////////////////////////////////////////
// validate teach search
//////////////////////////////////////////////////////////
function validateTeachSearch(frm) {
	var message='';
	
	if (frm.keywords.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter what you want to teach<br>';
	}
	if (message.length == 0){
		// submitOnce(frm);
	}
	return displayError(message);
}
//////////////////////////////////////////////////////////
// teach search ajax functionality
//////////////////////////////////////////////////////////
function ajaxTeachSearch(){
	var message='';	

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}
	setTimeout("hideDiv('messages')", 3000);
	
	var url="teach.ajax.search.php";
	url=url+"?sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedTeachSearch;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////////////////////////////////////////////
// display ajax results list event
//////////////////////////////////////////////////////////
function stateChangedTeachSearch(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_teach_search").innerHTML=xmlhttp.responseText;
	}
}
