var ajax_response;
function ajax(requestType, url, param, callbackFunc, divId) {  
var xmlHttp;
try {    // Firefox, Opera 8.0+, Safari    
		xmlHttp=new XMLHttpRequest();    
	}  
	catch (e) {    // Internet Explorer    
		try	{      
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
		}
   		 catch (e) {      
		 	try {        
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
			}
      		catch (e) {        
				//alert("Your browser does not support AJAX!");        
				return false;       
			 }
		}
	} 	 
	 xmlHttp.onreadystatechange=function()
	  {
	  if(xmlHttp.readyState==4)
	    {
	   	 	// Get the data from the server's response
			ajax_response=xmlHttp.responseText;
			switch(callbackFunc){
				case 'refreshPage':
					refreshPage(ajax_response);
					break;
				case 'replaceClassifiedDiv':
					replaceClassifiedDiv(ajax_response, divId);
					break;
				case 'replaceClassifiedDiv2':
					replaceClassifiedDiv2(ajax_response, divId);
					break;
				case 'doNothing':
					doNothing(ajax_response);
					break;
				default:
					doNothing(ajax_response);
			}		
	    }
	  }
	if(requestType == 'POST'){
		// Post Request
		xmlHttp.open("POST", url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", param.length);
	    xmlHttp.setRequestHeader("Connection", "close");
	    xmlHttp.send(param);
	} else {
		// Get Request
		var geturl = url + '?' + param;
		xmlHttp.open("GET", geturl, true);
		xmlHttp.send(null);
	}
 }

 function doNothing(ajax_response){
 	// empty function
	 alert(ajax_response);
 }

 function refreshPage(ajax_response){
 	// empty function
	// alert(ajax_response);
	 window.location.reload();
 }
 
 function saveToList(id){
  	var url;
	var param = 'id=' + id;
	url = '/classifieds/setcookie.php';
	var ucdate = new Date();
	var timestamp = Math.random();
	param = param + '&time=' + timestamp;
	//alert('Div: ' + divId + ' ' + url + '?' + param);
	ajax('POST', url, param, 'doNothing', '');
 }
 
 function removeFromList(id){
  	var url;
	var param = 'remove=' + id;
	url = '/classifieds/setcookie.php';
	var ucdate = new Date();
	var timestamp = Math.random();
	param = param + '&time=' + timestamp;
	//alert('Div: ' + divId + ' ' + url + '?' + param);
	ajax('POST', url, param, 'refreshPage', '');
 }
 
 function replaceClassifiedDiv(resp, divId){
 	//alert(resp);
	var msg;
 	if(resp == '2'){
		msg = '<h3>Thank you for your Request!</h3>';
 		document.getElementById(divId).innerHTML = msg;
	} else {
		var currentHtml = document.getElementById(divId).innerHTML;
		switch(resp){
			case '-4':
				msg = 'Invalid content in message.';
				break;
			case '-3':
				msg = 'Can\'t validate your email address.';
				break;
			case '-2':
				msg = 'Incomplete form.';
				break;
			default:
				msg = 'System Error: Failed to send email.';
		}
		var newHtml = currentHtml.replace(/<b>Send email to seller[^\n]+/i, '<b>Send email to seller</b> <b style="color: #f00">- ' + msg + '</b>');
		document.getElementById(divId).innerHTML = newHtml;
	}
 	document.getElementById(divId).style.display = 'block';
 }
 
 function sendClassifiedEmail(adId, senderName, senderEmail, senderMsg, divId){
 	var url;
	var param = 'adId=' + adId + '&senderName=' + senderName + '&senderEmail=' + senderEmail + '&senderMsg=' + senderMsg;
	url = '/classifieds/sendinquiry.php';
	var ucdate = new Date();
	var timestamp = Math.random();
	param = param + '&time=' + timestamp;
	//alert(url + '?' + param);
	ajax('POST', url, param, 'replaceClassifiedDiv', divId);
 }
 
// Email form validation
function send(frm){
	if(frm.buyername.value==''){
		alert('Missing your name');
		frm.buyername.focus();
		return false;
	} else if(frm.buyeremail.value==''){
		alert("Missing required email!");
		frm.buyeremail.focus();
		return false;
	} else if(frm.inquiry.value==''){
		alert("Missing message!");
		frm.inquiry.focus();
		return false;
	} else {
		// Send using Ajax
		// Replace form with message
		sendClassifiedEmail(frm.adId.value, frm.buyername.value, frm.buyeremail.value, frm.inquiry.value, 'eform');
	}
	return false;
}
 
 function replaceClassifiedDiv2(resp, divId){
 	//alert(resp);
	var msg;
 	if(resp == '2'){
		msg = '<h3>Thank you for your Request!</h3>';
 		document.getElementById(divId).innerHTML = msg;
	} else {
		var currentHtml = document.getElementById(divId).innerHTML;
		switch(resp){
			case '-4':
				msg = 'Invalid content in message.';
				break;
			case '-3':
				msg = 'Can\'t validate your email address.';
				break;
			case '-2':
				msg = 'Incomplete form.';
				break;
			default:
				msg = 'System Error: Failed to send email.';
		}
		var newHtml = currentHtml.replace(/<b>Please provide the following[^\n]+/i, '<b>Please provide the following</b> <b style="color: #f00">- ' + msg + '</b>');
		document.getElementById(divId).innerHTML = newHtml;
	}
 	document.getElementById(divId).style.display = 'block';
 }
 
 function sendClassifiedEmail2(adId, senderName, senderEmail, senderMsg, divId){
 	var url;
	var param = 'adId=' + adId + '&senderName=' + senderName + '&senderEmail=' + senderEmail + '&senderMsg=' + senderMsg;
	url = '/classifieds/sendinquiry2.php';
	var ucdate = new Date();
	var timestamp = Math.random();
	param = param + '&time=' + timestamp;
	//alert(url + '?' + param);
	ajax('POST', url, param, 'replaceClassifiedDiv2', divId);
 }
 
// Email form validation
function send2(frm){
	if(frm.buyername.value==''){
		alert('Missing your name');
		frm.buyername.focus();
		return false;
	} else if(frm.buyeremail.value==''){
		alert("Missing required email!");
		frm.buyeremail.focus();
		return false;
	} else if(frm.inquiry.value==''){
		alert("Missing message!");
		frm.inquiry.focus();
		return false;
	} else {
		// Send using Ajax
		// Replace form with message
		sendClassifiedEmail2(frm.adId.value, frm.buyername.value, frm.buyeremail.value, frm.inquiry.value, 'eform');
	}
	return false;
}