// JavaScript Document



function ajaxCall(){

var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  return xmlHttp;
}



function setSurname(number)

{

	if(document.getElementById('lastSame' + number).checked == true)

	{

		document.getElementById('lastName' + number).value = document.getElementById('lastName').value;

	}

	else

	{

		document.getElementById('lastName' + number).value = '';

	}

}



function setEmail(number)

{

	if(document.getElementById('emailSame' + number).checked == true)

	{

		document.getElementById('email' + number).value = document.getElementById('email').value;

	}

	else

	{

		document.getElementById('email' + number).value = '';

	}

}



function validate_pay(type)

{

	requiredList = "";

	

	if(type == "creditCard")

	{

		validate_required("cardName");

		validate_required("cardNumber");

		validate_required("cvv2");

	}

	else

	{

		validate_required("bsb");

		validate_required("acn");

		validate_required("accountName");

	}

	

	if(requiredList != "")

	{

		errorString = "The following fields are required:\n\n" + requiredList;

	

		alert(errorString);

		return false;

	}

	else

	{

		return true;

	}

}



function ticketTotal()

{

	fullTickets = parseInt(document.getElementById("full").value);

	concessionTickets = parseInt(document.getElementById("concession").value);

	fullPrice = parseInt(document.getElementById("fullPrice").value);

	concessionPrice = parseInt(document.getElementById("concessionPrice").value);

	eventName = document.getElementById("eventName").value;

	

	//alert(concessionPrice);

	totalPrice = (fullTickets * fullPrice) + (concessionTickets * concessionPrice);

	totalPrice = totalPrice.toDecimals(2);



	document.getElementById('total').innerHTML = totalPrice;

	//alert(totalPrice);

	

	totalTickets = fullTickets + concessionTickets;

	

	if(totalTickets > 7)

	{

		alert("You can only order a maximum of 7 tickets online.\n\nIf you need to order more tickets, please download the registration form.");

		document.getElementById("full").selectedIndex = 0;

		document.getElementById("concession").selectedIndex = 0;

	}

}



function validate_reg2()

{

	requiredList = "";

	emailValid = "";

	

	for(o=2; o <= noAdditional + 1; o++)

	{

		validate_required("title" + o);

		validate_required("firstName" + o);

		validate_required("lastName" + o);

		validate_required("email" + o);

		emailValidation = validate_email('email' + o);

		

		if(!emailValidation)

		{

			emailValid += "a";

		}

		

	}

	

	if((requiredList != "") || (emailValid != ''))

	{

		errorString = "The following fields are required:\n\n" + requiredList;

		if(emailValid != '')

		{

			errorString += "\nAt least one email address is invalid."

		}

		alert(errorString);

		return false;

	}

	else

	{

		return true;

	}

}



Number.prototype.toDecimals=function(n){

    n=(isNaN(n))?

        2:

        n;

    var

        nT=Math.pow(10,n);

    function pad(s){

            s=s||'.';

            return (s.length>n)?

                s:

                pad(s+'0');

    }

    return (isNaN(this))?

        this:

        (new String(

            Math.round(this*nT)/nT

        )).replace(/(\.\d*)?$/,pad);

}



function validate_reg1()

{

	requiredList = "";

	emailValid = "";

	requiredList = "";

	

	fullTickets = parseInt(document.getElementById("full").value);

	concessionTickets = parseInt(document.getElementById("concession").value);

	

	if((fullTickets + concessionTickets) < 1)

	{

		requiredList += 'You must select at least one ticket\n\n';

	}

	

	validate_required("title");

	validate_required("firstName");

	validate_required("lastName");

	validate_required("address");

	validate_required("suburb");

	validate_required("state");

	validate_required("postcode");

	validate_required("email");

	validate_required("number");



	emailCheck = validate_email('email');

	

	if((requiredList != "") || (emailCheck == false))

	{

		errorString = "The following fields are required:\n\n" + requiredList;

		if(!emailCheck)

		{

			errorString += "\nEmail address is invalid."

		}

		alert(errorString);

		return false;

	}

	else

	{

		return true;

	}

}



function validate_form()

{

	requiredList = "";

	emailValid = "";

	

	validate_required("fullname");

	validate_required("address");

	validate_required("suburb");

	validate_required("state");

	validate_required("postcode");

	validate_required("phone");

	validate_required("email");

	validate_required("amount");

	

	emailCheck = validate_email('email');

	

	if((requiredList != "") || (emailCheck == false))

	{

		errorString = "The following fields are required:\n\n" + requiredList;

		if(!emailCheck)

		{

			errorString += "\nEmail address is invalid."

		}

		alert(errorString);

		return false;

	}

	else

	{

		return true;

	}

}



