// CheckSession
function CheckSession(){
	var TrainRequest = new Request({
		url: '/reservations/train/arequests/checksessionTA.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'get',
		onSuccess: function(text){
		   if (CheckExpired(text))$("expire").set('text', text);
		}
	});
	TrainRequest.send();
	return true;
}
function CheckExpired(html){
   if (html.contains('expired')){PageReload("Your Session Has Expired.<br>Press OK to continue..."); return false;}
   else { return true;}
}



// General Request 
function GeneralRequest(ftype){
   FadeOutDivs();  
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/'+ftype+'_select.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
			    DisplayPod(ftype,2);
				$("expire").set('text', '60 min');			    
				$('step2div').set('text', '');
				$('step3div').set('text', '');
				$('step2div').adopt(tree);
				FadeShowDiv($('step2div'));
				if(html.contains('newDates.gif')){
					CalendarRequest('both','INTERNET');
				}
				if (!html.contains('btnSelectTan.gif') && ftype=='packages'){
					alertbox.alert("We're sorry, but there isn't any availability for the date you selected. You can search the package availability by class of service by clicking the button by the price.<br><br><span class=p10px>* Prices shown are based on 2 adults in double occupancy to help provide a range. The actual price will be returned once you find a date that is available.</span>");
				}
				if (!html.contains('btnSelectedRed') && ftype=='tickets'){
					alertbox.alert("We're sorry, but there isn't any availability for the date you selected. You can search tickets availability by class of service by clicking the button by the class name.<br>");
				}
			}
		},
		onFailure: function(){
			$('step2div').set('text', 'The request failed.');
			FadeShowDiv($('step2div'));
		}
	});
	TrainRequest.post($("rform"));
	return false;
}


function PackagesCalendar(calrate,rclass){
   FadeOutDivs();  
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/packages_calendar_prepare.php?sid='+$('SID').value+'&calrate='+calrate+'&rclass='+rclass+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
			    DisplayPod('packages',2);
				$("expire").set('text', '60 min');			    
				$('step2div').set('text', '');
				$('step3div').set('text', '');
				$('step2div').adopt(tree);
				FadeShowDiv($('step2div'));
				CalendarRequest('both',calrate);
			}
		},
		onFailure: function(){
			$('step2div').set('text', 'The request failed.');
			FadeShowDiv($('step2div'));
		}
	});
	TrainRequest.post($("rform"));
	return true;
}
function TicketsCalendar(calrate,rclass,direction){
   alertbox.alert("The availability calendar feature is temporarily unavailable. Please use the search form to look for alternate dates.");
   return false;
   FadeOutDivs();  
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/tickets_calendar_prepare.php?sid='+$('SID').value+'&calrate='+calrate+'&rclass='+rclass+'&direction='+direction+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
			    DisplayPod('packages',2);
				$("expire").set('text', '60 min');			    
				$('step2div').set('text', '');
				$('step3div').set('text', '');
				$('step2div').adopt(tree);
				FadeShowDiv($('step2div'));
			    CalendarRequest('both',calrate);
			}
		},
		onFailure: function(){
			$('step2div').set('text', 'The request failed.');
			FadeShowDiv($('step2div'));
		}
	});
	TrainRequest.post($("rform"));
	return true;
}


