var event_check = true;
var mailbox_check = true;
var error_check = true;
var success_check = true;
var memberId, carpic;

var loadingDiv = '<div class="loadingDiv">Gathering Information...<br /><img src="images/ajax-loader.gif" width="16" height="16"></div>';
var maxHeight = 300;
var clickObjGlobal;

function cInfo(event_id,clickObj) {
if (!mailbox_check) {
 alert("Please close the email window before chooseing another event.");
 return;
} else if (!event_check) {
 alert("Please close the event window before chooseing another event.");
 return;
}
clickObj.innerHTML = '<span style="color: green">Loading...</span>';
clickObjGlobal = clickObj;
document.getElementById('cInfoTitle').innerHTML = '&nbsp;';
document.getElementById('cInfoContent').innerHTML = loadingDiv;

req = createXMLHttpRequest();

if (!req) {
// alert('no');
} else {
 url = 'ajax_process.php?action=calendar&event_id='+event_id;
 req.open('GET', url, true);
 req.onreadystatechange = handleResponse;
 req.send(null);
 return false;
}
}

function handleResponse() {
  if(req.readyState == 4){
    if (req.status == 200) {
     var response = req.responseText;
     update = response.split('|');
     ciObj = document.getElementById('cInfoDiv');
	 ciConObj = document.getElementById('cInfoContent');
     document.getElementById('cInfoTitle').innerHTML = update[0];
	 ciConObj.innerHTML = update[1];
	 divHeight = ciConObj.offsetHeight;
	 if (divHeight > maxHeight) {
	  ciConObj.style.overflow = 'auto';
	  ciConObj.style.height = maxHeight+'px';
	  divHeight = maxHeight;
	 }

	 screenWidth = f_clientWidth();
	 screenHeight = f_clientHeight();
	 scrollPosTop = f_scrollTop();
	 divWidth = 520;
	 divLeft = parseInt((screenWidth-divWidth)/2)+70;
	 divTop = parseInt((screenHeight-divHeight)/2);
	 ciObj.style.left = divLeft+'px';
	 ciObj.style.top = scrollPosTop+divTop+'px';
	 
	 ciObj.style.visibility = 'visible';
	 clickObjGlobal.innerHTML = '(More info...)';
	 event_check = false;
    }
  }
}

function closeDiv() {
document.getElementById('cInfoDiv').style.visibility = 'hidden';
document.getElementById('cInfoContent').style.overflow = '';
document.getElementById('cInfoContent').style.height = '';
event_check = true;
}

function emailContact(option, event_id, name) {
//if (!memberId) {
// return false;
//}
if (error_check == false || success_check == false) {
 return false;
}

if (option == 'show') {
 document.getElementById('emailTitle').innerHTML = "<b>"+name+"</b>";
 iObj = document.emailForm;
 iObj.elements['message'].value = '';
 iObj.elements['event_id'].value = event_id;
 document.getElementById('mailbox').style.display = 'block';
 
 screenHeight = f_clientHeight();
 scrollPosTop = f_scrollTop();
 divHeight = document.getElementById('mailbox').offsetHeight;
 divTop = parseInt(((screenHeight-divHeight)+4)/2);
 mailTop = scrollPosTop+divTop+'px';

 document.getElementById('mailbox').style.top = mailTop;
 document.getElementById('ajax_error').style.top = mailTop;
 document.getElementById('ajax_success').style.top = mailTop;
 
 iObj.elements['sender_name'].focus();
 mailbox_check = false;
 
 document.getElementById('cInfoDiv').style.display = 'none';
} else {
  document.getElementById('cInfoDiv').style.display = 'block';
  document.getElementById('mailbox').style.display = 'none';
 mailbox_check = true;
}
}

var ajax_error = new Array();
ajax_error[0] = "Your email address is not in the correct format. Please check your entries and try again.";
ajax_error[1] = "Your friend's email address is not in the correct format. Please check your entries and try again.";
ajax_error[2] = "Your email address contains illegal characters. Please check your entries and try again.";
ajax_error[3] = "Your friend's email contains illegal characters. Please check your entries and try again.";
ajax_error[4] = "There are illegal characters in one of the fields you just entered. Please check your entries and try again.";

function abuseCheck() {
obj = document.emailForm;
if (obj.sender_name.value.length < 1) {
 alert("Please enter your name.\n\nThank you.");
 obj.sender_name.focus();
 return false;
} else if (obj.sender_email.value.length < 1) {
 alert("Please enter your email address.\n\nThank you.");
 obj.sender_email.focus();
 return false;
} else if (obj.message.value.length < 1) {
 alert("Please enter a message.\n\nThank you.");
 obj.message.focus();
 return false;
}

req = createXMLHttpRequest();

if (!req) {
 obj.submit();
} else {
 sender_name = obj.sender_name.value;
 sender_email = obj.sender_email.value;
 message = escape(obj.message.value);
 event_id = obj.event_id.value;
 
 url = 'calendar_process.php?action=email&ajax=true&sender_name='+sender_name+'&sender_email='+sender_email+'&message='+message+'&event_id='+event_id;
 req.open('GET', url, true);
 req.onreadystatechange = handleEmailResponse;
 req.send(null);
 return false;
}

}

function handleEmailResponse() {
  if(req.readyState == 4){
    if (req.status == 200) {
      var response = req.responseText;
      var update = new Array();
      update = response.split(':');
      if (update[0] == 'error') {
       document.getElementById('mailbox').style.visibility = 'hidden';
       document.getElementById('error').innerHTML = "I'm sorry, but an error has occured.\n"+"<div class=\"error_div\">"+ajax_error[update[1]]+"</div>\n"+"Please <a href=\"javascript:ajax_goback('"+update[2]+"');\">click here</a> and try again.";
       document.getElementById('ajax_error').style.display = 'block';
       error_check = false;
      } else if (update[0] == 'success') {
       document.getElementById('success').innerHTML = "<br><center><span style=\"font-weight: bold;\">Your email has been sent.</span></center><br>";
       document.getElementById('ajax_success').style.display = 'block';
       document.getElementById('mailbox').style.display = 'none';
       success_check = false;
      }		
    }
  }
}

function ajax_goback(elm) {
document.getElementById('ajax_error').style.display = 'none';
document.getElementById('mailbox').style.visibility = 'visible';
document.forms['emailForm'].elements[elm].focus();
error_check = true;
}

function resetDiv(div) {
hideDiv(div);
event_check = true;
abuse_check = true;
success_check = true;
error_check = true;
mailbox_check = true;
if (div == 'ajax_success') {
 closeDiv();
 document.getElementById('cInfoDiv').style.display = 'block';
// if (carpic) {
//  document.getElementById('car').style.visibility = 'visible';
// }
}
}

function hideDiv(div) {
document.getElementById(div).style.display = 'none';
}

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function createXMLHttpRequest() {

var request = false;

try {
     request = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         request = false;
       }  
     }
   }
  return request;
}