
function newWindow(url) {
	msgWindow=open(url,'window','scrollable=yes,resizable=yes,width=500,height=650');
	if (msgWindow.opener == null) msgWindow.opener = self;
	
	return false;	
	
}
function checkStartValue(form)
{
	var error ='';

	if (form.Start.value=='')
		 error += 'Please Select from the List Provided!';

	if (error == '')
		return true;
	else
	{
	 alert(error);
	 return false;
	}
}

function checkForm(form, alias)
{
	var error ='';
	var nameRegxp = /^([a-zA-Z-\s']+)$/;
	var addressRegxp = /^([0-9A-Za-z.#\s-]+)$/;
	var telnoRegxp = /^([0-9]{3})$/;
	var telnolastRegxp = /^([0-9]{4})$/;
	var emailRegxp = /^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;
	//var postalzipcodeRegxp = /^([A-Za-z0-9\s]{10})$/;
	var stopNumRegxp = /^([0-9]{5})$/;	
	var incidentLengthRegxp = /^[a-zA-Z0-9\s\r\W_]{1,2000}$/;	
	
	
	if (alias == 'cCustomerComplaint')
	{	

		//report type (radio button selection)
		if (form.complaintType.value=='')
		{
		 error = 'true';
		 alert('Please select a report type');
		 form.complaintType.focus(); 
		 return false;
		}
		
		//first name
		if (form.FirstName.value=='')
		{	
		  error = 'true';
		  alert('Please enter your first name');
		  form.FirstName.focus(); 
		  return false;
		}		
		//first name format
		if (nameRegxp.test(form.FirstName.value) != true)
		{	
		  error = 'true';
		  alert('Your first name contains invalid characters');
		  form.FirstName.focus(); 
		  return false;
		}
				
		//NOT required
		//last name
		if (form.LastName.value=='')
		{	
		  //error = 'true';
		  //alert('Please enter your last name');
		  //form.LastName.focus(); 
		  //return false;
		}		
		//last name format
		else if (nameRegxp.test(form.LastName.value) != true)
		{	
		  error = 'true';
		  alert('Your last name contains invalid characters');
		  form.LastName.focus(); 
		  return false;
		}
		
		//NOT required
		//street address
		if (form.StreetAddress.value=='')
		{	
		  //error = 'true';
		  //alert('Please enter your street address');
		  //form.StreetAddress.focus(); 
		  //return false;
		}		
		//address format
		else if (addressRegxp.test(form.StreetAddress.value) != true)
		{	
		  error = 'true';
		  alert('Your address contains invalid characters');
		  form.StreetAddress.focus(); 
		  return false;
		}		
		
		//NOT required
		//city
		//if (form.City.value=='')
		//{	
		//  error = 'true';
		//  alert('Please enter your city');
		//  form.City.focus(); 
		//  return false;
		//}
		
		//NOT required
		//province		
		//if (form.State.value=='')
		//{	
		//  error = 'true';
		//  alert('Please enter your province/state');
		//  form.State.focus(); 
		//  return false;
		//}
		
		//NOT required
		//postal code
		if (form.Zip.value=='')
		{	
		  //error = 'true';
		  //alert('Please enter your postal/zip code');
		  //form.Zip.focus(); 
		  //return false;
		}		
		//postal/zip format
	//	else if (postalzipcodeRegxp.test(form.Zip.value) != true)
	//	{	
	//	  error = 'true';
	//	  alert('Your postal/zip code is invalid.');
	//	  form.Zip.focus(); 
	//	  return false;
	//	}
	//	
		
		//NOT required
		//Home Phone Number is 3 fields combined
		//HomePhoneArea1		
		if (form.HomePhoneArea1.value=='')
		{	
		//  error = 'true';
		//  alert('Please provide a complete contact phone number');
		//  form.HomePhoneArea1.focus(); 
		//  return false;
		}
		//home phone number - numbers only		
		else if (telnoRegxp.test(form.HomePhoneArea1.value) != true)
		{ 
		  error = 'true';
		  alert('Please provide 3 numbers only for the first two sections of the phone number') 
		  form.HomePhoneArea1.focus(); 
		  return false; 
                }		
		
		//HomePhoneArea2		
		if (form.HomePhoneArea2.value=='')
		{	
		//  error = 'true';
		//  alert('Please provide a complete contact phone number');
		//  form.HomePhoneArea2.focus(); 
		//  return false;
		}
		//home phone number - numbers only
		else if (telnoRegxp.test(form.HomePhoneArea2.value) != true)
		{ 
		  error = 'true';
		  alert('Please provide 3 numbers only for the first two sections of the phone number') 
		  form.HomePhoneArea2.focus(); 
		  return false; 
                }		
		
		//HomePhoneNumber		
		if (form.HomePhoneNumber.value=='')
		{	
		//  error = 'true';
		//  alert('Please provide a complete contact phone number');
		//  form.HomePhoneNumber.focus(); 
		//  return false;
		}                
                //home phone number - numbers only
		else if (telnolastRegxp.test(form.HomePhoneNumber.value) != true)
		{ 
		  error = 'true';
		  alert('Please provide 4 numbers only for the last section of the phone number') 
		  form.HomePhoneNumber.focus(); 
		  return false; 
                }		
		
		//NOT required
		//Alternate Phone Number is 3 fields combined
		//BusinessPhoneArea1		
		if (form.BusinessPhoneArea1.value=='')
		{	
		  //error = 'true';
		  //alert('Please provide a complete alternate phone number');
		  //form.BusinessPhoneArea1.focus(); 
		  //return false;
		}
		//business phone number - numbers only
		else if (telnoRegxp.test(form.BusinessPhoneArea1.value) != true)
		{ 
		  error = 'true';
		  alert('Please provide 3 numbers only for the first two sections of the phone number') 
		  form.BusinessPhoneArea1.focus(); 
		  return false; 
		}		
		
		
		//BusinessPhoneArea1		
		if (form.BusinessPhoneArea2.value=='')
		{	
		  //error = 'true';
		  //alert('Please provide a complete alternate phone number');
		  //form.BusinessPhoneArea2.focus(); 
		  //return false;
		}
		//business phone number - numbers only
		else if (telnoRegxp.test(form.BusinessPhoneArea2.value) != true) 
		{ 
		  error = 'true';
		  alert('Please provide 3 numbers only for the first two sections of the phone number') 
		  form.BusinessPhoneArea2.focus(); 
		  return false; 
		}
		
		
		//BusinessPhoneNumber		
		if (form.BusinessPhoneNumber.value=='')
		{	
		  //error = 'true';
		  //alert('Please provide a complete alternate phone number');
		  //form.BusinessPhoneNumber.focus(); 
		  //return false;
		}		
		//business phone number - numbers only
		else if (telnolastRegxp.test(form.BusinessPhoneNumber.value) != true)
		{ 
		  error = 'true';
		  alert('Please provide 4 numbers only for the last section of the phone number') 
		  form.BusinessPhoneNumber.focus(); 
		  return false; 
                }                
		
		//email address		
		if (form.ElectronicMail.value=='')
		{	
		  error = 'true';
		  alert('Please provide an email address');
		  form.ElectronicMail.focus(); 
		  return false;
		}
		//email format
		else if (emailRegxp.test(form.ElectronicMail.value) != true)
		{ 
		  error = 'true';
		  alert('You have provided an invalid email address') 
		  form.ElectronicMail.focus(); 
		  return false; 
                }				
		
		//NOT required
		//date		
		//if (form.IncidentDate.value=='')
		//{	
		//  error = 'true';
		//  alert('Please provide the date of the incident you are reporting');
		//  form.IncidentDate.focus(); 
		//  return false;
		//}	
		
		
		//NOT required
		//Stop Number		
		if (form.StopNumber.value=='')
		{	
		  //error = 'true';
		  //alert('Please provide a stop number');
		  //form.StopNumber.focus(); 
		  //return false;
		}
		//Stop Number format
		else if (stopNumRegxp.test(form.StopNumber.value) != true)
		{ 
		  error = 'true';
		  alert('Please provide a 5 digit stop number') 
		  form.StopNumber.focus(); 
		  return false; 
                }		
		
		//incident
		if (form.Incident.value=='')
		{
		 error = 'true';
		 alert('Please enter a description of incident for the report');
		 form.Incident.focus(); 
		  return false;
		}
		//incident length
		else if (incidentLengthRegxp.test(form.Incident.value) != true)
		{ 
		  error = 'true';
		  alert('The incident details exceed the maximum characters allowed') 
		  form.Incident.focus(); 
		  return false; 
                }
	}

 	if (error == '')
	{ 
		form.CustomerBusinessPhone.value = form.BusinessPhoneArea1.value + form.BusinessPhoneArea2.value + form.BusinessPhoneNumber.value;
		form.CustomerHomePhone.value = form.HomePhoneArea1.value + form.HomePhoneArea2.value + form.HomePhoneNumber.value;
		
		return true;
	}
	else
	{
		//alert(error);
		return false;
	}
}


function systemFeedback(referer) {
	msgWindow=open('/hiwire?.a=SystemFeedback&referer='+referer,'feedback','scrollable=yes,resizable=yes,width=500,height=650');
	if (msgWindow.opener == null) msgWindow.opener = self;
}

function LineNameOnChange()
{
	var tempLineAbbr = document.ScheduleLookupSearch.LineName.value;

	if (tempLineAbbr.indexOf('-') != -1)
		document.ScheduleLookupSearch.LineAbbr.value = tempLineAbbr.substring(0,tempLineAbbr.indexOf('-')-1);
	else if (isNaN(parseInt(tempLineAbbr, 10)) == false)
	{
		for (i = tempLineAbbr.length; i < 3; i++)
		{
			tempLineAbbr = "0" + tempLineAbbr;
		}
		document.ScheduleLookupSearch.LineAbbr.value = tempLineAbbr;
	}
	else
		document.ScheduleLookupSearch.LineAbbr.value = tempLineAbbr.replace(/^\s*/, "").replace(/\s*$/, "");

	var la = document.ScheduleLookupSearch.LineAbbr.value;

	if (la.indexOf("'") != -1)
		{
			la = la.replace("'","");
			document.ScheduleLookupSearch.LineAbbr.value = la;
		}
}

function LineSelectOnChange()
{
 		document.ScheduleLookupSearch.LineName.value=document.ScheduleLookupSearch.LineSelect.options[document.ScheduleLookupSearch.LineSelect.selectedIndex].text; 
		document.ScheduleLookupSearch.LineAbbr.value=document.ScheduleLookupSearch.LineSelect.options[document.ScheduleLookupSearch.LineSelect.selectedIndex].value;
}

function setLocation(form,state)
{
		document.TF.FormState.value = state;
		form.submit();
}

function setDateRange(form, range)
{
 				 if (range == 'M')
				 {
				 	form.FromTime.value = '4:00';
					form.FromMeridiem[0].checked = true;
					form.ToTime.value = '12:00';
					form.ToMeridiem[1].checked = true;
				 }
				 else if (range == 'A')
				 {
				 	form.FromTime.value = '12:00';
					form.FromMeridiem[1].checked = true;
					form.ToTime.value = '6:00';
					form.ToMeridiem[1].checked = true;
				 }
				 else if (range == 'E')
				 {
				 	form.FromTime.value = '6:00';
					form.FromMeridiem[1].checked = true;
					form.ToTime.value = '4:00';
					form.ToMeridiem[0].checked = true;
				 }
				 else if (range == 'D')
				 {
				 	form.FromTime.value = '5:00';
					form.FromMeridiem[0].checked = true;
					form.ToTime.value = '4:59';
					form.ToMeridiem[0].checked = true;
				 }
 return true;
}


function setStops() 
{ 
 document.ScheduleLookup.StopDisplay[2].checked = true; 
 return true;
}


function setNextStop(id,lonlat)
{
 document.RF.SN.value = id;
 document.RF.GEO.value = lonlat;
}


function checkSchedule(form, alias)
{
	LineNameOnChange();
	
var error ='';

 if (alias == 'iScheduleLookupSearch')
 {
 		if (form.LineName.value=='')
		{
		 error += 'Please enter a Route or pick from the list';
		}
 }
 if (alias == 'iHeadwaySheet')
 {
 		if (form.LineName.value=='')
		{
		 error += 'Please enter a Route or pick from the list';
		}
		form.FormState.value = alias;
 }
 
 	if (error == '')
	{ 
		return true;
	}
	else
	{
	 alert(error);
	 
	 return false;
	}

}

function checkStop(form, alias, StopKeyType)
{
var error ='';

 if (alias == 'iLocationLookup')
 {
 		if (form.Start.value=='')
		{
		 error += 'Please enter a location';
		}

 }
 
	 if (alias == 'iNextBusFind' || alias == 'iNextBus' || alias == 'iStopLookup' )
	 {
			if (StopKeyType=='PublicNum')
			{
		  		if (form.PublicNum.value=='')
				{
				 error += 'Please enter a stop number';
				}
			
			}
			else if (StopKeyType=='StopAbbr')
			{
		  		if (form.StopAbbr.value=='')
				{
				 error += 'Please enter a stop number';
				}
			
			}
			else
			{
		  		if (form.StopId.value=='')
				{
				 error += 'Please enter a stop number';
				}
			}
	 }

 	if (error == '')
	{ 
		return true;
	}
	else
	{
	 alert(error);
	 
	 return false;
	 
	}

 
}

function submitForm(form)
{

	form.submit();
}

function doNothing()
{}

function SetNBDate()
{
 var go = showCalendar('Date', 'm-d-y', 'StopId');
 vCalendarShouldRefresh = true;		
}


function showDate() 
{

var d=new Date()
var weekday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
var monthname=new Array("Jan.","Feb.","Mar.","Apr.","May","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec.")

document.write(weekday[d.getDay()] + " - ")
document.write(monthname[d.getMonth()])
document.write(" " + d.getDate() + ", ")
document.write(d.getFullYear())
}

function printPage()
{
	if (navigator.appName == "Netscape") 
	{
       	window.print();
	}
	else
	{
	 if (confirm("Print this page?")) window.print();
	}
}

function addbookmark(bookmarkurl,bookmarktitle){
if (document.all)
window.external.AddFavorite(bookmarkurl,bookmarktitle)
}


//PRINT PAGE - REPLACE W/ PRINT TEMPLATES
function printWindow(){
   bV = parseInt(navigator.appVersion)
   if (bV >= 4) window.print()
}

Search = function() {
    return {
        submit: function() {
            var tzOffset = -new Date().getTimezoneOffset();
            var searchString = $.trim(document.getElementById('ctl02_ctl01_TXTQuery').value);

            location.href = 'http://www.translink.ca/site-info/search-results.aspx?&amp;lcid=9&amp;q=' + encodeURIComponent(searchString) + '&amp;t=' + tzOffset;
        },
        submitDocLib: function() {
            var form = document.forms[0];
            form.action = "http://www.translink.ca/site-info/search-results.aspx";
            form.method = "post";
            var el = document.createElement("input");
            el.type = "hidden";
            el.name = "docLib";
            el.value = "1";

            form.appendChild(el);
            form.submit();
        }
    }
} ();