// Calendar Request 
function CalendarRequest(caltype,calrate){
    if (caltype=='left' && !$('cal_left').get('html').contains('run')){return false;}
	else $("calimg_right").fade(1);
    if (caltype=='right' && !$('cal_right').get('html').contains('run')){return false;}
	else $("calimg_left").fade(1);
	
	if ($('cal_right').getStyle('background-image')!='none' || $('cal_left').getStyle('background-image')!='none'){alertbox.alert("Another Request Is In Progress.<br>Please, wait..."); return false;}
	$("calendar_left").fade(0); $("cal_left").addClass('ajax-loading');
	$("calendar_right").fade(0); $("cal_right").addClass('ajax-loading');
	if (caltype=='both'){$('calpos').value=0;}
	if (caltype=='right'){$('calpos').value=$('calpos').value.toInt()+1;}
	if (caltype=='left'){$('calpos').value=$('calpos').value.toInt()-1;}
	
	
	var LeftCalendar = new Request.HTML({
		url: '/reservations/train/arequests/'+$("ftype").value+'_calendar.php?sid='+$('SID').value+'&calrate='+calrate+'&calpos='+$('calpos').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
					$("expire").set('text', '60 min');			    
					$('calendar_left').set('text', '');
					$('calendar_left').adopt(tree);
					$("calendar_left").fade(1);
					$("cal_left").removeClass('ajax-loading');
					if(html.contains('run'))$("calimg_left").fade(1);
					else $("calimg_left").fade(0);
			}
		},
		onFailure: function(){
			        $('calendar_left').set('text', 'The request failed.');
					$("calendar_left").fade(1);
					$("cal_left").removeClass('ajax-loading');
					
		}
	});
	
	var RightCalendar = new Request.HTML({
		url: '/reservations/train/arequests/'+$("ftype").value+'_calendar.php?sid='+$('SID').value+'&calrate='+calrate+'&calpos='+($('calpos').value.toInt()+1)+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
					$("expire").set('text', '60 min');			    
					$('calendar_right').set('text', '');
					$('calendar_right').adopt(tree);
					$("calendar_right").fade(1);
					$("cal_right").removeClass('ajax-loading');
					if(html.contains('run'))$("calimg_right").fade(1);
					else $("calimg_right").fade(0);
			}
		},
		onFailure: function(){
			        $('calendar_right').set('text', 'The request failed.');
					$("calendar_right").fade(1);
					$("cal_right").removeClass('ajax-loading');
		}
	});		
	if (caltype=='both'){
	    LeftCalendar.post($("rform"));
		RightCalendar.post($("rform"));			
	}
	if (caltype=='right'){
		RightCalendar.post($("rform"));		
		(function(){ $("calendar_left").set("html",$("calendar_right").get("html")); $("cal_left").removeClass('ajax-loading'); $("calendar_left").fade(1); }).delay(1000);
	}
	if (caltype=='left'){
	    LeftCalendar.post($("rform"));			
		(function(){ $("calendar_right").set("html",$("calendar_left").get("html"));$("cal_right").removeClass('ajax-loading'); $("calendar_right").fade(1); }).delay(1000);
	}
	return false;
}


// Customize - adding package to cart
function Customize(indata,ftype){
    FadeOutDivs();
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/'+ftype+'_customize.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
			        DisplayPod(ftype,3);
					$("expire").set('text', '60 min');
					$('step3div').set('text', '');
					$('step3div').adopt(tree);
					if ($('ftype').value=='tickets' && html.contains("HOLDFAILED")){
					    alertbox.alert('We\'re sorry, but selected tickets no more available. Please, make another selection');
						GeneralRequest('tickets');
						return false;
					}
					else {
					  if (html.contains('PACKAGEFAILED')){alertbox.alert('We\'re sorry, but selected package no more available. Please, make another selection');GeneralRequest(ftype);return false;}
					  if (html.contains('ROOMFAILED')){alertbox.alert('We\'re sorry, but selected room no more available. Please, make another selection');GeneralRequest(ftype);return false;}
					}
					FadeShowDiv($('step3div'));
			}
		},
		onFailure: function(){
			$('step3div').set('text', 'The request failed.');
			FadeShowDiv($('step3div'));
		}
	});
	if ($('ftype').value=='tickets')TrainRequest.post($('ticketsform'));
	else TrainRequest.post({'selectedroom': indata});
	return false;
}



// Customize - adding package to cart
function Pay(ftype){
    FadeOutDivs();
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/pay.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'get',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
					$("expire").set('text', '60 min');
					$('step4div').set('text', '');
					$('step4div').adopt(tree);
					FadeShowDiv($('step4div'));
			}
		},
		onFailure: function(){
			$('step4div').set('text', 'The request failed.');
			FadeShowDiv($('step4div'));
		}
	});
	TrainRequest.get({'ftype': ftype});
	return false;
}


// Process - processing payment
function Book(ftype){
    FadeOutDivs();
	if (ftype=='tickets')btype='_tickets';
	else btype='';
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/book'+btype+'TA.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
					$("expire").set('text', '60 min');
					if (html.contains('update_failed')){
					   alertbox.alert(html);
					   if (html.contains('update_failed_pay'))FadeShowDiv($('step4div'));
					   else {
					      $('step3div').set('text', '');
					      $('step4div').set('text', '');
					      $('step5div').set('text', '');
					      GeneralRequest(ftype);
					   }
					}
					else {
					   $('step2div').set('text', '');
					   $('step3div').set('text', '');
					   $('step4div').set('text', '');
					   $('step5div').set('text', '');
					   $('step5div').adopt(tree);					   
					   FadeShowDiv($('step5div'));
					}
			}
		},
		onFailure: function(){
			$('step5div').set('text', 'The request failed.');
			FadeShowDiv($('step5div'));
		}
	});
	//TrainRequest.post({'ftype': ftype});
	TrainRequest.post($("CForm"));
	return false;
}


