function parseScript(_source) //function from http://www.webdeveloper.com/forum/showthread.php?t=138830 ...changed and splitted on 2 parts.
{  var source = _source;   var scripts = new Array();
   // Strip out tags
   while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) 
   {  var s = source.indexOf("<script");
      var s_e = source.indexOf(">", s);
      var e = source.indexOf("</script", s);
      var e_e = source.indexOf(">", e);		
      scripts.push(source.substring(s_e+1, e));                   // Add to scripts array
      source = source.substring(0, s) + source.substring(e_e+1);  // Strip from source
   }
   var retVal =new Array(source, scripts);
   return retVal; // Return the cleaned source
}
function evalScripts(scripts)
{  for(var i=0; i<scripts.length; i++) { try       { eval(scripts[i]); }
                                         catch(ex) { /*alert('An error has occurred: ' +ex.message);*/ } }  
}
function ajaxFillBase(divName, pageName, log, onLoadFunc, loadScripts)
{  var xmlhttp =null;
   if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari
   else                       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5
   if (log) document.getElementById(divName).innerHTML="<div class='clsLog'>&#8226;</div>";
   xmlhttp.onreadystatechange =function() 
   {  //document.getElementById(divName).innerHTML =
      //                       "<div class='clsLog'>state: " +xmlhttp.readyState +" status:"
      //                      +((status in xmlhttp)?xmlhttp.status:"-1") +"</div>";
      if (log) { var ss ="<div class='clsLog'>"; 
                 //ss ="<div class='clsLog'>state: " +xmlhttp.readyState +" status:"
                 //   +((status in xmlhttp)?xmlhttp.status:"-1") +"</div>";
                 for (var i=0;i<xmlhttp.readyState+1;i++) ss =ss +"&#8226;";
                 ss =ss +"</div>"; document.getElementById(divName).innerHTML =ss; }
      ///////////////////////////////////////////////
      if (xmlhttp.readyState==4) if (xmlhttp.status==200)   // do not use && instead of 2xif
      {   if (loadScripts) { result =parseScript(xmlhttp.responseText); 
                             document.getElementById(divName).innerHTML =result[0]; 
                             evalScripts(result[1]); }
                     else    document.getElementById(divName).innerHTML =xmlhttp.responseText;   
         if (onLoadFunc) onLoadFunc();
      }
   }
   try { xmlhttp.open("GET",pageName,true); xmlhttp.send(null);   // do not use empty brackets instead of null
   } catch(ex) { };
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function ajaxGET(divName, pageName, log, onLoadFunc) { ajaxFillBase(divName, pageName, log, onLoadFunc, true); }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

