var formHttp = null;

function generateIMailFormRequestXML(name, email, subject, message, sercode)
{
	name = name.replace(/&/g, '(amp)').replace(/</g, '(lt)').replace(/>/g,'(gt)');
	email = email.replace(/&/g, '(amp)').replace(/</g, '(lt)').replace(/>/g,'(gt)');
	subject = subject.replace(/&/g, '(amp)').replace(/</g, '(lt)').replace(/>/g,'(gt)');
	message = message.replace(/&/g, '(amp)').replace(/</g, '(lt)').replace(/>/g,'(gt)');
	
	var xml = "";
	xml += "<AjaxFormParameterRequest>";
	xml += "<f_name>" + name + "</f_name>";
	xml += "<f_email>" + email + "</f_email>";
	xml += "<f_subject>" + subject + "</f_subject>";
	xml += "<f_message><![CDATA[" + message + "]]></f_message>";
	xml += "<f_sercode>" + sercode + "</f_sercode>";
	xml += "</AjaxFormParameterRequest>";
	return xml;
}

function submitInsertIMailFormRequest()
{
	//alert('Getting xml requests');
	var name = document.getElementById('f_name').value;
	var email = document.getElementById('f_email').value;
	var subject = document.getElementById('f_subject').value;
	var message = document.getElementById('f_message').value;
	var sercode = document.getElementById('f_sercode').value;
	
	if (name == null || name.length == 0) {
		alert('Please input your name');
		return false;
	}
	
	if (email == null || email.length == 0 || email.indexOf("@") < 0) {
		alert('Please input your valid email');
		return false;
	}

	
	if (subject == null || subject.length == 0) {
		alert('Please input your email subject');
		return false;
	}
	
	if (message == null || message.length == 0) {
		alert('Please input your message');
		return false;
	}
	
	if (sercode == null || sercode.length == 0) {
		alert('Please input sercurity code');
		return false;
	}		

	
	var xml = generateIMailFormRequestXML(name, email, subject, message, sercode);

	var formURL = ajaxurl + "/InsertIMailFormHandler";
	var params = "xml=" + xml;	
	
	//alert(xml);
	//formWhizyVisi(true);
	
	formHttp = createXmlHttpRequestObject();

	formHttp.open("POST", formURL, true);

	formHttp.onreadystatechange = handleSubmitFormResult;		
	    
    formHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    formHttp.setRequestHeader("Content-length", params.length);
    formHttp.setRequestHeader("Connection", "close");	
	
	formHttp.send(params);
}

function handleSubmitFormResult(){

   	if (formHttp.readyState == 4) {								
	
		// Check that a successful server response was received
		if (formHttp.status == 200) {
			var response = createResponseXML(formHttp.responseText);					
			//alert(formHttp.responseText);
			try{                            
				var messages = response.getElementsByTagName("Message");   
				var errors = response.getElementsByTagName("Error");
				var messageEl = document.getElementById('insertform_message');
				var formEl = document.getElementById('insert_imail_form');
				if (formEl != null)
				{
					formEl.style.display = "none";					
				}

				if(errors.length > 0 )
				{
					if (messageEl != null)
					{
						messageEl.style.border = "solid red 2px";
						messageEl.style.color = "red";
						messageEl.innerHTML = errors[0].firstChild.nodeValue;
						
					}
				}
				else if (messages.length > 0)
				{
					if (messageEl != null)
					{
						messageEl.style.border = "solid #090 2px";
						messageEl.style.color = "#9c0";
						messageEl.innerHTML = messages[0].firstChild.nodeValue;
					}					
				}	
			}
			catch(err){
				alert("XML Parser error." );		
			}						
		}
	}

}

function archiveIMailForm(formId)
{
	var formURL = ajaxurl + "/UpdateIMailFormHandler?action=archive&formId=" + formId;
	
	//alert(xml);
	//formWhizyVisi(true);
	
	formHttp = createXmlHttpRequestObject();
	formHttp.open("POST", formURL);
	formHttp.onreadystatechange = handleArchiveFormResult;
	
	formHttp.send(null);
	
}

function unarchiveIMailForm(formId)
{
	var formURL = ajaxurl + "/UpdateIMailFormHandler?action=unarchive&formId=" + formId;
	
	//alert(xml);
	//formWhizyVisi(true);
	
	formHttp = createXmlHttpRequestObject();
	formHttp.open("POST", formURL);
	formHttp.onreadystatechange = handleArchiveFormResult;
	
	formHttp.send(null);	
}

function handleArchiveFormResult(){

   	if (formHttp.readyState == 4) {								
	
		// Check that a successful server response was received
		if (formHttp.status == 200) {
			var response = createResponseXML(formHttp.responseText);					
			//alert(formHttp.responseText);
			try{                            
				var messages = response.getElementsByTagName("Message");   
				var errors = response.getElementsByTagName("Error");
				if(errors.length > 0 )
				{
					alert(errors[0].firstChild.nodeValue);
				}
				else if (messages.length > 0)
				{
					window.location.reload();
				}	
			}
			catch(err){
				alert("XML Parser error." );		
			}						
		}
	}

}

function formWhizyVisi (visible)
{
	// display spinning image for selected form
	for(var i=0; i<formArray.length; i++) 
	{
		var formId = formArray[i][0];
		if (formId) 
		{
			// find tables belong to form
			var tables = formArray[i][1];
			for(var j=0; j<tables.length; j++) 
			{
				var subCb = document.getElementById('cb_' + formId + '_' + tables[j]);
				if (subCb && subCb.checked) 
				{
					var cbSpan = document.getElementById('span_' + formId + '_' + tables[j]);
					var spinImg = document.getElementById('spin_' + formId + '_' + tables[j]);
					if (cbSpan != null && spinImg != null) 
					{
						if (visible)
						{
							cbSpan.style.display = "none";						
							spinImg.style.display = "";
							spinImg.innerHTML = "<img src=\"/bps/content/system/modules/com.bp.shipping.backend/resources/spinning_image.gif\" alt=\"running...\" />";
						}
						else
						{
							cbSpan.style.display = "";						
							spinImg.style.display = "none";
							spinImg.innerHTML = "";						
						}						
					}
				}
			}
		}
	}	
}