var ajax;
function SendSubscr () {
	var name = document.getElementById('subscribe_name').value;
	var email = document.getElementById('subscribe_email').value;
	if (name == '') {
		alert ('Please, enter your name!');
		return;
	}
	if (email == '') {
		alert ('Please, enter your e-mail address!');
		return;
	}
	var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (!filter.test (email)) {
		alert ('The e-mail address you provided is invalid!');
		return;
	}
	var act = true;
	if (document.getElementById('subscribe').checked)
		act = 'true';
	else
		act = 'false';
	if(window.XMLHttpRequest)
		ajax = new XMLHttpRequest();
  	else
    	if (window.ActiveXObject)
	    	try {
	        	ajax = new ActiveXObject("Msxml2.XMLHTTP");
	        } catch (e) {
	        	try {
					ajax = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
	ajax.onreadystatechange = receive;
	ajax.open("POST", "subscribe.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send('name=' + encodeURI(name) + '&email=' + encodeURI(email) + '&act=' + act);
}
function receive () {
	if (ajax.readyState == 4)
		alert (ajax.responseText);
}
function checkContactUsForm () {
	if (document.getElementById('ContactUsForm_name').value == '') {
		alert ('The name field is required!');
		return false;
	} else return true;
}
function addParticipant() {
	var tb = document.getElementById('participants_body');
	var tr = document.createElement('tr');
	var td = document.createElement('td');
	td.innerHTML += "<table><tr><td colspan='6'><div class='hr'></div></td></tr>" +
		"<tr><td>Title: </td><td><input name='p_t[]' type='text' style='width:30px'></td><td> First name: </td><td><input name='p_fn[]' type='text' style='width:120px;'></td><td> Last Name: </td><td><input name='p_ln[]' type='text' style='width:120px;'></td></tr>" +
		"<tr><td>Post code: </td><td><input name='p_pc[]' type='text' style='width:70px;'></td><td> City: </td><td><input name='p_c[]' type='text' style='width:120px'></td><td> Street: </td><td> <input name='p_s[]' type='text' style='width:120px;'></td></tr>" +
		"<tr><td colspan='6'>Telephone: <input name='p_tel[]' type='text' style='width:180px'> E-mail: <input name='p_e[]' type='text' style='width:180px;'></td></tr>";
	tr.appendChild(td);
	tb.appendChild(tr);
}
function checkCreditCard (cardnumber, cardname) {
	var cards = new Array();
	cards [0] = {name: "Visa", length: "13,16", prefixes: "4"};
	cards [1] = {name: "MasterCard", length: "16", prefixes: "51,52,53,54,55"};
	cards [2] = {name: "Solo", length: "16,18,19", prefixes: "6334, 6767"};
	cards [3] = {name: "Switch",length: "16,18,19", prefixes: "4903,4905,4911,4936,564182,633110,6333,6759"};
	cards [4] = {name: "Maestro", length: "16",prefixes: "5020,6"};
	var cardType = -1;
	for (var i=0; i<cards.length; i++)
		if (cardname.toLowerCase () == cards[i].name.toLowerCase()) { cardType = i; break; }
	cardnumber = cardnumber.replace (/\s/g, "");
	var cardNo = cardnumber
	var cardexp = /^[0-9]{13,19}$/;
	if (!cardexp.exec(cardNo)) return false;
	var checksum = 0;
	var mychar = "";
	var j = 1;
	var calc;
	for (i = cardNo.length - 1; i >= 0; i--) {
		calc = Number(cardNo.charAt(i)) * j;
		if (calc > 9) { checksum = checksum + 1; calc = calc - 10; }
		checksum = checksum + calc;
		j = 2 - ((j + 1) % 2)
	}
	if (checksum % 10 != 0) return false;
	var LengthValid = false;
	var PrefixValid = false;
	var undefined;
	var prefix = new Array ();
	var lengths = new Array ();
	prefix = cards[cardType].prefixes.split(",");for (i=0; i<prefix.length; i++) {
		var exp = new RegExp ("^" + prefix[i]);
		if (exp.test (cardNo)) PrefixValid = true;
	}
	if (!PrefixValid) return false;
	lengths = cards[cardType].length.split(",");
	for (j=0; j<lengths.length; j++)
		if (cardNo.length == lengths[j]) LengthValid = true;
	if (!LengthValid) return false;
	return true;
}
function checkRegistrationForm() {
	var f = document.getElementById('registrationForm');
	var ok = false;
	for (var i = 0; i < f.elements.length; i ++)
		if (/venue\[(.+)\]/.test(f.elements[i].name) && f.elements[i].checked)
			ok = true;
	if (!ok) { alert ("Please, select venue!"); return false; }
	ok = false;
	for (var i = 0; i < f.session.length; i ++)
		if (f.session[i].checked) ok = true;
	if (!ok) { alert ("Please, select session!"); return false; }
	ok = false;
	for (var i = 0; i < f.donor_pass.length; i ++)
		if (f.donor_pass[i].checked) ok = true;
	if (!ok) { alert ("Please, select donor pass!"); return false; }
	ok = false;
	for (var i = 0; i < f.member.length; i ++)
		if (f.member[i].checked) ok = true;
	if (!ok) { alert ("Please, select membership ID ref!"); return false; }
	if (f.total_number_people.value == '') { alert ("Please, enter total number of people!"); return false; }
	if (f.total_amount.value == '') { alert ("Please, enter total amount!"); return false; }
	if (f.terms_and_conditions.checked == false) { alert ("You must accept the terms and conditions!"); return false; }
	//main applicant details
	if (f.email.value == '') {alert ("Please enter your email address!"); return false; }
	var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (!filter.test(f.email.value)) {alert ("The email address entered is invalid!"); return false; }
	if (f.first_name.value == '' || f.last_name.value == '') {alert ("Please enter both first and last name!"); return false; }
	if (f.pay_by_cheque.checked == true) {return true; }
	//check cc details
	//if (f.name_on_credit_card.value == '') {alert ("Invalid name on credit card"); return false; }
	//ok = false;
	//for (var i = 0; i < f.cc.length; i ++)
	//	if (f.cc[i].checked) ok = f.cc[i].value;
	//if (ok == false) { alert ("Select creadit card type!"); return false; }
	//if (f.card_number.value == '') {alert ("Invalid credit card number"); return false; }
	//if (!checkCreditCard(f.card_number.value, ok)) {alert ("Invalid credit card number!"); return false; }
	//if (f.card_exp_date.value == '') {alert ("Invalid card expirity date"); return false; }
	//if (f.card_address.value == '') {alert ("Invalid card registration address"); return false; }
	//if (f.amount.value == '') {alert ("Invalid amount!"); return false; }

}
