function getRequest(){
	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	} else {
		return http_request;	
	}
}

function initEditor(value, type){
	
	var http_request = getRequest();
	
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
				
					MM_openBrWindow('/includes/image_editor.php?mode=color&type='+type+'&file='+http_request.responseText,'imgEditor','width=700,height=550');
					
				} else {
					alert('The Editor could not be launched. [2]');
				}
			} else {
				alert('The Editor could not be launched. [1]');
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/initEditor.php', true);
		
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "value="+value+'&type='+type;
	http_request.send(params);
	
}

function request_getPackageCost(package,coverage,show_discount){
	
	if(package != '' && coverage != ''){
		
		var http_request = getRequest();
	
		http_request.onreadystatechange = function(){
			
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText != 0){
						
						var cost = http_request.responseText;
					
						$('packageCost').innerHTML = 'Only $'+cost+'/month';
						
						if(show_discount)
							$('packageCost').innerHTML += '<br /><span class="alert">With Discount: Only $'+(cost-(cost * show_discount))+'/month </span>';
						
					} else {
						// Fail
					}
				} else {
					// Fail
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/getPackageCost.php', true);
			
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "package="+package+"&coverage="+coverage;
		http_request.send(params);
		
		$('packageCost').innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Calculating Cost...</span>';
	
	}
}

function request_usernameAvail(username,obj){
	
	if(username != ''){
		
		var http_request = getRequest();
	
		http_request.onreadystatechange = function(){
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText == 1){
						$('checkAvail').innerHTML = '<span class="green_alert">Available</span> &nbsp; <a href="javascript:request_usernameAvail('+obj+'.value,\''+obj+'\')" class="small">Check availability</a>';
					} else if(http_request.responseText == -1){
						$('checkAvail').innerHTML = '<span class="alert">Invalid</span> &nbsp; <a href="javascript:request_usernameAvail('+obj+'.value,\''+obj+'\')" class="small">Check availability</a>';
					} else {
						$('checkAvail').innerHTML = '<span class="alert">Unavailable</span> &nbsp; <a href="javascript:request_usernameAvail('+obj+'.value,\''+obj+'\')" class="small">Check availability</a>';
					}
				} else {
					// Fail
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/usernameAvail.php', true);
			
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "username="+username;
		http_request.send(params);
		
		$('checkAvail').innerHTML = '<img src="/images/loader_ffffff.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Checking...</span>';
	
	}
}

function request_countUsersInArea(location,distance){
	
	if(location != ''){
		
		var http_request = getRequest();
	
		http_request.onreadystatechange = function(){
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText != -1){
						var label = (http_request.responseText == 1) ? 'customer' : 'customers';
						$('totalUsers').innerHTML = http_request.responseText+' potential '+label+' in this area';
					} else {
						$('totalUsers').innerHTML = 'Total potential customers in this area could not be calculated';
					}
				} else {
					// Fail
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/countUsersInArea.php', true);
			
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "location="+location+"&distance="+distance;
		http_request.send(params);
		
		$('totalUsers').innerHTML = '<em>Calculating total potential customers...</em>';
		
	}
}

function request_getUserTime(){
	
		
	var http_request = getRequest();

	http_request.onreadystatechange = function(){
		
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
				
					$('userTime').innerHTML = http_request.responseText;
					
				} else {
					// Fail
				}
			} else {
				// Fail
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/getUserTime.php', true);
		
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	//var params = "ip="+ip;
	http_request.send(null);
	
	//$('userTime').innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Calculating Time...</span>';
	
}

function request_searchBusinesses(which,target){
	
	if(which != '' && target != ''){
	
		var http_request = getRequest();
	
		http_request.onreadystatechange = function(){
			
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText != 0){
						
						var response = http_request.responseText.split('|');
						
						$('searchResult').innerHTML = response[1]+', '+response[2]+', '+response[3]+' '+response[4];
						$('searchResult').style.color = '#5888b8';
						$('searchID').value = response[0];
						$('businessSearch').style.display = 'block';
						$('businessMessage').style.display = 'block';
						
					} else {
						$('searchResult').innerHTML = 'No matching businesses were found.';
						$('searchResult').style.color = '#9a3528';
						$('searchID').value = '';
						$('businessSearch').style.display = 'block';
						$('businessMessage').style.display = 'none';
					}
				} else {
					$('searchResult').innerHTML = 'Search was unsuccessful.';
					$('searchResult').style.color = '#9a3528';
					$('searchID').value = '';
					$('businessSearch').style.display = 'block';
					$('businessMessage').style.display = 'none';
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/searchBusinesses.php', true);
			
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "which="+which+"&target="+target;
		http_request.send(params);
		
		$('businessSearch').style.display = 'none';
		$('businessMessage').style.display = 'none';
		$('searchResult').innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Searching...</span>';
		
	}
}


