
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0;
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0;
var is_opera = ((navigator.userAgent.indexOf("Opera6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0;
//netscape, safari, mozilla behave the same???
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0;


function getOptions(from, to, fromStreet, fromSuburb, fromLocation, fromStop, toStreet, toSuburb, toLocation, toStop, jpDate, jpDirection, jpAMPM, jpHour, jpMinute, getFrameset, getGadget, mode,jpnMaxJourneys){
	
	var url = getRootPath() + '/DesktopModules/JourneyPlanner/JP.aspx?'
	//var toloc = JP_URLEncode(toLocation);
	//alert(toloc);
	
	url = url + 'from=' + from + '&to=' + to + '&fromStreet=' + fromStreet + '&fromSuburb=' + fromSuburb;
	url = url + '&fromLocation=' + fromLocation  + '&fromStop=' + fromStop  + '&toStreet=' + toStreet;
	url = url + '&toSuburb=' + toSuburb + '&toLocation=' + toLocation + '&toStop=' + toStop;
	url = url + '&jpDate=' + jpDate + '&jpDirection=' + jpDirection + '&jpAMPM=' + jpAMPM + '&jpHour=' + jpHour + '&jpMinute=' + jpMinute + '&fSet=' + getFrameset + '&fGadget=' + getGadget + '&mode=' + mode + '&jpnMaxJourneys=' + jpnMaxJourneys ;
	
		
	xmlHttp = GetXmlHttpObject(JP_stateChangeHandler);
    
    //Send the xmlHttp get to the specified url
    xmlHttp_Get(xmlHttp, url);			
}

function JP_stateChangeHandler()
{
    //readyState of 4 or 'complete' represents that data has been returned
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
        if (xmlHttp.status == 200)
		{
			//alert(xmlHttp.responseText);
			//document.location.href=url;
			JP_ClearAndSetLocations(xmlHttp.responseXML.documentElement);			
		}
		else if (xmlHttp.status == 404)
		{
			alert('Page Not Found!');
		}
		else if (xmlHttp.status == 500)
		{
			//alert(xmlHttp.statusText + " " + xmlHttp.responseText);
			alert("Server Error, please reload the page and try again later.");
		}
    }				
}

// XMLHttp send GET request
function xmlHttp_Get(xmlhttp, url) {
    xmlhttp.open('GET', url, true);
    xmlhttp.send(null);
}

function GetXmlHttpObject(handler) {
    var objXmlHttp = null;    //Holds the local xmlHTTP object instance

    //Depending on the browser, try to create the xmlHttp object
    if (is_ie){
        //The object to create depends on version of IE
        //If it isn't ie5, then default to the Msxml2.XMLHTTP object
        var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
        
        //Attempt to create the object
        try{
            objXmlHttp = new ActiveXObject(strObjName);
            objXmlHttp.onreadystatechange = handler;
        }
        catch(e){
        //Object creation errored
            //alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled');
            return;
        }
    }
    //else if (is_opera){
        //Opera has some issues with xmlHttp object functionality
        //alert('Opera detected. The page may not behave as expected.');
        //return;
    // }
    else{
        // Mozilla | Netscape | Safari | Opera
        objXmlHttp = new XMLHttpRequest();
        objXmlHttp.onload = handler;
        objXmlHttp.onerror = handler;
    }
    
    //Return the instantiated object
    return objXmlHttp;
}
    
    

