﻿////////////////////////////////////////////////////////
// START OF SIMPLE AJAX ////////////////////////////////
// Students do not need to learn this javascript code //
////////////////////////////////////////////////////////
    var xmlHttp=null;
    var gvPutInThisDiv;
    var vDefaultDiv="dMiddle";

    function fnRunAjax(fileToGet,putInDisDiv,strStuff){
        if (putInDisDiv.length==0 || fileToGet.length==0)  { 
          document.getElementById(vDefaultDiv).innerHTML="Error in fileToGet or putInDisDiv";
          return;
          }
        gvPutInThisDiv=putInDisDiv; // makes putInDisDiv global variable so can be used by other functions 
        xmlHttp=fnGetAjaxObject();
        if (xmlHttp==null){
          alert ("Your browser does not support AJAX!");
          return;
          } 
        url=fileToGet + "?a=x" + strStuff;
        url=url + "&sid=" + Math.random(); //stops cache
        xmlHttp.onreadystatechange=stateChanged; // checks to see if page loaded
        xmlHttp.open("GET",url,true);
        xmlHttp.send(null);
    } 

    function stateChanged(){ 
        if (xmlHttp.readyState==4){ 
		    var daReturnText = xmlHttp.responseText;
			var disStr ="";
			var regExp01 = /(<!DOCTYPE)/i;
            var disMatch01 = regExp01.exec(daReturnText);
            if(disMatch01 != null){
            	disStr = "<br>ERROR<br>Sorry you can bring in a full HTML page into the AJAX dMiddle<br>";
            }else{
                regExp01 = /(<!-- AJAX AUTO REMOVE BOX -->)([\S\s]*?)(\1)/i;
            	var disMatch02 = regExp01.exec(daReturnText);
				if(disMatch02 != null){
              	   disStr = daReturnText.replace(disMatch02[0],"");
                }else{
            	   disStr = daReturnText;
                }
            }
            document.getElementById(gvPutInThisDiv).innerHTML=disStr;
            fnReset();
        }
    }

    function fnGetAjaxObject(){
       var disAjax=null; //set ajax object to nothing to start
       try{
          disAjax=new XMLHttpRequest(); //ff,o,s
		     // to stop ff and safari bugs
		     if (disAjax.overrideMimeType){disAjax.overrideMimeType('text/plain');} //for firefox error// set type accordingly to anticipated content type: if not used for innerHTML then text/html
         }catch(e){  // IE
             try{disAjax=new ActiveXObject("Msxml2.XMLHTTP");
           }catch(e){
             try{disAjax=new ActiveXObject("Microsoft.XMLHTTP");
           }catch(e){
    	     //no ajax object was able to be created
           }
         }
       }
       return disAjax;
    }

////////////////////////////////////////////////////////
// END OF SIMPLE AJAX //////////////////////////////////
////////////////////////////////////////////////////////