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;
}



//////////////////////////////////////////////////////////
// talent category ajax functionality
//////////////////////////////////////////////////////////
function ajaxTalentCategory(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 categoryid = document.getElementById('categoryid');
	var subcategoryid = document.getElementById('subcategoryid');
	if (foreignkeyid == null && categoryid == null && subcategoryid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var categoryaddbutton = document.getElementById('categoryaddbutton');
	if (categoryaddbutton != null){
		if (categoryaddbutton.name == whichPressed) {
			// validation
			if (categoryid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a category<br>';
			}
			if (subcategoryid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a subcategory<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var categorydeletebutton = document.getElementById('categorydeletebutton');
	if (categorydeletebutton != null){
		if (categorydeletebutton.name == whichPressed) {
			var categories = document.getElementById('categories');
			if (categories != null){
				selected = new Array();
				for (var index = 0; index < categories.options.length; index++){
					if (categories.options[index].selected){
						selected.push(categories.options[index].value);
						deletelist += categories.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 catid = categoryid == null ? 0 : categoryid.value;
	var subcatid = subcategoryid == null ? 0 : subcategoryid.value;
	var url="talent.ajax.category.php";
	url=url+"?fk="+fk;
	url=url+"&catid="+catid;
	url=url+"&subcatid="+subcatid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedTalentCategory;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// talent attribute ajax functionality
//////////////////////////////////////////////////////////
function ajaxTalentAttribute(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="talent.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=stateChangedTalentAttribute;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// talent other ajax functionality
//////////////////////////////////////////////////////////
function ajaxTalentOther(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="talent.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=stateChangedTalentOther;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// talent image ajax functionality
//////////////////////////////////////////////////////////
function ajaxTalentImage(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 istoberated = 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);
			istoberated = document.getElementById('istoberated_' + whichPressed);
			note = document.getElementById('note_' + whichPressed);
			if (note == null && isprimary == null && istoberated == 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 istoberated = istoberated == null ? 0 : (istoberated.checked ? 1 : 0);
	var note = note == null ? "" : note.value;
	var url="talent.ajax.image.php";
	url=url+"?fk="+fk;
	url=url+"&isprimary="+isprimary;
	url=url+"&istoberated="+istoberated;
	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=stateChangedTalentImage;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// talent video ajax functionality
//////////////////////////////////////////////////////////
function ajaxTalentVideo(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="talent.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=stateChangedTalentVideo;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// talent supplement ajax functionality
//////////////////////////////////////////////////////////
function ajaxTalentSupplement(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="talent.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=stateChangedTalentSupplement;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// display ajax results
//////////////////////////////////////////////////////////
function showTalentSubcategoryList(str){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="talent.ajax.subcategory.list.php";
	url=url+"?catid="+str;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedTalentSubcategory;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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






//////////////////////////////////////////////////////////
// display ajax results
//////////////////////////////////////////////////////////
function showTalentSubcategoryDropdown(str){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="talent.ajax.subcategory.dropdown.php";
	url=url+"?categoryid="+str;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedTalentSubcategoryDropdown;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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






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





//////////////////////////////////////////////////////////
// display ajax results
//////////////////////////////////////////////////////////
function getTalentLatest(){
	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 lnklatesttalent = document.getElementById('lnklatesttalent');
	if (lnklatesttalent != null){
		if (lnklatesttalent.style.display != 'none'){
			var url="talent.ajax.latest.php";
			url=url+"?sid="+Math.random();
			//alert(url);
			xmlhttp.onreadystatechange=stateChangedTalentLatest;
			xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
		}
	}
}
//////////////////////////////////////////////////////////
// display ajax results event
//////////////////////////////////////////////////////////
function stateChangedTalentLatest(){
	if (xmlhttp.readyState==4) {
		document.getElementById("ajax_panel_talent_latest").innerHTML=xmlhttp.responseText;
	}
}



//////////////////////////////////////////////////////////
// validate talent signup
//////////////////////////////////////////////////////////
function validateTalentSignup(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.categoryid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter listing category<br>';
	}
	if (frm.subcategoryid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter listing subcategory<br>';
	}
	if (frm.genderid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your gender<br>';
	}
	if (frm.dobdayid.value == 0 || frm.dobmonthid.value == 0 || frm.dobyearid.value == 0) {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your date of birth<br>';
	}
	if (frm.ethnicityid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your ethnicity<br>';
	}
	if (frm.heightgroupid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your height group<br>';
	}
	if (frm.weightgroupid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your weight group<br>';
	}
	if (frm.bodybuildtypeid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your body build type<br>';
	}
	if (frm.skincomplexionid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your skin complexion<br>';
	}
	if (frm.eyecolourid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your eye colour<br>';
	}
	if (frm.haircolourid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your hair colur<br>';
	}
	if (frm.hairlengthid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your hair length<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 talent
//////////////////////////////////////////////////////////
function validateTalent(frm) {
	var message='';
	
	if (frm.genderid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your gender<br>';
	}
	if (frm.dobdayid.value == 0 || frm.dobmonthid.value == 0 || frm.dobyearid.value == 0) {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your date of birth<br>';
	}
	if (frm.ethnicityid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your ethnicity<br>';
	}
	if (frm.maritalstatusid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your marital status<br>';
	}
	if (frm.heightgroupid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your height group<br>';
	}
	if (frm.weightgroupid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your weight group<br>';
	}
	if (frm.bodybuildtypeid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your body build type<br>';
	}
	if (frm.skincomplexionid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your skin complexion<br>';
	}
	if (frm.eyecolourid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your eye colour<br>';
	}
	if (frm.haircolourid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your hair colur<br>';
	}
	if (frm.hairlengthid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your hair length<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 (message.length == 0){
		// submitOnce(frm);
	}
	return displayError(message);
}

//////////////////////////////////////////////////////////
// validate talent search
//////////////////////////////////////////////////////////
function validateTalentSearch(frm) {
	var message='';
	
	if (frm.genderid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select the gender<br>';
	}
	if (frm.agefrom.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select age from criteria<br>';
	}
	if (frm.ageto.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select age to criteria<br>';
	}
	if (frm.agefrom.value != '' && frm.ageto.value != '') {
		if (frm.agefrom.value > frm.ageto.value)
			message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalid age range - ' + frm.agefrom.value + ' and ' + frm.ageto.value + '<br>';
	}
	if (frm.countries.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select at least one country<br>';
	}	
	if (message.length == 0){
		// submitOnce(frm);
	}
	return displayError(message);
}
//////////////////////////////////////////////////////////
// talent search ajax functionality
//////////////////////////////////////////////////////////
function ajaxTalentSearch(){
	var message='';	

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

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