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




//////////////////////////////////////////////////////////
// soulmate image ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateImage(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="soulmate.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=stateChangedSoulmateImage;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





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

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





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

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





//////////////////////////////////////////////////////////
// soulmate spoken language ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateLanguageSpoken(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 spokenlanguageid = document.getElementById('spokenlanguageid');
	if (foreignkeyid == null && spokenlanguageid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var languagespokenaddbutton = document.getElementById('languagespokenaddbutton');
	if (languagespokenaddbutton != null){
		if (languagespokenaddbutton.name == whichPressed) {
			// validation
			if (spokenlanguageid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a spoken language<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var languagespokendeletebutton = document.getElementById('languagespokendeletebutton');
	if (languagespokendeletebutton != null){
		if (languagespokendeletebutton.name == whichPressed) {
			var soulmatelanguagespokenlist = document.getElementById('soulmatelanguagespokenlist');
			if (soulmatelanguagespokenlist != null){
				selected = new Array();
				for (var index = 0; index < soulmatelanguagespokenlist.options.length; index++){
					if (soulmatelanguagespokenlist.options[index].selected){
						selected.push(soulmatelanguagespokenlist.options[index].value);
						deletelist += soulmatelanguagespokenlist.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 spokenlanguageid = spokenlanguageid == null ? 0 : spokenlanguageid.value;
	var url="soulmate.ajax.language.spoken.php";
	url=url+"?fk="+fk;
	url=url+"&spokenlanguageid="+spokenlanguageid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedSoulmateLanguageSpoken;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate written language ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateLanguageWritten(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 writtenlanguageid = document.getElementById('writtenlanguageid');
	if (foreignkeyid == null && writtenlanguageid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var languagewrittenaddbutton = document.getElementById('languagewrittenaddbutton');
	if (languagewrittenaddbutton != null){
		if (languagewrittenaddbutton.name == whichPressed) {
			// validation
			if (writtenlanguageid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a written language<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var languagewrittendeletebutton = document.getElementById('languagewrittendeletebutton');
	if (languagewrittendeletebutton != null){
		if (languagewrittendeletebutton.name == whichPressed) {
			var soulmatelanguagewrittenlist = document.getElementById('soulmatelanguagewrittenlist');
			if (soulmatelanguagewrittenlist != null){
				selected = new Array();
				for (var index = 0; index < soulmatelanguagewrittenlist.options.length; index++){
					if (soulmatelanguagewrittenlist.options[index].selected){
						selected.push(soulmatelanguagewrittenlist.options[index].value);
						deletelist += soulmatelanguagewrittenlist.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 writtenlanguageid = writtenlanguageid == null ? 0 : writtenlanguageid.value;
	var url="soulmate.ajax.language.written.php";
	url=url+"?fk="+fk;
	url=url+"&writtenlanguageid="+writtenlanguageid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedSoulmateLanguageWritten;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate relation type ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateRelationType(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 soulmaterelationtypeid = document.getElementById('soulmaterelationtypeid');
	if (foreignkeyid == null && soulmaterelationtypeid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var relationtypeaddbutton = document.getElementById('relationtypeaddbutton');
	if (relationtypeaddbutton != null){
		if (relationtypeaddbutton.name == whichPressed) {
			// validation
			if (soulmaterelationtypeid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a relation type<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var relationtypedeletebutton = document.getElementById('relationtypedeletebutton');
	if (relationtypedeletebutton != null){
		if (relationtypedeletebutton.name == whichPressed) {
			var soulmaterelationtypelist = document.getElementById('soulmaterelationtypelist');
			if (soulmaterelationtypelist != null){
				selected = new Array();
				for (var index = 0; index < soulmaterelationtypelist.options.length; index++){
					if (soulmaterelationtypelist.options[index].selected){
						selected.push(soulmaterelationtypelist.options[index].value);
						deletelist += soulmaterelationtypelist.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 soulmaterelationtypeid = soulmaterelationtypeid == null ? 0 : soulmaterelationtypeid.value;
	var url="soulmate.ajax.relation.type.php";
	url=url+"?fk="+fk;
	url=url+"&soulmaterelationtypeid="+soulmaterelationtypeid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateRelationType;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate interest ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateInterest(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 choiceid = document.getElementById('choiceid');
	var interestid = document.getElementById('interestid');
	if (foreignkeyid == null && interestid == null && choiceid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var interestaddbutton = document.getElementById('interestaddbutton');
	if (interestaddbutton != null){
		if (interestaddbutton.name == whichPressed) {
			// validation
			if (interestid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select an interest from the list<br>';
			}
			if (choiceid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a choice from the list<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var interestdeletebutton = document.getElementById('interestdeletebutton');
	if (interestdeletebutton != null){
		if (interestdeletebutton.name == whichPressed) {
			var soulmateinterestlist = document.getElementById('soulmateinterestlist');
			if (soulmateinterestlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateinterestlist.options.length; index++){
					if (soulmateinterestlist.options[index].selected){
						selected.push(soulmateinterestlist.options[index].value);
						deletelist += soulmateinterestlist.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 choiceid = choiceid == null ? 0 : choiceid.value;
	var interestid = interestid == null ? 0 : interestid.value;
	var url="soulmate.ajax.interest.php";
	url=url+"?fk="+fk;
	url=url+"&choiceid="+choiceid;
	url=url+"&interestid="+interestid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateInterest;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate ideal match ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatch(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 genderid = document.getElementById('genderid');
	if (foreignkeyid == null && genderid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	var agefrom = document.getElementById('agefrom');
	var ageto = document.getElementById('ageto');
	var numberofchildren = document.getElementById('numberofchildren');
	var numberofdependent = document.getElementById('numberofdependent');
	// when 'save' button is clicked
	var idealmatchsavebutton = document.getElementById('idealmatchsavebutton');
	if (idealmatchsavebutton != null){
		if (idealmatchsavebutton.name == whichPressed) {
			// validation
			if (genderid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a written language<br>';
			}
			if (agefrom.value != '' && ageto.value != '') {
				if (agefrom.value > ageto.value != '') {
					message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Age from must be less than age to<br>';
				}
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	var fk = foreignkeyid.value;
	var genderid = genderid == null ? 0 : genderid.value;
	var agefrom = agefrom == null ? 0 : agefrom.value;
	var ageto = ageto == null ? 0 : ageto.value;
	var numberofchildren = numberofchildren == null ? 0 : numberofchildren.value;
	var numberofdependent = numberofdependent == null ? 0 : numberofdependent.value;
	var url="soulmate.ajax.ideal.match.php";
	url=url+"?fk="+fk;
	url=url+"&edit=1";
	url=url+"&genderid="+genderid;
	url=url+"&agefrom="+agefrom;
	url=url+"&ageto="+ageto;
	url=url+"&numberofchildren="+numberofchildren;
	url=url+"&numberofdependent="+numberofdependent;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatch;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate ideal match chinesezodiac ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchBodyBuildType(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 soulmateidealmatchbodybuildtypeid = document.getElementById('soulmateidealmatchbodybuildtypeid');
	if (foreignkeyid == null && soulmateidealmatchbodybuildtypeid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var bodybuildtypeaddbutton = document.getElementById('bodybuildtypeaddbutton');
	if (bodybuildtypeaddbutton != null){
		if (bodybuildtypeaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchbodybuildtypeid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match body build type<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var bodybuildtypedeletebutton = document.getElementById('bodybuildtypedeletebutton');
	if (bodybuildtypedeletebutton != null){
		if (bodybuildtypedeletebutton.name == whichPressed) {
			var soulmateidealmatchbodybuildtypelist = document.getElementById('soulmateidealmatchbodybuildtypelist');
			if (soulmateidealmatchbodybuildtypelist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchbodybuildtypelist.options.length; index++){
					if (soulmateidealmatchbodybuildtypelist.options[index].selected){
						selected.push(soulmateidealmatchbodybuildtypelist.options[index].value);
						deletelist += soulmateidealmatchbodybuildtypelist.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 bodybuildtypeid = soulmateidealmatchbodybuildtypeid == null ? 0 : soulmateidealmatchbodybuildtypeid.value;
	var url="soulmate.ajax.ideal.match.body.build.type.php";
	url=url+"?fk="+fk;
	url=url+"&bodybuildtypeid="+bodybuildtypeid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchBodyBuildType;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match chinesezodiac ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchChineseZodiac(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 soulmateidealmatchchinesezodiacid = document.getElementById('soulmateidealmatchchinesezodiacid');
	if (foreignkeyid == null && soulmateidealmatchchinesezodiacid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var chinesezodiacaddbutton = document.getElementById('chinesezodiacaddbutton');
	if (chinesezodiacaddbutton != null){
		if (chinesezodiacaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchchinesezodiacid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match chinese zodiac<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var chinesezodiacdeletebutton = document.getElementById('chinesezodiacdeletebutton');
	if (chinesezodiacdeletebutton != null){
		if (chinesezodiacdeletebutton.name == whichPressed) {
			var soulmateidealmatchchinesezodiaclist = document.getElementById('soulmateidealmatchchinesezodiaclist');
			if (soulmateidealmatchchinesezodiaclist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchchinesezodiaclist.options.length; index++){
					if (soulmateidealmatchchinesezodiaclist.options[index].selected){
						selected.push(soulmateidealmatchchinesezodiaclist.options[index].value);
						deletelist += soulmateidealmatchchinesezodiaclist.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 chinesezodiacid = soulmateidealmatchchinesezodiacid == null ? 0 : soulmateidealmatchchinesezodiacid.value;
	var url="soulmate.ajax.ideal.match.chinese.zodiac.php";
	url=url+"?fk="+fk;
	url=url+"&chinesezodiacid="+chinesezodiacid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchChineseZodiac;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match drinking habit ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchDrinkingHabit(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 soulmateidealmatchdrinkinghabitid = document.getElementById('soulmateidealmatchdrinkinghabitid');
	if (foreignkeyid == null && soulmateidealmatchdrinkinghabitid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var drinkinghabitaddbutton = document.getElementById('drinkinghabitaddbutton');
	if (drinkinghabitaddbutton != null){
		if (drinkinghabitaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchdrinkinghabitid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match drinking habit<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var drinkinghabitdeletebutton = document.getElementById('drinkinghabitdeletebutton');
	if (drinkinghabitdeletebutton != null){
		if (drinkinghabitdeletebutton.name == whichPressed) {
			var soulmateidealmatchdrinkinghabitlist = document.getElementById('soulmateidealmatchdrinkinghabitlist');
			if (soulmateidealmatchdrinkinghabitlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchdrinkinghabitlist.options.length; index++){
					if (soulmateidealmatchdrinkinghabitlist.options[index].selected){
						selected.push(soulmateidealmatchdrinkinghabitlist.options[index].value);
						deletelist += soulmateidealmatchdrinkinghabitlist.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 drinkinghabitid = soulmateidealmatchdrinkinghabitid == null ? 0 : soulmateidealmatchdrinkinghabitid.value;
	var url="soulmate.ajax.ideal.match.drinking.habit.php";
	url=url+"?fk="+fk;
	url=url+"&drinkinghabitid="+drinkinghabitid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchDrinkingHabit;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match education ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchEducation(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 soulmateidealmatcheducationid = document.getElementById('soulmateidealmatcheducationid');
	if (foreignkeyid == null && soulmateidealmatcheducationid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var educationaddbutton = document.getElementById('educationaddbutton');
	if (educationaddbutton != null){
		if (educationaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatcheducationid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match education<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var educationdeletebutton = document.getElementById('educationdeletebutton');
	if (educationdeletebutton != null){
		if (educationdeletebutton.name == whichPressed) {
			var soulmateidealmatcheducationlist = document.getElementById('soulmateidealmatcheducationlist');
			if (soulmateidealmatcheducationlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatcheducationlist.options.length; index++){
					if (soulmateidealmatcheducationlist.options[index].selected){
						selected.push(soulmateidealmatcheducationlist.options[index].value);
						deletelist += soulmateidealmatcheducationlist.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 educationid = soulmateidealmatcheducationid == null ? 0 : soulmateidealmatcheducationid.value;
	var url="soulmate.ajax.ideal.match.education.php";
	url=url+"?fk="+fk;
	url=url+"&educationid="+educationid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchEducation;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match ethnicity ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchEthnicity(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 soulmateidealmatchethnicityid = document.getElementById('soulmateidealmatchethnicityid');
	if (foreignkeyid == null && soulmateidealmatchethnicityid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var ethnicityaddbutton = document.getElementById('ethnicityaddbutton');
	if (ethnicityaddbutton != null){
		if (ethnicityaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchethnicityid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match ethnicity<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var ethnicitydeletebutton = document.getElementById('ethnicitydeletebutton');
	if (ethnicitydeletebutton != null){
		if (ethnicitydeletebutton.name == whichPressed) {
			var soulmateidealmatchethnicitylist = document.getElementById('soulmateidealmatchethnicitylist');
			if (soulmateidealmatchethnicitylist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchethnicitylist.options.length; index++){
					if (soulmateidealmatchethnicitylist.options[index].selected){
						selected.push(soulmateidealmatchethnicitylist.options[index].value);
						deletelist += soulmateidealmatchethnicitylist.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 ethnicityid = soulmateidealmatchethnicityid == null ? 0 : soulmateidealmatchethnicityid.value;
	var url="soulmate.ajax.ideal.match.ethnicity.php";
	url=url+"?fk="+fk;
	url=url+"&ethnicityid="+ethnicityid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchEthnicity;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match eye colour ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchEyeColour(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 soulmateidealmatcheyecolourid = document.getElementById('soulmateidealmatcheyecolourid');
	if (foreignkeyid == null && soulmateidealmatcheyecolourid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var eyecolouraddbutton = document.getElementById('eyecolouraddbutton');
	if (eyecolouraddbutton != null){
		if (eyecolouraddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatcheyecolourid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match eye colour<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var eyecolourdeletebutton = document.getElementById('eyecolourdeletebutton');
	if (eyecolourdeletebutton != null){
		if (eyecolourdeletebutton.name == whichPressed) {
			var soulmateidealmatcheyecolourlist = document.getElementById('soulmateidealmatcheyecolourlist');
			if (soulmateidealmatcheyecolourlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatcheyecolourlist.options.length; index++){
					if (soulmateidealmatcheyecolourlist.options[index].selected){
						selected.push(soulmateidealmatcheyecolourlist.options[index].value);
						deletelist += soulmateidealmatcheyecolourlist.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 eyecolourid = soulmateidealmatcheyecolourid == null ? 0 : soulmateidealmatcheyecolourid.value;
	var url="soulmate.ajax.ideal.match.eye.colour.php";
	url=url+"?fk="+fk;
	url=url+"&eyecolourid="+eyecolourid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchEyeColour;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match eye colour ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchHairColour(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 soulmateidealmatchhaircolourid = document.getElementById('soulmateidealmatchhaircolourid');
	if (foreignkeyid == null && soulmateidealmatchhaircolourid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var haircolouraddbutton = document.getElementById('haircolouraddbutton');
	if (haircolouraddbutton != null){
		if (haircolouraddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchhaircolourid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match hair colour<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var haircolourdeletebutton = document.getElementById('haircolourdeletebutton');
	if (haircolourdeletebutton != null){
		if (haircolourdeletebutton.name == whichPressed) {
			var soulmateidealmatchhaircolourlist = document.getElementById('soulmateidealmatchhaircolourlist');
			if (soulmateidealmatchhaircolourlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchhaircolourlist.options.length; index++){
					if (soulmateidealmatchhaircolourlist.options[index].selected){
						selected.push(soulmateidealmatchhaircolourlist.options[index].value);
						deletelist += soulmateidealmatchhaircolourlist.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 haircolourid = soulmateidealmatchhaircolourid == null ? 0 : soulmateidealmatchhaircolourid.value;
	var url="soulmate.ajax.ideal.match.hair.colour.php";
	url=url+"?fk="+fk;
	url=url+"&haircolourid="+haircolourid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchHairColour;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match hair length ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchHairLength(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 soulmateidealmatchhairlengthid = document.getElementById('soulmateidealmatchhairlengthid');
	if (foreignkeyid == null && soulmateidealmatchhairlengthid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var hairlengthaddbutton = document.getElementById('hairlengthaddbutton');
	if (hairlengthaddbutton != null){
		if (hairlengthaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchhairlengthid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match hair length<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var hairlengthdeletebutton = document.getElementById('hairlengthdeletebutton');
	if (hairlengthdeletebutton != null){
		if (hairlengthdeletebutton.name == whichPressed) {
			var soulmateidealmatchhairlengthlist = document.getElementById('soulmateidealmatchhairlengthlist');
			if (soulmateidealmatchhairlengthlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchhairlengthlist.options.length; index++){
					if (soulmateidealmatchhairlengthlist.options[index].selected){
						selected.push(soulmateidealmatchhairlengthlist.options[index].value);
						deletelist += soulmateidealmatchhairlengthlist.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 hairlengthid = soulmateidealmatchhairlengthid == null ? 0 : soulmateidealmatchhairlengthid.value;
	var url="soulmate.ajax.ideal.match.hair.length.php";
	url=url+"?fk="+fk;
	url=url+"&hairlengthid="+hairlengthid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchHairLength;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match height group ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchHeightGroup(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 soulmateidealmatchheightgroupid = document.getElementById('soulmateidealmatchheightgroupid');
	if (foreignkeyid == null && soulmateidealmatchheightgroupid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var heightgroupaddbutton = document.getElementById('heightgroupaddbutton');
	if (heightgroupaddbutton != null){
		if (heightgroupaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchheightgroupid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match height group<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var heightgroupdeletebutton = document.getElementById('heightgroupdeletebutton');
	if (heightgroupdeletebutton != null){
		if (heightgroupdeletebutton.name == whichPressed) {
			var soulmateidealmatchheightgrouplist = document.getElementById('soulmateidealmatchheightgrouplist');
			if (soulmateidealmatchheightgrouplist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchheightgrouplist.options.length; index++){
					if (soulmateidealmatchheightgrouplist.options[index].selected){
						selected.push(soulmateidealmatchheightgrouplist.options[index].value);
						deletelist += soulmateidealmatchheightgrouplist.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 heightgroupid = soulmateidealmatchheightgroupid == null ? 0 : soulmateidealmatchheightgroupid.value;
	var url="soulmate.ajax.ideal.match.height.group.php";
	url=url+"?fk="+fk;
	url=url+"&heightgroupid="+heightgroupid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchHeightGroup;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match horoscope ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchHoroscope(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 soulmateidealmatchhoroscopeid = document.getElementById('soulmateidealmatchhoroscopeid');
	if (foreignkeyid == null && soulmateidealmatchhoroscopeid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var horoscopeaddbutton = document.getElementById('horoscopeaddbutton');
	if (horoscopeaddbutton != null){
		if (horoscopeaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchhoroscopeid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match horoscope<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var horoscopedeletebutton = document.getElementById('horoscopedeletebutton');
	if (horoscopedeletebutton != null){
		if (horoscopedeletebutton.name == whichPressed) {
			var soulmateidealmatchhoroscopelist = document.getElementById('soulmateidealmatchhoroscopelist');
			if (soulmateidealmatchhoroscopelist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchhoroscopelist.options.length; index++){
					if (soulmateidealmatchhoroscopelist.options[index].selected){
						selected.push(soulmateidealmatchhoroscopelist.options[index].value);
						deletelist += soulmateidealmatchhoroscopelist.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 horoscopeid = soulmateidealmatchhoroscopeid == null ? 0 : soulmateidealmatchhoroscopeid.value;
	var url="soulmate.ajax.ideal.match.horoscope.php";
	url=url+"?fk="+fk;
	url=url+"&horoscopeid="+horoscopeid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchHoroscope;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match incomegroup ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchIncomeGroup(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 soulmateidealmatchincomegroupid = document.getElementById('soulmateidealmatchincomegroupid');
	if (foreignkeyid == null && soulmateidealmatchincomegroupid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var incomegroupaddbutton = document.getElementById('incomegroupaddbutton');
	if (incomegroupaddbutton != null){
		if (incomegroupaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchincomegroupid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match income group<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var incomegroupdeletebutton = document.getElementById('incomegroupdeletebutton');
	if (incomegroupdeletebutton != null){
		if (incomegroupdeletebutton.name == whichPressed) {
			var soulmateidealmatchincomegrouplist = document.getElementById('soulmateidealmatchincomegrouplist');
			if (soulmateidealmatchincomegrouplist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchincomegrouplist.options.length; index++){
					if (soulmateidealmatchincomegrouplist.options[index].selected){
						selected.push(soulmateidealmatchincomegrouplist.options[index].value);
						deletelist += soulmateidealmatchincomegrouplist.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 incomegroupid = soulmateidealmatchincomegroupid == null ? 0 : soulmateidealmatchincomegroupid.value;
	var url="soulmate.ajax.ideal.match.income.group.php";
	url=url+"?fk="+fk;
	url=url+"&incomegroupid="+incomegroupid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchIncomeGroup;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match interest ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchInterest(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 soulmateidealmatchidealmatchchoiceid = document.getElementById('soulmateidealmatchidealmatchchoiceid');
	var soulmateidealmatchidealmatchinterestid = document.getElementById('soulmateidealmatchidealmatchinterestid');
	if (foreignkeyid == null && soulmateidealmatchidealmatchchoiceid == null & soulmateidealmatchidealmatchinterestid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var soulmateidealmatchinterestaddbutton = document.getElementById('soulmateidealmatchinterestaddbutton');
	if (soulmateidealmatchinterestaddbutton != null){
		if (soulmateidealmatchinterestaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchidealmatchchoiceid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select choice<br>';
			}
			if (soulmateidealmatchidealmatchinterestid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match interest<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var soulmateidealmatchinterestdeletebutton = document.getElementById('soulmateidealmatchinterestdeletebutton');
	if (soulmateidealmatchinterestdeletebutton != null){
		if (soulmateidealmatchinterestdeletebutton.name == whichPressed) {
			var soulmateidealmatchinterestlist = document.getElementById('soulmateidealmatchinterestlist');
			if (soulmateidealmatchinterestlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchinterestlist.options.length; index++){
					if (soulmateidealmatchinterestlist.options[index].selected){
						selected.push(soulmateidealmatchinterestlist.options[index].value);
						deletelist += soulmateidealmatchinterestlist.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 choiceid = soulmateidealmatchidealmatchchoiceid == null ? 0 : soulmateidealmatchidealmatchchoiceid.value;
	var interestid = soulmateidealmatchidealmatchinterestid == null ? 0 : soulmateidealmatchidealmatchinterestid.value;
	var url="soulmate.ajax.ideal.match.interest.php";
	url=url+"?fk="+fk;
	url=url+"&choiceid="+choiceid;
	url=url+"&interestid="+interestid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchInterest;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match spoken language ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchLanguageSpoken(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 soulmateidealmatchlanguagespokenid = document.getElementById('soulmateidealmatchlanguagespokenid');
	if (foreignkeyid == null && soulmateidealmatchlanguagespokenid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var soulmateidealmatchlanguagespokenaddbutton = document.getElementById('soulmateidealmatchlanguagespokenaddbutton');
	if (soulmateidealmatchlanguagespokenaddbutton != null){
		if (soulmateidealmatchlanguagespokenaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchlanguagespokenid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a spoken language<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var soulmateidealmatchlanguagespokendeletebutton = document.getElementById('soulmateidealmatchlanguagespokendeletebutton');
	if (soulmateidealmatchlanguagespokendeletebutton != null){
		if (soulmateidealmatchlanguagespokendeletebutton.name == whichPressed) {
			var soulmateidealmatchlanguagespokenlist = document.getElementById('soulmateidealmatchlanguagespokenlist');
			if (soulmateidealmatchlanguagespokenlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchlanguagespokenlist.options.length; index++){
					if (soulmateidealmatchlanguagespokenlist.options[index].selected){
						selected.push(soulmateidealmatchlanguagespokenlist.options[index].value);
						deletelist += soulmateidealmatchlanguagespokenlist.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 languageid = soulmateidealmatchlanguagespokenid == null ? 0 : soulmateidealmatchlanguagespokenid.value;
	var url="soulmate.ajax.ideal.match.language.spoken.php";
	url=url+"?fk="+fk;
	url=url+"&languageid="+languageid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchLanguageSpoken;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate ideal match written language ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchLanguageWritten(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 soulmateidealmatchlanguagewrittenid = document.getElementById('soulmateidealmatchlanguagewrittenid');
	if (foreignkeyid == null && soulmateidealmatchlanguagewrittenid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var soulmateidealmatchlanguagewrittenaddbutton = document.getElementById('soulmateidealmatchlanguagewrittenaddbutton');
	if (soulmateidealmatchlanguagewrittenaddbutton != null){
		if (soulmateidealmatchlanguagewrittenaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchlanguagewrittenid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select a written language<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var soulmateidealmatchlanguagewrittendeletebutton = document.getElementById('soulmateidealmatchlanguagewrittendeletebutton');
	if (soulmateidealmatchlanguagewrittendeletebutton != null){
		if (soulmateidealmatchlanguagewrittendeletebutton.name == whichPressed) {
			var soulmateidealmatchlanguagewrittenlist = document.getElementById('soulmateidealmatchlanguagewrittenlist');
			if (soulmateidealmatchlanguagewrittenlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchlanguagewrittenlist.options.length; index++){
					if (soulmateidealmatchlanguagewrittenlist.options[index].selected){
						selected.push(soulmateidealmatchlanguagewrittenlist.options[index].value);
						deletelist += soulmateidealmatchlanguagewrittenlist.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 languageid = soulmateidealmatchlanguagewrittenid == null ? 0 : soulmateidealmatchlanguagewrittenid.value;
	var url="soulmate.ajax.ideal.match.language.written.php";
	url=url+"?fk="+fk;
	url=url+"&languageid="+languageid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchLanguageWritten;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate ideal match interest ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchLocation(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 soulmateidealmatchlocationid = document.getElementById('soulmateidealmatchlocationid');
	if (foreignkeyid == null && soulmateidealmatchlocationid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var locationaddbutton = document.getElementById('locationaddbutton');
	if (locationaddbutton != null){
		if (locationaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchlocationid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match location<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var locationdeletebutton = document.getElementById('locationdeletebutton');
	if (locationdeletebutton != null){
		if (locationdeletebutton.name == whichPressed) {
			var soulmateidealmatchlocationlist = document.getElementById('soulmateidealmatchlocationlist');
			if (soulmateidealmatchlocationlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchlocationlist.options.length; index++){
					if (soulmateidealmatchlocationlist.options[index].selected){
						selected.push(soulmateidealmatchlocationlist.options[index].value);
						deletelist += soulmateidealmatchlocationlist.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 countryid = soulmateidealmatchlocationid == null ? 0 : soulmateidealmatchlocationid.value;
	var url="soulmate.ajax.ideal.match.location.php";
	url=url+"?fk="+fk;
	url=url+"&countryid="+countryid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchLocation;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match marital status ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchMaritalStatus(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 soulmateidealmatchmaritalstatusid = document.getElementById('soulmateidealmatchmaritalstatusid');
	if (foreignkeyid == null && soulmateidealmatchmaritalstatusid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var maritalstatusaddbutton = document.getElementById('maritalstatusaddbutton');
	if (maritalstatusaddbutton != null){
		if (maritalstatusaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchmaritalstatusid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match\' marital status<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var maritalstatusdeletebutton = document.getElementById('maritalstatusdeletebutton');
	if (maritalstatusdeletebutton != null){
		if (maritalstatusdeletebutton.name == whichPressed) {
			var soulmateidealmatchmaritalstatuslist = document.getElementById('soulmateidealmatchmaritalstatuslist');
			if (soulmateidealmatchmaritalstatuslist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchmaritalstatuslist.options.length; index++){
					if (soulmateidealmatchmaritalstatuslist.options[index].selected){
						selected.push(soulmateidealmatchmaritalstatuslist.options[index].value);
						deletelist += soulmateidealmatchmaritalstatuslist.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 maritalstatusid = soulmateidealmatchmaritalstatusid == null ? 0 : soulmateidealmatchmaritalstatusid.value;
	var url="soulmate.ajax.ideal.match.marital.status.php";
	url=url+"?fk="+fk;
	url=url+"&maritalstatusid="+maritalstatusid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchMaritalStatus;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match nationality ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchNationality(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 soulmateidealmatchnationalityid = document.getElementById('soulmateidealmatchnationalityid');
	if (foreignkeyid == null && soulmateidealmatchnationalityid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var nationalityaddbutton = document.getElementById('nationalityaddbutton');
	if (nationalityaddbutton != null){
		if (nationalityaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchnationalityid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match nationality<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var nationalitydeletebutton = document.getElementById('nationalitydeletebutton');
	if (nationalitydeletebutton != null){
		if (nationalitydeletebutton.name == whichPressed) {
			var soulmateidealmatchnationalitylist = document.getElementById('soulmateidealmatchnationalitylist');
			if (soulmateidealmatchnationalitylist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchnationalitylist.options.length; index++){
					if (soulmateidealmatchnationalitylist.options[index].selected){
						selected.push(soulmateidealmatchnationalitylist.options[index].value);
						deletelist += soulmateidealmatchnationalitylist.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 nationalityid = soulmateidealmatchnationalityid == null ? 0 : soulmateidealmatchnationalityid.value;
	var url="soulmate.ajax.ideal.match.nationality.php";
	url=url+"?fk="+fk;
	url=url+"&nationalityid="+nationalityid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchNationality;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match occupation ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchOccupation(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 soulmateidealmatchoccupationid = document.getElementById('soulmateidealmatchoccupationid');
	if (foreignkeyid == null && soulmateidealmatchoccupationid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var occupationaddbutton = document.getElementById('occupationaddbutton');
	if (occupationaddbutton != null){
		if (occupationaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchoccupationid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match occupation<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var occupationdeletebutton = document.getElementById('occupationdeletebutton');
	if (occupationdeletebutton != null){
		if (occupationdeletebutton.name == whichPressed) {
			var soulmateidealmatchoccupationlist = document.getElementById('soulmateidealmatchoccupationlist');
			if (soulmateidealmatchoccupationlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchoccupationlist.options.length; index++){
					if (soulmateidealmatchoccupationlist.options[index].selected){
						selected.push(soulmateidealmatchoccupationlist.options[index].value);
						deletelist += soulmateidealmatchoccupationlist.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 occupationid = soulmateidealmatchoccupationid == null ? 0 : soulmateidealmatchoccupationid.value;
	var url="soulmate.ajax.ideal.match.occupation.php";
	url=url+"?fk="+fk;
	url=url+"&occupationid="+occupationid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchOccupation;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match personality ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchPersonality(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 soulmateidealmatchpersonalityid = document.getElementById('soulmateidealmatchpersonalityid');
	if (foreignkeyid == null && soulmateidealmatchpersonalityid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var personalityaddbutton = document.getElementById('personalityaddbutton');
	if (personalityaddbutton != null){
		if (personalityaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchpersonalityid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match personality<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var personalitydeletebutton = document.getElementById('personalitydeletebutton');
	if (personalitydeletebutton != null){
		if (personalitydeletebutton.name == whichPressed) {
			var soulmateidealmatchpersonalitylist = document.getElementById('soulmateidealmatchpersonalitylist');
			if (soulmateidealmatchpersonalitylist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchpersonalitylist.options.length; index++){
					if (soulmateidealmatchpersonalitylist.options[index].selected){
						selected.push(soulmateidealmatchpersonalitylist.options[index].value);
						deletelist += soulmateidealmatchpersonalitylist.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 personalityid = soulmateidealmatchpersonalityid == null ? 0 : soulmateidealmatchpersonalityid.value;
	var url="soulmate.ajax.ideal.match.personality.php";
	url=url+"?fk="+fk;
	url=url+"&personalityid="+personalityid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchPersonality;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match relation type ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchRelationType(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 soulmateidealmatchrelationtypeid = document.getElementById('soulmateidealmatchrelationtypeid');
	if (foreignkeyid == null && soulmateidealmatchrelationtypeid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var idealmatchrelationtypeaddbutton = document.getElementById('idealmatchrelationtypeaddbutton');
	if (idealmatchrelationtypeaddbutton != null){
		if (idealmatchrelationtypeaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchrelationtypeid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match relation type<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var idealmatchrelationtypedeletebutton = document.getElementById('idealmatchrelationtypedeletebutton');
	if (idealmatchrelationtypedeletebutton != null){
		if (idealmatchrelationtypedeletebutton.name == whichPressed) {
			var soulmateidealmatchrelationtypelist = document.getElementById('soulmateidealmatchrelationtypelist');
			if (soulmateidealmatchrelationtypelist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchrelationtypelist.options.length; index++){
					if (soulmateidealmatchrelationtypelist.options[index].selected){
						selected.push(soulmateidealmatchrelationtypelist.options[index].value);
						deletelist += soulmateidealmatchrelationtypelist.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 soulmaterelationtypeid = soulmateidealmatchrelationtypeid == null ? 0 : soulmateidealmatchrelationtypeid.value;
	var url="soulmate.ajax.ideal.match.relation.type.php";
	url=url+"?fk="+fk;
	url=url+"&soulmaterelationtypeid="+soulmaterelationtypeid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchRelationType;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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





//////////////////////////////////////////////////////////
// soulmate ideal match religion ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchReligion(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 soulmateidealmatchreligionid = document.getElementById('soulmateidealmatchreligionid');
	if (foreignkeyid == null && soulmateidealmatchreligionid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var religionaddbutton = document.getElementById('religionaddbutton');
	if (religionaddbutton != null){
		if (religionaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchreligionid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match religion<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var religiondeletebutton = document.getElementById('religiondeletebutton');
	if (religiondeletebutton != null){
		if (religiondeletebutton.name == whichPressed) {
			var soulmateidealmatchreligionlist = document.getElementById('soulmateidealmatchreligionlist');
			if (soulmateidealmatchreligionlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchreligionlist.options.length; index++){
					if (soulmateidealmatchreligionlist.options[index].selected){
						selected.push(soulmateidealmatchreligionlist.options[index].value);
						deletelist += soulmateidealmatchreligionlist.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 religionid = soulmateidealmatchreligionid == null ? 0 : soulmateidealmatchreligionid.value;
	var url="soulmate.ajax.ideal.match.religion.php";
	url=url+"?fk="+fk;
	url=url+"&religionid="+religionid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchReligion;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match skin complexion ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchSkinComplexion(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 soulmateidealmatchskincomplexionid = document.getElementById('soulmateidealmatchskincomplexionid');
	if (foreignkeyid == null && soulmateidealmatchskincomplexionid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var skincomplexionaddbutton = document.getElementById('skincomplexionaddbutton');
	if (skincomplexionaddbutton != null){
		if (skincomplexionaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchskincomplexionid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match skin complexion<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var skincomplexiondeletebutton = document.getElementById('skincomplexiondeletebutton');
	if (skincomplexiondeletebutton != null){
		if (skincomplexiondeletebutton.name == whichPressed) {
			var soulmateidealmatchskincomplexionlist = document.getElementById('soulmateidealmatchskincomplexionlist');
			if (soulmateidealmatchskincomplexionlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchskincomplexionlist.options.length; index++){
					if (soulmateidealmatchskincomplexionlist.options[index].selected){
						selected.push(soulmateidealmatchskincomplexionlist.options[index].value);
						deletelist += soulmateidealmatchskincomplexionlist.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 skincomplexionid = soulmateidealmatchskincomplexionid == null ? 0 : soulmateidealmatchskincomplexionid.value;
	var url="soulmate.ajax.ideal.match.skin.complexion.php";
	url=url+"?fk="+fk;
	url=url+"&skincomplexionid="+skincomplexionid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchSkinComplexion;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match smoking habit ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchSmokingHabit(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 soulmateidealmatchsmokinghabitid = document.getElementById('soulmateidealmatchsmokinghabitid');
	if (foreignkeyid == null && soulmateidealmatchsmokinghabitid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var smokinghabitaddbutton = document.getElementById('smokinghabitaddbutton');
	if (smokinghabitaddbutton != null){
		if (smokinghabitaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchsmokinghabitid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match skin complexion<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var smokinghabitdeletebutton = document.getElementById('smokinghabitdeletebutton');
	if (smokinghabitdeletebutton != null){
		if (smokinghabitdeletebutton.name == whichPressed) {
			var soulmateidealmatchsmokinghabitlist = document.getElementById('soulmateidealmatchsmokinghabitlist');
			if (soulmateidealmatchsmokinghabitlist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchsmokinghabitlist.options.length; index++){
					if (soulmateidealmatchsmokinghabitlist.options[index].selected){
						selected.push(soulmateidealmatchsmokinghabitlist.options[index].value);
						deletelist += soulmateidealmatchsmokinghabitlist.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 smokinghabitid = soulmateidealmatchsmokinghabitid == null ? 0 : soulmateidealmatchsmokinghabitid.value;
	var url="soulmate.ajax.ideal.match.smoking.habit.php";
	url=url+"?fk="+fk;
	url=url+"&smokinghabitid="+smokinghabitid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchSmokingHabit;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match style ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchStyle(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 soulmateidealmatchstyleid = document.getElementById('soulmateidealmatchstyleid');
	if (foreignkeyid == null && soulmateidealmatchstyleid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var styleaddbutton = document.getElementById('styleaddbutton');
	if (styleaddbutton != null){
		if (styleaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchstyleid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match style<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var styledeletebutton = document.getElementById('styledeletebutton');
	if (styledeletebutton != null){
		if (styledeletebutton.name == whichPressed) {
			var soulmateidealmatchstylelist = document.getElementById('soulmateidealmatchstylelist');
			if (soulmateidealmatchstylelist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchstylelist.options.length; index++){
					if (soulmateidealmatchstylelist.options[index].selected){
						selected.push(soulmateidealmatchstylelist.options[index].value);
						deletelist += soulmateidealmatchstylelist.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 styleid = soulmateidealmatchstyleid == null ? 0 : soulmateidealmatchstyleid.value;
	var url="soulmate.ajax.ideal.match.style.php";
	url=url+"?fk="+fk;
	url=url+"&styleid="+styleid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchStyle;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




//////////////////////////////////////////////////////////
// soulmate ideal match weightgroup ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateIdealMatchWeightGroup(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 soulmateidealmatchweightgroupid = document.getElementById('soulmateidealmatchweightgroupid');
	if (foreignkeyid == null && soulmateidealmatchweightgroupid == null){
		alert ("Invalid query string(s)");
		return;
	}
	
	// when 'add' button is clicked
	var weightgroupaddbutton = document.getElementById('weightgroupaddbutton');
	if (weightgroupaddbutton != null){
		if (weightgroupaddbutton.name == whichPressed) {
			// validation
			if (soulmateidealmatchweightgroupid.value == '') {
				message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select your ideal match skin complexion<br>';
			}
			if (message.length > 0){
				displayError(message);
				return;
			}
		}
	}
	
	// when 'delete selected' button is clicked
	var deletelist = '';
	var weightgroupdeletebutton = document.getElementById('weightgroupdeletebutton');
	if (weightgroupdeletebutton != null){
		if (weightgroupdeletebutton.name == whichPressed) {
			var soulmateidealmatchweightgrouplist = document.getElementById('soulmateidealmatchweightgrouplist');
			if (soulmateidealmatchweightgrouplist != null){
				selected = new Array();
				for (var index = 0; index < soulmateidealmatchweightgrouplist.options.length; index++){
					if (soulmateidealmatchweightgrouplist.options[index].selected){
						selected.push(soulmateidealmatchweightgrouplist.options[index].value);
						deletelist += soulmateidealmatchweightgrouplist.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 weightgroupid = soulmateidealmatchweightgroupid == null ? 0 : soulmateidealmatchweightgroupid.value;
	var url="soulmate.ajax.ideal.match.weight.group.php";
	url=url+"?fk="+fk;
	url=url+"&weightgroupid="+weightgroupid;
	if (deletelist != '') url=url+"&del="+deletelist;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlhttp.onreadystatechange=stateChangedSoulmateIdealMatchWeightGroup;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

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




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





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



//////////////////////////////////////////////////////////
// validate soulmate signup
//////////////////////////////////////////////////////////
function validateSoulmateSignup(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.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.origincountryid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter the country you were born<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.smokinghabitid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your smoking habit<br>';
	}
	if (frm.drinkinghabitid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your drinking habit<br>';
	}
	if (frm.religionid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your religion<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.educationid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your education level<br>';
	}
	if (frm.occupationid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your occupation<br>';
	}
	if (frm.styleid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your style<br>';
	}
	if (frm.personalityid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your personality<br>';
	}
	if (frm.otherperceivemypersonalityid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter how other people perceive you<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 soulmate
//////////////////////////////////////////////////////////
function validateSoulmate(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.origincountryid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter the country you were born<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.smokinghabitid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your smoking habit<br>';
	}
	if (frm.drinkinghabitid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your drinking habit<br>';
	}
	if (frm.religionid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your religion<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.educationid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your education level<br>';
	}
	if (frm.occupationid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your occupation<br>';
	}
	if (frm.styleid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your style<br>';
	}
	if (frm.personalityid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter your personality<br>';
	}
	if (frm.otherperceivemypersonalityid.value == '') {
		message+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enter how other people perceive you<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 soulmate search
//////////////////////////////////////////////////////////
function validateSoulmateSearch(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);
}
//////////////////////////////////////////////////////////
// soulmate search ajax functionality
//////////////////////////////////////////////////////////
function ajaxSoulmateSearch(){
	var message='';	

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

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