var legId = '';

var storedOrig ='';
var storedDest ='';
var storedVia ='';
var storedDM='';

var storedDivId='';
var originalBubbleContent='';

var createLayer='0';

var ticker = null;

function selectTable(id)
{

	if(legId != id)

	{
	document.getElementById('tableTrip_' +id).style.backgroundColor ='#c6e8f4';
	document.getElementById('tableTripHidden_' +id).style.backgroundColor ='#c6e8f4';
	
	if(document.getElementById('tableTripNext_' +id)){
		document.getElementById('tableTripNext_' +id).style.backgroundColor ='#c6e8f4';
	}
	
	document.getElementById('tableHidden_' +id).style.display ='';
	

	 for(var i=0; i< document.getElementById('tableTrip_' +id).childNodes.length; i++){
		if(document.getElementById('tableTrip_' +id).childNodes[i]){
			if(document.getElementById('tableTrip_' +id).childNodes[i].style){
				document.getElementById('tableTrip_' +id).childNodes[i].style.borderTop = 'solid #2082a2 1px';
				
				if(document.getElementById('tableTripNext_' +id)){
					document.getElementById('tableTripTdNext_' +id).style.borderBottom = 'solid #2082a2 1px';
				}
				else{
					document.getElementById('tableTrip_' +id).childNodes[i].style.borderBottom = 'solid #2082a2 1px';
				}
				
				document.getElementById('tableTripHidden_' +id).childNodes[i].style.borderTop = 'solid #2082a2 1px';
				document.getElementById('tableTripHidden_' +id).childNodes[i].style.borderBottom = 'solid #2082a2 1px';
				
			}
		}
	}
	
	
	if(document.getElementById('tableTripNext_' +id)){
		//document.getElementById('tableTripNext_' +id).childNodes[0].style.borderTop = 'solid #c6e8f4 1px';
		document.getElementById('tableTripTdNext_' +id).style.borderBottom = 'solid #2082a2 1px';
	}

	document.getElementById('itineraryBox_' +id).style.display ='block';
	document.getElementById('spanTable_' +id).style.fontWeight ='bold';
	document.getElementById('spanTable_' +id).style.textDecoration ='none';
	document.getElementById('spanTableHidden_' +id).style.fontWeight ='bold';
	document.getElementById('spanTableHidden_' +id).style.textDecoration ='none';
	

	if(document.getElementById('tableTrip_' +legId)){
		document.getElementById('tableTrip_' +legId).style.backgroundColor ='';
		
		if(document.getElementById('tableTripNext_' +legId)){
			document.getElementById('tableTripNext_' +legId).style.backgroundColor ='';
		}
		
		
		document.getElementById('itineraryBox_' +legId).style.display ='none';
		document.getElementById('spanTable_' +legId).style.fontWeight ='normal';
		document.getElementById('spanTable_' +legId).style.textDecoration ='underline';
		
		document.getElementById('tableHidden_' +legId).style.display ='none';
		
		for(var i=0; i< document.getElementById('tableTrip_' +id).childNodes.length; i++){
			if(document.getElementById('tableTrip_' +legId).childNodes[i]){
				if(document.getElementById('tableTrip_' +legId).childNodes[i].style){
					document.getElementById('tableTrip_' +legId).childNodes[i].style.borderTop = 'none';
					document.getElementById('tableTrip_' +legId).childNodes[i].style.borderBottom = 'none';
				}
			}
		} 
		
		if(document.getElementById('tableTripNext_' +legId)){
			document.getElementById('tableTripTdNext_' +legId).style.borderBottom = 'none';
			document.getElementById('tableTripTdNext_' +legId).style.borderBottom = 'none';
		}
		
		
	}
		
	legId = id;

	}
	
}


function OperatorSelectionSetSelection(select, type)
{

	var obj = document.forms[0].preferInclOP;
	
	var useOnlyOP = document.forms[0].useOnlyOP;
	var preferInclOP = document.forms[0].preferInclOP;
	var preferExclOP = document.forms[0].preferExclOP;
	

	
	if(type=='preferExclOP')
	{
		obj = document.forms[0].preferExclOP;
	}
	else if(type=='useOnlyOP'){
		obj = document.forms[0].useOnlyOP;
	}

	
	if (obj)
	{
		for (var iIndex = 0; iIndex < obj.length; iIndex++)
		
			if(obj[iIndex].checked==true){

				obj[iIndex].checked=select;

				document.forms[0].preferInclOP[iIndex].disabled=false;
				document.forms[0].preferExclOP[iIndex].disabled=false;
				document.forms[0].useOnlyOP[iIndex].disabled=false;

				document.forms[0].preferInclOP[iIndex].parentNode.style.color='#3f3f3f';
				document.forms[0].preferExclOP[iIndex].parentNode.style.color='#3f3f3f';
				document.forms[0].useOnlyOP[iIndex].parentNode.style.color='#3f3f3f';
		
			}
	}
	
	var count = 0;

	if (useOnlyOP)
	{
		for (var iIndex = 0; iIndex < preferInclOP.length; iIndex++)

			if(preferInclOP[iIndex] && preferInclOP[iIndex].checked==true)
			{
				++count
			}



		for (var iIndex = 0; iIndex < preferExclOP.length; iIndex++)

			if(preferExclOP[iIndex] && preferExclOP[iIndex].checked==true)
			{
				++count
			}



		if (useOnlyOP && count > 0)
		{
			for (var iIndex = 0; iIndex < useOnlyOP.length; iIndex++)

				if(useOnlyOP[iIndex])
				{
					useOnlyOP[iIndex].disabled=true;
					useOnlyOP[iIndex].parentNode.style.color='#999999';
				}
		}	
		else if(count == 0){

			for (var iIndex = 0; iIndex < useOnlyOP.length; iIndex++)

				if(useOnlyOP[iIndex])
				{
					useOnlyOP[iIndex].disabled=false;
					useOnlyOP[iIndex].parentNode.style.color='#3f3f3f';
				}
		}

	}

	
}


function removeUseOnly(select, obj)
{

	var useOnlyOP = document.forms[0].useOnlyOP;
	var preferInclOP = document.forms[0].preferInclOP;
	var preferExclOP = document.forms[0].preferExclOP;
	
		if (useOnlyOP)
		{
			for (var iIndex = 0; iIndex < useOnlyOP.length; iIndex++)

				if(useOnlyOP[iIndex].checked==true && useOnlyOP[iIndex].id != obj.id)
				{
					useOnlyOP[iIndex].checked=select;
				}
		}
		
		
		if (preferInclOP)
		{
			for (var iIndex = 0; iIndex < preferInclOP.length; iIndex++)

				if(preferInclOP[iIndex] && obj.checked==true)
				{
					preferInclOP[iIndex].disabled=true;
					preferInclOP[iIndex].parentNode.style.color='#999999';
				}
				else if(preferInclOP[iIndex]){
					preferInclOP[iIndex].disabled=false;
					preferInclOP[iIndex].parentNode.style.color='#3f3f3f';
				}
		}
		
		
		if (preferExclOP)
		{
			for (var iIndex = 0; iIndex < preferExclOP.length; iIndex++)

				if(preferExclOP[iIndex] && obj.checked==true)
				{
					preferExclOP[iIndex].disabled=true;
					preferExclOP[iIndex].parentNode.style.color='#999999';
				}
				else if(preferExclOP[iIndex]){
					preferExclOP[iIndex].disabled=false;
					preferExclOP[iIndex].parentNode.style.color='#3f3f3f';
				}				
				
		}
}





function disableOtherOP(type1, type2, obj){

	var id=  obj.value.split(':');
	var useOnlyOP = document.forms[0].useOnlyOP;
	var preferInclOP = document.forms[0].preferInclOP;
	var preferExclOP = document.forms[0].preferExclOP;
	

	if(obj.checked==true){
		document.getElementById(type1 + '_'+ id[2]).disabled=true;
		document.getElementById('span' + type1 + '_'+ id[2]).style.color='#999999';
		
		document.getElementById(type2 + '_'+ id[2]).disabled=true;
		document.getElementById('span' + type2 + '_'+ id[2]).style.color='#999999';
	}
	else{
		document.getElementById(type1 + '_'+ id[2]).disabled=false;
		document.getElementById('span' + type1 + '_'+ id[2]).style.color='#3f3f3f';
		
		document.getElementById(type2 + '_'+ id[2]).disabled=false;
		document.getElementById('span' + type2 + '_'+ id[2]).style.color='#3f3f3f';
	}
	
	
	if(type2=='useOnlyOP'){

		var count = 0;
		
		if (useOnlyOP)
		{
			for (var iIndex = 0; iIndex < preferInclOP.length; iIndex++)

				if(preferInclOP[iIndex] && preferInclOP[iIndex].checked==true)
				{
					++count
				}
				
			
			
			for (var iIndex = 0; iIndex < preferExclOP.length; iIndex++)

				if(preferExclOP[iIndex] && preferExclOP[iIndex].checked==true)
				{
					++count
				}
				
			
			if (useOnlyOP && count > 0)
			{
				for (var iIndex = 0; iIndex < useOnlyOP.length; iIndex++)

					if(useOnlyOP[iIndex])
					{
						useOnlyOP[iIndex].disabled=true;
						useOnlyOP[iIndex].parentNode.style.color='#999999';
					}
			}	
			else if(count == 0){
			
				for (var iIndex = 0; iIndex < useOnlyOP.length; iIndex++)

					if(useOnlyOP[iIndex])
					{
						useOnlyOP[iIndex].disabled=false;
						useOnlyOP[iIndex].parentNode.style.color='#3f3f3f';
					}
			
			
			}
			
		}
		
	}
	
	checkSelMOT('OP');

}


function changeImg(obj){

	if(obj.className=='routesListingBox'){
		obj.className='routesListingBox routesListingBoxOn';
	}
	else{
		obj.className='routesListingBox';
	}
}

