
function getTowns(state, sel) {
	JsHttpRequest.query(
		'requests/getTowns.php',
		{
			'state': state
		},
		function(result, errors) {
			//document.getElementById("debug").innerHTML = errors; 
			clearOptions(document.forms['frm1'].c_town);
			clearOptions(document.forms['frm1'].c_zip);
			document.getElementById('c_groups').innerHTML = '&nbsp;';

			with(document.forms['frm1'].c_town){
				var len = result['towns'].length;

				for(var i=0; i<len; i++){
					options[i+1] = new Option(result['towns'][i], result['towns'][i]);
				}

				if(sel)
					value = sel;
			}
		},
		false
	);
}

function getZips(town, sel) {
	JsHttpRequest.query(
		'requests/getZips.php',
		{
			'town': town
		},
		function(result, errors) {
			//document.getElementById("debug").innerHTML = errors;
			clearOptions(document.forms['frm1'].c_zip);
			document.getElementById('c_groups').innerHTML = '&nbsp;';

			with(document.forms['frm1'].c_zip){
				var len = result['zips'].length;

				for(var i=0; i<len; i++){
					result['zips'].sort();
					//alert(result['zips']);
					options[i+1] = new Option(result['zips'][i], result['zips'][i]);
				}

				if(sel)
					value = sel;
			}
		},
		false
	);
}

function getGroups(zip, sel) {
	JsHttpRequest.query(
		'requests/getGroups.php',
		{
			'zip': zip
		},
		function(result, errors) {
			document.getElementById('c_groups').innerHTML = result['groups'] ? result['groups'] : 'There are no group for now. You have a good chance to become the first captain!';
			//here is where it is selected
			if(sel)
				defGroup(sel);
		},
		false
	);
}

function clearOptions(obj){
	var len = obj.options.length;

	for(var i=1; i<len; i++){
		obj.options[1] = null;
	}
}

function showType(TYPE){
	document.getElementById('tr1').style.display = TYPE ? (document.all?'block':'table-row') : 'none' ;
	document.getElementById('tr0').style.display = TYPE ? 'none' : (document.all?'block':'table-row') ;

	var objs = document.getElementsByName('type');
	objs[0].disabled = TYPE ? true : false ;
	objs[1].disabled = TYPE ? false : true ;

	objs[0].value = objs[1].value = TYPE ? 'captain' : 'member' ;

	document.getElementById('dv0').style.display = TYPE ? 'none' : 'block' ;
	document.getElementById('dv1').style.display = TYPE ? 'block' : 'none' ;

	return false;
}

function setKite(id){
	document.forms['frm1'].kite.value = id;
	for(var i=1; i<11; i++){
		document.getElementById('kite' + i).style.border = id == i ? '4px solid #ffffff' : '4px solid #101415';
	}
}

function getCookie(Name, len) {
	var search = Name + "=";
	if (document.cookie.length > 0) { // if there are any cookies
		offset = document.cookie.indexOf(search);
		if (offset != -1) { // if cookie exists 
			offset += search.length;

			// set index of beginning of value
			//end = document.cookie.indexOf(";", offset);

			// set index of end of cookie value
			//if (end == -1);
			//	end = document.cookie.length;
			
			end = offset + len;

			return unescape(document.cookie.substring(offset, end));
		}
	}

	return false;
}