function ConfEmailPrepare (confNumber, aaa, comission){
	   alertbox.prompt("<h3>Send Confirmation.</h3><br><br>Please provide e-mail address and we\'ll send you confrmation email there.<br><br>Email Address:",'',
	  { onComplete: 
	 	function(returnvalue) {
		     if (!returnvalue) {return false;}
			 else if(emailRe.test(returnvalue)){ ConfEmailRequest(confNumber,returnvalue,aaa,comission);}
			 else {alertbox.alert("Entered Email address is not valid");}
	    }
	  }
	); 
}


// Sending Confirmation Emails
function ConfEmailRequest(confNumber,mailto,aaa,comission){
	if (mailto == '') {
		ConfEmailPrepare(confNumber, aaa, comission);
		return false;
	}
	ftype=$("ftype").value;
	if (ftype=='tickets')btype='_tickets';
	else btype='';
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/book'+btype+'TA.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
					$("expire").set('text', '60 min');
					alertbox.alert(html);
			}
		},
		onFailure: function(){
			alertbox.alert("Cant send confirmation email");
		}
	});
	TrainRequest.post({'ftype': ftype,'confNumber':confNumber, 'mailto':mailto, 'aaa':aaa, 'comission':comission});
	//TrainRequest.post($("CForm"));
	return false;
}








// CreateNewUser - new user account creation
function CreateNewUser(ctype){
	var FormErrors=false;
	var FormErrorsAccount=false;
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/createuser.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
		    if (CheckExpired(html)){
					$("expire").set('text', '60 min');
					if (html.contains('Account Registration Complete'))doLogin();
					if (html.contains('Account Registration Complete') && $('step4div').get('html')!=''){Pay($("ftype").value);}
					else {
					  $('account').set('text', '');
					  $('account').adopt(tree);					 
					  FadeShowDiv($('account'));
					}
			}
		},
		onFailure: function(){
			$('account').set('text', 'The request failed.');
			FadeShowDiv($('account'));
		}
	});
	if (ctype=='submit'){
	   $$('#userform input.required_input').each(function(item){if(item.value=='')FormErrors=true;});
	   if (FormErrors){alertbox.alert("Please, fill all required fields marked with *"); return false;}
	   else {
	      if(check_account_info($('new_user_login').value,$('password').value,$('user_email').value)==false){FormErrorsAccount=true; return false;} 
		  else {
		     TrainRequest.post($("user_info")); 
			 $('alogin').set("value",$("new_user_login").value); 
			 $('apassword').set("value",$("password").value); 
		  }
	   }
	}
	else TrainRequest.send(); 
    FadeOutDivs(); 	
	return false;
}

// GetState Request
function getstateRequest(state){
	$('divstate').setStyle("display",'block');
   	$('divstate').set('html', '<div align="center">Please wait, loading...</div>');
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/getstate.php?sid='+$('SID').value+'&state='+state,
		method: 'get',
		onSuccess: function(tree,elements){
		   $('divstate').set('text', '');
		   $('divstate').adopt(tree);
		}
	});
	TrainRequest.send();
	return false;
}


function EmailPrompt(){
	alertbox.prompt("<h3>We're sorry, but your log-in attempt failed.</h3><br><br>Please use the box to the right to try again. Can\'t remember your user name and password? Please provide you e-mail address and we\'ll send you your log-in information.<br><br>Email Address:",'',
	  { onComplete: 
	 	function(returnvalue) {
		     if (!returnvalue) {return false;}
			 else if(emailRe.test(returnvalue)){CheckTAemail(returnvalue);}
			 else {alertbox.alert("Entered Email address is not valid",{onComplete: function(){EmailPrompt();} });}
	    }
	  }
	); 
}
function QuestionPrompt(question){
	alertbox.prompt("<h3>We're sorry, but your log-in attempt failed.</h3><br><br>Please use the box to the right to try again. Can\'t remember your user name and password? Please answer your secret question and we\'ll send you your log-in information.<br><br>"+question,'',
	  { onComplete: 
	 	function(returnvalue) {
		     if (!returnvalue) {return false;}
			 else {CheckTAanswer(returnvalue);}
	    }
	  }
	); 
}



