var req = createXMLHttpRequest();

function createXMLHttpRequest() {
var ua;
if(window.XMLHttpRequest) {
try {
ua = new XMLHttpRequest();
} catch(e) {
ua = false;
}
} else if(window.ActiveXObject) {
try {
ua = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
ua = false;
}
}
return ua;
}

var ActionTitle="";

function sendRequest(frm, file, place) {

var rnd982g = Math.random();
//alert(frm);
if(frm) 
{
//	alert(2);
	var str = "";
	str=getForm(frm);
}
if(str) 
{
//	alert( file+'?'+str+'&rnd982g='+rnd982g);
	req.open('GET', file+'&'+str+'&rnd982g='+rnd982g);
}
else
{
	req.open('GET', file+'&rnd982g='+rnd982g);
}
ActionTitle = place;

if((ActionTitle == "login") || (ActionTitle == "forgotpassword"))
	ErrorDivID = "DivLoginFormError";
else
	ErrorDivID = "DivErrorMessage";

req.onreadystatechange = handleResponse;
req.send(null);

return false;
}

function handleResponse() 
{	
	if(req.readyState == 4)
	{ 
		var response = req.responseText;

		performResponseAction(response);

	}
}


function ajaxpage(url, containerid){
//alert(2);
var page_request = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest();
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP");
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
else
return false;
//alert(3);
page_request.onreadystatechange=function(){
loadpage(page_request, containerid);
}
page_request.open('GET', url, true);
page_request.send(null);

}


function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
{
	document.getElementById(containerid).innerHTML=page_request.responseText;
}
}



function LoadImageEditingPage(URL)
{
//	alert(1);
	ajaxpage(URL + 'admin/boom/image_editing.php', 'main');
}


function getForm(input_fobj) {
var str = "";
var ft = "";
var fv = "";
var fn = "";
var els = "";
var elname = "";
var arrayCount = 0;
var fobj = $(input_fobj);

var element = fobj.findFirstElement(); 
//   alert("First non hidden element : " + element.inspect() );
/*   
alert(findFirstElement(fobj));
alert(fobj.elements[0]);
var fobj = eval(input_fobj);
alert('test');
alert(fobj.elements.length);
*/
//alert(fobj.elements.length);
   for(var i = 0;i < fobj.elements.length;i++) { 
    els = fobj.elements[i]; 
    ft = els.title; 
    fv = els.value; 
    fn = els.name; 
//	alert(fn);
   switch(els.type) { 
    case "text": 
    case "hidden": 
    case "password": 
    case "textarea": 
    // is it a required field? 
    if(encodeURI(ft) == "required" && encodeURI(fv).length < 1) { 
      alert(fn + " is a required field, please complete.");  
      els.focus();  
      return false;  
    }  

	fn = fn.replace('[]', '');

	if(fn == "newEmails")
	   {
			arrayCount++;
			fn = fn + arrayCount;
	   }

    str += fn + "=" + encodeURI(fv) + "&";  
    break;   
    
    case "checkbox":  
    case "radio":  
     if(els.checked) str += fn + "=" + encodeURI(fv) + "&";  
    break;      
    
    case "select-one":  
      str += fn + "=" +  
      els.options[els.selectedIndex].value + "&";  
    break;  

    } // switch  
   } // for  
   str = str.substr(0,(str.length - 1));  
   return str;  
  }  







/**************************************************************************

AJAX RESPONSE HANDLER

**************************************************************************/

function performResponseAction(response_string) 
{

	var str = "";
	var ft = "";
	var fv = "";
	var fn = "";
	var els = "";

	PerformSuccessAction(response_string);

	return;
}


function PerformSuccessAction(Success_string)
{
	//Seperate any info passed back into variables
	Success_string = Success_string.replace(/^\s+|\s+$/g, '') ;

	// Based on request type, perform the corresponding actions
	// - A mixture of div loads and page re-directs		

	document.getElementById("email_error").innerHTML = 'Your email has been sent successfully.'; 
	document.getElementById("email_error").style.display = "block";

}





function ContactEmail()
{
	var error_msg = "";
	var str = "";
	var str_ok = true;
	var emailArray = "";
	var trimmed = "";
	
	
	str = document.contact_email.form_your_email.value;
	if(str == "")
		error_msg = "Please enter your email address";
	else
	{
		str_ok = checkemail(str);
		if(str_ok == false) error_msg = "Invalid email address entered";
	}
	
	
	str = document.contact_email.form_name.value;
	if(str == "")
		error_msg = "Please enter your name";
	
	
	//If error occurs - pass it back to the form
	if(error_msg != "")
	{
		document.getElementById("email_error").innerHTML = error_msg; 
		document.getElementById("email_error").style.display = "block";	
	}
	//If no error occurs, then send the email
	else
	{
		var form_name = document.contact_email.form_name.value;
		var form_your_email = document.contact_email.form_your_email.value;
		var form_message = document.contact_email.form_message.value;	
	
		document.getElementById("email_error").innerHTML = "&nbsp;"; 
	
		sendRequest('', "admin/boom/boom_stub.php?lookuptype=ContactUsEmail" + "&form_name=" + form_name + "&form_your_email=" + form_your_email + "&form_message=" + form_message, "ContactUsEmail");	
	}

}


function VolunteerEmail()
{
	var error_msg = "";
	var str = "";
	var str_ok = true;
	var emailArray = "";
	var trimmed = "";
	
	
	str = document.volunteer_email.form_your_email.value;
	if(str == "")
		error_msg = "Please enter your email address";
	else
	{
		str_ok = checkemail(str);
		if(str_ok == false) error_msg = "Invalid email address entered";
	}
	
	str = document.volunteer_email.form_phone.value;
	if(str == "")
		error_msg = "Please enter your phone number";	
	
	str = document.volunteer_email.form_name.value;
	if(str == "")
		error_msg = "Please enter your name";
	
	
	//If error occurs - pass it back to the form
	if(error_msg != "")
	{
		document.getElementById("email_error").innerHTML = error_msg; 
		document.getElementById("email_error").style.display = "block";	
	}
	//If no error occurs, then send the email
	else
	{
		var form_name = document.volunteer_email.form_name.value;
		var form_phone = document.volunteer_email.form_phone.value;				
		var form_your_email = document.volunteer_email.form_your_email.value;
		var form_message = document.volunteer_email.form_message.value;	
		var form_mode = document.volunteer_email.message_mode.value;			

		document.getElementById("email_error").innerHTML = "&nbsp;"; 
	
		sendRequest('', "admin/boom/boom_stub.php?lookuptype=VolunteerEmail" + "&form_name=" + form_name + "&form_phone=" + form_phone + "&form_your_email=" + form_your_email + "&form_message=" + form_message + "&form_mode=" + form_mode, "VolunteerEmail");	
	}

}



function checkemail(str){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
		return true;
	else
		return false;
}





	