var e_recurtext=null;
var e_recurrangetext=null;
var e_recurset=null;
var e_endrecurset=null;
var e_untildate=null;
var e_repeatsevery =null;
var e_dailyset=null;
var e_weeklyset=null;
var e_daysofweek=null;
var eDows = null;
var e_monthlyset=null;
var e_yearlyset=null;

var e_starthour=null;
var e_startmin=null;
var e_startampm=null;

var e_scheduleecho=null;
var e_dailyecho=null;
var e_weeklyecho=null;
var e_monthlyecho=null;
var e_yearlyecho=null;
var e_recurrenceRangeEcho=null;

var e_repeatdays=null;
var e_repeatweeks=null;
var e_repeatmonths=null;
var e_repeatyears=null;

var e_monthdom=null;
var e_monthdow=null;

var a_weekday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
var a_Gweekday=new Array("SU","MO","TU","WE","TH","FR","SA")
var a_monthname=new Array("January","February","March","April","May","June","July","August","September","October","November","December")

var e_startdate=null;

var e_recurstartdate=null;
var e_recurenddate=null;
var e_byday=null;						
						
var e_name=null;
var e_phone=null;				
var e_email=null;		
var e_details=null;		

var e_type=null;				
var e_orig=null;
var e_dest=null;
						
function inittripform(){
	e_repeatsevery = document.getElementById('repeatsevery')
	e_recurtext=document.getElementById('recurtext');
	e_recurrangetext=document.getElementById('recurrangetext');
	
	e_recurset=document.getElementById('recurset');
	e_endrecurset=document.getElementById('endrecur');
	e_untildate=document.getElementById('untildate');
	e_untildate.style.display='none'
	
	e_dailyset=document.getElementById('daily');
	e_weeklyset=document.getElementById('weekly');
	e_daysofweek=document.getElementById('daysofweek');
	eDows = e_daysofweek.childNodes;
	e_monthlyset=document.getElementById('monthly');
	e_yearlyset=document.getElementById('yearly');

	e_monthdom=document.getElementById('dom');
	e_monthdow=document.getElementById('dow');
	
	e_starthour=document.getElementById('starthour');
	e_startmin=document.getElementById('startmin');
	e_startampm=document.getElementById('startampm');
	
	e_scheduleecho=document.getElementById('scheduleecho');
	e_dailyecho=document.getElementById('dailyecho');
	e_weeklyecho=document.getElementById('weeklyecho');
	e_monthlyecho=document.getElementById('monthlyecho');
	e_yearlyecho=document.getElementById('yearlyecho');

	e_repeatdays=document.getElementById('repeatdays');
	e_repeatweeks=document.getElementById('repeatweeks');
	e_repeatmonths=document.getElementById('repeatmonths');
	e_repeatyears=document.getElementById('repeatyears');
	e_recurrenceRangeEcho=document.getElementById('recurrenceRangeEcho');

	e_startdate=document.getElementById('startdate');
	e_recurstartdate=document.getElementById('recurstartdate');
	e_recurenddate=document.getElementById('recurenddate');

	e_byday=document.getElementById('byday');
	e_name=document.getElementById('name');
	e_phone=document.getElementById('phone');
	e_email=document.getElementById('email');
	e_details=document.getElementById('details');
	
	e_type=document.getElementById('type');
	e_orig=document.getElementById('origin');
	e_dest=document.getElementById('dest');
}

function togglerecur_onReload(val){
	if(val=1){
		e_recurset.style.display='block'
		e_endrecurset.style.display='block'
		e_repeatsevery.selectedIndex=0;
	}
	else{
		e_recurset.style.display='none'
		e_endrecurset.style.display='none'
	}
	updateEchoText();
	updateRecurranceRangeEcho();
}

