// ClassifiedItemDetail.js

// strings
var MSG_SUCCESS = "Your email has been succesfully sent.";
var MSG_ERROR_INVALID_FIELDS = "You must provide your name, your email address, and a message to send to the advertiser.";
var MSG_ERROR_INVALID_OFFER = "Offer must be a valid number.";
var MSG_ERROR_INVALID_EMAIL = "You must provide your name and an email (or multiple emails) to whom you wish to send this product to.";
var MSG_ERROR_SEND = "There was a problem sending your message.  Please try again.";


//
var currentSection = undefined;
function closeSection() {
	if(currentSection != undefined) {
		document.getElementById(currentSection).style.display = "none";
		currentSection = undefined;
	}
}
function openSection(sectionName) {
    if(currentSection == sectionName) {
		closeSection();
	}
	else {
		if(currentSection != undefined) {
			closeSection();
		}
		
		currentSection = sectionName;

        if(document.getElementById(currentSection) != null)
        {
		    document.getElementById(currentSection).style.display = "block";
        }
        else
        {
            currentSection = undefined;
        }

	}
}
function submitContactSection() {
	var contactName = document.getElementById('contactName').value;
	var contactEmail = document.getElementById('contactEmail').value;
	var contactMessage = document.getElementById('contactMessage').value;
	var adid = document.getElementById('adid').value;
	
	if( (contactName == "") || (contactEmail == "") || (contactMessage == "") ) {
		alert(MSG_ERROR_INVALID_FIELDS);
		return;
	}
	
	var task = createTask(adid, contactName, contactEmail, "", "", contactMessage);
	getDataFromWS("contactSellerSubmit", task);
}
function submitOfferSection() {
	var offerName = document.getElementById('offerName').value;
	var offerEmail = document.getElementById('offerEmail').value;
	var offerAmount = document.getElementById('offerAmount').value;
	var offerMessage = document.getElementById('offerMessage').value;
	var adid = document.getElementById('adid').value;
	
	offerAmount = formatOfferAmount(offerAmount);
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if(!anum.test(offerAmount)) {
		alert(MSG_ERROR_INVALID_OFFER);
		return;
	}

	
	if( (offerName == "") || (offerEmail == "") || (offerAmount == "") ) {
		alert(MSG_ERROR_INVALID_FIELDS);
		return;
	}
	
	var task = createTask(adid, offerName, offerEmail, offerAmount, "", offerMessage);
	getDataFromWS("offerSubmit", task);
}
function submitEmailSection(itemURL) {
	var emailName = document.getElementById('emailName').value;
	var emailEmail = document.getElementById('emailEmail').value;
	var emailTarget = document.getElementById('emailTarget').value;
	var emailMessage = document.getElementById('emailMessage').value;
	var adid = document.getElementById('adid').value;
	
	if( (emailName == "") || (emailTarget == "") ) {
		alert(MSG_ERROR_INVALID_EMAIL);
		return;
	}
	var task = createTaskSM(adid, emailName, emailEmail, "", emailTarget, emailMessage,itemURL);
	getDataFromWS("emailSubmitSM", task);
}
function formatOfferAmount(amount) {
	amount = amount.replace(/,/g, "");
	amount = amount.replace("$", "");
	return amount;
}
function getDataFromWS(methodName, task) {
	// create an XmlHttp instance
	//alert("before XMLHTTP");
	var objHttp = GetXMLHTTP();
	//alert("XMLHTTP=" + objHttp);
	objHttp.onreadystatechange = function() 
	{
	    //alert("function");
		if(objHttp.readyState == 4) 
		{
			var wsResponse = objHttp.responseText;
			if(wsResponse == "True") 
			{
			    alert(MSG_SUCCESS);
				openSection(methodName);
			}
			else 
			{
				alert(MSG_ERROR_SEND);
			}
		}
	}
	//alert("here");
	var wsUrl = "/Ajax.aspx?type=proxy&method=" + methodName + "&param=" + escape(task);
	objHttp.open("POST", wsUrl, true);
	objHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	objHttp.send();
}


function createTaskSM(_adid, _name, _email, _amount, _sendTo, _message,_URL) {
	var task = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
	task = task + "<ClassifiedSMAjaxTask xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:msprop=\"urn:schemas-microsoft-com:xml-msprop\" xmlns:xdb=\"http://xmlns.oracle.com/xdb\" xmlns=\"harvestInfo.common.business.task\">";
	task = task + "<KeyObject><k><kts><kt>harvestInfo.common.business.keys.AdKey</kt><keys><key><nm>ADID</nm><val>" + _adid + "</val></key></keys></kts></k></KeyObject>";
	task = task + "<LastUpdateDate>0001-01-01T00:00:00.0000000-05:00</LastUpdateDate><CreateDate>0001-01-01T00:00:00.0000000-05:00</CreateDate>";
	if(_name) {
		task = task + "<Name>" + _name + "</Name>";
	}
	if(_email) {
		task = task + "<Email>" + _email + "</Email>";
	}
	if(_amount) {
		task = task + "<Amount>" + _amount + "</Amount>";
	}
	if(_sendTo) {
		task = task + "<SendTo>" + _sendTo + "</SendTo>";
	}
	if(_message) {
		task = task + "<Message>" + _message + "</Message>";
	}
	if(_URL) {
		task = task + "<ItemURL><![CDATA[" + _URL + "]]></ItemURL>";
	}
	task = task + "</ClassifiedSMAjaxTask>";
	
	return task;
}

function createTask(_adid, _name, _email, _amount, _sendTo, _message) {
	var task = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
	task = task + "<ClassifiedAjaxTask xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:msprop=\"urn:schemas-microsoft-com:xml-msprop\" xmlns:xdb=\"http://xmlns.oracle.com/xdb\" xmlns=\"harvestInfo.common.business.task\">";
	task = task + "<KeyObject><k><kts><kt>harvestInfo.common.business.keys.AdKey</kt><keys><key><nm>ADID</nm><val>" + _adid + "</val></key></keys></kts></k></KeyObject>";
	task = task + "<LastUpdateDate>0001-01-01T00:00:00.0000000-05:00</LastUpdateDate><CreateDate>0001-01-01T00:00:00.0000000-05:00</CreateDate>";
	if(_name) {
		task = task + "<Name>" + _name + "</Name>";
	}
	if(_email) {
		task = task + "<Email>" + _email + "</Email>";
	}
	if(_amount) {
		task = task + "<Amount>" + _amount + "</Amount>";
	}
	if(_sendTo) {
		task = task + "<SendTo>" + _sendTo + "</SendTo>";
	}
	if(_message) {
		task = task + "<Message>" + _message + "</Message>";
	}
	task = task + "</ClassifiedAjaxTask>";
	return task;
}

GetXMLHTTP = function()
{
    var xmlHTTP = null;
    
    if (window.XMLHttpRequest)
    {
        try
        {
	        xmlHTTP = new XMLHttpRequest();
        } 
        catch(e)
        {
	        xmlHTTP = null;
        }
    }
    else if(window.ActiveXObject)
    {
        try
        {
	        xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
	        try
	        {
  		        xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	        }
	        catch(e)
	        {
  		        xmlHTTP = null;
	        }
        }
    }
    return xmlHTTP;
}   