function changeColor(parObj, obj){
	if(parObj.className=='routesListingBox'){
		obj.style.color='#702E30';
	}
	else{
		obj.style.color='#3F3F3F';
	}
}



function findeO(obj){
var oPos = 0;

	if(obj!=null){
		if (obj.offsetParent)
		{
		while (obj.offsetParent)
		{
		oPos += obj.offsetTop
		obj = obj.offsetParent;
		}
		}
		else if (obj.y)
		oPos += obj.y;
		return oPos;
	}
}


function viewFootpath(obj, route, pos){

	if(obj.className=='routeTable' || obj.className==''){
		obj.className='routeTableOn';
		document.getElementById('footpathDetails_' + route + '_' + pos).style.display='';
	}
	else{
		obj.className='routeTable';
		document.getElementById('footpathDetails_' + route + '_' + pos).style.display='none';
	}

}

function collapsingSummary(){

	if(document.getElementById('collapsingSummary').className==='inactive' || document.getElementById('collapsingSummary').className===''){
		document.getElementById('collapsingSummary').className='active';
		document.getElementById('ScrollDiv').style.display='';
		document.getElementById('ScrollDivHidden').style.display='none';
	}
	else{
		document.getElementById('collapsingSummary').className='inactive';
		document.getElementById('ScrollDiv').style.display='none';
		document.getElementById('ScrollDivHidden').style.display='';
	}


}


function viewCarrier(type){

	if(type=='Rail'){
		document.getElementById('busCarriers').style.display='none';
		document.getElementById('railCarriers').style.display='';
		document.getElementById('ferryCarriers').style.display='none';
	}
	else if(type=='Ferry'){
		document.getElementById('busCarriers').style.display='none';
		document.getElementById('railCarriers').style.display='none';
		document.getElementById('ferryCarriers').style.display='';
	}
	else{
		document.getElementById('busCarriers').style.display='';
		document.getElementById('railCarriers').style.display='none';
		document.getElementById('ferryCarriers').style.display='none';
	}
	
	
//	removeUseOnly()
	

}



function addCarriers()
{

	var countOp = document.getElementById('countOperator').select;
	
	
	//operatorSelection
	
	var carrierType = document.forms[0].carrier.value;
	
	var elements = document.forms[0].elements.length;
	
	
	 for (var i = 0; i <= elements; i++)
	{		

		if(document.forms[0].elements[i]){
	
			if(document.forms[0].elements[i].type == 'checkbox'){

				var opValue = document.forms[0].elements[i].value.split(':');

				var id = opValue[1];

				if(document.getElementById('operator' + carrierType +'_' +id)){
					if(document.getElementById('operator' + carrierType +'_' +id).checked==true && document.getElementById('useOnlyCheckbox').checked==true){
						var selection = document.getElementById('only');
						var opName = document.getElementById('operator' + carrierType +'_' +id).value.split(':');
						var newspan = document.createElement('span');
						if(document.getElementById('only').innerHTML.indexOf(opName[0]) =='-1'){
							document.getElementById('spanOperator' + carrierType +'_' +id).style.color="#979797";
							document.getElementById('operator' + carrierType +'_' +id).disabled="disabled";
							document.getElementById('operator' + carrierType +'_' +id).checked= false;

							newspan.setAttribute("id", "remove_" + opName[1]);
							newspan.innerHTML = opName[0] + " <a href=\"javascript:removeCarriers('" + opName[1] + "', 'only', '" + carrierType +"')\">&#171; remove</a><input type=\"hidden\" name=\"useOnlyOP\" value=\"oak:" + opName[0] + ":" + opName[1] +"\" /> <br />";
							selection.appendChild(newspan);
						}
					}
				}

				if(document.getElementById('operator' + carrierType +'_' +id)){
					if(document.getElementById('operator' + carrierType +'_' +id).checked==true && document.getElementById('preferExcludeCheckbox').checked==true){
						var selection = document.getElementById('exclude');
						var opName = document.getElementById('operator' + carrierType +'_' +id).value.split(':');
						var newspan = document.createElement('span');

						//alert(document.getElementById('exclude').innerHTML.indexOf(opName[0]));
						if(document.getElementById('exclude').innerHTML.indexOf(opName[0]) =='-1'){
							document.getElementById('spanOperator' + carrierType +'_' +id).style.color="#979797";
							document.getElementById('operator' + carrierType +'_' +id).disabled="disabled";
							document.getElementById('operator' + carrierType +'_' +id).checked= false;

							newspan.setAttribute("id", "remove_" + opName[1]);
							newspan.innerHTML = opName[0] + " <a href=\"javascript:removeCarriers('" + opName[1] + "', 'exclude', '"  + carrierType +"')\">&#171; remove</a><input type=\"hidden\" name=\"preferExclOP\" value=\"oak:" + opName[0] + ":" + opName[1] +"\" /><br />";
							selection.appendChild(newspan);
						}
					}
				}

				if(document.getElementById('operator' + carrierType +'_' +id)){
					if(document.getElementById('operator' + carrierType +'_' +id).checked==true && document.getElementById('preferIncludeCheckbox').checked==true){
						var selection = document.getElementById('include');
						var opName = document.getElementById('operator' + carrierType +'_' +id).value.split(':');
						var newspan = document.createElement('span');
						if(document.getElementById('include').innerHTML.indexOf(opName[0]) =='-1'){
							document.getElementById('spanOperator' + carrierType +'_' +id).style.color="#979797";
							document.getElementById('operator' + carrierType +'_' +id).disabled="disabled";
							document.getElementById('operator' + carrierType +'_' +id).checked= false;


							newspan.setAttribute("id", "remove_" + opName[1]);
							newspan.innerHTML = opName[0] + " <a href=\"javascript:removeCarriers('" + opName[1] + "', 'include',  '"  + carrierType +"')\">&#171; remove</a><input type=\"hidden\" name=\"preferInclOP\" value=\"oak:" + opName[0] + ":" + opName[1] +"\" /><br />";
							selection.appendChild(newspan);
						}
					}
				}

			}
		
		}
	} 
}



function removeCarriers(name, type, carrierType)
{
  var spanId = document.getElementById('remove_' +name);
  
  var remove = document.getElementById(type).removeChild(spanId);
  
	document.getElementById('spanOperator' + carrierType +'_' +name).style.color="#3F3F3F";
	document.getElementById('operator' + carrierType +'_' + name).disabled= false;	
}


function removePrefer(){

	document.getElementById('include').innerHTML = '';
	document.getElementById('exclude').innerHTML = '';
	
	
	var carrierType = document.forms[0].carrier.value;
	
	var elements = document.forms[0].elements.length;
	
	
	
	 for (var i = 0; i <= elements; i++)
	{		

		if(document.forms[0].elements[i]){
	
			if(document.forms[0].elements[i].type == 'checkbox' ){

			
				if(document.forms[0].elements[i].id.indexOf('operator' + carrierType)!='-1'){
				
					var name = document.forms[0].elements[i].id.split('_');

					
							document.getElementById('spanOperator' + carrierType +'_' +name[1]).style.color="#3F3F3F";
							document.forms[0].elements[i].disabled= false;
							document.forms[0].elements[i].checked= false;

				}


			}
		
		}
	} 
	
	
	
}



/* *****************  */
/* **** calendar ***  */
/* *****************  */

Months = new Array(12);
Months[0] = "January";
Months[1] = "Febuary";
Months[2] = "March";
Months[3] = "April";
Months[4] = "May";
Months[5] = "June";
Months[6] = "July";
Months[7] = "August";
Months[8] = "September";
Months[9] = "October";
Months[10] = "November";
Months[11] = "December";


function PadSpaces(TheString)
{
        var Spaces = "             ";
        len = Math.round((9 - TheString.length)/2);

        return Spaces.substring(0,len) + TheString;
}

function NumLeapYears(StartYear, EndYear)
{
        var LeapYears, i;

        if (EndYear >= StartYear){
                for(LeapYears = 0; StartYear <= EndYear; StartYear++)
                if (IsLeapYear(StartYear)) LeapYears++;
        }else{
        for(LeapYears = 0; EndYear <= StartYear; EndYear++)
                if (IsLeapYear(EndYear)) LeapYears++;
        }
        return LeapYears;
}

function IsLeapYear(Year)
{
        if(Math.round(Year/4) == Year/4){
                if(Math.round(Year/100) == Year/100){
                        if(Math.round(Year/400) == Year/400)
                                return true;
                        else return false;
                }else return true;
        }
        return false;
}

function Trim(TheString)
{
        var len;

        len = TheString.length;
        while(TheString.substring(0,1) == " "){ //trim left
                TheString = TheString.substring(1, len);
                len = TheString.length;
        }

        while(TheString.substring(len-1, len) == " "){ //trim right
                TheString = TheString.substring(0, len-1);
                len = TheString.length;
        }
        return TheString;
}

function DetermineMonthIdx()
{
        var i, month, month_s, len;


        month = Trim(document.getElementById('hiddenMonth').value);
        len = month.length;

        for( i = 0; i <12; i++){
                month_s = Months[i].substring(0,len);
                if (month_s.toUpperCase() == month.toUpperCase())
                        return (i);
        }
        return -1;
}


function FindNewYearStartingDay(Year)
{
        var LeapYears, Years, Day;

        LeapYears = NumLeapYears(1995, Year);

        if  (Year >=1995)
                Years = (Year -1995)+LeapYears;
        else    Years = (Year -1995)-LeapYears;

        if  (Year >=1995)
                Day = Math.round(((Years/7 - Math.floor(Years/7))*7)+.1);
        else    Day = Math.round(((Years/7 -  Math.ceil(Years/7))*7)-.1);

        if (Year >=1995){
                if(IsLeapYear(Year)) Day--;
        }else Day += 7;

        if(Day < 0) Day = 6;
        if(Day > 6) Day = 0;
        return Day;
}

function FindNumDaysInMonth(Year, Month)
{
        if(Month == 1){
                if(IsLeapYear(Year)) return 29;
                else return 28;
        }else{
                if(Month >6) Month++;
                if(Month/2 == Math.round(Month/2))  return 31;
        }
 return 30;
}