function CheckTAemail(returnvalue){
	var TrainRequest2 = new Request.HTML({
		url: '/reservations/train/arequests/loginTA.php?sid='+$('SID').value+'&rand='+$time()+'&email='+returnvalue,
		method: 'post',
		onSuccess: function(tree,elements,html){
		  $("expire").set('text', '60 min');
		  alertbox.alert(html);
		}
	});
	TrainRequest2.post($("loginForm"));
	return false;   
}
function CheckTAanswer(returnvalue){
	var TrainRequest2 = new Request.HTML({
		url: '/reservations/train/arequests/loginTA.php?sid='+$('SID').value+'&rand='+$time()+'&answer='+returnvalue,
		method: 'post',
		onSuccess: function(tree,elements,html){
		  $("expire").set('text', '60 min');
		  alertbox.alert(html);
		}
	});
	TrainRequest2.post($("loginForm"));
	return false;   
}



// LoginRequest
function LoginRequest(){
    if ($defined($("loginbtn_copy"))){FadeOutDivs();}
	if ($defined($("TAinnerlogin"))){var myFx = new Fx.Tween('TAinnerlogin'); $("TAinnerlogin").fade('hide'); myFx.start('height', '10px'); $("TAinnerloginContainer").addClass('ajax-loading'); }
	
	var TrainRequest2 = new Request.HTML({
		url: '/reservations/train/arequests/loginTA.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
//		    alertbox.alert(html);
		    var innerChain = new Chain();
			$("expire").set('text', '60 min');
			if ($defined($("TAinnerloginContainer")))$("TAinnerloginContainer").removeClass('ajax-loading');
			if (html.contains('forgot_agency')){
				innerChain.chain(function(){ EmailPrompt(); });
			    innerChain.chain(function(){ $("logincontainer").fade(1); myFx.start('height', '270px'); });
			    innerChain.chain(function(){ $("loginTA").removeClass('ajax-loading'); $("TAinnerlogin").fade(1);});
				if ($defined($("loginbtn_copyTA")))$("loginbtn_copyTA").set("src","/reservations/train/tpl/img/btnLogin.gif");
			}
			else if (html.contains('forgot_contact')){
			    innerChain.chain(function(){ QuestionPrompt(html); });
			    innerChain.chain(function(){ $("logincontainer").fade(1); myFx.start('height', '270px'); });
			    innerChain.chain(function(){ $("loginTA").removeClass('ajax-loading'); $("TAinnerlogin").fade(1);});
				if ($defined($("loginbtn_copyTA")))$("loginbtn_copyTA").set("src","/reservations/train/tpl/img/btnLogin.gif");
			}
			else if (html.contains('incorrect_iata')){
			    innerChain.chain(function(){ alertbox.alert(html); });
			    innerChain.chain(function(){ $("logincontainer").fade(1); myFx.start('height', '270px'); });
			    innerChain.chain(function(){ $("loginTA").removeClass('ajax-loading'); $("TAinnerlogin").fade(1);});
				if ($defined($("loginbtn_copyTA")))$("loginbtn_copyTA").set("src","/reservations/train/tpl/img/btnLogin.gif");
			}			
			else if (html.contains('Logged in as')) {
				innerChain.chain(function(){ $('loginstatus').set('text',''); $('loginstatus').adopt(tree);});
		   	    innerChain.chain(function(){ $("loginform").setStyle("display","none"); $("loginstatus").setStyle("display","block");}); 
				innerChain.chain(function(){ $("logincontainer").fade(1); });
	            innerChain.chain(function(){ $("loginTA").removeClass('ajax-loading'); });
	            if ($defined($("loginbtn_copy")))innerChain.chain(function(){ Pay($('ftype').value) }); 
				if ($defined($("TAinnerlogin"))){
				   innerChain.chain(function(){ $("TAinnerBoxes").fade(0);});
				   innerChain.chain(function(){ myFx.start('height', '240px');});
				   innerChain.chain(function(){ $("TAinnerlogin").set('html',$('loggedTA').get('html')); });				   
				   innerChain.chain(function(){ $("TAinnerlogin").fade(1); });
				}
				if (html.contains('passwordchange')){
					alertbox.info("<b>Welcome to our Travel Partner site.</b><br><br>To get started, we need you to change the default user name and password for your agency.<br>");
					Profile();
				}
				else if (html.contains('contactpassword')){
					alertbox.info("<b>Welcome to our Travel Partner site.</b><br><br>To get started, we need you to set the Secret Question and change the default password.<br>");
					Profile();
				}				
				else if (contactAdded==true){
					Profile();
					contactAdded=false;
				}
				else {
				     document.location.href="/index.php";
				}
			}
			else {
			    innerChain.chain(function(){ alertbox.alert("Invalid Login or Password"+html); });
			    innerChain.chain(function(){ $("logincontainer").fade(1); myFx.start('height', '270px'); });
			    innerChain.chain(function(){ $("loginTA").removeClass('ajax-loading'); $("TAinnerlogin").fade(1);});
				if ($defined($("loginbtn_copyTA")))$("loginbtn_copyTA").set("src","/reservations/train/tpl/img/btnLogin.gif");
			}			
			var runInnerChain = function() {if (innerChain.callChain()==false){ runInnerChain = $clear(innertimer);}} 
            var innertimer = runInnerChain.periodical(400);
		}
	});
	TrainRequest2.post($("loginForm"));
	return false;   
}

