var req = createXMLHttpRequest();
var str = '';

function createXMLHttpRequest() 
{
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // this should work for all browsers except IE6 and older
  try
  {
    // try to create XMLHttpRequest object
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // assume IE6 or older
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    // try every prog id until one works
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // try to create XMLHttpRequest object
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // return the created object or display an error message
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function checkEventReg1()
{
	if(document.getElementById("name1").value == '')
	{
		alert('Please enter your full name.');
		document.getElementById("name1").focus();
		return false;
	}
	
	if(document.getElementById("phone").value == '')
	{
		alert('Please enter your phone number.');
		document.getElementById("phone").focus();
		return false;
	}
	
	if(document.getElementById("email").value == '')
	{
		alert('Please enter your email address.');
		document.getElementById("email").focus();
		return false;
	}
	
	if(document.getElementById("numAttend").value == '')
	{
		alert('Please enter the number attending this event.');
		document.getElementById("numAttend").focus();
		return false;
	}
	
	if(document.getElementById("numAttend").value == '0')
	{
		alert('Number of attendees must be greater than 0.');
		document.getElementById("numAttend").focus();
		return false;
	}
}

function checkEventReg2()
{
	if(document.getElementById("fname").value == '')
	{
		alert('Please enter your first name.');
		document.getElementById("fname").focus();
		return false;
	}
	
	if(document.getElementById("lname").value == '')
	{
		alert('Please enter your last name.');
		document.getElementById("lname").focus();
		return false;
	}
	
	if(document.getElementById("addr1").value == '')
	{
		alert('Please enter your address.');
		document.getElementById("addr1").focus();
		return false;
	}
	
	if(document.getElementById("city").value == '')
	{
		alert('Please enter your city.');
		document.getElementById("city").focus();
		return false;
	}
	
	if(document.getElementById("state").value == '')
	{
		alert('Please select a state.');
		document.getElementById("state").focus();
		return false;
	}
	
	if(document.getElementById("zip1").value == '')
	{
		alert('Please enter your Zip Code.');
		document.getElementById("zip1").focus();
		return false;
	}
	
	if(document.getElementById("cardtype").value == '')
	{
		alert('Please select your credit card type.');
		document.getElementById("cardtype").focus();
		return false;
	}
	
	if(document.getElementById("ccnum").value == '')
	{
		alert('Please enter your credit card number.');
		document.getElementById("ccnum").focus();
		return false;
	}
	
	if(document.getElementById("ccmonth").value == '')
	{
		alert('Please enter your credit card expiration month.');
		document.getElementById("ccmonth").focus();
		return false;
	}
	
	if(document.getElementById("ccyear").value == '')
	{
		alert('Please enter your credit card expiration year.');
		document.getElementById("ccyear").focus();
		return false;
	}
	
	if(document.getElementById("cvv").value == '')
	{
		alert('Please enter your credit card security code.');
		document.getElementById("cvv").focus();
		return false;
	}
	
	document.getElementById("backbtn").disabled=true;
	document.getElementById("continuebtn").disabled=true;
	document.regf1.submit();
}

function checkout()
{
	if(document.getElementById("name1").value == '')
	{
		alert('Please enter your full name.');
		document.getElementById("name1").focus();
		return false;
	}
	
	if(document.getElementById("ticket_option").value == 'mail')
	{
		if(document.getElementById("address1").value == '')
		{
			alert('Please enter your address.');
			document.getElementById("address1").focus();
			return false;
		}
		
		if(document.getElementById("city").value == '')
		{
			alert('Please enter your city.');
			document.getElementById("city").focus();
			return false;
		}
		
		if(document.getElementById("state").value == '')
		{
			alert('Please select your state.');
			document.getElementById("state").focus();
			return false;
		}
		
		if(document.getElementById("zipc").value == '')
		{
			alert('Please enter your Zip Code.');
			document.getElementById("zipc").focus();
			return false;
		}
	}
	
	if(document.getElementById("phone").value == '')
	{
		alert('Please enter your phone number.');
		document.getElementById("phone").focus();
		return false;
	}
	
	if(document.getElementById("email").value == '')
	{
		alert('Please enter your email address.');
		document.getElementById("email").focus();
		return false;
	}
	
	if(document.getElementById("numattend").value == '')
	{
		alert('Please enter the number attending this event.');
		document.getElementById("numattend").focus();
		return false;
	}
	
	if(document.getElementById("numattend").value == '0')
	{
		alert('Number of attendees must be greater than 0.');
		document.getElementById("numattend").focus();
		return false;
	}
	
	if(document.getElementById("ticket_option").value == '')
	{
		alert('Please select you want to receive your tickets.');
		document.getElementById("ticket_option").focus();
		return false;
	}
	
	if (req)
	{
		try
		{
			params = "n="+document.getElementById('name1').value+"&a1="+document.getElementById('address1').value+"&a2="+document.getElementById('address2').value;
			params += "&c="+document.getElementById('city').value+"&s="+document.getElementById('state').value+"&z="+document.getElementById('zipc').value;			
			params += "&p="+document.getElementById('phone').value+"&e="+document.getElementById('email').value+"&na="+document.getElementById('numattend').value+"&ei="+document.getElementById('eid').value+"&to="+document.getElementById('ticket_option').value;
			req.open("POST", "/inc/checkout_process.php", true);
			req.setRequestHeader("Content-Type", 
                                 "application/x-www-form-urlencoded");
			req.onreadystatechange = handleCheckout;
			req.send(params);
		}
		catch(e)
		{
			alert(e.toString());
		}
	}
}

function handleCheckout() 
{
	
	if (req.readyState == 4) 
	{
		if (req.status == 200) 
		{
			try
			{
				getCheckout();
			}
			catch(e)
			{
				alert(e.toString());
			}
		}	 
		else
		{
			alert(req.statusText);   
		}
	}
}

function getCheckout()
{
	var response = req.responseText;
	resp = response.split("_");

	if(resp[0] = 'OK')
	{
		document.getElementById('custom').value = resp[1];
		document.getElementById('amount').value = resp[2];
		document.getElementById('regf1').method = "POST";
		document.getElementById('regf1').action = 'https://www.paypal.com/cgi-bin/webscr';
		//document.getElementById('regf1').action = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
		document.getElementById('regf1').submit();
	}
	else
	{
		alert('Error!');
	}	
}

function loadCal(path,loc,type,yr,mon)
{
	if (req)
	{
		try
		{
	      	params = "loc="+loc+"&M="+mon+"&Y="+yr+"&type="+type;
			req.open("POST", "/inc/"+path, true);
			req.setRequestHeader("Content-Type", 
									"application/x-www-form-urlencoded");
			req.onreadystatechange = handleloadCal;
			req.send(params);
		}
		catch(e)
		{
			alert(e.toString());
		}
	}
}

function handleloadCal() 
{
	if (req.readyState == 4) 
	{
		if (req.status == 200) 
		{
			try
			{
				getloadCal();
			}
			catch(e)
			{
				alert(e.toString());
			}
		} 
		else
		{
			alert(req.statusText);   
		}
	}
}

function getloadCal()
{
	var response1 = req.responseText;
	var respA1 = response1.split("|");
	var respA1a = respA1[1].split("-");
	//alert(respA1[1]);
	if(respA1a[1] == 'cal2')
	{		
		document.getElementById("calbtn").innerHTML = "<a href=\"javascript:void(0);\" onclick=\"loadCal('callist2.php', 'calendar', 'list2', '0', '0');\" class=\"viewlist\"></a>";	
		document.getElementById(respA1a[0]).innerHTML=respA1[0];
	}
	else if(respA1a[1] == 'list2')
	{
		var d = new Date()
		document.getElementById("calbtn").innerHTML = "<a href=\"javascript:void(0);\" onclick=\"loadCal('cal2.php', 'calendar', 'cal2', '"+d.getFullYear()+"', '"+(d.getMonth() + 1)+"');\" class=\"viewcal\"></a>";		
		document.getElementById(respA1a[0]).innerHTML=respA1[0];
	}
}