function togglerecur(el){
	if(el.checked&&el.id=='reucurring'){
		e_recurset.style.display='block'
		e_endrecurset.style.display='block'
		e_repeatsevery.selectedIndex=0;
	}
	else{
		e_recurset.style.display='none'
		e_endrecurset.style.display='none'
	}
	updateEchoText();	
	updateRecurranceRangeEcho();

}

function updateRecurranceRangeEcho(){
	var rangeStart = dp.getDate();
	var rangeEnd = dp4.getDate();
	if(document.getElementById('never').checked){
		e_recurrenceRangeEcho.innerHTML='Repeat indefinitely starting ' + a_monthname[rangeStart.getMonth()] + ' ' + rangeStart.getDate() + ', ' + rangeStart.getFullYear() 
		}
	else{
		e_recurrenceRangeEcho.innerHTML='Repeat from ' + a_monthname[rangeStart.getMonth()] + ' ' + rangeStart.getDate() + ', ' + rangeStart.getFullYear() + ' until ' +  a_monthname[rangeEnd.getMonth()] + ' ' + rangeEnd.getDate() + ', ' + rangeEnd.getFullYear()
		}
	e_recurrenceRangeEcho.style.display='block';
	}

	
function dowSelect(el){
	updateEchoText();
}	
	
function updateEchoText(){
	e_dailyset.style.display='none';
	e_weeklyset.style.display='none';
	e_monthlyset.style.display='none';
	e_yearlyset.style.display='none';

	e_scheduleecho.style.display='none';
	e_dailyecho.style.display='none';
	e_weeklyecho.style.display='none';
	e_monthlyecho.style.display='none';
	e_yearlyecho.style.display='none';

	e_onetime = document.getElementById('onetime')
	e_reucurring = document.getElementById('reucurring')
	
	
	var dStart=dp.getDate();
	
	var tStart = e_starthour.value + ':' + e_startmin.value + ' ' + e_startampm.value

	var strDate = a_weekday[dStart.getDay()] + ', ' + a_monthname[dStart.getMonth()] + ' ' + dStart.getDate() + ' at ' + tStart
	e_scheduleecho.innerHTML = strDate 
		
		if(e_onetime.checked){
			e_scheduleecho.style.display='block';
			e_recurtext.value = e_scheduleecho.innerHTML
		}
		else{
			switch(e_repeatsevery.selectedIndex){
				case 0 : //daily
					if(e_repeatdays.value=='1'){
						e_dailyecho.innerHTML='Every day at ' + tStart
						}
					else{
						e_dailyecho.innerHTML='Every '+ e_repeatdays.value +' days at ' + tStart 
					}
					e_dailyset.style.display='block';
					e_dailyecho.style.display='block';
					e_recurtext.value = e_dailyecho.innerHTML
					break;
				case 1 : //weekly
					var strTmp=null;
					if(e_repeatweeks.value=='1'){
						strTmp='Occurs every week on '
					}
					else{
						strTmp='Occurs every '+ e_repeatweeks.value +' weeks on '
					}
					for(i=0;i<eDows.length;i++){
						if(eDows[i].nodeName=='INPUT'&&eDows[i].checked){
							strTmp+= eDows[i].id + ', '
						}
					}
					strTmp = strTmp.substr(0,strTmp.length-2)  //remove trailing comma
					e_weeklyset.style.display='block';
					e_weeklyecho.innerHTML = strTmp;
					e_weeklyecho.style.display='block';
					e_recurtext.value = e_weeklyecho.innerHTML
					break;
				case 2 : //monthly
					var monthNumName=null;
					if(e_monthdom.checked){
						if(e_repeatmonths.value==1){
							monthNumName= ' of every month.'
							}
						else{
							monthNumName= ', every '+ e_repeatmonths.value +' months.'
							}
						e_monthlyecho.innerHTML = 'Occurs on the ' + dStart.getDate() + ' day' + monthNumName
						}
					else{
						var downum = parseInt(dStart.getDate()/7)
						var weeknumName = null;
						switch(downum){
							case 0:
								weeknumName = 'first' 
								e_byday.value= '1' + a_Gweekday[dStart.getDay()]
								break;
							case 1:
								weeknumName = 'second' 
								e_byday.value= '2' + a_Gweekday[dStart.getDay()]
								break;
							case 2:
								weeknumName = 'third' 
								e_byday.value= '3' + a_Gweekday[dStart.getDay()]
								break;
							case 3:
								weeknumName = 'fourth' 
								e_byday.value= '4' + a_Gweekday[dStart.getDay()]
								break;
							case 4:
								weeknumName = 'last' 
								e_byday.value= '-1' + a_Gweekday[dStart.getDay()]
								break;
						}
						var monthNumName=null;
						if(e_repeatmonths.value==1){
							monthNumName= ' of every month.'
							}
						else{
							monthNumName= ', every '+ e_repeatmonths.value +' months.'
						}
						e_monthlyecho.innerHTML = 'Occurs on the ' + weeknumName + ' ' + a_weekday[dStart.getDay()] +  monthNumName
					}
					e_monthlyset.style.display='block';
					e_monthlyecho.style.display='block';	
					e_recurtext.value = e_monthlyecho.innerHTML
					break;
				case 3 : //yearly
					switch(e_repeatyears.value){
						case 1:
							e_yearlyecho.innerHTML = 'Occurs annually on ' + a_monthname[dStart.getMonth()] + ' ' + dStart.getDate()
							break;
						case 2:
							e_yearlyecho.innerHTML = 'Occurs biannually on ' + a_monthname[dStart.getMonth()] + ' ' + dStart.getDate()
							break;
						default:
							e_yearlyecho.innerHTML = 'Occurs every '+ e_repeatyears.value +' years on ' + a_monthname[dStart.getMonth()] + ' ' + dStart.getDate()	
							break;													
						}

					e_yearlyset.style.display='block';
					e_yearlyecho.style.display='block';
					alert(e_recurtext.value)
					e_recurtext.value = e_yearlyecho.innerHTML
					alert(e_recurtext.value)
					break;
				default :
					e_recurtext.value = e_scheduleecho.innerHTML
					break;
			}
		updateRecurranceRangeEcho();
		e_recurrangetext.value = e_recurrenceRangeEcho.innerHTML	
	}		
	
}