function FindMonthStartDay(NewYearDay, Year, Month)
{
        var MonthStartDay;

        AddArray = new Array(12);

        AddArray[0]=0;AddArray[1]=3;AddArray[2]=3;AddArray[3]=6;
        AddArray[4]=1;AddArray[5]=4;AddArray[6]=6;AddArray[7]=2;
        AddArray[8]=5;AddArray[9]=0;AddArray[10]=3;AddArray[11]=5;

        MonthStartDay = NewYearDay + AddArray[Month];
        if(IsLeapYear(Year)  && (Month ) > 1) MonthStartDay ++;

        if (MonthStartDay > 6) MonthStartDay -= 7;

        return MonthStartDay;
}

function FillCalendar(type)
{

        var Year, Month, Midx, NewYearDay, MonthStartDay;
        var NumDaysInMonth, i, t, x;
        

       	Year = parseFloat(document.getElementById('hiddenYear' +type).value);
        Month = document.getElementById('hiddenMonth' +type).value;

        Midx  =  DetermineMonthIdx();
        if (Midx == -1){
                alert ("Can't recognize that month");
                return;
        }

        NewYearDay = FindNewYearStartingDay(Year);
        MonthStartDay = FindMonthStartDay(NewYearDay, Year,  Midx);
        NumDaysInMonth = FindNumDaysInMonth(Year, Midx);

        var allMyPrettyDivs = document.getElementsByTagName('div');
       
       
		var date=new Date(); 
		var dd=date.getDate(); 
		var mm=date.getMonth(); 
		var yy=date.getYear(); 
		var weekday=date.getDay(); 
		
		var dayLast=date.getDate(); 
		var monthLast=date.getMonth(); 
		var yearLast=date.getYear(); 
		
		
		if(date.getDate() +21 > NumDaysInMonth){
			dayLast = (dd + 20) - FindNumDaysInMonth(Year, Midx);
			monthLast = mm +1 
			
			if(monthLast==12){
				monthLast = 0;
				yearLast = yearLast +1;
			}
			
		}
		else{
			dayLast = date.getDate() +20;
		}

		
		if (yy < 999){
			 yy += 1900;
			 yearLast+= 1900;
		 }


        for(i = 0;  i < allMyPrettyDivs.length;  i++){

			if(i==0){
				x = 0;
			}

			if(allMyPrettyDivs[i].className == "row11" +type || allMyPrettyDivs[i].className == "row11before" +type || allMyPrettyDivs[i].className == "withoutDay"+type || allMyPrettyDivs[i].className == "row11today"+type){

				t = x + 1 - MonthStartDay;

				if ( t >= 1  &&  t <= NumDaysInMonth)
				{
						allMyPrettyDivs[i].innerHTML = t;
						
						if(dd == t && mm ==  Midx && yy == Year){
							allMyPrettyDivs[i].className = "row11today"+type;
							allMyPrettyDivs[i].disabled = false;
							
							
							allMyPrettyDivs[i].onclick = function (e) {
							
							if(this.className=='row11before'){
								return false;
							}
							
							
							var monthNumber = Midx + 1; 

							var dayDate = this.innerHTML;
							var monthDate = Midx + 1;

							if(this.innerHTML.length==1)dayDate ='0' + dayDate;

							if(monthDate < 10)monthDate ='0' + monthDate;


							/* month + day + year */
							document.getElementById('monthDayYearField'+type).value = monthNumber + '/' + this.innerHTML + '/' + Year;
							document.getElementById('itdDate'+type).value = Year + '' + monthDate +'' + dayDate;
							document.getElementById('calendar-border'+type).style.display='none';
							};
							
						}
						else if(dd > t && mm ==  Midx && yy == Year || mm >  Midx && yy == Year || yy > Year){
							allMyPrettyDivs[i].className = "row11before"+type;
							allMyPrettyDivs[i].disabled = true;
						}  
						
						else if(dayLast < t && monthLast ==  Midx && yearLast == Year || 
							monthLast <  Midx && yearLast == Year || 
							yearLast < Year ||
							dayLast < t && monthLast >  Midx && yearLast > Year){
							allMyPrettyDivs[i].className = "row11before"+type;
							allMyPrettyDivs[i].disabled = true;
						} 

						
						else{
							allMyPrettyDivs[i].className = "row11"+type;
							allMyPrettyDivs[i].disabled = false;
							
							
							allMyPrettyDivs[i].onclick = function (e) {
							
							
							if(this.className=='row11before'){
								return false;
							}
							
							
							var monthNumber = Midx + 1; 

							var dayDate = this.innerHTML;
							var monthDate = Midx + 1;
							
							var weekday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday", "Sunday");
							
							var weekdayNumber = this.id.split('-');

							if(this.innerHTML.length==1)dayDate ='0' + dayDate;

							if(monthDate < 10)monthDate ='0' + monthDate;


							/* month + day + year */
							document.getElementById('weekday'+type).innerHTML = weekday[weekdayNumber[1] -1];
							document.getElementById('monthDayYearField'+type).value = monthNumber + '/' + this.innerHTML + '/' + Year;
							document.getElementById('itdDate'+type).value = Year + '' + monthDate +'' + dayDate;
							document.getElementById('calendar-border'+type).style.display='none';
							
							};
							
						} 
						
				}
				else {
					allMyPrettyDivs[i].innerHTML= " ";
					allMyPrettyDivs[i].className = "withoutDay"+type;
				}
				x = x+1;
		 	}

        }
}


function IncDecYear(step, type)
{
	val =0;

	if(DetermineMonthIdx()=='11' && step=='next'){
		val = 1;
	}

	if(DetermineMonthIdx()=='0' && step=='prev'){
		val = -1;
	}

        var valNum = parseInt(val);
        var valNum2 = parseInt(document.getElementById('hiddenYear').value)
        document.getElementById('hiddenYear').value = valNum2 + valNum;
        document.getElementById('year').innerHTML = valNum2 + valNum;

        FillCalendar(type)
        
        
        
     if(step=='prev'){
    	 IncDecMonth(-1, type);
     }
     else{
     	IncDecMonth(1, type);
     }
}



function IncDecMonth(val, type)
{
        var valNum = parseInt(val);
        var Midx  =  DetermineMonthIdx();
        
        var MonthSave = DetermineMonthIdx();

        Midx += valNum;
        if(Midx > 11) Midx = 0;
        if(Midx < 0)  Midx = 11;

        document.getElementById('hiddenMonth').value = PadSpaces(Months[Midx]);
        document.getElementById('month' + type).innerHTML = PadSpaces(Months[Midx]);

        FillCalendar(type);
}



function checkDate(obj){

	if (obj.id=='itdTimeHour') {
		var hour = parseInt(obj.value);
		
		if(isNaN(hour) || !isNumeric(obj.value)){
			obj.value = 1;
		}
		else if(hour < 0)
		{
			hour = Math.abs(hour);
			obj.value = hour;
		}
		else if(hour > 12)
		{
			while (hour > 12) {
				hour -= 12;
			}	

			obj.value = hour;
		}
	}

	if (obj.id=='itdTimeMinute') {
		var minute = parseInt(obj.value);
		
		if(isNaN(minute) || !isNumeric(obj.value)){
			obj.value = '00';
		}
		else if(minute < 0)
		{
			minute = Math.abs(minute);
			obj.value = minute;
		}
		else if(minute > 59)
		{
			while (minute > 59) {
				minute -= 59;
			}	
			
			obj.value = minute;
		}
	}
	
}

function isNumeric(strString)
   //  check for valid numeric strings	
{
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;

	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	  {
	  strChar = strString.charAt(i);
	  if (strValidChars.indexOf(strChar) == -1)
		 {
		 blnResult = false;
		 }
	  }
	return blnResult;
}

function changeMapText(obj, type, line, coords){


	if(obj.innerHTML=='Map It'){
	
		obj.innerHTML= 'Unmap It';
		obj.href= "javascript:mdvOAKMapHelper.mapIt(this, " + type +",'"+ line +"', '" + coords + "');";
	}
	else{
		obj.innerHTML= 'Map It';
		obj.href= 'javascript:mdvOAKMapHelper.unmapIt();';
	}

};