function request_searchBusinessesForControl(which,target){
	
	if(which != '' && target != ''){
	
		var http_request = getRequest();
	
		http_request.onreadystatechange = function(){
			
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText != 0){
						
						var response = http_request.responseText.split('|');
						
						$('searchResult').innerHTML = response[1]+', '+response[2]+', '+response[3]+' '+response[4];
						$('searchResult').style.color = '#5888b8';
						$('searchID').value = response[0];
						$('businessSearch').style.display = 'block';
						$('businessAdd').style.display = 'block';
						
					} else {
						$('searchResult').innerHTML = 'No matching businesses were found.';
						$('searchResult').style.color = '#9a3528';
						$('searchID').value = '';
						$('businessSearch').style.display = 'block';
						$('businessAdd').style.display = 'none';
					}
				} else {
					$('searchResult').innerHTML = 'Search was unsuccessful.';
					$('searchResult').style.color = '#9a3528';
					$('searchID').value = '';
					$('businessSearch').style.display = 'block';
					$('businessAdd').style.display = 'none';
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/searchBusinesses.php', true);
			
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "which="+which+"&target="+target;
		http_request.send(params);
		
		$('businessSearch').style.display = 'none';
		$('businessAdd').style.display = 'none';
		$('searchResult').innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Searching...</span>';
		
	}
}

function request_processAccessoryLink(id){
	
	var http_request = getRequest();
	
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					// Success
				} else {
					// Fail
				}
			} else {
				// Fail
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/processAccessoryLink.php', true);
		
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "id="+id;
	http_request.send(params);
	
}

function request_sendEmailVerificationRequest(){
	
	var http_request = getRequest();
	
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					alert('Your verification email has been sent successfully.');
				} else {
					alert('Your verification email could not be sent.');
				}
			} else {
				alert('Your verification email could not be sent.');
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/sendEmailVerificationRequest.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	http_request.send(null);
	
	$('send_again').style.display = 'none';
	
}

function request_sendAccountExpirationNotification(){
	
	var http_request = getRequest();
	
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					alert('Your email has been sent successfully.');
				} else {
					alert('Your email could not be sent.');
				}
			} else {
				alert('Your email could not be sent.');
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/sendAccountExpirationNotification.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	http_request.send(null);
	
	$('send_again2').style.display = 'none';
	
}

function request_sendAccountExpiration(){
	
	var http_request = getRequest();
	
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					alert('Your email has been sent successfully.');
				} else {
					alert('Your email could not be sent.');
				}
			} else {
				alert('Your email could not be sent.');
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/sendAccountExpiration.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	http_request.send(null);
	
	$('send_again3').style.display = 'none';
	
}

function request_getMemberInterestsBox(category_id){
	
	if(category_id != ''){
	
		var http_request = getRequest();
		
		http_request.onreadystatechange = function(){
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText != 0){
						$('interests_box').innerHTML = http_request.responseText;
					} else {
						$('interests_box').innerHTML = '';
					}
				} else {
					$('interests_box').innerHTML = '';
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/getMemberInterestsBox.php', true);
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "c="+category_id;
		http_request.send(params);
		
		$('interests_box').innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Loading...</span>';
		
	}
}

function request_getSecondaryBusinessCategories(category_id, selected){
	
	if(category_id != ''){
	
		var http_request = getRequest();
		
		http_request.onreadystatechange = function(){
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText != 0){
						$('secondary_box').innerHTML = http_request.responseText;
					} else {
						$('secondary_box').innerHTML = '';
					}
				} else {
					$('secondary_box').innerHTML = '';
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/getSecondaryBusinessCategories.php', true);
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "c="+category_id+"&s="+selected;
		http_request.send(params);
		
		$('secondary_box').innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Loading...</span>';
		$('subsidiary_box').innerHTML = '';
		
	}
}

