//Funktionen für Ajax-Schnittstelle


/*** INIT ***/

//Request Objekt global verwendbar.
var http_request = false;

//AJAX-HTTP-SERVER
var server='';

/*** REQUEST-DEFINITION ***/

// doRequest(url) Erzeugt ein Requestobjekt abhängig vom Browser
// und stellt eine anfrage an die übergebene URL
// durch RequestID wird der Response-Handler bestimmt
function doRequest(url,requestID) {
	
  http_request = false;

  // Testen ob der Browser ein XMLHttpRequest Objekt
  // zur Verfügung stellt. (Mozilla und andere)
  if (window.XMLHttpRequest) {     
  	http_request = new XMLHttpRequest(); 
    
  // Wenn der Browser ein IE ist, 
  // dann müssen andere Objekte benutzt werden.
  } else if (window.ActiveXObject) { 
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
      		alert('Ajax-Fehler');
      	}
    }
  }

  // Falls kein Request Objekt zur Verfügung steht 
  // funktioniert das ganze nicht
  if (!http_request) { 
    //alert('Ajax-Fehler: Es kann kein Ajax-Request Objekt erzeugt werden. Bitte wenden Sie sich an den Administrator.'); 
    return false;
  }
  // Eine Callbackfunction wird angegeben, 
  // die auf events des Request Objekts reagieren soll.
  switch(requestID){
  	case 'IMG_SLIDE':
  		http_request.onreadystatechange = imgSlideHandler;
  		break;  
  	case 'GALERY_PAGER':
  		http_request.onreadystatechange = galeryPagerHandler;
  		break;  
		default:
  		http_request.onreadystatechange = defaultHandler; 
  }
  
  http_request.open('GET', url, true);
  http_request.send(null);
    
}

/*** Prüfung ob übergebene Werte Inhalt haben und somit doRequest ohne Fehlermeldung ausgeführt werden kann ***/
function checkSelectValue(value, url, requestID) {
	//window.alert("-"+value+"-");
	if (value != "") {
		doRequest(url,requestID)
	}
}

/*** HANDLER ***/

function defaultHandler(){
	return false;
}


function imgSlideHandler() {
	
  // Testen ob das Request objekt mit dem laden fertig ist
  if (http_request.readyState == 4) { 
    // War die Anfrage erfolgreich / die URL erreichbar ?
    if (http_request.status == 200) {
    	
   		var ajaxResponseText  = decodeURIComponent(http_request.responseText);
			
			document.getElementById('picslide_right').setAttribute("src", ajaxResponseText);
			last = ajaxResponseText.substring((ajaxResponseText.lastIndexOf("/")+1));
			//window.alert(last);
			slidePics(last);
			

		} else {
	  	//alert('Ajax-Fehler: Die URL konnte nicht geöffnet werden.  Bitte wenden Sie sich an den Administrator.');
    }
  }
	else {
	}
}


function galeryPagerHandler() {
	
  // Testen ob das Request objekt mit dem laden fertig ist
  if (http_request.readyState == 4) { 
    // War die Anfrage erfolgreich / die URL erreichbar ?
    if (http_request.status == 200) {
    	
   		var ajaxResponseText  = decodeURIComponent(http_request.responseText);
			
			document.getElementById('pagecontent').innerHTML = ajaxResponseText;		
			
			initLightbox();	

		} else {
	  	//alert('Ajax-Fehler: Die URL konnte nicht geöffnet werden.  Bitte wenden Sie sich an den Administrator.');
    }
  }
	else {
	}
}


function execScripts(text) {
	if(text!=null){
		var erg=text.match(/<script>[^<]*<\/script>/gi);
		if(erg){
			for(i=0;i < erg.length;i++){
				erg[i]=erg[i].replace(/<script>/,"");
				erg[i]=erg[i].replace(/<\/script>/,"");
				//Spezial-Zeichen wieder decodieren
				erg[i]=erg[i].replace(/&lt;/gi, "<");
				erg[i]=erg[i].replace(/&gt;/gi, ">");
				//alert(erg[i]);
				eval(erg[i]);
			}
		}
	}
	text=text.replace(/<script>[^<]*<\/script>/gi,"");
	return text;
}