function insertDate(obj, type){

	var date = obj.value;
	var insertDate = date.split('/');
	
	var Year, Month, Midx, NewYearDay, MonthStartDay;
	var NumDaysInMonth, i, t, x;
        

	Year = parseFloat(document.getElementById('hiddenYear' +type.toUpperCase()).value);
	Month = document.getElementById('hiddenMonth' +type.toUpperCase()).value;

	Midx  =  DetermineMonthIdx();
	if (Midx == -1){
			alert ("Can't recognize that month");
			return;
	}

	NewYearDay = FindNewYearStartingDay(Year);
	MonthStartDay = FindMonthStartDay(NewYearDay, Year,  Midx);
	NumDaysInMonth = FindNumDaysInMonth(Year, Midx);

   
	var today=new Date(); 
	var dd=today.getDate(); 
	var mm=today.getMonth() +1; 
	var yy=today.getYear(); 
	
	var dayLast=today.getDate(); 
	var monthLast=today.getMonth() +1; 
	var yearLast=today.getYear(); 
	
	
	if(today.getDate() +21 > NumDaysInMonth){
		dayLast = (dd + 21) - FindNumDaysInMonth(Year, Midx -1);
		monthLast = mm +1 
	}
	else{
		dayLast = today.getDate() +21;
	}

	if (yy < 999){
		 yy += 1900;
		 yearLast+= 1900;
	 }
	 
	
	var s = new Date(parseFloat(insertDate[2]), parseFloat(insertDate[0])-1, parseFloat(insertDate[1]));
		s.setHours(0);
		s.setMinutes(0);
		s.setSeconds(0);
		s.setMilliseconds(0);

	var selectionDate = Date.parse(s);
		
	var	t = new Date();
		t.setHours(0);
		t.setMinutes(0);
		t.setSeconds(0);
		t.setMilliseconds(0);
	var today = Date.parse(t);
		today += 3 * 7 * 24 * 60 * 60 * 1000;

	var isInvalid = today - selectionDate < 0;
	
	if(date.indexOf('/')=='-1'){

		if(dd.length==1)dd = '0' +dd;
		if(mm.length==1)mm = '0' +mm;
		
		if(type=='dm'){
			document.forms[1].itdDate.value = yy + '' + mm + ''+ dd; 
			obj.value = mm + '/' + dd + '/'+ yy; 
		}
		else if(type=='rs'){
			obj.value = mm + '/' + dd + '/'+ yy; 
		}
		else{
			document.forms[0].itdDate.value = yy + '' + mm + ''+ dd; 
			obj.value = mm + '/' + dd + '/'+ yy; 
		}
	}
	/*else if(dd > parseFloat(insertDate[1]) && mm ==  parseFloat(insertDate[0]) && yy == parseFloat(insertDate[2]) || mm >  parseFloat(insertDate[0]) && yy == parseFloat(insertDate[2]) || yy > parseFloat(insertDate[2])){
		alert('The date entered is in the past. It has been reset to today.');
		obj.value = mm + '/' + dd + '/'+ yy; 
	}  */
						
	else if(isInvalid){
		alert('The date entered is beyond the three week look-ahead period, which is the farthest advance date allowed due to periodically changing schedules. The date you selected has been reset to today\'s date.');
		obj.value = mm + '/' + dd + '/'+ yy; 
	} 
	
	else{
		
		if(isNaN(insertDate[0]) || insertDate[0] > 12 || insertDate[0] <= 0){
			insertDate[0] = mm;
		}
		
		if(isNaN(insertDate[1]) || insertDate[1] > NumDaysInMonth || insertDate[1] <= 0){
			insertDate[1] = dd;
		}
		
		if(isNaN(insertDate[2]) || insertDate[2] <= 0){
			insertDate[2] = yy;
		}
		
		if(insertDate[0] && insertDate[1]){
			if(insertDate[0].length==1)insertDate[0]='0' + insertDate[0];
			if(insertDate[1].length==1)insertDate[1]='0' + insertDate[1];
			
			if(type=='dm'){
				document.forms[1].itdDate.value = insertDate[2] + '' + insertDate[0] + ''+ insertDate[1]; 
				obj.value = insertDate[0] + '/' + insertDate[1] + '/'+ insertDate[2]; 
			}
			else if(type=='rs'){
				obj.value = insertDate[0] + '/' + insertDate[1] + '/'+ insertDate[2]; 
			}
			else{
				document.forms[0].itdDate.value = insertDate[2] + '' + insertDate[0] + ''+ insertDate[1]; 
				obj.value = insertDate[0] + '/' + insertDate[1] + '/'+ insertDate[2]; 
			}
		}
	
	}
	
};


function expandContractAll(elem, style){

	var nodeChild = document.getElementById(elem).childNodes.length;
	
	for(var i=0;i<nodeChild;i++){

		
		if(document.getElementById(elem).childNodes[i].tagName=='DIV'){
				
			var nodeChildChild = document.getElementById(elem).childNodes[i].childNodes.length;
		
			for(var y=0; y <nodeChildChild; y++){
				if(document.getElementById(elem).childNodes[i].childNodes[y].tagName=='DIV'){
					document.getElementById(elem).childNodes[i].childNodes[y].style.display=style;
				}
			}
			
			if(style=='block'){
				document.getElementById(elem).childNodes[i].className='routesListingBox routesListingBoxOn';
			}
			else{
				document.getElementById(elem).childNodes[i].className='routesListingBox';
			}
		}

	}

}

function applyFootpathTravelTime(e) {
	var t 	= document.getElementsByName('travelTime');
	
	if (!t || t.length <= 0)
		return;
	
	for (var r=1; r <= countRoutes; r++) {
		var cumTime = 0;
		for (var i=0; i < t.length; i++) {
			var ti = t[i];
			if (parseInt(ti.id.substring(11)) != r)
				continue;
				
			cumTime += parseInt(ti.innerHTML);
		}
		
		var o = document.getElementById('travelTime_overview_' + r);
		if (o) {
			var str = '';
			
			if (cumTime / 60 >= 1) {
				if (parseInt(cumTime / 60) < 10)
					str = '0' + parseInt(cumTime / 60);
				else
					str = parseInt(cumTime / 60);
			} else {
				str = '00';
			}
			
			str += ':';
			
			if (cumTime % 60 < 10)
				str += '0' + cumTime % 60;
			else
				str += cumTime % 60;
			
			o.innerHTML = str;
		}
	}
}

function applyAgencies() {
	for (var i=1; i <= 50; i++) {		
		applyAgency('railStops_' + i);
		
		applyAgency('busStops_' + i);

		applyAgency('ferryStops_' + i);		
	}
}
function applyAgency(id) {
	var a = [];
	var obj = document.getElementById(id);
	
	if (obj == null)
		return null;	
	
	for (var i=1; i <= 50; i++) {
		var c=document.getElementById(id + '_' + i)
		if (c && c.firstChild)
			a.push(c.firstChild.nodeValue.trim());
	}
	
	a.sort();
	
	var e = null;
	var u = [];
	while (e = a.pop()) {
		if (u.length == 0 || u[0] != e) {
			u.unshift(e);
		}
	}
	
	var str = u.join(', ');
	
	var target = document.getElementById('label' + id);
		target = target.firstChild;
	if (target.nodeType == 3 && str.length > 0) {
		target.nodeValue = target.nodeValue + ' ' + String.fromCharCode(8212) + ' ' + str;
	}
}

function fixLegend(obj) {
	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	
	if (version >= 5.5 && version < 7 && obj.src.indexOf('http://tripplanner.transit.511.org/mtc/fw/mdv/transparent.gif') < 0) {
		var src = obj.src;
		obj.style.width  = obj.width + 'px';
		obj.style.height = obj.height + 'px';
		
		obj.src = 'http://tripplanner.transit.511.org/mtc/fw/mdv/transparent.gif';
		obj.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' +src+ '\')';
	}
}



function findBox(type, headerText, request){

	mdvEventLog.trigger('SECTION1_LOCATION_POP_UP_FORM_SHOWN', 'http://tripplanner.transit.511.org/mtc/index.html', '');
	
	document.getElementById('findLandmark' + request +'Link').style.color='#ffffff';
	document.getElementById('findPopularDestination' + request +'Link').style.color='#ffffff';
	if(request!='Output'){
		document.getElementById('findRailStation' + request +'Link').style.color='#ffffff';
		document.getElementById('findFerryLanding' + request +'Link').style.color='#ffffff';
	}
	
	document.getElementById('findLandmark' + request +'Input').style.display='none';
	document.getElementById('findPopularDestination' + request +'Input').style.display='none';
	if(request!='Output'){
		document.getElementById('findRailStation' + request +'Input').style.display='none';
		document.getElementById('findFerryLanding' + request +'Input').style.display='none';
	}

	document.getElementById(type + request +'Link').style.color='#24475A';
	document.getElementById(type + request +'Input').style.display='block';
	
	if(request!='Output'){
		document.getElementById('findBox' + request +'Header').innerHTML=headerText;
	}

	document.getElementById('findBox' + request).style.display='block';
	
	if(request=='Output'){
		document.getElementById('findBox' + request).style.backgroundImage= 'url(http://tripplanner.transit.511.org/mtc/fw/' + type + request + '.jpg)';
	}
	else{
		document.getElementById('findBox' + request).style.backgroundImage= 'url(http://tripplanner.transit.511.org/mtc/fw/' + type + '.jpg)';
	}
	
	
	
	if(request=='DM'){
		document.forms['dmRequest'].itdLPxx_findObjectType.value = type;
	}
	else{
		document.forms[0].itdLPxx_findObjectType.value = type;
	}
}



function findBoxOutput(type){

	var element = document.getElementById(storedDivId);


	if(type=='findLandmark'){
	
		element.lastChild.lastChild.lastChild.lastChild.lastChild.style.display='none'
		element.lastChild.lastChild.lastChild.lastChild.firstChild.style.display='block'

		element.firstChild.firstChild.firstChild.lastChild.firstChild.style.color='#ffffff';
		element.firstChild.firstChild.firstChild.firstChild.firstChild.style.color='#24475A';
		
		element.firstChild.style.background='url(http://tripplanner.transit.511.org/mtc/fw/findLandmarkOutput.jpg) no-repeat left top';
	
		
	}
	else if(type=='findPopularDestination'){
		element.lastChild.lastChild.lastChild.lastChild.lastChild.style.display='block'
		element.lastChild.lastChild.lastChild.lastChild.firstChild.style.display='none'
		
		element.firstChild.firstChild.firstChild.lastChild.firstChild.style.color='#24475A';
		element.firstChild.firstChild.firstChild.firstChild.firstChild.style.color='#ffffff';
		
		element.firstChild.style.background='url(http://tripplanner.transit.511.org/mtc/fw/findPopularDestinationOutput.jpg) no-repeat left top';
	
	}


}