function validate_formNewsletter()

{

	requiredList = "";

	emailValid = "";

	

	validate_required("mr_first_name");

	validate_required("mr_surname");

	

	emailCheck = validate_email('mr_email');

	

	if((requiredList != "") || (emailCheck == false))

	{

		errorString = "The following fields are required:\n\n" + requiredList;

		if(!emailCheck)

		{

			errorString += "\nEmail address is invalid."

		}

		alert(errorString);

		return false;

	}

	else

	{

		return true;

	}

}



function validate_required(fieldID)

{

	value = document.getElementById(fieldID).value;

	if (value==null||value=="")

	{

		requiredList += "  - " + fieldID + '\n';

		return false;

	}

	else

	{

		return true;

	}

}



function validate_email(fieldID)

{

	value = document.getElementById(fieldID).value;

	apos=value.indexOf("@");

	dotpos=value.lastIndexOf(".");

	if (apos<1||dotpos-apos<2) 

	{

		return false;

	}

	else

	{

		return true;

	}

}



function get_radio_value(formName, radioName)

{

for (var i=0; i < document[formName][radioName].length; i++)

   {

   if (document[formName][radioName][i].checked)

      {

      	rad_val = document[formName][radioName][i].value;

		return rad_val;

      }

   }

}



function showHider(showID, hideID)

{

	document.getElementById(showID).style.display = "inline";

	document.getElementById(hideID).style.display = "none";

}



noAdditional = 0;

totalPrice = 0;

totalTickets = 0;

fullTickets = 0;

concessionTickets = 0;



fullPrice = 0;

concessionPrice = 0;

eventName = "";



title = "";

firstName = "";

lastName = "";

age = "";

marital = "";

church = "";

position = "";

hear = "";

address = "";

state = "";

postcode = "";

email = "";

phone = "";



// for additional people

title2 = "";

firstName2 = "";

lastName2 = "";

age2 = "";

email2 = "";



title3 = "";

firstName3 = "";

lastName3 = "";

age3 = "";

email3 = "";



title4 = "";

firstName4 = "";

lastName4 = "";

age4 = "";

email4 = "";



title5 = "";

firstName5 = "";

lastName5 = "";

age5 = "";

email5 = "";



title6 = "";

firstName6 = "";

lastName6 = "";

age6 = "";

email6 = "";



title7 = "";

firstName7 = "";

lastName7 = "";

age7 = "";

email7 = "";





function showHiderAdd(showID, hideID)

{	

	// set all to closed first

	for(p=2; p<= (noAdditional + 1); p++)

	{

		document.getElementById('additionalBoxClosed' + p).style.display = "inline";

		document.getElementById('additionalBoxOpen' + p).style.display = "none";

	}

	

	document.getElementById(showID).style.display = "inline";

	document.getElementById(hideID).style.display = "none";

}



function processReg2()

{

	valid = validate_reg2();

	//valid = true;

	

	if(valid)

	{

		document.getElementById('title_detail').innerHTML = document.getElementById('title').value;

		document.getElementById('firstName_detail').innerHTML = document.getElementById('firstName').value;

		document.getElementById('lastName_detail').innerHTML = document.getElementById('lastName').value;

		document.getElementById('address_detail').innerHTML = document.getElementById('address').value;

		document.getElementById('suburb_detail').innerHTML = document.getElementById('suburb').value;

		document.getElementById('state_detail').innerHTML = document.getElementById('state').value;

		document.getElementById('postcode_detail').innerHTML = document.getElementById('postcode').value;

		document.getElementById('number_detail').innerHTML = document.getElementById('number').value;

		document.getElementById('email_detail').innerHTML = document.getElementById('email').value;

		

		showHider('reg3','reg2');

		

		for(r = 2; r <= noAdditional + 1; r++)

		{

			document.getElementById('firstName_detail' + r).innerHTML = document.getElementById('firstName' + r).value;

			document.getElementById('lastName_detail' + r).innerHTML = document.getElementById('lastName' + r).value;

		}

	}

}



function processReg1()

