// JavaScript Document
var accessCode = "";
function check_form() {
	var formTest = "";
	var getFirstName = document.getElementById("f_name");
	var getEmail = document.getElementById("email");
	var getStory = document.getElementById("txt_story");
	
	formTest += checkFname(getFirstName.value);
	formTest += checkEmail(getEmail.value);
	formTest += checkStory(getStory.value);
	
		if(formTest != ""){
		//alert('Please enter valid info in highlighted fields');
		//alert(formTest);
		return false;
	}
	else{
	
	get(document.getElementById('theForm'));
	}
}


function checkFname(str) {
var getFname = document.getElementById("f_name");
var showError = document.getElementById("err_fname");
var regExp3 = /[^a-zA-Z ]/;
			if(str.length < 2 || regExp3.test(str) )
	{
		showError.style.display = "block";
		formIsValid = "Missing or invalid first name \n";
		return formIsValid;
	}
	else {
		showError.style.display = "none";
		formIsValid = "";
		return formIsValid;
	}
}
function checkEmail(str){
	var getemail = document.getElementById("email");
	var showError = document.getElementById("err_email");
	var regEx =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;	
	if(!regEx.test(str)){

		showError.style.display = "block";
		formIsValid = "Invalid email address \n";
		return formIsValid;
	
}

else {
		showError.style.display = "none";
		formIsValid = "";
		return formIsValid;
}
}

function checkStory(str) {
//var getFname = document.getElementById("f_name");
var showError = document.getElementById("err_story");
var regExp3 =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
			if(str.length < 2 || regExp3.test(str) )
	{
		showError.style.display = "block";
		formIsValid = "Missing or invalid story text \n";
		return formIsValid;
	}
	else {
		showError.style.display = "none";
		formIsValid = "";
		return formIsValid;
	}
}



// ***********************************
// AJAX FUNCTIONS
// ***********************************

var http_request = false;
function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         //alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }


function alertContents() {
      if (http_request.readyState == 4) {
           
            var result = http_request.responseText;
            //document.getElementById('myspan').innerHTML = result;  
           //document.getElementById('btnSubmit').onclick = 'javascript: return checkForm();';
           if (result.match(/success/ig))
           {
			   var storyBox = document.getElementById("tell_form");
			   storyBox.innerHTML = "<p><br /><br /><H3>Merci pour votre histoire.</H3><br /><br /><br /></p>";
               //window.location.href = "ah_thankyou.php";
           }
           else
           {
               //window.location.href = "ah_invalid_er.html"; // was ah_invalid_er.html
           }
          
      }
   }
   
function get(fobj) {
     // var poststr = "fullName=" + encodeURI(
//document.getElementById("showFullName").innerHTML ) +
//                    "&showHomeAddress=" + encodeURI( document.getElementById("showHomeAddress").innerHTML );
	  var btnSub = document.getElementById("btnSubmit");
	  var btnWait = document.getElementById("submitSpan");
	  var myId = document.getElementById("uniqueId");
	  //myId.value = encode();
	  var str = "";

       var valueArr = null;

       var val = "";

       var cmd = "";
	   
	   //alert(fobj);
	   var getForm = document.getElementById("theForm");
	   var submitPath = getForm.action;

       for(var i = 0;i < fobj.elements.length;i++)

       {

           switch(fobj.elements[i].type)

           {

               case "text":
					if(fobj.elements[i].name.indexOf('email') !== -1)
                                                            {
                                                                        str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value.replace(/([~,&!%\\\/\#\|\(\)\[\]\{\}\$\#\^\?\*\"\'\+])*(\belse\b)*/gi,'')) + "&";
															}
                    else{               
                    str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value.replace(/([~,&!%@<>\\\/\#\|\(\)\[\]\{\}\$\#\^\?\*\.\"\'\+\f\r\n])*(\belse\b)*/gi,'')) + "&";
															}
					

                     break;
				case "textarea":
					              
                    str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value.replace(/([~,&!%@<>\\\/\|\(\)\[\]\{\}\$\#\^\*\"\'\+\f\r\n])/gi,'')) + "&";
								

                     break;
			
			   case "hidden":
				                           
					if(fobj.elements[i].name == "uniqueId") {
						str += fobj.elements[i].name + "=" + encode() + "&";
						//alert(encode());
					}
				str += fobj.elements[i].name + "=" + 
				escape(fobj.elements[i].value) + "&";
						
               break;
	
           }

       }

       str = str.substr(0,(str.length - 1));

       //return str;

	  //document.getElementById('btnSubmit').onclick = '';
	  //btnSub.src = "img/btn_wait.gif";
	  
	  //encode('234998654');
	  //btnSub.disabled = true;
	  //window.location.assign("submit.php")
	  //alert("sending");
      makePOSTRequest(submitPath, str);
	
}