// set point values in request form 
function setPoint(usage){
	var form = document.forms[0];
	
	if(usage=='dm'){
		form = document.forms['dmRequest'];
	} 
	
	var setName = document.getElementById('name_' + usage);
	var setPlace = document.getElementById('place_' + usage);
	
	var activeType = form.itdLPxx_findObjectType.value;
	var getName = 'name' + activeType.substring(4);
	
	var bs = 'businessSelector';
	
	if(usage=='dm'){
		getName += 'DM';
		bs += 'DM';
	}
	
	var businessSelector = document.getElementById(bs);
	
	if(document.getElementById(getName) && document.getElementById(getName).value.indexOf('Select ')== '-1')
	{
		var nameValues = document.getElementById(getName).value.split(':');

		if(usage=='origin'){
			storedOrig = document.getElementById(getName).value;
		}
		else if(usage=='destination'){
			storedDest = document.getElementById(getName).value;
		}
		else if(usage=='dm'){
			storedDM= document.getElementById(getName).value;
		}
		else if(usage=='via'){
			storedVia = document.getElementById(getName).value;
		}
		
		setName.value = nameValues[0];
		setName.style.color = '#000000';
			
		if(usage=='via'){
			document.getElementById('itdLPxx_additonalOptions').value = '1';
		} 
	
	} else if (businessSelector && businessSelector.length > 0) {
		var name = businessSelector[businessSelector.selectedIndex].value;
		var nameValues = name.split('_');
		
			name = nameValues[0] + ':coord:' + nameValues[2];
		
		if(usage=='origin'){
			storedOrig = name;
		}
		else if(usage=='destination'){
			storedDest = name;
		}
		else if(usage=='dm'){
			storedDM= name;
		}
		else if(usage=='via'){
			storedVia = name;
		}

		setName.value = nameValues[0];
		setName.style.color = '#000000';
			
		if(usage=='via'){
			document.getElementById('itdLPxx_additonalOptions').value = '1';
		} 
	}
	
	if (document.getElementById('findBox'))
		document.getElementById('findBox').style.display = 'none';
	
	if (document.getElementById('findBoxDM'))
		document.getElementById('findBoxDM').style.display = 'none';
	
}

function cancelPoint(usage){
	if (document.getElementById('findBox'))
		document.getElementById('findBox').style.display = 'none';
	
	if (document.getElementById('findBoxDM'))
		document.getElementById('findBoxDM').style.display = 'none';
		
	if (document.getElementById('findBoxOutput'))
		document.getElementById('findBoxOutput').style.display = 'none';
		

	// Temp: Disabled.
	return;
	
	var form = document.forms[0];
	
	if(usage=='dm'){
		form = document.forms[1];
	}


	if(document.getElementById('nameState_' + usage)){
		if(document.getElementById('nameState_' + usage).value){
			document.getElementById('nameInfo_' + usage).value='';
			if(document.getElementById('placeInfo_' + usage)){
				document.getElementById('placeInfo_' + usage).value='';
			}
		}
	}


	form.itdLPxx_findObjectBox.value = '';
	form.execInst.value = 'verifyOnly';
	form.submit();
}


function checkLandmarkOnLoad(){

	if(document.forms[0]){
		if(document.forms[0].itdLPxx_findObjectBox){

			usage = document.forms[0].itdLPxx_findObjectBox.value;

			if(document.forms[0].itdLPxx_findObjectBox.value != ''){

				if(document.getElementById('nameState_' + usage).value=='identified'){
					document.getElementById('findBox').style.display='none';
				}
			}
		
		}
	}
}



function blockTabContent(type){


	for(i=1; i < 6; i++){
	
		if(type==i){
			if(document.getElementById('tab' +  i + 'Content')){
				document.getElementById('tab' +  i + 'Content').style.display='block';
			}
		}
		else{
		
			if(document.getElementById('tab' +  i + 'Content')){
				document.getElementById('tab' +  i + 'Content').style.display='none';
			}
		}
	}


}

function setTripFuctionDesc(e) {
	var spans = document.getElementsByTagName('span');
	var fDesc = null;
	var index = 1;
	
	for (var i=0; i < spans.length; i++) {
		var s = spans[i];		
		
		if (s.id.indexOf('spanTable_') < 0)
			continue;
		
		if (fDesc != s.firstChild.nodeValue)
			index = 1;				
		
		fDesc = s.firstChild.nodeValue;
		s.firstChild.nodeValue += index;
		
		index++;
	}

	var fDesc = null;

	for (var i=0; i < spans.length; i++) {
		var s = spans[i];		
		
		if (s.id.indexOf('spanDetails_') < 0)
			continue;
		
		if (fDesc != s.firstChild.nodeValue)
			index = 1;				
		
		fDesc = s.firstChild.nodeValue;
		s.firstChild.nodeValue += index;
		
		index++;
	}
}

//Create an array 
var allPageTags = new Array(); 

function doSomethingWithSpanClasses(theClass, style) {

	if(style==true){
		style='';
	}
	else if(style==false){
		style='none';
	}

	//Populate the array with all the page tags
	var allPageTags=document.getElementsByTagName("span");
	
	for (i=0; i<allPageTags.length; i++) {
	
		//Pick out the tags with our class name
		if (allPageTags[i].className==theClass) {
		
			//Manipulate this in whatever way you want
			allPageTags[i].style.display= style;
			allPageTags[i].style.visibility= 'visible';
			
		}
	}
} 



function hideFeedbackEmailForm(){

	if(document.getElementById('feedbackForm'))document.getElementById('feedbackForm').style.display='none';
	
	if(document.getElementById('mailAFriendForm'))document.getElementById('mailAFriendForm').style.display='none';

}


function findFeedbackPos(e){

   e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    } 
    
	document.getElementById('feedbackForm').style.top = cursor.y + 'px';

}

function showAnnouncements(e, head, content) {
   e = e || window.event;
   var src = e.srcElement ? e.srcElement : e.target;
   
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
	
	var p = src;
	var offset = 0;
	
	while (p) {
		offset += p.offsetLeft;	
		p = p.offsetParent;
	}	
	
	if (content.indexOf('announcement_content_') != -1) {
		var temp = document.getElementById(content);
		if (temp && temp.innerHTML.length > 0)
			content = temp.innerHTML;
	} else if (content.indexOf('ann_') != -1) {
		var temp = document.getElementById(content);
		if (temp && temp.value.length > 0)
			content = temp.value;
	}
	
	var text = head;
	
	if(head.length > 78){
		text = head.substring(0,78) + '...';
	}
	
	document.getElementById('announcementBubbleHead').innerHTML = text;
	document.getElementById('announcementBubbleHead').title = head;
	
	document.getElementById('announcementBubbleContent').innerHTML = content;

	document.getElementById('announcementBubble').style.display='';
	document.getElementById('announcementBubble').style.top = cursor.y - 30 + 'px';
	document.getElementById('announcementBubble').style.left = offset + 'px';
}

function showCustomizedSchedule(e){
   e = e || window.event;
   var src = e.srcElement ? e.srcElement : e.target;
   
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    } 
    
    

	document.getElementById('customizedSchedule').style.display='';
	document.getElementById('customizedSchedule').style.top = cursor.y - 30 + 'px';
	document.getElementById('customizedSchedule').style.left = cursor.x + 40 + 'px';

	
	var sessionID = document.getElementById('sessionID_mail');
	var requestID = document.getElementById('requestID_mail');
	var customizedScheduleContent = document.getElementById('customizedScheduleContent');
	
	customizedScheduleContent.innerHTML = 'Loading...';

	var id = src.id;
	var leg = src.getAttribute('leg');
		leg = leg.split(':');
		
	var link = src.getAttribute('link');
	var temp = link.split('=');
		temp = temp[temp.length-1];
		
		mdvEventLog.trigger('SECTION1_ITINERARY_SCHEDULE', 'http://tripplanner.transit.511.org/mtc/itinerary.html', temp);
	
	var URL = 'XSLT_TRIP_REQUEST2';
	var _params = { language: 'en', itdLPxx_provider: 'schedule', command: id, sessionID: sessionID.value, requestID: requestID.value, itdLPxx_leg: leg[0] + '_' + leg[1] + '_' + leg[2], itdLPxx_time: leg[3] + ':' + leg[4], itdLPxx_extHref: link };
		_params = $H(_params);
		_params = _params.toQueryString();
	var _ajax = new Ajax.Request(URL, { method: 'post', parameters: _params, onComplete: onCustomizedSchedule.bind(customizedScheduleContent) });
}

function onCustomizedSchedule(response) {
	this.innerHTML = response.responseText;
}

function checkValidFeedbackForm(form){

	var sessionID = document.forms[form].sessionID;
	var requestID = document.forms[form].requestID;
	var emailName = document.getElementById('emailName_feedback');
	var addEmailAddress = document.getElementById('addEmailAddress_feedback');
	var emailSubject = document.getElementById('emailSubject_feedback');
	var itdMPxx_Feedback = document.getElementById('itdMPxx_Feedback');

	var mail = document.forms[form].addEmailAddress.value;
	var message = document.forms[form].itdMPxx_Feedback.value;
	var expression = /^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{1,}\.){0,}[a-zA-Z0-9-]{3,}(\.[a-zA-Z]{2,4}){1,2}$/;
	
	//var expressionMessageURL = /\w[\w|\.|\-]+\.[_a-zA-Z0-9-]+\.[a-zA-Z]{2,4}/;
	var expressionMessageEmail = /\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}/;
	
	if(!expression.exec(mail))
	{
		document.getElementById('feedbackError').style.display='';
		document.getElementById('feedbackErrorHeader').innerHTML ='E-mail Address is Required';
		document.getElementById('feedbackErrorContent').innerHTML = 'Sorry for any inconvienience, but the subject is important for us to categorize your feedback and allocate it to the correct people. Please enter a subject line and then hit the send button';
		document.getElementById('feedbackSubmit').style.display='none';
	}
	
	else if(expressionMessageEmail.exec(emailSubject.value) || checkValidURL(emailSubject.value) > 0 ){
		document.getElementById('feedbackError').style.display='';
		document.getElementById('feedbackErrorHeader').innerHTML ='Subject is invalid';
		document.getElementById('feedbackErrorContent').innerHTML = 'Links and email addresses are not allowed in subject.<br/><br/><br/><br/>';
		document.getElementById('feedbackSubmit').style.display='none';
	}
	
	else if(expressionMessageEmail.exec(message) || checkValidURL(message) > 0 ){
		document.getElementById('feedbackError').style.display='';
		document.getElementById('feedbackErrorHeader').innerHTML ='Message is invalid';
		document.getElementById('feedbackErrorContent').innerHTML = 'Links and email addresses are not allowed in message.<br/><br/><br/><br/>';
		document.getElementById('feedbackSubmit').style.display='none';
	}
	
	else if(document.forms[form].emailSubject.value=='Enter a subject line for your feedback' || document.forms[form].emailSubject.value==''){
		document.getElementById('feedbackError').style.display='';
		document.getElementById('feedbackErrorHeader').innerHTML ='Subject is Required';
		document.getElementById('feedbackErrorContent').innerHTML = 'Sorry for any inconvienience, but the subject is important for us to categorize your feedback and allocate it to the correct people. Please enter a subject line and then hit the send button';
		document.getElementById('feedbackSubmit').style.display='none';															
	}
	else
	{
	
		//document.forms[form].submit();
		var ref = document.getElementById('ref');
		
	 	//var URL = 'XSLT_TRIP_REQUEST2';
		var URL = 'http://transit.511.org/services/utils/logsuggestions.aspx?';
		var baseURL = 'http://tripplanner.transit.511.org/mtc/XSLT_TRIP_REQUEST2?language=en';
		if (form == 3)
			baseURL = 'http://tripplanner.transit.511.org/mtc/XSLT_DM_REQUEST?language=en';
			
		var _params = { emailName: emailName.value, addEmailAddress: addEmailAddress.value, emailSubject: emailSubject.value, itdMPxx_Feedback: itdMPxx_Feedback.value, ref: baseURL + ref.value };
			_params = $H(_params);
			_params = _params.toQueryString();
			
			URL += _params;
			
		var img = new Image();
		img.onload = closeFeedbackForm;
		img.onerror = closeFeedbackForm;
		img.src = URL;
		//var _ajax = new Ajax.Request(URL, { method: 'post', parameters: _params, onComplete: closeFeedbackForm});		
	}	
}