function toggleUntil(el){
	if(el.id=='never'){
		e_untildate.style.display='none'
	}
	else{
		e_untildate.style.display='block'
	}
	updateRecurranceRangeEcho();
}

function padNum(number, numDigits) {
	var str = number.toString();
	while (str.length < numDigits) str = '0' + str;
	return(str);
}

function gCalDate(inVal){
	return inVal.getFullYear() +''+ padNum(inVal.getMonth()+1,2) +''+ padNum(inVal.getDate(),2)
}

function validate_tripform(){
	e_startdate.value = gCalDate(dp.getDate())
	e_recurenddate.value = gCalDate(dp4.getDate())
	var bOK = true;
	var msg = '';

	if(e_name.value==''){
		msg=msg+'Please enter a contact name.\n'
		bOK = false
	}
	if(e_email.value==''){
		msg=msg+'Please enter a contact email address.\n  (your privacy respected)\n'
		bOK = false
	}

	if(e_type.value==''){
		msg=msg+'Please choose a trip type.\n'
		bOK = false
	}

	if(e_orig.value==''){
		msg=msg+'Please choose the trip origin.\n'
		bOK = false
	}
	if(e_dest.value==''){
		msg=msg+'Please choose the trip destinatrion.\n'
		bOK = false
	}
	
	if(bOK==false){
		alert(msg)
		return false
	}
	else{	
		return true
		}
}


function toggleOptions(el){
	if(el.value=='0'){
		document.getElementById('rideoptions').style.display='none';
	}
	else{
		document.getElementById('rideoptions').style.display='block';
	}
}