// Profile
function Profile(){
    FadeOutDivs();
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/profileTA.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
				$('account').set('text', '');
				$('account').adopt(tree);					 
				FadeShowDiv($('account'));
		}
	});
	TrainRequest.send();
	return false;   
}

// Agency Contact Profile
function AgencyContact(contactid){
    FadeOutDivs();
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/AgencyContact.php?sid='+$('SID').value+'&rand='+$time()+'&contactid='+contactid,
		method: 'post',
		onSuccess: function(tree,elements,html){
				$('account').set('text', '');
				$('account').adopt(tree);					 
				FadeShowDiv($('account'));
		}
	});
	TrainRequest.send();
	return false;   
}



// Reservations
function Reservations(){
    FadeOutDivs();
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/reservations.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
				$('account').set('text', '');
				$('account').adopt(tree);					 
				FadeShowDiv($('account'));
		}
	});
	TrainRequest.send();
	return false;   
}


// Update Pofile
function UpdateProfileTA(){
	var FormErrors=false;
	var FormErrorsAccount=false;
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/profileTA.php?sid='+$('SID').value+'&rand='+$time()+'&mode=TA',
		method: 'post',
		onSuccess: function(tree,elements,html){
				$('account').set('text', '');
				$('account').adopt(tree);					 
				FadeShowDiv($('account'));
				if($('ProfileMsg').get('html').contains('update')){ 
	  			  $('alogin').set("value",$("new_user_login").value); 
			      $('apassword').set("value",$("password").value); 
				  if(!$('ProfileMsg').get('html').contains('loginfailed') && $('ProfileMsg').get('html').contains('relogin'))doLogin();
				  alertbox.alert($('ProfileMsg').get('html')); 
				}
		}
	});
    $$('#userform input.required_input').each(function(item){if(item.value==''){FormErrors=true;}});
	if (FormErrors==true){alertbox.alert("Please, fill all required fields marked with *"); return false;}
	else {
	    if ($('new_user_login').value==$('iatanumber').value){alertbox.alert("Sorry, you cannot use IATA number as login."); FormErrorsAccount=true; return false;}
	    if ($('password').value=='password' || $('password').value=='PASSWORD'){alertbox.alert("Please, change your password from the default value"); FormErrorsAccount=true; return false;}		
		if(check_account_info($('new_user_login').value,$('password').value,'noreply@thetrain.com')==false){FormErrorsAccount=true; return false;} 
		else {
		  FadeOutDivs();
		  TrainRequest.post($("user_info"));	  
		} 
	}
	return false;   
}




// Update Pofile
function UpdateProfile(){
	var FormErrors=false;
	var FormErrorsAccount=false;
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/profileTA.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
				$('account').set('text', '');
				$('account').adopt(tree);					 
				FadeShowDiv($('account'));
				if($('ProfileMsg').get('html').contains('update')){ 
	  			  $('alogin').set("value",$("new_user_login").value); 
			      $('apassword').set("value",$("password").value); 
				  alertbox.alert($('ProfileMsg').get('html')); 
				  if(!$('ProfileMsg').get('html').contains('loginfailed') && $('ProfileMsg').get('html').contains('relogin'))doLogin(); 
				}
		}
	});
    $$('#userform input.required_input').each(function(item){if(item.value==''){FormErrors=true;}});
	if (FormErrors==true){alertbox.alert("Please, fill all required fields marked with *"); return false;}
	else {
	    if(check_account_info($('new_user_login').value,$('password').value,$('user_email').value)==false){FormErrorsAccount=true; return false;} 
		else {
		  FadeOutDivs();
		  TrainRequest.post($("user_info"));	  
		} 
	}
	return false;   
}