function checkValidURL(value){

	var expression= /\w[\w|\.|\-]+\.[_a-zA-Z0-9-]+\.[a-zA-Z]{2,4}/;
	var inputString = value.split(' ');
	var stringLenght = inputString.length;
	var countURL = 0;


	if(expression.exec(value))
	{	
		for(var i =0; i < stringLenght; i++){
		
			if(expression.exec(inputString[i])){
			
				if(expression.exec(inputString[i]).input.indexOf('transit.511.org')=='-1'){
					countURL+=1;
				}
			}
		}	
	}

	return countURL;
}



function closeFeedbackForm(e){
	if (document.getElementById('feedbackForm'))
		document.getElementById('feedbackForm').style.display='none';	
}

/* function sendMailAFriend() {
	var sessionID = document.getElementById('sessionID_mail');
	var requestID = document.getElementById('requestID_mail');
	var emailAddress = document.getElementById('emailAddress_mail');
	var emailSubject = document.getElementById('emailSubject_mail');
	var addEmailAddress = document.getElementById('addEmailAddress_mail');
	var riderCategory = document.getElementById('riderCategory');
	
	if (emailAddress && emailSubject && addEmailAddress) {
		var URL = 'XSLT_TRIP_REQUEST';
		var _params = { 
			sessionID: sessionID.value,
			requestID: requestID.value,
			emailAddress: emailAddress.value,
			emailSubject: emailSubject.value,
			addEmailAddress: addEmailAddress.value,
			ptOptionsActive: 1,
			itOptionsActive: 1,
			command: 'mailAFriend',
			sendEmail: 1,
			useProxFootSearch: 1,
			coordListOutputFormat: 'STRING',
			anySigWhenPerfectNoOtherMatches: 1, 
			itdLPxx_riderCategory: riderCategory.value,
			nextDepsPerLeg: 1
		};
			_params = $H(_params);
			_params = _params.toQueryString();
		
		var _ajax = new Ajax.Request(URL, { method: 'post', parameters: _params });
		closeMailAFriend();
	}
}*/

function sendMailAFriend() {
	var sessionID = document.getElementById('sessionID_mail');
	var requestID = document.getElementById('requestID_mail');
	var emailAddress = document.getElementById('emailAddress_mail');
	var emailSubject = document.getElementById('emailSubject_mail');
	var addEmailAddress = document.getElementById('addEmailAddress_mail');
	var riderCategory = document.getElementById('riderCategory');
	var addEmailMsg_mail = document.getElementById('addEmailMsg_mail');
	var contentType_mail = document.getElementById('contentType_mail');
	
	if (emailAddress && emailSubject && addEmailAddress) {
		var URL = 'XSLT_TRIP_REQUEST';
		var _params = { 
			sessionID: sessionID.value,
			requestID: requestID.value,
			itdLPxx_mail_contentType: (!contentType_mail.checked) ? 'text/plain' : 'text/html',
			itdLPxx_mail_to: emailAddress.value,
			itdLPxx_mail_subject: emailSubject.value,
			/*addEmailAddress: addEmailAddress.value,*/
			itdLPxx_mail_msg: addEmailMsg_mail.value,
			itdLPxx_homepage: 'mailView',
			ptOptionsActive: 1,
			itOptionsActive: 1,
			command: 'saveXML',
			saveXMLPool: 'MailAFriend',
			/*sendEmail: 1,*/
			useProxFootSearch: 1,
			coordListOutputFormat: 'STRING',
			anySigWhenPerfectNoOtherMatches: 1, 
			itdLPxx_riderCategory: riderCategory.value,
			nextDepsPerLeg: 1,
			tripSelection: 'on'
		};
		
		_params['tripSelector' + legId] = 'on';
		
		_params = $H(_params);
		_params = _params.toQueryString();
		
		var _ajax = new Ajax.Request(URL, { method: 'post', parameters: _params });
		closeMailAFriend();
	}
}



function closeMailAFriend(e) {
	if (document.getElementById('mailAFriendForm'))
		document.getElementById('mailAFriendForm').style.display='none';	
}

function changeMapHelpLink(newId){

	if(document.getElementById('mapHelpLink')){
		document.getElementById('mapHelpLink').name = newId;
	}
}

function changeHelpLink(linkId, helpId){

	if(document.getElementById(linkId)){
		document.getElementById(linkId).name = helpId;
	}
}

function depsEarlier(e, session, id, time, date) {
	var _params = { language: 'en', sessionID: session, itdLPxx_provider: 'tooltip', command: 'dmPrev' };

	_params = $H(_params);
	_params = _params.toQueryString();
	
	var element = document.getElementById('stop_' + id);

	var _ajax = new Ajax.Request('XSLT_DM_REQUEST', { method: 'post', parameters: _params, onComplete: mdvOAKMapHelper.onToolTipCallback.bind(element) });
}

function depsLater(e, session, id, time, date) {
	var _params = { language: 'en', sessionID: session, itdLPxx_provider: 'tooltip', itdDate: date, itdTime: time, mode: 'direct' };

	_params = $H(_params);
	_params = _params.toQueryString();
	
	var element = document.getElementById('stop_' + id);
	
	var _ajax = new Ajax.Request('XSLT_DM_REQUEST', { method: 'post', parameters: _params, onComplete: mdvOAKMapHelper.onToolTipCallback.bind(element) });
}

function customizedScheduleEarlier(e){
	e = e || window.event;
	
	var delta = 2;
	var entries = 4;
	
	var times = [];
	var departureTimes = document.getElementById('departureTimes');
	var arrivalTimes = document.getElementById('arrivalTimes');
	var firstActive = -1;

	for (var i=0; i < departureTimes.childNodes.length; i++) {
		var dep = departureTimes.childNodes[i];
		var arr = arrivalTimes.childNodes[i];
		var isActive = dep.className=='currentTime';
		
		if (firstActive == -1 && isActive)
			firstActive = i;
		
		times.push({ dep: dep, arr: arr, active: isActive });
	}
	
	firstActive -= delta;
	if (firstActive < 0)
		firstActive = 0;
		
	for (var i=0; i < times.length; i++) {
		var t = times[i];
		
		if (i >= firstActive && i < (firstActive + entries)) {
			t.dep.className = 'currentTime';
			t.arr.className = 'currentTime';
		} else {
			t.dep.className = 'earlierTime';
			t.arr.className = 'earlierTime';
		}
	}
}

function customizedScheduleLater(e){
   e = e || window.event;
	var delta = 2;
	var entries = 4;
	
	var times = [];
	var departureTimes = document.getElementById('departureTimes');
	var arrivalTimes = document.getElementById('arrivalTimes');
	var firstActive = -1;

	for (var i=0; i < departureTimes.childNodes.length; i++) {
		var dep = departureTimes.childNodes[i];
		var arr = arrivalTimes.childNodes[i];
		var isActive = dep.className=='currentTime';
		
		if (firstActive == -1 && isActive)
			firstActive = i;
		
		times.push({ dep: dep, arr: arr, active: isActive });
	}
	
	
	firstActive += delta;
	if (firstActive > times.length -4)
		firstActive = times.length - 4;
		
	for (var i=0; i < times.length; i++) {
		var t = times[i];
		
		if (i >= firstActive && i < (firstActive + entries)) {
			t.dep.className = 'currentTime';
			t.arr.className = 'currentTime';
		} else {
			t.dep.className = 'earlierTime';
			t.arr.className = 'earlierTime';
		}
	}
}

function createHelpOverlay(e, header, content, obj, align){

	if(obj){
		header= obj.name +'header'
		content= obj.name +'content'
	}

	 document.getElementById('div_schedule_help').style.display='none';
	
	if(header==''|| !header){
		header= 'default_header'
	}
	
	if(content==''|| !content){
		content= 'default_content'
	}
	
	
	var helpAlign = 0;
	
	if(align=='left'){
		helpAlign = 340;
	}

   e = e || window.event;
   //var src = e.srcElement ? e.srcElement : e.target;
   
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    } 
    
    document.getElementById('helpHeader').innerHTML=helpText[header];
    
    document.getElementById('helpContent').innerHTML=helpText[content];
   
   document.getElementById('div_schedule_help').style.display='';
    

	document.getElementById('div_schedule_help').style.display='';
	document.getElementById('div_schedule_help').style.top = cursor.y  +'px';
	document.getElementById('div_schedule_help').style.left = cursor.x - helpAlign +'px';
}