function request_getSubsidiaryBusinessCategories(subcategory_id, selected){
	
	if(subcategory_id != ''){
			
		var http_request = getRequest();
		
		http_request.onreadystatechange = function(){
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					
					if(http_request.responseText != 0){
						$('subsidiary_box').innerHTML = http_request.responseText;
					} else {
						$('subsidiary_box').innerHTML = '';
					}
				} else {
					$('subsidiary_box').innerHTML = '';
				}
			}
		}
		
		http_request.open('POST', '/includes/requests/getSubsidiaryBusinessCategories.php', true);
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var params = "sc="+subcategory_id+"&s="+selected;
		http_request.send(params);
		
		$('subsidiary_box').innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" /> <span style="font-size:9pt;color:#444;">Loading...</span>';
		
	}
}

function request_rateBusiness(business_id, vote){
		
	var http_request = getRequest();
	
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				document.getElementById('rating').innerHTML = http_request.responseText;
				
			}else if (http_request.status == 404) {
				document.getElementById('rating').innerHTML = 'Could not save vote';
			} else {
				document.getElementById('rating').innerHTML = 'Could not save vote.';
			}
		}
	}
	
	http_request.open('POST', '/includes/vote.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "bid="+business_id+"&vote="+vote;
	http_request.send(params);
	document.getElementById('rating').innerHTML = 'Saving vote...';
}

function request_addFavorite(business_id){
		
	var http_request = getRequest();
		
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					document.getElementById('add_to_favorites').innerHTML = 'Adding Successful!';
				} else {
					document.getElementById('add_to_favorites').innerHTML = 'Adding failed';
				}
			} else {
				document.getElementById('add_to_favorites').innerHTML = 'Adding failed';
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/addFavorite.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "bid="+business_id;
	http_request.send(params);
	
	document.getElementById('add_to_favorites').innerHTML = 'Adding...';
}


function request_addCouponToClipper(coupon_id,obj){
		
	var http_request = getRequest();
		
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText == -1){
					document.getElementById(obj).innerHTML = '<img src="/images/icon_fail.gif" alt="" border="0" />';
					alert("This coupon is already in your Clipper.");
				} else if(http_request.responseText != 0){
					document.getElementById(obj).innerHTML = '<img src="/images/icon_success.gif" alt="" border="0" />';
				} else {
					document.getElementById(obj).innerHTML = '<img src="/images/icon_fail.gif" alt="" border="0" />';
				}
			} else {
				document.getElementById(obj).innerHTML = '<img src="/images/icon_fail.gif" alt="" border="0" />';
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/addCouponToClipper.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "cid="+coupon_id;
	http_request.send(params);
	
	document.getElementById(obj).innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" />';
}

function request_addToWatchList(item_id,obj){		
	var http_request = getRequest();
		
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					document.getElementById(obj).innerHTML = '<img src="/images/icon_success.gif" alt="" border="0" />';
				} else {
					document.getElementById(obj).innerHTML = '<img src="/images/icon_fail.gif" alt="" border="0" />';
					alert('This item is already on your wishlist.');
				}
			} else {
				document.getElementById(obj).innerHTML = '<img src="/images/icon_fail.gif" alt="" border="0" />';
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/addToWatchList.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "iid="+item_id;
	http_request.send(params);
	
	document.getElementById(obj).innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" />';
}

function request_addEventToWatchList(event_id,obj){		
	var http_request = getRequest();
		
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					document.getElementById(obj).innerHTML = '<img src="/images/icon_success.gif" alt="" border="0" />';
				} else {
					document.getElementById(obj).innerHTML = '<img src="/images/icon_fail.gif" alt="" border="0" />';
					alert('You are already watching this event.');
				}
			} else {
				document.getElementById(obj).innerHTML = '<img src="/images/icon_fail.gif" alt="" border="0" />';
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/addEventToWatchList.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "eid="+event_id;
	http_request.send(params);
	
	document.getElementById(obj).innerHTML = '<img src="/images/loader_f9f9f9.gif" alt="" border="0" />';
}

function request_getMailingFooter(footer_id, target){		
	var http_request = getRequest();
		
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					target.value = http_request.responseText;
				} else {
					alert('Could not get footer.');
				}
			} else {
				alert('Could not get footer.');
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/getMailingHeaderFooter.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "fid="+footer_id;
	http_request.send(params);
}

function request_getMailingHeader(header_id, target){		
	var http_request = getRequest();
		
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				if(http_request.responseText != 0){
					target.value = http_request.responseText;
				} else {
					alert('Could not get header.');
				}
			} else {
				alert('Could not get header.');
			}
		}
	}
	
	http_request.open('POST', '/includes/requests/getMailingHeaderFooter.php', true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	var params = "hid="+header_id;
	http_request.send(params);
}	