var currentText = "";
var nextText = "";
var nextNextText = "";
var prevText = "";
var prevPrevText = "";

function getMultipleSelection(mSelect){

    var delim 		= "";
    var selParams 	= "";

    for(j = 0; j < mSelect.options.length; j++) {
        if(mSelect.options[j].selected) {
            selParams += delim + mSelect.options[j].value;
            delim = ":";
        }
    }
    return selParams;
}

function create_request_string(theform) {

    var reqStr = "";

    for(i=0; i < theform.elements.length; i++) {

        isformObject = false;

        switch (theform.elements[i].tagName) {

            case "INPUT":

            switch (theform.elements[i].type) {

                case "FILE":
                case "text":
                case "password":
                case "hidden":
                    reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value);
                    isformObject = true;
                break;

                case "checkbox":
                    if (theform.elements[i].checked) {
                        reqStr += theform.elements[i].name + "=" + theform.elements[i].value;
                    }
                    else {
                        reqStr += theform.elements[i].name + "=";
                    }
                    isformObject = true;
                break;

                case "radio":
                    if (theform.elements[i].checked) {
                        reqStr += theform.elements[i].name + "=" + theform.elements[i].value;
                        isformObject = true;
                    }
            }
            break;

            case "TEXTAREA":
                reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value);
                isformObject = true;
                break;

            case "SELECT":
                var sel = theform.elements[i];
                if (sel.multiple) {
                    var mSelOptions = getMultipleSelection (sel);
                    reqStr += sel.name + "=" + mSelOptions;
                }
                else {
                    reqStr += sel.name + "=" + sel.options[sel.selectedIndex].value;
                }
                isformObject = true;
            break;
        }

        if ((isformObject) && ((i+1)!= theform.elements.length)) {
            reqStr += "&";
        }
    }
    return reqStr;
}

//Browser Support Code
function populateMainContent (method, form, url, params){

    var swin = document.getElementById ('AdvSearchFormOC');
    var mwin = document.getElementById ('MainContentOuter');
    //swin.style.display = "none";
    //mwin.style.display = "inline";

	// Add a time stamp as parameter at the end to force browser to load the page
	// instead of loading it from the cache
	var ts = Math.round(new Date().getTime() / 1000);
	if (url.match(/\?/)) { // WE already have other params
		url = url + "&TS=" + ts;
	}
	else { // We have no other params so we prefix a ?
		url = url + "?TS=" + ts;
	}
	//alert (url);

    var ajaxRequest;  // The variable that makes Ajax possible!

    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){

        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }

	//document.getElementById('MainContentInner').innerHTML  = "<div style=\"font-size: 14px;font-weight:bold;margin-top:80px;margin-left: auto;margin-right: auto;text-align:center;color: #f90\"><img style=\"margin-bottom: 10px;\" src=\"images/loading.gif\"><br>Loading ...</div>";

	// Put up the 'Loading' message at the top and bottom of the page
	document.getElementById('SearchWait').style.display  = "block";
	document.getElementById('ProgressBarTop').innerHTML  = "<img src=\"images/loader.gif\"> <span>Loading ... </span>";
	document.getElementById('ProgressBarBottom').innerHTML  = "<img src=\"images/loader.gif\"> <span>Loading ... </span>";

    ajaxRequest.open(method, url, true);

    if (method == 'POST') {

        var reqStr = create_request_string(form);

       	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

        ajaxRequest.setRequestHeader("Content-length", reqStr.length);
        ajaxRequest.setRequestHeader("Connection", "close");

        ajaxRequest.onreadystatechange = function() {//Call a function when the state changes.
            if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
				//alert(ajaxRequest.responseText);
                document.getElementById('MainContentInner').innerHTML  = ajaxRequest.responseText;

    			swin.style.display = "none"; // Hide search window.  THis gets dones even if we are not doing a search
    			mwin.style.display = "inline"; // Show the main container
				
				// Hide the progress bars
	 			document.getElementById('SearchWait').style.display  = "none";
	 			document.getElementById('ProgressBarTop').innerHTML  = "<span>&nbsp;</span>";
	 			document.getElementById('ProgressBarBottom').innerHTML  = "<span>&nbsp;</span>";

				// Save the previous pages
				prevPrevText = prevText;
				prevText = currentText;
				currentText = ajaxRequest.TopresponseText;
				//document.getElementById('ReloadLink').disabled  = false;

				// Enable back link, if we have previous responses
				if (prevText != "") {
					document.getElementById('BackLink').disabled  = false;
				}
				document.getElementById('BButtons').style.display = 'inline';
            }
        }
        ajaxRequest.send(reqStr);
    }
    else { // GET part
        // Create a function that will receive data sent from the server
        ajaxRequest.onreadystatechange = function(){
            if(ajaxRequest.readyState == 4){
				//alert(ajaxRequest.responseText);
				
				// Se the main container contents
                document.getElementById('MainContentInner').innerHTML  = ajaxRequest.responseText;

    			swin.style.display = "none"; // Hide search window.  THis gets dones even if we are not doing a search
    			mwin.style.display = "inline"; // Show the main container

				// Hide the progress bars
	 			document.getElementById('SearchWait').style.display  = "none";
	 			document.getElementById('ProgressBarTop').innerHTML  = "<span>&nbsp;</span>";
	 			document.getElementById('ProgressBarBottom').innerHTML  = "<span>&nbsp;</span>";

				// Save previous responses
				prevPrevText = prevText;
				prevText = currentText;
				currentText = ajaxRequest.responseText;
				//document.getElementById('ReloadLink').disabled  = false;

				// If there is a previous response enable back link
				if (prevText != "") {
					document.getElementById('BackLink').disabled  = false;
				}
				document.getElementById('BButtons').style.display = 'inline';
            }
        }
        ajaxRequest.send(null);
    }
	return true;
}

function reloadContent () {
	document.getElementById('MainContentInner').innerHTML  = currentText;
}

function previousContent () {
	nextNextText = nextText;
	nextText = currentText;
	currentText = prevText;
	prevText =  prevPrevText;
	prevPrevText = "";
	document.getElementById('MainContentInner').innerHTML  = currentText;
	if (prevText == "") {
		document.getElementById('BackLink').disabled  = true;
	}
	else {
		document.getElementById('BackLink').disabled  = false;
	}
	if (nextText == "") {
		document.getElementById('ForwardLink').disabled  = true;
	}
	else {
		document.getElementById('ForwardLink').disabled  = false;
	}
}
function nextContent () {
	prevPrevText = prevText;
	prevText = currentText;
	currentText = nextText;
	nextText =  nextNextText;
	nextNextText = "";
	document.getElementById('MainContentInner').innerHTML  = currentText;
	if (prevText == "") {
		document.getElementById('BackLink').disabled  = true;
	}
	else {
		document.getElementById('BackLink').disabled  = false;
	}
	if (nextText == "") {
		document.getElementById('ForwardLink').disabled  = true;
	}
	else {
		document.getElementById('ForwardLink').disabled  = false;
	}
}