// Create Contact
function CreateContact(){
	var FormErrors=false;
	var FormErrorsAccount=false;
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/AgencyContact.php?sid='+$('SID').value+'&rand='+$time()+'&contactid=create',
		method: 'post',
		onSuccess: function(tree,elements,html){
				if (html.contains('CONTACTCREATED')){
  				    contactAdded=true;
					alertbox.alert('Contact was successfully created');
					doLogin();
				}
				else {
					$('account').set('text', '');
					$('account').adopt(tree);					 
					FadeShowDiv($('account'));
					if($('ProfileMsg').get('html').contains('update')){ 
					  alertbox.alert($('ProfileMsg').get('html')); 			
					}
			    }
		}
	});
    $$('#userform input.required_input').each(function(item){if(item.value==''){FormErrors=true;}});
	if (FormErrors==true){alertbox.alert("Please, fill all required fields marked with *"); return false;}
	else {
	    if(check_contact_info($('user_email').value)==false){FormErrorsAccount=true; return false;} 
		else {
  		  FadeOutDivs();
		  TrainRequest.post($("user_info"));	  
		} 
	}
	return false;   
}


// Edit Contact
function EditContact(){
	var FormErrors=false;
	var FormErrorsAccount=false;
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/AgencyContact.php?sid='+$('SID').value+'&rand='+$time()+'&contactid=update',
		method: 'post',
		onSuccess: function(tree,elements,html){
				if (!html.contains('failed')){
  				    contactAdded=true;
					if(html.contains('update')){ alertbox.alert(html); }
					else alertbox.alert("Contact was successfully updated");
					doLogin();
				}
				else {
					$('account').set('text', '');
					$('account').adopt(tree);					 
					FadeShowDiv($('account'));
					if($('ProfileMsg').get('html').contains('update')){ 
					  alertbox.alert($('ProfileMsg').get('html')); 			
					}
			    }
		}
	});
    $$('#userform input.required_input').each(function(item){if(item.value==''){FormErrors=true;}});
	if (FormErrors==true){alertbox.alert("Please, fill all required fields marked with *"); return false;}
	else {
	    if(check_contact_info($('user_email').value)==false){FormErrorsAccount=true; return false;} 
		else {
  		  FadeOutDivs();
		  TrainRequest.post($("user_info"));	  
		} 
	}
	return false;   
}




// Password Recovery
function PasswordRecovery(){
	var FormErrors=false;
	var FormErrorsAccount=false;
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/passwordrecovery.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
				$('account').set('text', '');
				$('account').adopt(tree);					 
				FadeShowDiv($('account'));
				if($('ProfileMsg').get('html').contains('update')){ 
				  alertbox.alert($('ProfileMsg').get('html')); 
				}
		}
	});
    if ($defined($("precover")) && $("account").getStyle("display")=="block") $$('#userform input.required_input').each(function(item){if(item.value==''){FormErrors=true;}});
	if (FormErrors==true){alertbox.alert("Please, fill all required fields marked with *"); return false;}
	else {
		  FadeOutDivs();
		  if ($defined($("precover")) && $("account").getStyle("display")=="block")TrainRequest.post($("user_info"));	  
		  else TrainRequest.send();
	}
	return false;   
}



// LogoutRequest
function LogoutRequest(){
	var TrainRequest = new Request.HTML({
		url: '/reservations/train/arequests/logout.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(tree,elements,html){
			document.location.href="./indexTA.php";
		}
	});
	TrainRequest.send();
	return false;   
}






// Debug Request 
function debug_request(){
    $("debug_response").set('text', 'Updating...');
	var TrainRequest = new Request({
		url: '/reservations/train/arequests/debug_request.php?sid='+$('SID').value+'&rand='+$time(),
		method: 'post',
		onSuccess: function(text){
			$("debug_response").set('text',text);
		},
		onFailure: function(){
			$("debug_response").set('text', 'The request failed.');
		}
	});
	TrainRequest.post({'request': $("debug_request").get("text")});
	TrainRequest.send();
	return false;
}

