
//globale Variablen
	
	var arrAjaxQueue1 		= new Array();	//Priorität1
	var arrAjaxQueue2 		= new Array();  //Priorität2
	var arrAjaxQueue3 		= new Array();  //Priorität3
	
	
	var ajax_queue 			= new Array();	//OldVar
	var bFrmSerialize 	= false;
	var bFrmTransfer 	= false;
	
	var htmlIMGQueue = '';
	var htmlIMGLoad = '';
	
	
	//AJAX - Objekt initialisieren
	var ajax_http = false;
	if (window.XMLHttpRequest) { 
	// default
	    ajax_http = new XMLHttpRequest();
	    if (ajax_http.overrideMimeType) {
	        ajax_http.overrideMimeType('text/html');
	    }
	} else if (window.ActiveXObject) { 
	// IE
	    try {
	        ajax_http = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch (e) {
	        try {
	            ajax_http = new ActiveXObject("Microsoft.XMLHTTP");
	        } catch (e) {}
	    }
	}

/*--------------------------------------------------------------------------*/

	
/**
 * 		Verarbeiten von mehreren Ajax- Request 
 * 
 * 	@param		$div_id		-> DIV-Bereich bei denen die Ausgae erscheinen soll
 *	@param		$fileURL	-> http der zu verarbeitende Datei
 * 	@param 		$queryString-> ONly vor POST-Var
 * 	@param		$img_lade	-> evtl. ladebalken während der Verarbeitung
 * 	@param		$img_lade	-> evtl. ladebalken während Request in der Warteschliefe leigt.
 *
 *	CSS: 		Info-msg		-> #msg_info
 *	    		Error-msg		-> #msg_err
 * 
 * 	
**/
function ajax_request(div_id, fileURL, queryString, img_lade, img_wait, img_div, frm_submit, bFullScreen, location, prio) {
	if(ajax_http && document.getElementById(div_id)) {		
		if($('#'+div_id)){	
			$('#'+div_id).removeClass().addClass("msgLoad");
		}
		/* Request Daten in die Warteschlange setzen, falls der vorherige noch nicht abgeschlossen ist */
		if(ajax_http.readyState == 1 || ajax_http.readyState == 2 || ajax_http.readyState == 3) {
			//START - aktuellen Div abdunkeln.... Queue
				$('#'+div_id).removeClass().addClass("msgQueue");
				if(div_id == 'action_ax') {
					ActionAXShow(bFullScreen);
					if(bFullScreen == '1') {
						$('#'+div_id).before('<div id="'+div_id+'IMGQueue" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;position:fixed;"><div id="msg_info"><img id="preise_wait_img1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"> Seite aktualisiert. <img id="preise_wait_img1_1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"></div><img style="margin-top:10px;" src="img/Ajax/LoadBig.gif" border="0"></div>');
					} else {
						$('#'+div_id).html('<div id="'+div_id+'IMGQueue" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;"><div id="msg_info"><img id="preise_wait_img1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"> Seite aktualisiert. <img id="preise_wait_img1_1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"></div></div>');
					}
				}else if(div_id == 'preis_liste_ax') {
					$('#'+div_id).before('<div id="'+div_id+'IMGQueue" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;position:absolute;"><div id="msg_info"><img id="preise_wait_img1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"> Preise werden aktualisiert. <img id="preise_wait_img1_1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"></div><img style="margin-top:10px;" src="img/Ajax/LoadBig.gif" border="0"></div>');
				} else if(img_wait != 'none'){
					$('#'+div_id).before('<div id="'+div_id+'IMGQueue" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;position:absolute;"><div id="msg_info"><img src="img/Ajax/Queue.gif" border="0" ></div>');
				}
			//ENDE - aktuellen Div abdunkeln.... Queue
			if(prio == 1){
				arrAjaxQueue1Length = arrAjaxQueue1.length;
				arrAjaxQueue1[arrAjaxQueue1Length] = new Array();
				arrAjaxQueue1[arrAjaxQueue1Length][0] = div_id;
				arrAjaxQueue1[arrAjaxQueue1Length][1] = fileURL;
				arrAjaxQueue1[arrAjaxQueue1Length][2] = queryString;
				arrAjaxQueue1[arrAjaxQueue1Length][3] = img_lade;
				arrAjaxQueue1[arrAjaxQueue1Length][4] = img_wait;
				arrAjaxQueue1[arrAjaxQueue1Length][5] = img_div;
				arrAjaxQueue1[arrAjaxQueue1Length][6] = frm_submit;
				arrAjaxQueue1[arrAjaxQueue1Length][7] = bFullScreen;
				arrAjaxQueue1[arrAjaxQueue1Length][8] = location;
				arrAjaxQueue1[arrAjaxQueue1Length][9] = prio;
			} else if(prio == 2){
				arrAjaxQueue2Length = arrAjaxQueue2.length;
				arrAjaxQueue2[arrAjaxQueue2Length] = new Array();
				arrAjaxQueue2[arrAjaxQueue2Length][0] = div_id;
				arrAjaxQueue2[arrAjaxQueue2Length][1] = fileURL;
				arrAjaxQueue2[arrAjaxQueue2Length][2] = queryString;
				arrAjaxQueue2[arrAjaxQueue2Length][3] = img_lade;
				arrAjaxQueue2[arrAjaxQueue2Length][4] = img_wait;
				arrAjaxQueue2[arrAjaxQueue2Length][5] = img_div;
				arrAjaxQueue2[arrAjaxQueue2Length][6] = frm_submit;
				arrAjaxQueue2[arrAjaxQueue2Length][7] = bFullScreen;
				arrAjaxQueue2[arrAjaxQueue2Length][8] = location;
				arrAjaxQueue2[arrAjaxQueue2Length][9] = prio;
			}else{
				arrAjaxQueue3Length = arrAjaxQueue3.length;
				arrAjaxQueue3[arrAjaxQueue3Length] = new Array();
				arrAjaxQueue3[arrAjaxQueue3Length][0] = div_id;
				arrAjaxQueue3[arrAjaxQueue3Length][1] = fileURL;
				arrAjaxQueue3[arrAjaxQueue3Length][2] = queryString;
				arrAjaxQueue3[arrAjaxQueue3Length][3] = img_lade;
				arrAjaxQueue3[arrAjaxQueue3Length][4] = img_wait;
				arrAjaxQueue3[arrAjaxQueue3Length][5] = img_div;
				arrAjaxQueue3[arrAjaxQueue3Length][6] = frm_submit;
				arrAjaxQueue3[arrAjaxQueue3Length][7] = bFullScreen;
				arrAjaxQueue3[arrAjaxQueue3Length][8] = location;
				arrAjaxQueue3[arrAjaxQueue3Length][9] = prio;
			}
		} else {
			//START - aktuellen Div abdunkeln.... Load
				$('#'+div_id).removeClass().addClass("msgLoad");
				$('#'+div_id+'IMGQueue').remove();
				if(div_id == 'action_ax') {
					ActionAXShow(bFullScreen);
					if(bFullScreen == '1') {
						$('#'+div_id).before('<div id="'+div_id+'IMGLoad" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;position:fixed;"><div id="msg_info"><img id="preise_wait_img1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"> Seite aktualisiert. <img id="preise_wait_img1_1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"></div><img style="margin-top:10px;" src="img/Ajax/LoadBig.gif" border="0"></div>');
					} else {
						$('#'+div_id).html('<div id="'+div_id+'IMGLoad" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;"><div id="msg_info"><img id="preise_wait_img1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"> Seite aktualisiert. <img id="preise_wait_img1_1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"></div></div>');
					}
				}else if(div_id == 'preis_liste_ax') {
					$('#'+div_id).before('<div id="'+div_id+'IMGLoad" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;position:absolute;"><div id="msg_info"><img id="preise_wait_img1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"> Preise werden aktualisiert. <img id="preise_wait_img1_1" src="img/Ajax/Load.gif" border="0" style="margin-top:2px;"></div><img style="margin-top:10px;" src="img/Ajax/LoadBig.gif" border="0"></div>');
				} else if(div_id == 'ActionAX'){
					$('#'+div_id+'Overlay').show('');
					$('#'+div_id).show('');
					/*
					$('#'+div_id+'Overlay').show('fold');
					$('#'+div_id).show('slide');
					*/
					$('#'+div_id).html('<div id="'+div_id+'IMGLoad" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;position:absolute;"><div id="msg_info"><img src="img/Ajax/Load.gif" border="0" ></div></div>');
				} else if( img_lade != 'none') {
					$('#'+div_id).before('<div id="'+div_id+'IMGLoad" style="height:'+$('#'+div_id).height()+'px;width:'+$('#'+div_id).width()+'px;text-align: center;position:absolute;"><div id="msg_info"><img src="img/Ajax/Load.gif" border="0" ></div></div>');
				}
			//ENDE - aktuellen Div abdunkeln.... Load
			if(location == '_self'){
				window.location.href = fileURL;
			}else if(location == '_blank'){
				window.open(fileURL);
			} else {
			
				if(queryString == "") queryString = "?";  //Bug - FF 404 
				if(queryString == "" && 0) {
					ajax_http.open('GET', fileURL, true);
				} else {
					ajax_http.open('POST', fileURL, true);
					ajax_http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
					//ajax_http.setRequestHeader('Content-Type', 'text/html; charset=iso-8859-1');
					//alert(queryString);
					ajax_http.send(queryString);
				}
				ajax_http.onreadystatechange = function () {
					if(ajax_http.readyState == 4) {
						if(ajax_http.status == 200) {
							if(img_div != null && img_div != "") {
						    	document.getElementById(img_div).style.display = "none";
						    }
						    if(document.getElementById(div_id)){
						    	do{
								    if(bFrmSerialize == false){
								    	bFrmTransfer = true;
								    	$('#'+div_id+'IMGLoad').remove();
								    	document.getElementById(div_id).innerHTML = ajax_http.responseText;
								    	$('#'+div_id).removeClass();
								    	if(div_id == 'action_ax') {
								    		ActionAXHide();
								    	}
								   	}
							   		bFrmTransfer = false;
						    	}while(bFrmSerialize == true);
						    }
						    
							//alert(ajax_http.responseText);
							if(div_id == 'Search' || div_id == 'SearchChange') {
								if(document.getElementById('datepicker_bis')) {
									$("#datepicker_bis").datepicker({ dateFormat: 'dd.mm.yy', monthNamesShort: ['Jan','Feb','März','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], firstDay: 1, dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], changeYear: true, changeMonth: true, yearRange: '4' });
								}
								if(document.getElementById('datepicker_von')) {
									$("#datepicker_von").datepicker({ dateFormat: 'dd.mm.yy',  monthNamesShort: ['Jan','Feb','März','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], firstDay: 1, dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], changeYear: true, changeMonth: true, yearRange: '4' });
								}
								
								if(document.getElementById('DatepickerBisChange')) {
									$("#DatepickerBisChange").datepicker({ dateFormat: 'dd.mm.yy', monthNamesShort: ['Jan','Feb','März','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], firstDay: 1, dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], changeYear: true, changeMonth: true, yearRange: '4' });
								}
								if(document.getElementById('DatepickerVonChange')) {
									$("#DatepickerVonChange").datepicker({ dateFormat: 'dd.mm.yy',  monthNamesShort: ['Jan','Feb','März','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], firstDay: 1, dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], changeYear: true, changeMonth: true, yearRange: '4' });
								}
							} else if(div_id == 'buchungen_suche_ax') {
								$("#txt_date_von").datepicker({ dateFormat: 'dd.mm.yy', changeYear: false, changeMonth: false, yearRange: '-10:0' });
								$("#txt_date_bis").datepicker({ dateFormat: 'dd.mm.yy', changeYear: false, changeMonth: false, yearRange: '-10:0' });
								ajax_refresh('buchungen_liste_ax');
							} else if(div_id == 'preis_liste_ax'){
								//alert("prices loaded, please check table_preis_liste_submit-"+document.getElementById('rad_kabine_id')+"-");
								if(!document.getElementById('rad_kabine_id') && document.getElementById('table_preis_liste_submit')){
									document.getElementById('table_preis_liste_submit').style.display = 'none';
								}else if(document.getElementById('rad_kabine_id') && document.getElementById('table_preis_liste_submit')){
									document.getElementById('table_preis_liste_submit').style.display = '';
								}
							} else if(div_id == 'menu_h2'){
								$('#'+div_id).removeClass().addClass(div_id);
							} else if(div_id == 'ContentActionAX'){
								  if(document.getElementById('txtThemeData')) {
										new nicEditor({fullPanel : true}).panelInstance('txtThemeData');
								  }
							}
							
							if (frm_submit == '1') {
								if(js_check_submit_request()) eval('document.frm_'+div_id+'.submit();');
							}
							
						} else if(ajax_http.status == 404) {
							document.getElementById(div_id).innerHTML = '<div id="msg_err">Die Datei wurde nicht gefunden!</div>';
						}
						
						/* Warteschlangen abarbeiten */
						arrAjaxQueue1Length = arrAjaxQueue1.length;
						if(arrAjaxQueue1Length != 0) {
							ajax_request(arrAjaxQueue1[0][0], arrAjaxQueue1[0][1], arrAjaxQueue1[0][2], arrAjaxQueue1[0][3], arrAjaxQueue1[0][4], arrAjaxQueue1[0][5], arrAjaxQueue1[0][6], arrAjaxQueue1[0][7], arrAjaxQueue1[0][8], arrAjaxQueue1[0][9]);
							arrAjaxQueue1.shift(); //Erstes Element entfernen, den Rest eine Position nach vorne rücken
						}else{
							arrAjaxQueue2Length = arrAjaxQueue2.length;
							if(arrAjaxQueue2Length != 0) {
								ajax_request(arrAjaxQueue2[0][0], arrAjaxQueue2[0][1], arrAjaxQueue2[0][2], arrAjaxQueue2[0][3], arrAjaxQueue2[0][4], arrAjaxQueue2[0][5], arrAjaxQueue2[0][6], arrAjaxQueue2[0][7], arrAjaxQueue2[0][8], arrAjaxQueue2[0][9]);
								arrAjaxQueue2.shift(); //Erstes Element entfernen, den Rest eine Position nach vorne rücken
							}else{
								arrAjaxQueue3Length = arrAjaxQueue3.length;
								if(arrAjaxQueue3Length != 0) {
									ajax_request(arrAjaxQueue3[0][0], arrAjaxQueue3[0][1], arrAjaxQueue3[0][2], arrAjaxQueue3[0][3], arrAjaxQueue3[0][4], arrAjaxQueue3[0][5], arrAjaxQueue3[0][6], arrAjaxQueue3[0][7], arrAjaxQueue3[0][8], arrAjaxQueue3[0][9]);
									arrAjaxQueue3.shift(); //Erstes Element entfernen, den Rest eine Position nach vorne rücken
								}else{
									
								}
							}
						}
					}
				};
				if(queryString == "") {
					ajax_http.send(null);
				}
			}
		}
	}
	return true;
}


//START ajax_transition 
	function ajax_transition(args){
		if(args.div_id){
			var link = args.link;
			var para_post = "";
			var img_div = "";
			var frm_submit = "";
			
			if(args.img_div){
				img_div = args.img_div;
			}
			
			
			if(args.para_get){
				link += "?"+args.para_get+"&div_id="+args.div_id;
			}else{
				link += "?div_id="+args.div_id;
			}
			
			if(args.action){ 
				if (args.action == 'clear' && args.frm_id) {
					//coming soon
				}else if(args.action == 'close'){
					if(args.div_id == 'ActionAX'){

						$('#'+args.div_id).hide('');
						$('#'+args.div_id+'Overlay').hide('');
						/*
						$('#'+args.div_id).hide('slide');
						$('#'+args.div_id+'Overlay').hide('fold');*/
					}
					document.getElementById(args.div_id).innerHTML = '';
					return true;
				}else if(args.action == 'submit'){
					frm_submit = '1';
				}else{
					link += "&action="+args.action;
				}
			}else link += "&action=";
			
			if(args.location == '_self' || args.location == '_blank'){
				link = args.link;
			}
			
			
			
			if(args.frm_id){	
				do{	
					if(bFrmTransfer == false){
						bFrmSerialize = true;
						if(document.getElementsByTagName("form")) var frm_elements = document.getElementsByTagName("form")[args.frm_id];
						else var frm_elements = document.getElementsByTagName("form")[args.frm_id];
						if(frm_elements) {
							var elements = frm_elements;
							for (var i = 0; i < elements.length; i++) {
								js_Convert2ASCII(elements[i]);
							}
							//serialize with jquery
							args.para_post = '&'+$(frm_elements).serialize();
						}
					}
					bFrmSerialize = false;
					//alert(args.para_post);
				}while(bFrmTransfer == true);
			}
			if(args.prio != 1 &&  args.prio != 2 && args.prio != 3){
				args.prio = 2;
			}
			
			ajax_request(args.div_id, link, args.para_post, args.img_load, args.img_queue, img_div, frm_submit, args.FullScreen, args.location, args.prio);
			//alert('ajax_request('+args.div_id+', '+link+', '+args.para_post+', '+args.img_load+', '+args.img_queue+', '+img_div+', '+frm_submit+')');
		}else {
			//err... no current div
		}
		return true;
	}
//ENDE ajax_transition
