// JavaScript Document

function getMembers ( theBusinessID ) {
	
	if ( startAjax() ) {
		
		businessID = theBusinessID;
		
		http_request.onreadystatechange = function ( ) {
			
			if ( http_request.readyState ==  4 ) {
				
				if ( http_request.status == 200 ) {
					
					document.getElementById( 'membersList' ).innerHTML = http_request.responseText;
				}
			}
		};
		
		http_request.open('GET', "getMembers.php?id="+businessID, true);
		http_request.send(null);
	}
}

function addFavouriteBusiness ( theMemberID, theBusinessID ) {
	
	if ( startAjax() ) {
		
		memberID = theMemberID;
		businessID = theBusinessID;
		
		http_request.onreadystatechange = function ( ) {
			
			if ( http_request.readyState ==  4 ) {
				
				if ( http_request.status == 200 ) {
					
					var rd = document.getElementById( 'biz'+businessID );
					//xml = http_request.responseXML;
					
					if ( http_request.responseText == 'true' ) {//xml.getElementsByTagName('favourite_added')[0].firstChild.data == 'true' ) {
						
						rd.href = 'javascript:removeFavouriteBusiness('+memberID+','+businessID+')';
						rd.innerHTML ='Remove Favourite';
					}
				}
			}
		};
		
		http_request.open('GET', "favouritebusinesses.php?add=true&memberID="+memberID+"&businessID="+businessID, false);
		http_request.send(null);
	}
}

function removeFavouriteBusiness ( theMemberID, theBusinessID ) {
	
	if ( startAjax() ) {
		
		memberID = theMemberID;
		businessID = theBusinessID;
		
		http_request.onreadystatechange = function ( ) {
			
			if ( http_request.readyState ==  4 ) {
				
				if ( http_request.status == 200 ) {
					
					var rd = document.getElementById( 'biz'+businessID );
					//xml = http_request.responseXML;
					
					if ( http_request.responseText == 'true' ) {//xml.getElementsByTagName('favourite_removed')[0].firstChild.data == 'true' ) {
						
						rd.href = 'javascript:addFavouriteBusiness('+memberID+','+businessID+')';
						rd.innerHTML ='Add Favourite';
					}
				}
			}
		};
		
		http_request.open('GET', "favouritebusinesses.php?remove=true&memberID="+memberID+"&businessID="+businessID, false);
		http_request.send(null);
	}
}

function checkKeyword ( keyword ) {
	
	if ( startAjax() ) {
		
		http_request.onreadystatechange = function ( ) {
			if ( http_request.readyState ==  4 ) {
				
				if ( http_request.status == 200 ) {
					
					var rd = document.getElementById( 'keyword_status' );
					var parts = http_request.responseText.split( "\n" );
					
					keywordOK = ( parts[0] == 'true' ) ? true : false;
					
					if ( keywordOK ) {
						
						rd.src = 'images/large_green_tick.gif';
						rd.title ='keyword valid';
						rd.alt = rd.title;
						reason = false;
					} else {
						
						reason = parts[1];
						rd.src = 'images/large_red_cross.gif';
						rd.title = parts[1];
						rd.alt = rd.title;
					}
				}
			}
		};
		
		http_request.open('GET', "checkkeyword.php?keyword="+keyword, true);
		http_request.send(null);
	}
}

function checkPhoneNumber ( phone ) {
	
	if ( startAjax() ) {
		
		http_request.onreadystatechange = function ( ) {
			if ( http_request.readyState ==  4 ) {
				
				if ( http_request.status == 200 ) {
					
					var rd = document.getElementById( 'phone_status' );
					var parts = http_request.responseText.split( "\n" );
					
					phoneOK = ( parts[0] == 'true' ) ? true : false;
					
					if ( phoneOK ) {
						
						rd.src = 'images/large_green_tick.gif';
						rd.title ='mobile number valid';
						rd.alt = rd.title;
						reason = false;
					} else {
						
						reason = parts[1];
						rd.src = 'images/large_red_cross.gif';
						rd.title = parts[1];
						rd.alt = rd.title;
					}
				}
			}
		};
		
		http_request.open('GET', "checkphonenumber.php?phone="+phone, true);
		http_request.send(null);
	}
}

function checkConfirmationCode ( ) {
	
	if ( startAjax() ) {
		
		http_request.onreadystatechange = function ( ) {
			if ( http_request.readyState ==  4 ) {
				
				if ( http_request.status == 200 ) {
					
					var rd = document.getElementById( 'confirmed_status' );
					
					if ( http_request.responseText == 'true' ) {
						
						showConfirmSuccess();
					} else {
						
						showConfirmError();
					}
				}
			}
		};
		
		http_request.open('GET', "checkconfirmationcode.php?memberID="+memberID+"&confirmationCode="+document.getElementById( 'confirmation_code' ).value, true);
		http_request.send(null);
	}
}

function checkMemberConfirmed ( memberID ) {
	
	if ( startAjax() ) {
		
		http_request.onreadystatechange = function ( ) {
			if ( http_request.readyState ==  4 ) {
				
				if ( http_request.status == 200 ) {
					
					var rd = document.getElementById( 'confirmed_status' );
					//xml = http_request.responseXML;
					
					if ( http_request.responseText == 'true' ) {//xml.getElementsByTagName('member_confirmed')[0].firstChild.data == 'true' ) {
						
						rd.src = 'images/large_green_tick.gif';
						rd.title ='member confirmed';
						rd.alt = rd.title;
						
						clearInterval( interval );
						showConfirmSuccess();
					} else {
						
						retries--;
						
						if ( retries < 0 ) {
							
							rd.src = 'images/large_red_cross.gif';
							rd.title = 'member could not be confirmed at this time';
							rd.alt = rd.title;
							
							clearInterval( interval );
							showConfirmError();
						}
					}
				}
			}
		};
		
		http_request.open('GET', "checkmemberconfirmed.php?memberID="+memberID, true);
		http_request.send(null);
	}
}

function startCheckMemberConfirmed ( ) {
	
	document.getElementById( 'checkButton' ).disabled = true;
	document.getElementById( 'checkButton' ).value = 'Checking confirmation status';
	document.getElementById( 'confirmed_status' ).src = 'images/loading_animation.gif';
	document.getElementById( 'confirmed_status' ).title = 'Checking confirmation status';
	document.getElementById( 'confirmed_status' ).alt = document.getElementById( 'confirmed_status' ).title;
	interval = setInterval( checkMemberConfirmed, 5000, memberID );
}

var ajaxOK = false;
var keywordOK = false;
var reason = false;
var retries = 30;
var interval = false;
var memberID = false;
var businessID = false;
var phoneOK = false;


var http_request = false;
	
function startAjax ( ) {
	
	http_request = false;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	ajaxOK = ( http_request ) ? true : false;
	
	return ajaxOK;
}