{

	valid = validate_reg1();

	//valid = true;

	

	if(valid)

	{		

		/*fullTickets = parseInt(document.getElementById("full").value);

		concessionTickets = parseInt(document.getElementById("concession").value);

		

		total = fullTickets + concessionTickets;

		//total = 3;

		*/

		noAdditional = totalTickets - 1;

		

		

		//alert('not broken yet');

		

		if(noAdditional > 0)

		{

			document.getElementById('reg1').style.display = "none";

			document.getElementById('reg2').style.display = "inline";

			

			// hide all first

			document.getElementById('additionalBoxClosed2').style.display = "none";

			document.getElementById('additionalBoxClosed3').style.display = "none";

			document.getElementById('additionalBoxClosed4').style.display = "none";

			document.getElementById('additionalBoxClosed5').style.display = "none";

			document.getElementById('additionalBoxClosed6').style.display = "none";

			document.getElementById('additionalBoxClosed7').style.display = "none";



			document.getElementById('additionalBoxOpen2').style.display = "none";

			document.getElementById('additionalBoxOpen3').style.display = "none";

			document.getElementById('additionalBoxOpen4').style.display = "none";

			document.getElementById('additionalBoxOpen5').style.display = "none";

			document.getElementById('additionalBoxOpen6').style.display = "none";

			document.getElementById('additionalBoxOpen7').style.display = "none";



			// print out the ticket types

			if(fullTickets > 1)

			{

				for(s=2;s<=fullTickets;s++)

				{

					document.getElementById('type' + s).innerHTML = 'full ticket';

				}

				concessionStart = fullTickets;

			

				for(s=concessionStart + 1;s<=concessionTickets + concessionStart;s++)

				{

					document.getElementById('type' + s).innerHTML = 'concession ticket';

				}

			}

			else if (fullTickets == 0)

			{

				concessionStart = 2;

			

				for(s=concessionStart;s<=concessionTickets;s++)

				{

					document.getElementById('type' + s).innerHTML = 'concession ticket';

				}

			}

			else

			{

				concessionStart = 1 + fullTickets;

			

				for(s=concessionStart;s<=concessionTickets + 1;s++)

				{

					document.getElementById('type' + s).innerHTML = 'concession ticket';

				}

			}

			

			// now show only the necessary ones

			for(i=2; i<= (noAdditional + 1); i++)

			{	

				if(i==2)

				{

					document.getElementById('additionalBoxOpen' + i).style.display = "inline";

				}

				else

				{

					document.getElementById('additionalBoxClosed' + i).style.display = "inline";

				}

			}

		}

		else

		{

			document.getElementById('title_detail').innerHTML = document.getElementById('title').value;

			document.getElementById('firstName_detail').innerHTML = document.getElementById('firstName').value;

			document.getElementById('lastName_detail').innerHTML = document.getElementById('lastName').value;

			document.getElementById('address_detail').innerHTML = document.getElementById('address').value;

			document.getElementById('suburb_detail').innerHTML = document.getElementById('suburb').value;

			document.getElementById('state_detail').innerHTML = document.getElementById('state').value;

			document.getElementById('postcode_detail').innerHTML = document.getElementById('postcode').value;

			document.getElementById('number_detail').innerHTML = document.getElementById('number').value;

			document.getElementById('email_detail').innerHTML = document.getElementById('email').value;

			showHider('reg3','reg1');

		}

	}

}



function processNewsletter()

{

	valid = validate_formNewsletter();

	

	if(valid)

	{

		alert("You have successfully subscribed.");

		document.subscribe_form.url_redirect.value = document.location;

		document.subscribe_form.submit();

	}

}



function processGivingForm()

