﻿//// Ajax function
//function postXML(xmlDoc) {
//  if (window.XMLHttpRequest) {
//    req = new XMLHttpRequest();
//  }
//  else if (window.ActiveXObject) {
//    req = new ActiveXObject("Microsoft.XMLHTTP");
//  }
//  else {
//           	cmsAlert("skipped out")
//    return; // fall on our sword
//    }
//  //cmsAlert(xmlDoc)
//  req.open("GET", xmlDoc, true);
//  req.onreadystatechange = stateHandler;
//  req.send(null);
//}


function postXML(xmlDoc, parameters) {
//    if (window.XMLHttpRequest) {
//        req = new XMLHttpRequest();
//    }
//    else if (window.ActiveXObject) {
//        req = new ActiveXObject("Microsoft.XMLHTTP");
//    }
//    else if (req.readyState != 0) {
//        req.abort();
//        cmsAlert("skipped out")
//        return; // fall on our sword
//    }
//    else {
//        cmsAlert("skipped out")
//        return; // fall on our sword
//    }
//    req.open("POST", xmlDoc, true);
//    req.onreadystatechange = stateHandler;
//    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//    req.setRequestHeader("Content-length", parameters.length);
//    //req.setRequestHeader("Connection","close");
//    req.send(parameters);




    var ajaxManager = $.manageAjax.create('cacheQueue', { queue: true, cacheResponse: false });
    ajaxManager.add({
    type:"POST",
    url: xmlDoc,
    data: parameters,
    success: stateHandler,
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        if (XMLHttpRequest.status == 500) {
            cmsAlert("Operation timed out. If you are conducting a search, refine your search with the Advanced option.")
        }
        else {
            cmsAlert("Unable to Retrieve Description: " + textStatus)
            handleErrFullPage(XMLHttpRequest.responseText)
        }
        try { cursor_wait(); }
        catch (e) { }
        alert(XMLHttpRequest.responseText);
        }
    });
}

function cmsAlert(msg) {
    alert(msg)
}

//Ajax function
function stateHandler(data, textStatus, XMLHttpRequest) {
    var returnString
    var returnUri
    var returnToolbar

    if (XMLHttpRequest.readyState == 4) {
        if (XMLHttpRequest.status == 200) {
            //cmsAlert(req.responseText)
            returnString = data
            //cmsAlert(returnString)
            //cmsAlert(req.status)
            //If error then display it


            //If error then display it
            if (returnString.indexOf('!!!Error:') >= 0 && returnString.indexOf('!!!Error:') < 30) {
                returnUri = returnString.substring(0, returnString.indexOf('!!!Message:'))
                returnString = returnString.substring(returnString.indexOf('!!!Error:') + 9)
                cmsAlert(returnString)
                //cursor_clear();
            }

            //If message then display it
            if (returnString.indexOf('!!!Message:') >= 0 && returnString.indexOf('!!!Message:') < 30) {
                returnUri = returnString.substring(0, returnString.indexOf('!!!Message:'))
                returnString = returnString.substring(returnString.indexOf('!!!Message:') + 11)
                cmsAlert(returnString)
                //cursor_clear();
            }

            //Return tray contents
            if (returnString.indexOf('!!!Bodytext:') > -1 && returnString.indexOf('!!!Bodytext:') < 30) {
                returnUri = returnString.substring(0, returnString.indexOf('!!!Bodytext:'))
                returnString = returnString.substring(returnString.indexOf('!!!Bodytext:') + 12)
                document.getElementById("maintext").innerHTML = returnString
            }

            if (returnString.indexOf('!!!Plant:') > -1 && returnString.indexOf('!!!Plant:') < 30) {
                returnUri = returnString.substring(0, returnString.indexOf('!!!Plant:'))
                returnString = returnString.substring(returnString.indexOf('!!!Plant:') + 9)
                returnUri = returnString.substring(0, returnString.indexOf(':'))
                returnString = returnString.substring(returnString.indexOf(':') + 1)
                document.getElementById('plant_more_' + returnUri).className = 'plant_more_clicked'
                document.getElementById('plant_more_' + returnUri).innerHTML = returnString
                getMoreImages(returnUri)
            }

            if (returnString.indexOf('!!!Image:') > -1 && returnString.indexOf('!!!Image:') < 30) {
                returnUri = returnString.substring(0, returnString.indexOf('!!!Image:'))
                returnString = returnString.substring(returnString.indexOf('!!!Image:') + 9)
                returnUri = returnString.substring(0, returnString.indexOf(':'))
                returnString = returnString.substring(returnString.indexOf(':') + 1)
                document.getElementById('plant_image_' + returnUri).innerHTML = returnString
            }

            if (returnString.indexOf('!!!Col1:') > -1 && returnString.indexOf('!!!Col1:') < 30) {
                returnUri = returnString.substring(0, returnString.indexOf('!!!Col1:'))
                returnString = returnString.substring(returnString.indexOf('!!!Col1:') + 8)
                document.getElementById('col_1_panel').innerHTML = returnString
                window.scrollBy(0,230); 
            }

            if (returnString.indexOf('!!!SideCol:') > -1 && returnString.indexOf('!!!SideCol:') < 30) {
                returnUri = returnString.substring(0, returnString.indexOf('!!!SideCol:'))
                returnString = returnString.substring(returnString.indexOf('!!!SideCol:') + 11)
                document.getElementById('paneltext').innerHTML = returnString
            }
            if (returnString.indexOf('!!!Login:') > -1 && returnString.indexOf('!!!Login:') < 30) {
                location.reload(true)
            }
            if (returnString.indexOf('!!!Logout:') > -1 && returnString.indexOf('!!!Logout:') < 30) {
                location.reload(true)
            }

        }
        else if (XMLHttpRequest.status == 500) {
            cmsAlert("Operation timed out. If you are conducting a search, refine your search with the Advanced option.")
        }
        else {
            cmsAlert("Unable to Retrieve Description: " + XMLHttpRequest.status)
            handleErrFullPage(XMLHttpRequest.responseText)
        }
        //BuildPageControls();
    }

}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function handleErrFullPage(strIn) {

    var errorWin;

    // Create new window and display error
    try {
        errorWin = window.open('', 'errorWin');
        errorWin.document.body.innerHTML = strIn;
    }
    // If pop-up gets blocked, inform user
    catch(e) {
        cmsAlert('An error occurred, but the error message cannot be' +
        ' displayed because of your browser\'s pop-up blocker.\n' +
        'Please allow pop-ups from this Web site.');
    }
}

function GetXmlHttp(handler) { 
  var oXmlHttp=null;
  
  if (navigator.userAgent.indexOf("Opera")>=0) {
    cmsAlert("This page does not support Opera.");
    return; 
  }
  if (navigator.userAgent.indexOf("MSIE")>=0) { 
    var strName="Msxml2.XMLHTTP";
    if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
      strName="Microsoft.XMLHTTP";
    } 
    try { 
      oXmlHttp=new ActiveXObject(strName)
      oXmlHttp.onreadystatechange=handler ;
      return oXmlHttp;
    } 
    catch(e) { 
      cmsAlert("Error. Scripting for ActiveX might be disabled");
      return;
    } 
  } 
  if (navigator.userAgent.indexOf("Mozilla")>=0) {
    oXmlHttp=new XMLHttpRequest();
    oXmlHttp.onload=handler;
    oXmlHttp.onerror=handler; 
    return oXmlHttp;
  }
}


