var fb_reg = {
	errorFree: {},
	errorCheck: function(){
		this.nameCheck();
		//this.emailCheck();
		this.commentsCheck();
		if(document.getElementById('url').value == "" ){
			this.errorFree[1] = false;
			document.getElementById('url_error').innerHTML = '<p class="required">We need your project url.<p>';
		}else{
			this.errorFree[1] = true;
			document.getElementById('url_error').innerHTML = '';
		}
		//this.commentsCheck("");
		for(var i=0; i<3; i++)
		{
			if(this.errorFree[i] == false){
				return;
			}
		}
		if(!document.getElementById("rules").checked)
			return;
		this.formSubmission();
	},
	formSubmission: function (){
		this.sendPage('contactForm', 'fb_regmail.php', 'name='+document.getElementById('name').value+'&url='+document.getElementById('url').value+'&members='+document.getElementById('members').value);
	},
	emailCheck: function(){
		var email = document.getElementById('email').value;
		var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
		var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		if(email.match(illegalChars) || !(emailPattern.test(email))){
			document.getElementById('email_error').innerHTML = '<p class="required">We need your email address. We wont spam you or sell it or anything like that.<p>';
			this.errorFree[1] = false;
		}else{
			this.errorFree[1] = true;
			document.getElementById('email_error').innerHTML = '';
		}
	},
	nameCheck:function(){
		var name = document.getElementById('name').value;
		var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
		if(name.match(illegalChars) || name.length < 1){
			document.getElementById('name_error').innerHTML = '<p class="required">We need to know your name.<p>';
			this.errorFree[0] = false;
		}else{
			this.errorFree[0] = true;
			document.getElementById('name_error').innerHTML = '';
		}
	},
	commentsCheck:function(){
		var comments = document.getElementById("members").value;
		var illegalChars= /[\(\)\<\>\;\\\/\"\[\]]/;
		if(comments.match(illegalChars)){
			document.getElementById('members_error').innerHTML = '<p class="required">One of the special characters you have used is too special for us. Why not try keeping it simple?<p>';
			this.errorFree[2] = false;
		}else if(comments == ""){
			document.getElementById('members_error').innerHTML = '<p class="required">Don\'t forget your to list your team.<p>';
			this.errorFree[2] = false;
		}else{
			this.errorFree[2] = true;
			document.getElementById('members_error').innerHTML = '';
		}
	},
	AJAXInteraction: function(url, callback) {
	    var req = init();
	    req.onreadystatechange = processRequest;
	     function init() {
	      if (window.XMLHttpRequest) {
	        return new XMLHttpRequest();
	      } else if (window.ActiveXObject) {
	        return new ActiveXObject("Microsoft.XMLHTTP");
	      }
	    }
	    function processRequest () {
	      if (req.readyState == 4) {
	        if (req.status == 200) {
	          if (callback) callback(req);
	        }
	      }
	    }
	    this.doGet = function() {
	      req.open("GET", url, true);
	      req.send(null);
	    }
	    this.doPost = function(body) {
	      req.open("POST", url, true);
	      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	      req.send(body);
	    }
	},
	sendPage: function(callbackID, url, body){
		var ai = new this.AJAXInteraction(url, function(x) { if(x.responseText){(x.responseText.substring(0,4) == "http") ? window.location = x.responseText  : document.getElementById(callbackID).innerHTML=x.responseText;}});
		ai.doPost(body);
	}
};