{

	valid = validate_form();

	

	if(valid)

	{

		xmlHttp = ajaxCall();

		fullname = document.getElementById('fullname').value;

		address = document.getElementById('address').value;

		suburb = document.getElementById('suburb').value;

		state = document.getElementById('state').value;

		postcode = document.getElementById('postcode').value;

		phone = document.getElementById('phone').value;

		email = document.getElementById('email').value;

		area = get_radio_value("giving", "area");

		

		switch(area)

		{

		case "ccc":

		  area = "Christian City Church";

		  break;    

		case "building":

		  area = "C3 College Building Fund";

		  break;

		case "tithe":

		  area = "Tithe";

		  break;

		case "cctv":

		  area = "Your Best Life Tv Single Donation";

		  break;

		case "tv_silver":

		  area = "TV Silver";

		  break;

		case "tv_gold":

		  area = "TV Gold";

		  break;

		case "tv_platinum":

		  area = "TV Platinum";

		  break;

		case "tv_diamond":

		  area = "TV Diamond";

		  break;

		case "tv_business":

		  area = "TV Business";

		  break;

		case "tv_corporate":

		  area = "TV Corporate";

		  break;

		}

		

		amount = document.getElementById('amount').value;

	

		document.getElementById('onlineGiving').style.display = "none";

		document.getElementById('confirmDetails').style.display = "inline";

		

		document.getElementById('fullnameID').innerHTML = fullname;

		document.getElementById('addressID').innerHTML = address + "<br />" + suburb + "<br />" + state + " " + postcode;

		document.getElementById('phoneID').innerHTML = phone;

		document.getElementById('emailID').innerHTML = email;

		document.getElementById('emailID2').innerHTML = email;

		document.getElementById('areaID').innerHTML = area;

		document.getElementById('areaID2').innerHTML = area;

		document.getElementById('amountID').innerHTML = amount;

		document.getElementById('amountID2').innerHTML = amount;

	}

}



function payNowRegistration()

{

	// check if it's credit card or direct debit

	method = get_radio_value("payForm", "method");

	

	valid = validate_pay(method);

	//valid = true;

	

	if(valid)

	{

		document.getElementById('ajaxLoader').style.display = 'inline';

		xmlHttp = ajaxCall();

		

		

		

		//method = document.payForm.value;

		method = "creditCard";

		

		bsb = document.getElementById('bsb').value;

		acn = document.getElementById('acn').value;

		accountName = document.getElementById('accountName').value;

		

		cardName = document.getElementById('cardName').value;

		cardNumber = document.getElementById('cardNumber').value;

		expiry = document.getElementById('expiryMonth').value + document.getElementById('expiryYear').value;

		

		title = document.getElementById('title').value;

		firstName = document.getElementById('firstName').value;

		lastName = document.getElementById('lastName').value;

		age = document.getElementById('age').value;

		

		marital = document.getElementById('marital').value;

		church = document.getElementById('church').value;

		position = document.getElementById('position').value;

		hear = document.getElementById('hear').value;

		address = document.getElementById('address').value;

		suburb1 = document.getElementById('suburb').value;

		state = document.getElementById('state').value;

		postcode = document.getElementById('postcode').value;

		email = document.getElementById('email').value;

		phNumber = document.getElementById('number').value;

		

		

		xmlHttp.onreadystatechange = function()

		{

		if(xmlHttp.readyState==4)

		  {

			//alert(xmlHttp.responseText);

			var regResult = new Array();

			regResult = xmlHttp.responseText.split("_");

	

			if(regResult[0] == " Accepted")

			{

				showHider('complete','reg4');

				document.getElementById('TransID').innerHTML = regResult[1];

				document.getElementById('emailI').innerHTML = email;

			}

			else

			{

				showHider('failed','reg4');

			}

		  }

		}

		

		

		

		var url = "/templates/processRegistration.php";

		var params = "lorem=ipsum&name=binny" + "&cardName=" + cardName + "&cardNumber=" + cardNumber + "&expiry=" + expiry + "&fullPrice=" + fullPrice + "&concessionPrice=" + concessionPrice + "&title=" + title + "&firstName=" + firstName + "&lastName=" + lastName + "&age=" + age + "&marital=" + marital + "&church=" + church + "&position=" + position + "&hear=" + hear + "&address=" + address + "&suburb=" + suburb1 + "&state=" + state + "&postcode=" + postcode + "&email=" + email + "&phone=" + phNumber + "&total=" + totalPrice + "&method=" + method + "&eventName=" + eventName + "&concessionTickets=" + concessionTickets + "&fullTickets=" + fullTickets;

		

		if(noAdditional > 0)

		{

			for(x=2; x<=noAdditional+1; x++)

			{

				title_add = document.getElementById('title' + x).value;

				firstName_add = document.getElementById('firstName' + x).value;

				lastName_add = document.getElementById('lastName' + x).value;

				age_add = document.getElementById('age' + x).value;

				email_add = document.getElementById('email' + x).value;

				

				params += "&title" + x + "=" + title_add + "&firstName" + x + "=" + firstName_add + "&lastName" + x + "=" + lastName_add + "&age" + x + "=" + age_add + "&email" + x + "=" + email_add;

			}

		}

				

		xmlHttp.open("POST", url, true);



		//Send the proper header information along with the request

		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

		xmlHttp.setRequestHeader("Content-length", params.length);

		xmlHttp.setRequestHeader("Connection", "close");

		

		//alert(params);

		

		xmlHttp.send(params);

	}

}