function checkForm(frm, ndate){
	var error = '';
	var k = 0;
	var objs = document.getElementsByName('type');

	var re = [/^\d{5}$/i, /^[a-z0-9-_.]+@([a-z0-9-_.]+\.)+[a-z]{2,3}$/i, /^\d{2}\/\d{2}\/\d{4}$/];
	
	with(frm){
		if(!objs[0].disabled){
			if(group_id.value == '0'){
				error += (++k) + ". Please choose a group\n";
			}
		} else {
			if(group_city.value == ''){
				error += (++k) + ". Please enter group city\n";
			}
			if(group_state.value == 0){
				error += (++k) + ". Please choose a group state\n";
			}
			if(group_zip.value == ''){
				error += (++k) + ". Please enter group zip\n";
			} else if (!group_zip.value.match(re[0])){
				error += (++k) + ". Please enter valid group zip\n";
			}
			if(group_name.value == ''){
				error += (++k) + ". Please enter group name\n";
			}
			if(pmessage.value == '' || pmessage.value =='Welcome your group members with a message. Explain what the Sweeney Todd story means to you and how it inspired you. This will be posted to your groups profile page and the club blog.'){
				error+=(++k) + ". Please welcome your group with a message\n";
			}
		}
		if(username.value == ''){
			error += (++k) + ". Please enter User Name\n";
		}
		if(fname.value == ''){
			error += (++k) + ". Please enter First Name\n";
		}
		if(lname.value == ''){
			error += (++k) + ". Please enter Last Name\n";
		}
		if(email.value == ''){
			error += (++k) + ". Please enter E-mail Address\n";
		} else if (!email.value.match(re[1])){
			error += (++k) + ". Please enter valid E-mail Address\n";
		}
		if(address1.value == ''){
			error += (++k) + ". Please enter Address 1\n";
		}
		if(city.value == ''){
			error += (++k) + ". Please enter City\n";
		}
		if(zip.value == ''){
			error += (++k) + ". Please enter Zip\n";
		} else if (!zip.value.match(re[0])){
			error += (++k) + ". Please enter valid Zip\n";
		}
		if(passw.value == ''){
			error += (++k) + ". Please enter Password\n";
		} else if(passw.value.length < 6){
			error += (++k) + ". The minimal value of password is 6 characters\n";
		} else if(passw.value != passw2.value){
			error += (++k) + ". Please verify your password\n";
		}
		if(state.value == 0){
			error += (++k) + ". Please choose a State\n";
		}
		if(!birthdate.value.match(re[2])){
			error += (++k) + ". Please enter valid Birthdate\n";
		} else {
			var ct = '';
			var bf = getCookie('birthfail', 1);

			if(bf && (ct = getCookie('birthdate', 10)) && ct){
				birthdate.value = ct;
			}

			if(bf)
			{
				error += (++k) + ". Sorry, you are not eligible to register to this site";
			}
			else
			{
				var today = new Date();
				var expires = new Date();
				expires.setTime(today.getTime() + 1000*60*60*24*30*12);
				
				var month = birthdate.value.substring(0, 2);
				var day = birthdate.value.substring(3, 5);
				var year = birthdate.value.substring(6, 10);

				var cdate = year + month + day;
				document.cookie = 'birthdate=' + escape(birthdate.value) + '; expires=' + expires.toGMTString();

				if(month.substring(0, 1) == '0')
					month = month.substring(1,2);

				if(day.substring(0, 1) == '0')
					day = day.substring(1,2);

				if(month < 0 || month > 12 || day < 0 || day > 31 || cdate >= ndate){
					document.cookie = 'birthfail=1; expires=' + expires.toGMTString();
					error += (++k) + ". You must be 17 or over to register\n";
				}
			}
		}
		
		
		if(error == ''){
			return true;
		} else {
			alert(error);
			return false;
		}
	}
}
//here it is
function defGroup(ID){
	document.forms['frm1'].group_id.value = ID;
	
	Element.addClassName('listRow0','unselectedRow');
	Element.addClassName('listRow1','unselectedRow');
	Element.addClassName('listRow2','unselectedRow');
	Element.addClassName('listRow3','unselectedRow');
	Element.addClassName('listRow4','unselectedRow');
	Element.addClassName('listRow5','unselectedRow');
	Element.addClassName('listRow6','unselectedRow');
	Element.addClassName('listRow7','unselectedRow');
	Element.addClassName('listRow8','unselectedRow');
	Element.addClassName('listRow9','unselectedRow');
	Element.addClassName('listRow10','unselectedRow');	
	


	if(document.getElementById('td' + ID + '_1')){
		
		$('td' + ID + '_1').parentNode.removeClassName ('unselectedRow');	
		//document.getElementById('td' + ID + '_1').style.border = "1px solid red";
		//document.getElementById('td' + ID + '_2').style.border = "1px solid red";
		//document.getElementById('td' + ID + '_3').style.border = "1px solid red";
	}
}
