// JavaScript Document

function xmlhttpPost(strURL) {

	var xmlHttpReq = false;
    var self = this;
    
    if (window.XMLHttpRequest) { // Mozilla/Safari
        self.xmlHttpReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // IE browsers
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
	self.xmlHttpReq.open('POST', strURL, true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.onreadystatechange = function() {
		var overlay = document.getElementById("form_overlay");
		if (self.xmlHttpReq.readyState == 4) {
			if (overlay.style.display == 'block') {
				overlay.style.display = 'none';
			}
			updatepage(self.xmlHttpReq.responseText);
		}
		else {
			if (overlay.style.display == 'none' || overlay.style.display == '') {
				overlay.style.display = 'block';
			}
		}
    }
	self.xmlHttpReq.send(getquerystring());
}

function getquerystring() {
    var form = document.getElementById("contact_form");
    var email = form.email.value;
    var name = form.name.value;
	var msg = form.msg.value;
    qstr = 'ajax=1&email=' + encodeURIComponent(email) + (name.length>0?'&name=' + encodeURIComponent(name):'') + '&msg=' + encodeURIComponent(msg);  // NOTE: no '?' before querystring
    return qstr;
}

function updatepage(str){
	var form = document.getElementById("contact_form");
	var msg_placeholder = document.getElementById("response");
    msg_placeholder.innerHTML = str;
	if (str.match(/090/)) { // success color
		form.reset();
	}
}

function submitMsg() {
    var form = document.getElementById("contact_form");
	if (validateMailForm(form)) {
		xmlhttpPost("/form2mail.php")
		return false;
	}
	else {
		return false;
	}
}

function checkEmail (strng) {
	var error="";
	if (strng == "") {
		error = "Prosimy o podanie adresu e-mail\n";
	}
	var emailFilter=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if (!(emailFilter.test(strng))) { 
		error = "Prosimy o podanie poprawnego adresu e-mail\n";
	}
	return error;    
}

function isEmpty (strng) {
	var error = "";
	if (strng.length == 0) {
		error = "Prosimy o wypełnienie wszystkich pól oznaczonych gwiazdką (*)\n"
	}
	return error;	  
}

function validateMailForm (theForm) {
	var reason = "";
	reason += checkEmail(theForm.email.value);
	reason += isEmpty(theForm.msg.value);
	if (reason != "") {
		alert(reason);
		return false;
	}
	return true;
}

function init() {
	document.getElementById("submit_button").innerHTML = '<input type="button" value="Wyślij wiadomość" onclick="javascript:submitMsg();" />';
}