function applyOnChangeSpeedChange() {
	var inputs = document.getElementsByName('changeSpeed');
	
	for (var i=0; i < inputs.length; i++) {
		var input = inputs[i];
		
		attachEventListener(input, 'click', onFootpathTravelTime, false);
	}
}

function onFootpathTravelTime(e) {
	e = e || window.event;
	var src = e.srcElement ? e.srcElement : e.target;

	if (src.checked==false)
		return;
		
	var mot = document.getElementsByName('trITMOTvalue');
	
	for (var i=0; i < mot.length; i++) {
		var selector = mot[i];

		for (var o=0; o < selector.length; o++) {
			var option = selector[o];

			if (option.oldValue == null)
				option.oldValue = option.value;

			switch (src.value) {
				case 'slow':
					// 0.75
					option.value = Math.floor(0.5 + (option.oldValue / 0.75));
					break;
				
				case 'fast':
					// 1.3
					option.value = Math.floor(0.5 + (option.oldValue / 1.3));
					break;
					
				default:
					option.value = option.oldValue;
					break;
			}
		}
	}
}

function attachEventListener(target, eventType, functionRef, capture)
{
  if (typeof target.addEventListener != "undefined")
  {
	target.addEventListener(eventType, functionRef, capture);
  }
  else if (typeof target.attachEvent != "undefined")
  {
	target.attachEvent("on" + eventType, functionRef);
  }
  else
  {
	eventType = "on" + eventType;

	if (typeof target[eventType] == "function")
	{
	  var oldListener = target[eventType];

	  target[eventType] = function()
	  {
		oldListener();

		return  functionRef();
	  }
	}
	else
	{
	  target[eventType] = functionRef;
	}
  }

  return true; 
}

function checkNameInputOnSubmit(){
	var nameOrig = document.getElementById('name_origin');
	// var placeOrig = document.getElementById('place_origin');
	var nameDest = document.getElementById('name_destination');
	var nameDM = document.getElementById('name_dm');
	var nameVia = document.getElementById('name_via');
	
	var storedOrigValues = storedOrig.split(':');
	var storedDestValues = storedDest.split(':');
	var storedDMValues = storedDM.split(':');
	var storedViaValues = storedVia.split(':');
	
	if (nameOrig && nameOrig.value == storedOrigValues[0] && storedOrigValues[1]) {
		var typeOrig = document.getElementById('type_origin');		
		var nameInfoOrig = document.getElementById('nameInfo_origin');
		var placeInfoOrig = document.getElementById('placeInfo_origin');
		
		typeOrig.value = storedOrigValues[1];
		nameInfoOrig.value = storedOrigValues[2];
		// place for poi
		if(storedOrigValues[3] && storedOrigValues[1] != 'coord'){
			placeInfoOrig.value = storedOrigValues[3] + ':' + storedOrigValues[4];
		} else if (storedOrigValues[1] == 'coord') {
			var name = storedOrigValues[2] + ':' + storedOrigValues[3] + ':' + storedOrigValues[4] + ':' + storedOrigValues[0]

			typeOrig.value = storedOrigValues[1];
			nameInfoOrig.value = name;
		}
	}

	if (nameDest && nameDest.value == storedDestValues[0] && storedDestValues[1]) {
		var typeDest = document.getElementById('type_destination');		
		var nameInfoDest = document.getElementById('nameInfo_destination');
		var placeInfoDest = document.getElementById('placeInfo_destination');

		typeDest.value = storedDestValues[1];
		nameInfoDest.value = storedDestValues[2];
		// place for poi
		if(storedDestValues[3] && storedDestValues[1] != 'coord'){
			placeInfoDest.value = storedDestValues[3] + ':' + storedDestValues[4];
		} else if (storedDestValues[1] == 'coord') {
			var name = storedDestValues[2] + ':' + storedDestValues[3] + ':' + storedDestValues[4] + ':' + storedDestValues[0]

			typeDest.value = storedDestValues[1];
			nameInfoDest.value = name;
		}
	}
	
	if (nameDM && nameDM.value == storedDMValues[0] && storedDMValues[1]) {
		var typeDM = document.getElementById('type_dm');		
		var nameInfoDM = document.getElementById('nameInfo_dm');
		var placeInfoDM = document.getElementById('placeInfo_dm');

		typeDM.value = storedDMValues[1];
		nameInfoDM.value = storedDMValues[2];
		// place for poi
		if(storedDMValues[3] && storedDMValues[1] != 'coord'){
			placeInfoDM.value = storedDMValues[3] + ':' + storedDMValues[4];
		} else if (storedDMValues[1] == 'coord') {
			var name = storedDMValues[2] + ':' + storedDMValues[3] + ':' + storedDMValues[4] + ':' + storedDMValues[0]

			typeDM.value = storedDMValues[1];
			nameInfoDM.value = name;
		}
	}
	
	if (nameVia && nameVia.value == storedViaValues[0] && storedViaValues[1]) {

		var typeVia = document.getElementById('type_via');		
		var nameInfoVia = document.getElementById('nameInfo_via');
		var placeInfoVia = document.getElementById('placeInfo_via');

		typeVia.value = storedViaValues[1];
		nameInfoVia.value = storedViaValues[2];
		// place for poi
		if(storedViaValues[3] && storedViaValues[1] != 'coord'){
			placeInfoVia.value = storedViaValues[3] + ':' + storedViaValues[4];
		} else if (storedViaValues[1] == 'coord') {
			var name = storedViaValues[2] + ':' + storedViaValues[3] + ':' + storedViaValues[4] + ':' + storedViaValues[0]

			typeVia.value = storedViaValues[1];
			nameInfoVia.value = name;
		}
	}

}


/* get the pois  and hierarchies*/
function sendPOIRequest(place, name, session, state, type, request, divId){

	var form = document.forms[0];
	
	if(usage=='dm'){
		form = document.forms['dmRequest'];
	} 

	var activeType = form.itdLPxx_findObjectType.value;

	var URL = 'XSLT_TRIP_REQUEST2';
	var _params = { 
		sessionID: session,
		requestID: 0,
		command: '',
		execInst: 'verifyOnly',
		placeInfo_origin: place,
		type_origin: type,
		itdLPxx_homepage: 'poiSelection',
		name_origin: name,
		itdLPxx_requestType: request,
		itdLPxx_findObjectType: activeType
	};
		
	if(state=='list'){
		_params['nameState_origin'] = 'list';
		_params['placeState_origin'] = 'identified';
	}
		
		
	_params = $H(_params);
	_params = _params.toQueryString();
		
	var element = document.getElementById('reloadPoiSelection' + request);
	
	if(request=='Output'){
		document.getElementById(storedDivId).style.display='';
		element = document.getElementById(storedDivId).lastChild.lastChild.lastChild.firstChild.firstChild.lastChild.lastChild;
	}
	
	var _ajax = new Ajax.Request(URL, { method: 'post', parameters: _params, onComplete: onPlaceSelectionCallback.bind(element) });
}

/* get the pois  for the map */
function sendPOICoordRequest(){

	var coord = document.getElementById('saveCoord').value;

	var URL = '../lite/XSLT_COORD_REQUEST';
	var _params = { 
		language: 'en',
		coord: coord,
		inclFilter: '1',
		type_1: 'POI_POINT',
		radius_1: '402',
		inclDrawClasses_1:'39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80',
		coordListOutputFormat:'STRING',
		hideBannerInfo:'1'
	};
	
	var childes = document.getElementById(storedDivId).lastChild.lastChild.lastChild.firstChild.firstChild.lastChild.lastChild.childNodes;
	
	for (var i =0; i < childes.length; i ++){
		
		if(childes[i].name=='searchRadius'){
			_params['radius_1'] = childes[i].value;
		}
	
	}
	
	_params = $H(_params);
	_params = _params.toQueryString();
		
	//var element = document.getElementById('reloadPoiSelection' + request);
	
	var _ajax = new Ajax.Request(URL, { method: 'post', parameters: _params, onComplete: onPoiSelectionCallback});
}

/* Reload the select boxes */
function onPlaceSelectionCallback(response){
	this.innerHTML = response.responseText;
}

