document.addEventListener('DOMContentLoaded', function() {
	var contactform = document.getElementById('contactform');
        if (contactform) {
		var button = document.getElementsByName('submit')[0];
		button.addEventListener('click', submit, false);
	}
}, false);

function submit(evt) {

	var contact = document.getElementsByName('contact')[0];
	var email = document.getElementsByName('email')[0];
	var msg = document.getElementsByName('message')[0];
        //alert("contact " + contact.value + " email " + email.value + " msg " + msg.value);

	var progressImg = createElement({

		tagName: 'img',

		properties: { src: '/wp-content/uploads/ajax-squares.gif', alt: 'Παρακαλώ περιμένετε...', id: 'load' }

	});

	document.getElementById('contactform').appendChild(progressImg);



	if (!contact.value || !email.value || !msg.value) {
		if (!document.getElementById('msg')) {
		document.getElementById('contactform').setAttribute('onsubmit', 'return false');
			var msg = createElement({
				tagName: 'blockquote',
				properties: { id: 'msg', className: 'error', innerHTML: 'Παρακαλώ, συμπληρώστε όλα τα πεδία <br/><br/>' }
			});
                        progressImg.parentNode.removeChild(progressImg);
			document.getElementById('contactform').appendChild(msg);
		}
	} else { 		document.getElementById('contactform').setAttribute('onsubmit', 'return false'); 
		var xhr = new XMLHttpRequest();
		xhr.open('POST', '/contact/', true);
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "contact=" + contact.value + "&email=" + email.value + "&message=" + msg.value;

		xhr.onreadystatechange = function (evt) {
			if (xhr.readyState == 4) {
				if(xhr.status == 200 || xhr.status == 304) {
                        		progressImg.parentNode.removeChild(progressImg);
					//alert("here " +xhr.responseText);
					//var container = document.getElementById('container');
					if (!document.getElementById('msg')) {
						var msg = createElement({
							tagName: 'blockquote',
							properties: { id: 'msg' }
						});
						if (xhr.responseText.indexOf("εστάλη")!=-1) {
							msg.className = 'success';
							msg.innerHTML = 'Το μήνυμά σας εστάλη. Θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό. Αν επιθυμείτε να επικοινωνήσετε άμεσα μαζί μας, καλέστε στα <em>698-6719-677 & 694-0791-407</em><br/><br/>';
							//setTimeout("location.href='/contact/'",1000); //bad practice?
						} else {
							msg.className = 'error';
							msg.innerHTML = 'Κάτι πήγε λάθος!';
						}
					} else {
						var msg = document.getElementById('msg');
						if (xhr.responseText.indexOf("εστάλη")!=-1) {
							msg.className = 'success';
							msg.innerHTML = 'Το μήνυμά σας εστάλη. Θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό. Αν επιθυμείτε να επικοινωνήσετε άμεσα μαζί μας, καλέστε στα <em>698-6719-677 & 694-0791-407</em>';
							//setTimeout("location.href='/contact/'",1000);
						} else {
							msg.className = 'error';
							msg.innerHTML = 'Κάτι πήγε λάθος!';
						}
					}
					document.getElementById('contactform').appendChild(msg);
				}
				else {
					alert('Error ' + xhr.status + ': ' + xhr.statusText);
				}
			}
		};
		
		xhr.send(data);

	}

}

function createElement(options) {
	var element = document.createElement(options.tagName);
	
	if(options.properties) {
		for(var i in options.properties) {
			element[i] = options.properties[i];
		}
	}
	
	if(options.content) {
		var content = typeof options.content === 'string'?
							document.createTextNode(options.content) 
						  : options.content;
						  
		element.appendChild(content);
	}
	
	return options.parent? options.parent.appendChild(element) : element;
}
