/***********************************************
* Dynamic Ajax Content- � Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
var loadstatustext="<center><img src='http://www.cycloneautomotive.com/i/loading_orange.gif' /> <br>Requesting content...</center>"
var loadstatustextb="<center><img src='http://www.cycloneautomotive.com/i/loading_blue.gif' /> <br>Requesting content...</center>"

var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var page_request = false;
var timeoutId;
var toutdiv;
var disp_data;
var requestTimer;


function ajaxpage(url, containerid, trig){
	var page_request = false
	
	if (window.XMLHttpRequest) { // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
		if (page_request.overrideMimeType) {
			// set type accordingly to anticipated content type
		    page_request.overrideMimeType('text/xml');
		    //page_request.overrideMimeType('image/jpg');
		 }
	} else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){}
		}
	}
	if (!page_request) {
		 alert('Cannot create XMLHTTP instance');
		 return false;
	      }

	      	//HANDLE FORM SUBMISSIONS
		if (trig == 1){
			
			//var loadstatustextb="<center><img src='http://www.cycloneautomotive.com/i/loading_blue.gif' /> <br>Requesting content..." + containerid + "</center>"

			document.getElementById('calendar_holder').innerHTML=loadstatustextb

			//page_request.onreadystatechange = alertContents;
			
			page_request.open('POST', url + containerid, true);
			//page_request.send(null);
			
			//page_request.open('POST', url, true)
			page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			page_request.setRequestHeader("Content-length", containerid.length);
			page_request.setRequestHeader("Connection", "close");
			
			
	//timeoutId=setTimeout("timesUp('myspan');",5000);
	
			//START TIMEOUT FUNCTIONS
			var requestTimer = setTimeout(function() {
				this.onreadystatechange = function () {};
				page_request.abort();
				delete page_request;
				document.getElementById('calendar_holder').innerHTML="<center>server timed out<br><a style=\"color:\#efb300\;\" href=\"javascript\:ajaxpage(\'http://www.cycloneautomotive.com/cgi-bin/cycal.cgi\', \'calendar_holder\')\;\">back to the calendar</a></center>";
			}, 5000);
			
			
			page_request.onreadystatechange=function(){
				
			     if (page_request.readyState != 4)  { return; }
			     	clearTimeout(requestTimer);
			     if (page_request.status != 200)  {
			       // Handle error, e.g. Display error message on page
			       document.getElementById('calendar_holder').innerHTML="<center>houston we have a problem<br><a style=\"color:\#efb300\;\" href=\"javascript\:ajaxpage(\'http://www.cycloneautomotive.com/cgi-bin/cycal.cgi\', \'calendar_holder\')\;\">back to the calendar</a></center>";
			       return;
			     }
			     
			     loadpage(page_request, 'calendar_holder');

			     
			}
			
			//page_request.send(containerid);
			page_request.send(null)

		}
		
		
		//HANDLE STANDARD LINK SUBMISSIONS
		else{
			
			var toutdiv = containerid;
			document.getElementById(containerid).innerHTML=loadstatustext  //loading graphics here
			
	//page_request.onreadystatechange=function(){
	//loadpage(page_request, containerid);
	//}
			
			page_request.open('GET', url, true)
			
	//timeoutId=setTimeout("timesUp('" + toutdiv + "');" ,100);
			
	
			//START TIMEOUT FUNCTIONS
			var requestTimer = setTimeout(function() {
				this.onreadystatechange = function () {};
				page_request.abort();
				delete page_request;
				document.getElementById(containerid).innerHTML="<center>server timed out<br><a style=\"color:\#efb300\;\" href=\"javascript\:ajaxpage(\'http://www.cycloneautomotive.com/cgi-bin/cycal.cgi\', \'calendar_holder\')\;\">back to the calendar</a></center>";
			}, 5000);
			
			
			page_request.onreadystatechange=function(){
				
			     if (page_request.readyState != 4)  { return; }
			     	clearTimeout(requestTimer);
			     if (page_request.status != 200)  {
			       // Handle error, e.g. Display error message on page
			       document.getElementById(containerid).innerHTML="<center>houston we have a problem<br><a style=\"color:\#efb300\;\" href=\"javascript\:ajaxpage(\'http://www.cycloneautomotive.com/cgi-bin/cycal.cgi\', \'calendar_holder\')\;\">back to the calendar</a></center>";
			       return;
			     }
			     //var serverResponse = page_request.responseText;
			     
			     //document.getElementById(containerid).innerHTML="<center>houston we have a problem</center>";
			     
			     loadpage(page_request, containerid);
			}
			
			//page_request.overrideMimeType("image/jpg");
			page_request.send(null)
		
		}
	
}



function alertContents() {
      if (page_request.readyState == 4) {
         if (page_request.status == 200) {
            //alert(page_request.responseText);
            result = page_request.responseText;
            document.getElementById('calendar_holder').innerHTML = result;            
         } else {
            alert('There was a problem with the request.');
         }
      }
   }


//Timeout to abort in 5 seconds
function timesUp(toutdiva){
	page_request.abort();
	document.getElementById(toutdiva).innerHTML="<center>server timed out</center>";
	
	//alert('server timed out ' + toutdiva + ' dont worry though ');
}



//this.abort = function() {
// if (this.page_request) {
//	   this.onreadystatechange = function () {}
//	   this.page_request.abort();
//	   this.page_request = null;
// }
//};

	

//function timesUp(toutdiv){}





	function loadpage(page_request, containerid){
		if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))  
		{
			isBusy = true;
			//clearTimeout(timeoutId);
			clearTimeout(requestTimer);
			document.getElementById(containerid).innerHTML=page_request.responseText;
		}
		if (page_request.readyState != 4) {
			return;
			isBusy = false;
			//clearTimeout(timeoutId);
			clearTimeout(requestTimer);
		}
		
		if (page_request.status!=200)  {
			clearTimeout(requestTimer);
			document.getElementById(containerid).innerHTML="bad stuff here";
		}
	
	}



function loadobjs(){
	if (!document.getElementById)
	return
	for (i=0; i<arguments.length; i++){
	var file=arguments[i]
	var fileref=""

		if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
			if (file.indexOf(".js")!=-1){ //If object is a js file
				fileref=document.createElement('script')
				fileref.setAttribute("type","text/javascript");
				fileref.setAttribute("src", file);
			}
			else if (file.indexOf(".css")!=-1){ //If object is a css file
				fileref=document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
			if (fileref!=""){
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			loadedobjects+=file+" " //Remember this object as being already added to page
			}
	}

}


//get from elements
function get(obj) {
      var poststr = "dealer=" + encodeURI( document.getElementById("regi_dealer").value ) +
                    "&name=" + encodeURI( document.getElementById("regi_name").value ) +
			  "&street=" + encodeURI( document.getElementById("regi_street").value )+
			  "&city=" + encodeURI( document.getElementById("regi_city").value )+			  
			  "&state=" + encodeURI( document.getElementById("regi_state").value )+
			  "&zip=" + encodeURI( document.getElementById("regi_zip").value )+
			  "&phone=" + encodeURI( document.getElementById("regi_phone").value )+
			  "&fax=" + encodeURI( document.getElementById("regi_fax").value )+
			  "&email=" + encodeURI( document.getElementById("regi_email").value )+
			  "&attendees=" + encodeURI( document.getElementById("regi_attendees").value )+
			  "&verifytext=" + encodeURI( document.getElementById("regi_captcha").value )+
			  "&evid=" + encodeURI( document.getElementById("regi_id").value )+
			  "&evdtl=" + encodeURI( document.getElementById("regi_details").value )+
			  "&evdate=" + encodeURI( document.getElementById("regi_date").value );
      
	ajaxpage('http://www.cycloneautomotive.com/cgi-bin/cycal.cgi?reg=send&', poststr, '1');
   }
