// // Globale Variablen // // // Erzeugt ein neues XML-HTTP-Request-Object (je nach Browser) und gibt es zurueck // function newXMLHttpRequest() { var xmlreq = false; if(window.XMLHttpRequest) { xmlreq = new XMLHttpRequest(); } else if(window.ActiveXObject) { try { xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1) { try { xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e2) { } } } return xmlreq; } // // Behandelt die Rueckgabe des XML-HTTP-Requests entsprechend des HTTP-Error-Codes // function getReadyStateHandler ( req, responseXmlHandler, target, reqAction ) { return function() { if(req.readyState == 4) { if(req.status == 200) { // req.responseText contains response in plain text // req.responseXml contains XML or parsed DOM tree, RTFM! //responseXmlHandler(target, req.responseText); if ( target != null ) responseXmlHandler( target, req.responseText, reqAction ); } else if( req.status == 403 ) { // http status 403, do something about that.. } } } } // // Schreibt den Inhalt content in das HTML-Element target // function update ( target, content, actionName ) { if ( target.tWin ) { target.setContent( content ); target.populate(); } else { var elem = document.getElementById(target); if( elem ) elem.innerHTML = content; } if ( self.updateReport ) updateReport( actionName ); } // // Fuehrt eine serverseitige Funktion aus // function action( name, target, get_params, post_params ) { send( name, target, get_params, post_params ); } function raction( name, target, param ) { req = send( name, null, param ); error_code = parseInt( req.responseText ); alert( error_code ); return error_code; } // // Sendet einen XMLHTTPRequest an action.php ab, und schreibt die Rueckgabe // in das HTML-Element mit der ID target // function send( reqAction, target, getParams, postParams ) { if ( target == undefined ) target = activeId; var req = newXMLHttpRequest(); var handlerFunction = getReadyStateHandler(req, update, target, reqAction); var reqUrl = "action.php?action=" + reqAction; if ( getParams != undefined ) reqUrl += '&' + getParams; if ( postParams == undefined ) var postParams = ''; //var params = encodeURI( param1 ); //params += encodeURI("¶m1=" + param1); req.onreadystatechange = handlerFunction; req.open( "POST", reqUrl, true ); req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=utf-8" ); req.send( postParams ); // http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // http_request.setRequestHeader("Content-length", parameters.length); // http_request.setRequestHeader("Connection", "close"); // http_request.send(parameters); return req; } // // Laedt eine JavaScript-Datei in den DOM-Baum nach // function loadScript( url, scrptId ) { if ( scriptId == undefined ) var scriptId = url.replace( /[\/\.]/g, '' ); if ( document.getElementById( scriptId ) ) return; /* eval("var old = document.getElementById('"+scriptId+"')"); if ( old != null ) { old.parentNode.removeChild( old ); delete old; }*/ var script = document.createElement( "script" ); script.src = url; script.type="text/javascript"; script.id = scriptId; document.getElementsByTagName("head")[0].appendChild( script ); } // // Laedt einen CSS-Style-Sheet in den DOM-Baum nach // function loadCSS( url, sheetId ) { if ( sheetId == undefined ) var sheetId = url.replace( /[\/\.]/g, '' ); if ( document.getElementById( sheetId ) ) return; var sheet = document.createElement( "link" ); sheet.rel="stylesheet"; sheet.href = url; sheet.id = sheetId; document.getElementsByTagName("head")[0].appendChild( sheet ); } // // Encodiert param zur Uebertragung per AJAX-POST-Request // function formPost( pform ) { if ( document.getElementsByName(pform)[0] ) pform = document.getElementsByName(pform)[0]; else if ( document.getElementById(pform) ) pform = document.getElementById(pform); var post_string = ''; for ( i = 0; i < pform.elements.length; i++ ) { var elem = pform.elements[i]; if ( elem.type == 'text' || elem.type == 'hidden' || elem.type == 'textarea' || elem.type == 'password' ) { post_string += elem.name + '=' + escape( encodeURI( elem.value ) ); } else if ( ( elem.type == 'radio' || elem.type == 'checkbox' ) && elem.checked == true ) { post_string += elem.name + '=' + escape( encodeURI( elem.value ) ); } // else if ( elem.type == 'checkbox' ) // { // // } if ( i < pform.elements.length ) post_string += '&'; } return post_string; }