function onPoiSelectionCallback(request){
	
 	var json = null;
 	var efa = null;
 	
	// Check if we need to use the prototype lib.
 	if (request && request.responseText)	{
 		json = request.responseText;
 	// Otherwise use jQuery lib.
 	} else if (request) {
 		json = request;
 	}
 	
 	eval('efa = ' + json + ';'); 	

	var i = 0;
	var p = efa.coordInfo.pins[i] || efa.coordInfo.pins.pin;	
	var insertTableText ='';
	var poiLayer = mdvOAKMapHelper.mdvMap.getLayer('efa_pois');
	var displayUnderMapBox=0;
	
	insertTableText += '<table class="underMapLegend" id="tbl_underMapLegend" cellpadding="0" cellspacing="0">';
		
	if(createLayer=='0' && !poiLayer){
	
		poiLayer = mdvOAKMapHelper.mdvMap.createLayer('efa_pois');
		poiLayer.setZIndex(2);
		mdvOAKMapHelper.mdvMap.addLayer(poiLayer);
			
		createLayer='1';
	}
	else{
		createLayer='1';
		poiLayer = mdvOAKMapHelper.mdvMap.getLayer('efa_pois');
	}
		
	poiLayer.removeAllMarkers();
	
	while (p) {
		
				var tmpImg  = new Image();
				
				tmpImg.src = 'http://tripplanner.transit.511.org/mtc/fw/mdv/poi.gif';
		
				var coordList = p.coords.split(',');
				var coords = new MDVCoordinates('MTCV',
				coordList[0],
				coordList[1]);
				
				var pos = 0.5;
				/* text for  bubble */
				var text  = '<div class="smallHeader">';
					text += p.desc;
					text += '</div>'
					text += '<div class="content" id="poi_' + p.id + '">';
					text += '<br/>';
					text += '<a href="javascript:mdvOAKMapHelper.zoomIn(new MDVCoordinates(\'MTCV\', ' + coordList[0] + ', ' + coordList[1] + '));">Zoom in</a>';
					text += '<br/>';
					text += '<br/>';
					
					
					if(p.attrs[3].value == storedPOIHierarchy || p.attrs[2].value == storedPOIHierarchy){
					
						/* table below the map */
						if(i % 2 == 0 && i < 10){
							insertTableText += '<tr id="tr_dest_page_' + i/2 +'" class="active">';
						}
						else if (i % 2 == 0){
							insertTableText += '<tr id="tr_dest_page_' + i/2 +'" class="inActive">';
						}
						insertTableText += '<td class="itemAll" valign="top">';
						insertTableText += '<a href="javascript:void(0);" style="text-decoration: none;">';
						insertTableText += '<strong>' + p.desc +'</strong>';
						insertTableText += '</a>';
						insertTableText += '<br/>' + p.attrs[3].value +'<br/>';
						insertTableText += '</td>';
						if(i % 2 != 0){
							insertTableText += '</tr>';
						}
						
						
						var poiPin = mdvOAKMapHelper.mdvMap.createMarker(coords, pos, tmpImg.src);
							poiPin.setToolTip(mdvOAKMapHelper.mdvMap.createToolTip(new MDVPoint(320, 202), text));
				

						//poiLayer.addMarker(poiPin, efa.coordInfo.pins[i+1] == null);
						
						displayUnderMapBox = 1;

						poiLayer.addMarker(poiPin, false);
				
					}
				
			i++;
			p = efa.coordInfo.pins[i];		
		
	}

	mdvOAKMapHelper.mdvMap.update();
	
	insertTableText += '</table>';
	
	if(efa.coordInfo.pins.length > 10){
	
	var poiListIndex = efa.coordInfo.pins.length;
	
		insertTableText +='<div class="underMapPageNavBox"><table width="100%"><tbody><tr><td style="width: 100%; text-align: right;" id="unserMapPageNavBoxA"><a id="next_5_' + poiListIndex +'" href="javascript:void(0);" onclick="viewNextPois(this.id)">Next &gt;&gt;</a></td></tr></tbody></table></div>';
	}
	

	if(displayUnderMapBox==1){
		document.getElementById('tbl_underMapBox').style.display='';
		document.getElementById('div_dest_page').innerHTML = insertTableText;
	}
	else{
		document.getElementById('tbl_underMapBox').style.display='none';
		document.getElementById('div_dest_page').innerHTML = '';
	
	
	}
	
}

function viewNextPois(objId){

	var pos = objId.split('_');

	var tableRows = document.getElementById('div_dest_page').firstChild.firstChild.childNodes;
	
	var showTableUntilPos = parseInt(pos[1]) +5;
	
	var showPrevTableUntilPos = parseInt(pos[1]) -5;
	
	var showTableLastPos = parseInt(pos[2]);

	for (var i=0; i < tableRows.length; i++) {
	
		if(i >= pos[1] && i < showTableUntilPos){
			tableRows[i].className="active";
		}
		else{
			tableRows[i].className="inActive";
		}
	
	}
	
	if(showTableLastPos/2 > showTableUntilPos && showTableLastPos/2 > showPrevTableUntilPos){
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="prev_' + showPrevTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewPrevPois(this.id)">&lt;&lt;Previous</a>&nbsp;<a id="next_' + showTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewNextPois(this.id)">Next &gt;&gt;</a>';

	}
	
	else if(showTableLastPos/2 > showTableUntilPos){
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="next_' + showTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewNextPois(this.id)">Next &gt;&gt;</a>';
	
	}
	else if(showTableLastPos/2 < showTableUntilPos){
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="prev_' + showPrevTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewPrevPois(this.id)">&lt;&lt;Previous</a>';
	
	}
	
	else{
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="prev_' + showPrevTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewPrevPois(this.id)">&lt;&lt;Previous</a>';
	
	}
	

}


function viewPrevPois(objId){

	var pos = objId.split('_');

	var tableRows = document.getElementById('div_dest_page').firstChild.firstChild.childNodes;
	
	var showTableUntilPos = parseInt(pos[1]) +5;
	
	var showPrevTableUntilPos = parseInt(pos[1]) -5;
	
	var showTableLastPos = parseInt(pos[2]);

	for (var i=0; i < tableRows.length; i++) {
	
		if(i >= pos[1] && i < showTableUntilPos){
			tableRows[i].className="active";
		}
		else{
			tableRows[i].className="inActive";
		}
	
	}


	if(showTableLastPos/2 > showTableUntilPos && showTableLastPos/2 > showPrevTableUntilPos && showPrevTableUntilPos > 0){
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="prev_' + showPrevTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewPrevPois(this.id)">&lt;&lt;Previous</a>&nbsp;<a id="next_' + showTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewNextPois(this.id)">Next &gt;&gt;</a>';
	}
	
	else if(showTableLastPos/2 > showTableUntilPos){
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="next_' + showTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewNextPois(this.id)">Next &gt;&gt;</a>';
	
	}
	else if(showTableLastPos/2 < showTableUntilPos){
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="prev_' + showPrevTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewPrevPois(this.id)">&lt;&lt;Previous</a>';
	
	}
	else{
		document.getElementById('unserMapPageNavBoxA').innerHTML = '<a id="prev_' + showPrevTableUntilPos + '_' + pos[2] +'" href="javascript:void(0);" onclick="viewPrevPois(this.id)">&lt;&lt;Previous</a>';
	
	}
	

}


/* BUBBLE Nearby Attraction Link  */
function getNearbyAttractions(omc, placeID, x, y, divId){

	if(document.getElementById('findBoxOutputInnerHTML') && document.getElementById(divId)){
	
		if(storedDivId!=divId){
			originalBubbleContent = document.getElementById(divId).innerHTML;
		}
		
		
	
		document.getElementById(divId).style.display='';

		document.getElementById(divId).innerHTML = document.getElementById('findBoxOutputInnerHTML').innerHTML;
		// delete ids 
		//document.getElementById('findBoxOutputInnerHTML').innerHTML = '<br/>';
		
		document.getElementById('saveCoord').value = x + ':' + y +':MTCV';
		
		storedDivId = divId;
		
		sendPOIRequest(omc + ':' + placeID, '', 0, 'empty', 'poi', 'Output', divId);
	}
}

function goBackToOriginalBubbleContent(obj){

	obj.parentElement.parentElement.parentElement.parentElement.parentElement.innerHTML=originalBubbleContent;
}



function checkInitialTab() {
	var valid = true;
	var sessionIDs = document.getElementsByName('sessionID');

	for (var i=0; i < sessionIDs.length; i++) {
		var s = sessionIDs[i];
		if (s && parseInt(s.value) != 0) {
			valid = false;
			break;
		}
	}
	
	if (valid) {
		if (location.href.indexOf('#') > -1) {
			var c = location.href.substring(location.href.indexOf('#')+1)
			var b = document.getElementById('a_' + c);

			if (b && typeof b.onclick == 'function')
				b.onclick.apply();
		}
	}
}

function checkForTicker() {
	//MDVTicker
	
	var emergencyBox = document.getElementById('emergencyBox');
	var emergencyInfo = document.getElementById('emergencyInfo');
	var topOffset = -9;
	
	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
		topOffset--;
	}
	
	if (!emergencyBox || !emergencyInfo)
		return;
		
	ticker = new MDVTicker('transit', emergencyInfo, getTickerFetchUrl);
	ticker._hasData = function () { if (emergencyBox.style.display == 'none') emergencyBox.style.display = 'block'; emergencyInfo.style.top = topOffset + 'px'; };
	ticker._hasNoData = function () { if (emergencyBox.style.display == 'block' || emergencyBox.style.display == '') emergencyBox.style.display = 'none'; };
	ticker.execute();
		
	//window.setInterval(ticker.doScrolling.bind(ticker), document.all ? 60 : 20);
	moveTicker();
	window.setInterval(ticker.update.bind(ticker), 60000);
}

function moveTicker() {
	ticker.doScrolling();
	window.setTimeout(moveTicker, document.all ? 55 : 20);
}

function getTickerFetchUrl() {
	return 'XSLT_REQUEST';
}

function showTransitProviders(){
	document.getElementById('transitProvidersBubble').style.display='';
}

function checkSelMOT(obj){

	var useOnlyOP = document.forms[0].useOnlyOP;
	var preferInclOP = document.forms[0].preferInclOP;
	var preferExclOP = document.forms[0].preferExclOP;
	var checkedOp = 0;
	
	for (var iIndex = 0; iIndex < useOnlyOP.length; iIndex++)

		if(useOnlyOP[iIndex].checked==true)
		{
			checkedOp += 1;
		}
		
	for (var iIndex = 0; iIndex < preferInclOP.length; iIndex++)

		if(preferInclOP[iIndex].checked==true)
		{
			checkedOp += 1;
		}
		
		
	for (var iIndex = 0; iIndex < preferExclOP.length; iIndex++)

		if(preferExclOP[iIndex].checked==true)
		{
			checkedOp += 1;
		}
	
	if(obj.checked==false || checkedOp!='0'){
		if (document.getElementById('selMOT'))
			document.getElementById('selMOT').value='0';
	}
	else{
		if (document.getElementById('selMOT'))
			document.getElementById('selMOT').value='1';
	}

}


attachEventListener(document, 'load', fixLegend, false);
attachEventListener(window, 'load', applyAgencies, false);
attachEventListener(window, 'load', applyFootpathTravelTime, false);
attachEventListener(window, 'load', applyOnChangeSpeedChange, false);
attachEventListener(window, 'load', checkInitialTab, false);
attachEventListener(window, 'load', checkForTicker, false);