function clearFiltersInitAll() {
   	var startPointId = document.getElementById('startPointId');
   	var endPointId = document.getElementById('endPointId');    
   	var fromHour = document.getElementById('fromHour');
   	var returnDate = document.getElementById('returnDate');       
   	var returnStartPointName = document.getElementById('returnStartPointName');   
   	var returnEndPointName = document.getElementById('returnEndPointName');  
   	var returnHour = document.getElementById('returnHour');    	
   	var seatsTooltip = document.getElementById('seatsTooltip');
   	try {
		clearSelect(startPointId);	
		clearSelect(endPointId);
		clearSelect(fromHour);
		clearField(returnDate);
		clearField(returnStartPointName);
		clearField(returnEndPointName);
		disableAndClearReturnFilter(); 
		document.getElementById('seatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
		document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'></td></tr></table>";
		setDisabledAlphaNotAllowedCursor(document.getElementById('returnSeatsTooltipContainer')); 
		clearAndDisabledTickets();        			     					
 	} catch(e) {;} 
};
function clearFilters(index) {
   	var startPointId = document.getElementById('startPointId');
   	var endPointId = document.getElementById('endPointId');    
   	var fromHour = document.getElementById('fromHour');
   	var returnDate = document.getElementById('returnDate');       
   	var returnStartPointName = document.getElementById('returnStartPointName');   
   	var returnEndPointName = document.getElementById('returnEndPointName');  
   	var returnHour = document.getElementById('returnHour');    	
   	var seatsTooltip = document.getElementById('seatsTooltip');
   	try {
    	switch(parseInt(index)) {
     		case filterFromDate:	{
     			clearSelect(startPointId);	
     			clearSelect(endPointId);
     			clearSelect(fromHour);
     			clearField(returnDate);
     			clearField(returnStartPointName);
     			clearField(returnEndPointName);
     			disableAndClearReturnFilter(); 
     			document.getElementById('seatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
     			document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'></td></tr></table>";
     			setDisabledAlphaNotAllowedCursor(document.getElementById('returnSeatsTooltipContainer')); 
     			clearAndDisabledTickets();   
     			if (applicationState == stateHomePage) {
     				hideAllShowHomePage();
     			} else {
     				hideAllMessagesShowTicketsAndVehicles();
     			}
     			break;
     		} case filterStartPointId: {
     			clearSelect(endPointId);
     			clearSelect(fromHour);
     			clearField(returnStartPointName);
     			clearField(returnEndPointName);	  
     			disableAndClearReturnFilter();    			
     			document.getElementById('seatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
     			document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'></td></tr></table>";
     			clearAndDisabledTickets();
     			if (applicationState == stateHomePage) {
     				hideAllShowHomePage();
     			} else {
     				hideAllMessagesShowTicketsAndVehicles();
     			}    		
     			break;	        		
     		} case filterEndPointId: {
				clearSelect(fromHour);
				clearField(returnStartPointName);
				disableAndClearReturnFilter();	 	
				document.getElementById('seatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
				document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'></td></tr></table>";
				clearAndDisabledTickets();
     			if (applicationState == stateHomePage) {
     				hideAllShowHomePage();
     			} else {
     				hideAllMessagesShowTicketsAndVehicles();
     			}   		
				break;
			} case filterFromHour: {
				//clearReturnFilter();
				applicationState = stateTicketsAndVehicles;
				hideAllMessagesShowTicketsAndVehicles();  
				break;				   	        		
     		} case filterReturnDate: {
     			clearSelect(returnHour);
     			document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
     			applicationState = stateTicketsAndVehicles;
     			hideAllMessagesShowTicketsAndVehicles();
     			break;
     		} case filterReturnHour: {
     			applicationState = stateTicketsAndVehicles;
     			hideAllMessagesShowTicketsAndVehicles();    		
				break;				   	        		
     		}
    	}	        	 
 	} catch(e) {;} 
};
function changeType(element) {
	if (element.checked == true) {
		showReturnFilter();
		showReturnVehicleAndSeats();
		if (currentSelectTwoWayTicketsCount > 0) {
			showTicketLeftReturnTooltip();		
		}
		document.getElementById('checkboxTwoWay').checked = true;		
		document.getElementById('checkboxTwoWay2').checked = true;	
		document.getElementById('checkboxTwoWay3').checked = true;
		setNormalAlpha(document.getElementById('checkboxTwoWay3'));
		setReturnWay();							
	} else {
		hideReturnFilter();	
		hideReturnVehicleAndSeats();
		hideTicketLeftReturnTooltip();			
		document.getElementById('checkboxTwoWay').checked = false;		
		document.getElementById('checkboxTwoWay2').checked = false;	
		document.getElementById('checkboxTwoWay3').checked = false;	
		unSetReturnWay();			
	}
	hideAllMessagesShowTicketsAndVehicles();		
};
function loadFilterParameters(parameter, value) {
	getFilterParameters(parameter, value);
	initFilters();
};
function loadFilters() {
	if (!allSpaces(_fromDate)) {
		getInitFilterParameters(filterFromDate, _fromDate);			
	}	
};
function fillSelectBox(element, valueArr, titleArr) {
    if (valueArr != null && valueArr.length > 0 && titleArr != null && titleArr.length == valueArr.length) {            	
        var newOpt1 = null; 					    
		element.selectedIndex = 0;				 					 
		for (var i = 0; i < valueArr.length; i++) {
			newOpt1 = new Option(titleArr[i], valueArr[i]);		
			element.options[i + 1] = newOpt1;	
		}
		if (element.selectedIndex != 0) {
			clearSelectOnlyFirstElement(element);
		}
	}	
};
function initFilters() {
	if (document.getElementById('startPointId') != undefined && document.getElementById('startPointId').value != "") {
		document.getElementById('returnEndPointName').innerHTML = document.getElementById('startPointId')[document.getElementById('startPointId').selectedIndex].innerHTML;								
		document.getElementById('chosenRoute_content').innerHTML = document.getElementById('startPointId')[document.getElementById('startPointId').selectedIndex].innerHTML;								
	} else {
		document.getElementById('returnEndPointName').innerHTML = "";
		document.getElementById('chosenRoute_content').innerHTML = "";
	}

	if (document.getElementById('endPointId') != undefined && document.getElementById('endPointId').value != "") {
		document.getElementById('returnStartPointName').innerHTML = document.getElementById('endPointId')[document.getElementById('endPointId').selectedIndex].innerHTML;								
		document.getElementById('chosenRoute_content').innerHTML += " - " + document.getElementById('endPointId')[document.getElementById('endPointId').selectedIndex].innerHTML;								
	} else {
		document.getElementById('returnStartPointName').innerHTML = "";
		document.getElementById('chosenRoute_content').innerHTML = "";
	}
	if (document.getElementById('fromDate') != undefined && !allSpaces(document.getElementById('startPointId').value)
			&& (document.getElementById('startPointId') != undefined && !allSpaces(document.getElementById('startPointId').value))
			&& (document.getElementById('endPointId') != undefined && !allSpaces(document.getElementById('endPointId').value))
			&& (document.getElementById('fromHour') != undefined && !allSpaces(document.getElementById('fromHour').value))) {
		showVehicleSeats = true;
        document.getElementById('chosenRoute_content').innerHTML += " / " + document.getElementById('fromDate').value
                + " " + document.getElementById('fromHour')[document.getElementById('fromHour').selectedIndex].innerHTML + 'ч';
        if (document.getElementById('checkboxTwoWay') != undefined && document.getElementById('checkboxTwoWay').checked
				&& (document.getElementById('returnDate') != undefined && !allSpaces(document.getElementById('returnDate').value))
				&& (document.getElementById('returnHour') != undefined && !allSpaces(document.getElementById('returnHour').value))){
            document.getElementById('chosenRoute_content').innerHTML += " - " + document.getElementById('returnDate').value
                    + " " + document.getElementById('returnHour')[document.getElementById('returnHour').selectedIndex].innerHTML + 'ч';
			showVehicleReturnSeats = true;
		} else {
			showVehicleReturnSeats = false;
		}
	} else {
		showVehicleSeats = false;
		showVehicleReturnSeats = false;
	}
};
function showReturnFilter() {		
	showReturnFilters = true;
	document.getElementById('_trReturnDate').className = 'filters';
	document.getElementById('returnDate').className = 'inet-short-inbox';
	document.getElementById('returnDate').disabled = false;
	document.getElementById('_trReturnStartPointId').className = 'filters';
	document.getElementById('_trReturnEndPointId').className = 'filters';
	document.getElementById('returnStartPointName').className = 'filters-normal';
	document.getElementById('returnEndPointName').className = 'filters-normal';				
	document.getElementById('_trReturnHour').className = 'filters';
	document.getElementById('returnHour').className = '';
	document.getElementById('returnHour').style.cursor='default';
	document.getElementById('returnHour').disabled = false;	
	setNormalAlpha(document.getElementById('cal_img_return'));	
};
function hideReturnFilter() {
	showReturnFilters = false;
	document.getElementById('_trReturnDate').className = 'filters-disabled';
	document.getElementById('returnDate').className = 'inet-short-inbox-disabled';
	document.getElementById('returnDate').disabled = true;
	document.getElementById('_trReturnStartPointId').className = 'filters-disabled';
	document.getElementById('_trReturnEndPointId').className = 'filters-disabled';
	document.getElementById('returnStartPointName').className = 'filters-normal-disabled';
	document.getElementById('returnEndPointName').className = 'filters-normal-disabled';		
	document.getElementById('_trReturnHour').className = 'filters-disabled';
	document.getElementById('returnHour').className = 'select-disabled';
	document.getElementById('returnHour').style.cursor='not-allowed';
	document.getElementById('returnHour').disabled = true;	
	setDisabledAlpha(document.getElementById('cal_img_return'));
}; 
function showFromFilter() {		
	showFromFilters = true;
	document.getElementById('_trFromDate').className = 'filters';
	document.getElementById('fromDate').className = 'inet-short-inbox';
	document.getElementById('fromDate').disabled = false;
	
	document.getElementById('_trFromStartPointId').className = 'filters';
	document.getElementById('startPointId').className = '';
	document.getElementById('startPointId').style.cursor='default';
	document.getElementById('startPointId').disabled = false;	

	document.getElementById('_trFromEndPointId').className = 'filters';
	document.getElementById('endPointId').className = '';
	document.getElementById('endPointId').style.cursor='default';	
	document.getElementById('endPointId').disabled = false;
	
	document.getElementById('_trFromHour').className = 'filters';
	document.getElementById('fromHour').className = '';
	document.getElementById('fromHour').style.cursor='default';
	document.getElementById('fromHour').disabled = false;	
	
	setNormalAlpha(document.getElementById('cal_img_from'));	
};
function hideFromFilter() {
	showFromFilters = false;
	document.getElementById('_trFromDate').className = 'filters-disabled';
	document.getElementById('fromDate').className = 'inet-short-inbox-disabled';
	document.getElementById('fromDate').disabled = true;
	
	document.getElementById('_trFromStartPointId').className = 'filters-disabled';
	document.getElementById('startPointId').className = 'select-disabled';
	document.getElementById('startPointId').style.cursor='not-allowed';		
	document.getElementById('startPointId').disabled = true;
	
	document.getElementById('_trFromEndPointId').className = 'filters-disabled';
	document.getElementById('endPointId').className = 'select-disabled';
	document.getElementById('endPointId').style.cursor='not-allowed';	
	document.getElementById('endPointId').disabled = true;
	
	document.getElementById('_trFromHour').className = 'filters-disabled';
	document.getElementById('fromHour').className = 'select-disabled';
	document.getElementById('fromHour').style.cursor='not-allowed';
	document.getElementById('fromHour').disabled = true;	
	setDisabledAlpha(document.getElementById('cal_img_from'));	
}
function disableAndClearReturnFilter() {	
	if (document.getElementById('checkboxTwoWay').checked)
		document.getElementById('checkboxTwoWay').checked = false;
	if (document.getElementById('checkboxTwoWay2').checked)
		document.getElementById('checkboxTwoWay2').checked = false;	
	if (document.getElementById('checkboxTwoWay3').checked)
		document.getElementById('checkboxTwoWay3').checked = false;				
	if (!document.getElementById('checkboxTwoWay').disabled) {
		document.getElementById('checkboxTwoWay').disabled = true;
		setNotAllowedCursor('checkboxTwoWay');
	}	
	if (!document.getElementById('checkboxTwoWay2').disabled) {	
		document.getElementById('checkboxTwoWay2').disabled = true;	
		setNotAllowedCursor('checkboxTwoWay2');
	}	
	
	if (!document.getElementById('checkboxTwoWay3').disabled) {	
		document.getElementById('checkboxTwoWay3').disabled = true;	
		setNotAllowedCursor('checkboxTwoWay3');
	}	
		
	document.getElementById('returnStartPointName').innerHTML = "";
	document.getElementById('returnEndPointName').innerHTML = "";	
	clearField(document.getElementById('returnDate'));
	clearSelect(document.getElementById('returnHour'));	
	_returnDate = "";
	_returnHour = "";
	hideReturnFilter();	
};
function clearReturnFilter() {
	if (showReturnFilters) {
		clearField(document.getElementById('returnDate'));
		clearSelect(document.getElementById('returnHour'));	
		_returnDate = "";
		_returnHour = "";
		document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
	}	
	hideReturnFilter();	
};
function enableReturnFilter() {
	document.getElementById('checkboxTwoWay').disabled = false;
	document.getElementById('checkboxTwoWay2').disabled = false;
	document.getElementById('checkboxTwoWay3').disabled = false;
	setNormalAlphaCursor(document.getElementById('checkboxTwoWay'));	
	setNormalAlphaCursor(document.getElementById('checkboxTwoWay2'));	
	setNormalAlphaCursor(document.getElementById('checkboxTwoWay3'));
	if (document.getElementById('checkboxTwoWay').checked) {
		showReturnFilter();
	}
};
function fillInitSelectBox(filterParameter, valueArr, titleArr) {
	var element;
	switch(filterParameter) {
		case filterFromDate: {
			element = document.getElementById('startPointId');
			break;
		}
		case filterStartPointId: {
			element = document.getElementById('endPointId');
			break;		
		}
		case filterEndPointId: {
			element = document.getElementById('fromHour');
			break;				
		}
		case filterReturnDate: {
			element = document.getElementById('returnHour');
			break;			
		}		
	}
    if (valueArr != null && valueArr.length > 0 && titleArr != null && titleArr.length == valueArr.length) {            	
        var newOpt1 = null; 					    
		element.selectedIndex = 0;				 					 
		for (var i = 0; i < valueArr.length; i++) {
			newOpt1 = new Option(titleArr[i], valueArr[i]);		
			element.options[i + 1] = newOpt1;
			switch(filterParameter) {
				case filterFromDate: {
					if (_startPointId == valueArr[i]) {
						element.selectedIndex = i + 1;
					}							
					break;
				}
				case filterStartPointId: {
					if (_endPointId == valueArr[i]) {
						element.selectedIndex = i + 1;
					}
					break;		
				}
				case filterEndPointId: {					
					if (_fromHour == valueArr[i]) {
						element.selectedIndex = i + 1;
					}	
					break;				
				}
				case filterReturnDate: {
					if (_returnHour == valueArr[i]) {
						element.selectedIndex = i + 1;
					}	
					break;				
				}				
			}	
		}
		if (element.selectedIndex != 0) {
			clearSelectOnlyFirstElement(element);												            	
		}
	}	
}; 
function setReturnWay() {
	XMLHttpRequestObject = getXMLHttpRequestObject();	
	if (XMLHttpRequestObject) {               
		var url = encodeURI(contextRoot + 'sale-filter?a=chRw&val=1&sId=' + sessionId + '&sync=' + Math.random());                                                    	                            

		XMLHttpRequestObject.open("GET", url);
        XMLHttpRequestObject.onreadystatechange = function() {
           	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {                	
                if (XMLHttpRequestObject.responseText == moduleClosedErrCode) {
                	moduleCloseOperation();                             	          					                  					                   	          					                  					                	
                } else if (XMLHttpRequestObject.responseText == sessionTimeOut) {
                	sessionTimeOutOperation();
                } else if (XMLHttpRequestObject.responseText == systemError) {
    				alert('Възникна грешка в системата!');                    	
            	} else {
	          		var response = null;
	          		if (_ie) XMLHttpRequestObject.responseXML.loadXML(XMLHttpRequestObject.responseText);	            		            		
	          		response = XMLHttpRequestObject.responseXML.documentElement;	            	          			            	
	          		if (response != null) { 
	          			if (response.childNodes[0] != undefined && response.childNodes[0].firstChild != undefined) {
	          				if ("-1" != response.childNodes[0].firstChild.data) {
	          					_returnDate = response.childNodes[0].firstChild.data;
	          				}
	          			}
	          			if (response.childNodes[1] != undefined && response.childNodes[1].firstChild != undefined) {
	          				if ("-1" != response.childNodes[1].firstChild.data) {
	          					_returnHour = response.childNodes[1].firstChild.data;
	          				}
	          			}	          				          			            		      	 	            		        		            		
            			if (!allSpaces(_returnHour)) {
		            		showTwoWayTickets = true;
		            		shownTicketIndex = 0;
		            		fillTicketsTooltip();
	            		}
            		}            		
            	}
            killXML(XMLHttpRequestObject);	
			} else if (XMLHttpRequestObject.readyState != 0) {					                    
				//document.getElementById('seat_' + seat).className = 'seat-loading';
            } else {
				alert('Възникна проблем с извличането на XML данните!');
            }
	};
	XMLHttpRequestObject.send(null);
	}
};
function unSetReturnWay() {
	XMLHttpRequestObject = getXMLHttpRequestObject();	
	if (XMLHttpRequestObject) {               
		var url = encodeURI(contextRoot + 'sale-filter?a=unChRw&val=1&sId=' + sessionId + '&sync=' + Math.random());   
		var _loadSeats = false;                                                 	                            
		var _loadReturnSeats = false;

		XMLHttpRequestObject.open("GET", url);
        XMLHttpRequestObject.onreadystatechange = function() {
		if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {    
			if (XMLHttpRequestObject.responseText == moduleClosedErrCode) {
				moduleCloseOperation();    
			} else if (XMLHttpRequestObject.responseText == sessionTimeOut) {
				sessionTimeOutOperation(); 
            } else if (XMLHttpRequestObject.responseText == systemError) {
				alert('Възникна грешка в системата!');                    	          					                  					                   	          					                  					
            } else if (XMLHttpRequestObject.responseText == communicationError) {
				alert('Възникна комуникационна грешка!'); 
            } else if (XMLHttpRequestObject.responseText == invalidCommunicationParameter) {
				alert('Грешни комуникационни параметри!');                    	          					                  					                   	          					                  	
          	} else {
          		var response = null;
          		if (_ie) XMLHttpRequestObject.responseXML.loadXML(XMLHttpRequestObject.responseText);	            		            		
          		response = XMLHttpRequestObject.responseXML.documentElement;	            	          			            	
          		if (response != null) { 	            		      	 	            		        		            		
          			if (response.childNodes[0] != undefined && response.childNodes[0].firstChild != undefined) {
          				if ("true" == response.childNodes[0].firstChild.data) {
          					_loadSeats = true;
          				}
          			}
          			if (response.childNodes[1] != undefined && response.childNodes[1].firstChild != undefined) {
          				if ("true" == response.childNodes[1].firstChild.data) {
          					_loadReturnSeats = true;
          				}
          			}
         			if (response.childNodes[2] != undefined && response.childNodes[2].firstChild != undefined) {
          				if (!isNaN(parseFloat(response.childNodes[2].firstChild.data))) {
          					currentSelectTicketType = parseFloat(response.childNodes[2].firstChild.data);
          				}
          			}          			
          			showTwoWayTickets = false;
           			shownTicketIndex = 0;            		            			            	
          		} else {
          			alert("Възникна грешка в системата!");
          		}
          	}            	 
           	killXML(XMLHttpRequestObject);					
           	if (_loadSeats || _loadReturnSeats) {
           		if (_loadSeats)
		           	loadSeats(false);
		       	if (_loadReturnSeats) {
		       		loadReturnSeats();
		       	}	 		       	  	
           	} 
           	fillTicketsTooltip(); 
           	getInitStateTimerState();
		} else if (XMLHttpRequestObject.readyState != 0) {					                    
			//document.getElementById('seat_' + seat).className = 'seat-loading';				
        } else alert('Възникна проблем с извличането на XML данните!');        
	};
	XMLHttpRequestObject.send(null);
	}
};
function getFilterParameters(parameter, value) {
	var XMLHttpRequestObject = getXMLHttpRequestObject();
	if (XMLHttpRequestObject) {        	           
        var url = encodeURI(contextRoot + 'sale-filter?a=' + parameter + '&val=' + value + '&cl=1&sId=' + sessionId + '&sync=' + Math.random());        
		XMLHttpRequestObject.open("GET", url);
        XMLHttpRequestObject.onreadystatechange = function() {
		if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {  
			if (XMLHttpRequestObject.responseText == moduleClosedErrCode) {
				moduleCloseOperation();    			
			} else if (XMLHttpRequestObject.responseText == sessionTimeOut) {
				sessionTimeOutOperation();              
            } else if (XMLHttpRequestObject.responseText == invalidParameters) {
               // alert('Некоректни параметри!');	 
               	invalidParametersOperation();
			} else if (XMLHttpRequestObject.responseText == systemError) {
                alert('Възникна грешка в системата!');	         
			} else if (XMLHttpRequestObject.responseText == communicationError) {
                alert('Възникна комуникационна грешка!');	                                                                 
            } else if (XMLHttpRequestObject.responseText == '1') {
            	if (parameter == filterFromHour) {
            		clearSelectOnlyFirstElement(document.getElementById('fromHour'));
            		_fromHour = document.getElementById('fromHour').value;
            		loadSeats(true);
            	} else if (parameter == filterReturnHour) {
            		loadReturnSeats();
            		showTwoWayTickets = true;
            		shownTicketIndex = 0;
            		fillTicketsTooltip();
            		clearSelectOnlyFirstElement(document.getElementById('returnHour'));
            	}                    
 			} else if (XMLHttpRequestObject.responseText == '0') {
                ;                
 			} else {
            	var response = null;
            	if (_ie) XMLHttpRequestObject.responseXML.loadXML(XMLHttpRequestObject.responseText);	            		            		
            	response = XMLHttpRequestObject.responseXML.documentElement;	            	          			            	
            	if (response != null) { 	            		      	 	            		        		            		
	            	var i = 0;
	            	var tmpValue = new Array();	            	        		            	         		            	   	
	            	var tmpTitle = new Array();	
	            	var content = null;            	
	            		while (i >= 0) {	            			    			
	            			content = response.childNodes[i];		            															            						          	            									            						          	            					            			
							if (content != null) {													
								tmpValue[i] = content.childNodes[0].firstChild.data;
								tmpTitle[i] = content.childNodes[1].firstChild.data;																													  							  							  						 				            
							  	i++;
							} else {
							  i = -1;
							}
			        	}			        					        	
			    }				                 					     					
            }        
			switch (parameter) {
				case filterFromDate: {         		
					fillSelectBox(document.getElementById('startPointId'), tmpValue, tmpTitle);					
					hideCustomTooltip('_progressStartPointId');
					break;
				} case filterStartPointId: {
					fillSelectBox(document.getElementById('endPointId'), tmpValue, tmpTitle);
					clearSelectOnlyFirstElement(document.getElementById('startPointId'));
					hideCustomTooltip('_progressEndPointId');
					break;
				} case filterEndPointId: {
					fillSelectBox(document.getElementById('fromHour'), tmpValue, tmpTitle);
					clearSelectOnlyFirstElement(document.getElementById('endPointId'));
					hideCustomTooltip('_progressHour');
					break;							
				} case filterReturnDate: {
					fillSelectBox(document.getElementById('returnHour'), tmpValue, tmpTitle);
					clearSelectOnlyFirstElement(document.getElementById('fromHour'));
					hideCustomTooltip('_progressReturnHour');
					break;				
				} case filterReturnHour: {
					_returnHour = document.getElementById('returnHour').value;
				}        
			}             
			killXML(XMLHttpRequestObject);	
		} else if (XMLHttpRequestObject.readyState != 0) {			     
			switch (parameter) {
				case filterFromDate: {				
					showCustomTooltip('_progressStartPointId');
					break;
				} case filterStartPointId: {
					showCustomTooltip('_progressEndPointId');
					break;
				} case filterEndPointId: {
					showCustomTooltip('_progressHour');
					break;
				}          
			} 				                           	                	                			
		} else alert('There was a problem retrieving the XML data!');		
	};
	XMLHttpRequestObject.send(null);
	}	
};

function getInitFilterParameters(parameter, value) {
	var XMLHttpRequestObject = getXMLHttpRequestObject();
	if (XMLHttpRequestObject) {        	           
        var url = encodeURI(contextRoot + 'sale-filter?a=' + parameter + '&val=' + value + '&sId=' + sessionId + '&sync=' + Math.random());        
		XMLHttpRequestObject.open("GET", url);
        XMLHttpRequestObject.onreadystatechange = function() {
		if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {     
			if (XMLHttpRequestObject.responseText == moduleClosedErrCode) {
				moduleCloseOperation();    						
			} else if (XMLHttpRequestObject.responseText == '-8') {
                alert('Грешни комуникационни параметри!');                
            } else if (XMLHttpRequestObject.responseText == invalidParameters) {
                //alert('Некоректни параметри!');	 
                invalidParametersOperation();
			} else if (XMLHttpRequestObject.responseText == systemError) {
                alert('Възникна грешка в системата!');	           
			} else if (XMLHttpRequestObject.responseText == communicationError) {
                alert('Възникна комуникационна грешка!');	                                                                                       
            } else if (XMLHttpRequestObject.responseText == '1') {
            	if (parameter == filterFromHour) {
            		loadSeats(true);
            	} else if (parameter == filterReturnHour) {
            		loadReturnSeats();
            	}                   
 			} else if (XMLHttpRequestObject.responseText == '0') {
                ;                
 			} else { 				
            	var response = null;
            	if (_ie) XMLHttpRequestObject.responseXML.loadXML(XMLHttpRequestObject.responseText);	            		            		
            	response = XMLHttpRequestObject.responseXML.documentElement;	            	          			            	
            	if (response != null) { 	            		      	 	            		        		            		
	            	var i = 0;
	            	var tmpValue = new Array();	            	        		            	         		            	   	
	            	var tmpTitle = new Array();	
	            	var content = null;            	
	            		while (i >= 0) {	            			    			
	            			content = response.childNodes[i];		            															            						          	            									            						          	            					            			
							if (content != null) {													
								tmpValue[i] = content.childNodes[0].firstChild.data;
								tmpTitle[i] = content.childNodes[1].firstChild.data;																													  							  							  						 				            
							  	i++;
							} else {
							  i = -1;
							}
			        	}			        					        	
			    }				                 					     					
            }   
            killXML(XMLHttpRequestObject);	     
			switch (parameter) {
				case filterFromDate: {         		
					fillInitSelectBox(filterFromDate, tmpValue, tmpTitle);
					hideCustomTooltip('_progressStartPointId');
					if (!allSpaces(_startPointId)) {
						getInitFilterParameters(filterStartPointId, _startPointId);	
					} else {
						hideCustomTooltip('_progressEndPointId');
						hideCustomTooltip('_progressHour');
					}
					break;
				} case filterStartPointId: {
					fillInitSelectBox(filterStartPointId, tmpValue, tmpTitle);
					hideCustomTooltip('_progressEndPointId');					
					if (!allSpaces(_endPointId)) {
						getInitFilterParameters(filterEndPointId, _endPointId);	
					} else {						
						hideCustomTooltip('_progressHour');
					}
					break;
				} case filterEndPointId: {
					fillInitSelectBox(filterEndPointId, tmpValue, tmpTitle);
					hideCustomTooltip('_progressHour');
					if (!allSpaces(_fromHour)) {
						getInitFilterParameters(filterFromHour, _fromHour);	
					}			
					break;
				} case filterFromHour: {
					if (!allSpaces(_returnDate)) {
						getInitFilterParameters(filterReturnDate, _returnDate);	
					} else {
						document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";												
					}					
					break;
				} case filterReturnDate: {
					fillInitSelectBox(filterReturnDate, tmpValue, tmpTitle);
					hideCustomTooltip('_progressReturnHour');
					if (!allSpaces(_returnHour)) {
						getInitFilterParameters(filterReturnHour, _returnHour);	
					} else {
						document.getElementById('returnSeatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";																								
					}					
					break;				
				}      
			}             			
		} else if (XMLHttpRequestObject.readyState != 0) {	
			if (parameter == filterFromDate) {	
				showCustomTooltip('_progressStartPointId');
				showCustomTooltip('_progressEndPointId');
				showCustomTooltip('_progressHour');
				document.getElementById('seatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
			} else if (parameter == filterStartPointId) {
				showCustomTooltip('_progressEndPointId');
				showCustomTooltip('_progressHour');
				document.getElementById('seatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
			} else if (parameter == filterEndPointId) {
				showCustomTooltip('_progressHour');
				document.getElementById('seatsTooltip').innerHTML = "<table width=100%><tr><td class='filters' align='center'>Не е избран маршрут...</td></tr></table>";
			} else if (parameter == filterReturnDate) {
				showCustomTooltip('_progressReturnHour');
			}
		} else {
			alert('There was a problem retrieving the XML data!');	
		}
		initFilters();	
	};
	XMLHttpRequestObject.send(null);	
	}	
};
function managefilterAccordingSelectedTicketType() {
	if (currentSelectTicketType == noCurrentTicketSelected && !summaryIncludeTooltipShown) {
		unblockFilters();
	} else {
		blockFilters();
	}	
};
function blockFilters() {
	hideFromFilter();
	if (document.getElementById('checkboxTwoWay').checked) {
		hideReturnFilter();
		document.getElementById('checkboxTwoWay').disabled = true;
		setNotAllowedCursor('checkboxTwoWay');		
		if (document.getElementById('checkboxTwoWay2') != undefined) {
			document.getElementById('checkboxTwoWay2').disabled = true;
			setNotAllowedCursor('checkboxTwoWay2');		
		}
		if (document.getElementById('checkboxTwoWay3') != undefined) {
			document.getElementById('checkboxTwoWay3').disabled = true;
			setNotAllowedCursor('checkboxTwoWay3');				
		}
	} else {
		if (hasTwoWay) {
			document.getElementById('checkboxTwoWay').disabled = true;
			setNotAllowedCursor('checkboxTwoWay');		
			if (document.getElementById('checkboxTwoWay2') != undefined) {
				document.getElementById('checkboxTwoWay2').disabled = true;
				setNotAllowedCursor('checkboxTwoWay2');
			}
			if (document.getElementById('checkboxTwoWay3') != undefined) {
				document.getElementById('checkboxTwoWay3').disabled = true;
				setNotAllowedCursor('checkboxTwoWay3');				
			}
		}			
	}
};
function unblockFilters() {
	showFromFilter();
	if (document.getElementById('checkboxTwoWay').checked) {
		showReturnFilter();
		document.getElementById('checkboxTwoWay').disabled = false;
		setNormalAlphaCursor(document.getElementById('checkboxTwoWay'));
		if (document.getElementById('checkboxTwoWay2') != undefined) {
			document.getElementById('checkboxTwoWay2').disabled = false;
			setNormalAlphaCursor(document.getElementById('checkboxTwoWay2'));
		}
		if (document.getElementById('checkboxTwoWay3') != undefined) {
			document.getElementById('checkboxTwoWay3').disabled = false;
			setNormalAlphaCursor(document.getElementById('checkboxTwoWay3'));
		}
	} else {
		if (hasTwoWay) {
			document.getElementById('checkboxTwoWay').disabled = false;
			setNormalAlphaCursor(document.getElementById('checkboxTwoWay'));
			if (document.getElementById('checkboxTwoWay2') != undefined) {
				document.getElementById('checkboxTwoWay2').disabled = false;
				setNormalAlphaCursor(document.getElementById('checkboxTwoWay2'));
			}
			if (document.getElementById('checkboxTwoWay3') != undefined) {
				document.getElementById('checkboxTwoWay3').disabled = false;
				setNormalAlphaCursor(document.getElementById('checkboxTwoWay3'));
			}
		}					
	}
};
function initFiltersStatus() {
	showFromFilter();
	hideReturnFilter();
	document.getElementById('checkboxTwoWay').disabled = true;
	setNotAllowedCursor('checkboxTwoWay');		
	if (document.getElementById('checkboxTwoWay2') != undefined) {
		document.getElementById('checkboxTwoWay2').disabled = true;
		setNotAllowedCursor('checkboxTwoWay2');
	}
	if (document.getElementById('checkboxTwoWay3') != undefined) {
		document.getElementById('checkboxTwoWay3').disabled = true;
		setNotAllowedCursor('checkboxTwoWay3');				
	}
};