function payNow(){

	// check if it's credit card or direct debit
	method = get_radio_value("payForm", "method");
	valid = validate_pay(method);

	if(valid)	{

		document.getElementById('ajaxLoader').style.display = 'inline';
    document.getElementById('paybutton').style.display = 'none';
		xmlHttp = ajaxCall();

		bsb = document.getElementById('bsb').value;
		acn = document.getElementById('acn').value;
		accountName = document.getElementById('accountName').value;
		cardName = document.getElementById('cardName').value;
		cardNumber = document.getElementById('cardNumber').value;
		expiry = document.getElementById('expiryMonth').value + document.getElementById('expiryYear').value;
		xmlHttp.onreadystatechange=function()
		{
		if(xmlHttp.readyState==4)
		  {
			var resultArray = new Array();
			resultArray = xmlHttp.responseText.split("_");

			//alert(xmlHttp.responseText);
			//alert("xx" + resultArray[0] + "xx");

			if(resultArray[0] == " Accepted")
			{
				showHider('complete','payNow');
				document.getElementById('TransID').innerHTML = resultArray[1];
			}
			else
			{
				showHider('failed','payNow');
			}
		  }
		}

		// check the payment method
		if(method == "creditCard")
		{
    //var nextMerchID = Math.floor((899999)*Math.random()) + 100000;

  // Get next Merchant Trans ID from DB and Increment by 1

    IDhttp = ajaxCall();
    var maxUrl = "https://www.myc3church.net/templates/maxid.php";

    IDhttp.open("GET", maxUrl, false);
    IDhttp.send(null);
    var nextMerchID = IDhttp.responseText;

			URL = "https://www.myc3church.net/templates/processGiving.php?fullname=" + fullname + "&address=" + address + "&suburb=" + suburb + "&state=" + state + "&postcode=" + postcode + "&phone=" + phone + "&email=" + email + "&area=" + area + "&amount=" + amount + "&method=" + method + "&cardName=" + cardName + "&cardNumber=" + cardNumber + "&expiry=" + expiry+ "&transid=" + nextMerchID;

		}
		else
		{
			URL = "https://www.myc3church.net/templates/processGiving.php?fullname=" + fullname + "&address=" + address + "&suburb=" + suburb + "&state=" + state + "&postcode=" + postcode + "&phone=" + phone + "&email=" + email + "&area=" + area + "&amount=" + amount + "&method=" + method + "&bsb=" + bsb + "&acn=" + acn + "&accountName=" + accountName;
		}

		xmlHttp.open("GET", URL, true);
		xmlHttp.send(null);
	}
}


/**
 *
 */
function searchSubmit(){
	document.search.submit();
}



function openLightbox(value)

{

	var value_array = new Array();

	value_array = value.split("_");

	

	linkNid = value_array[0];

	nid = value_array[1];

	

	linkID = "lightbox_" + linkNid + "_" + nid;

	linkDOM = document.getElementById(linkID);	

	

	fireEvent2(document.getElementById(linkID),'click');

}



function fireEvent2(obj,evt)

{

	var fireOnThis = obj;

	if(document.createEvent)

	{

		var evObj = document.createEvent('MouseEvents');

		evObj.initEvent( evt, true, false );

		fireOnThis.dispatchEvent(evObj);

	}

	else if( document.createEventObject )

	{

		fireOnThis.fireEvent('on'+evt);

	}

}



function writeLightboxLink(nid, link_nid){
	htmlString = '<a href="/node/' + link_nid + '" id="lightbox_' + link_nid + "_" + nid + '" rel="lightmodal[|width:500px; height:600px; scrolling: auto;]"></a>';
	document.getElementById('lightboxLinks').innerHTML += htmlString;
}

function payAgain(){
	showHider('payNow','failed');
	document.getElementById('ajaxLoader').style.display = 'none';
}

function payAgain2(){
	showHider('reg4','failed');
	document.getElementById('ajaxLoader').style.display = 'none';
}

function opengivingwindow()
{
	window.open("https://www.myc3church.net/templates/lightbox-giving.php","mywindow","menubar=0,resizable=0,width=534,height=615");
}

function register(url)
{
	window.open("https://www.myc3church.net/node/"+url ,"mywindow","menubar=0,resizable=0,width=560,height=600");
}
