var xmlreqs = new Array();
function CXMLReq(type, req)
{
	this.type = type;
	this.req = req;
}

function getPage(qstring,objControlled)
{
    var rndNum = parseInt(Math.random()*999999);
	if(thissite == 'http://209.213.104.87')
	{
		thissite = 'http://www.rushgears.com';
	}
	url = thissite + "/"+ qstring + "&rand=" + rndNum;
	var req=false;

	if (window.XMLHttpRequest)
	{
		// Mozilla, etc.
		req=new XMLHttpRequest();
		req.open("GET",url,true);
		req.onreadystatechange = function() {getReturnFunctions(objControlled,req);};
		req.send(null);
	}
	else if (window.ActiveXObject)
	{
		// IE
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req)
		{
			req.onreadystatechange = function() {getReturnFunctions(objControlled,req);};
			req.open("GET",url,true);
			req.send();
		}
	}
}

function getReturnFunctions(objFunc,req)
{
	switch(objFunc)
	{
	case "loginPageQuick":
		xmlResults.loginPageQuick(req);
		break;
	case "loginPageFull":
		xmlResults.loginPageFull(req);
		break;
	case "loginPageEmail":
		xmlResults.loginPageEmail(req);
		break;
	case "partLookupPage":
		xmlResults.partLookupCheck(req);
		break;
	case "partLookupStockCheck":
		xmlResults.partLookupStockCheck(req);
		break;
	case "phpUpload":
		xmlResults.phpUpload(req);
		break;
	case "hpResults":
	    xmlResults.hpResults(req);
		break;
	case "mysqlUpdateCheck":
		xmlResults.mysqlUpdateCheck(req);
		break;
	case "mysqlUpdate":
		xmlResults.mysqlUpdate(req);
		break;
	case "partSearchMenus":
		xmlResults.partSearchMenus(req);
		break;
	case "updateBevels":
		xmlResults.updateBevels(req);
		break;
	case "partSearchHP":
		xmlResults.showHP(req);
		break;
	case "partSearchToothRange":
		xmlResults.showToothRange(req);
		break;
	case "getLink":
		 xmlResults.getLink(req);
		break;
	case "getDownload":
		xmlResults.getDownload(req);
		break;
	case "soapLogin":
		req.setRequestHeader("Content-Type", "text/xml-soap")(req);
		xmlResults.soapLogin;
		break;
	case "searchSite":
		SSxmlResults.searchSite(req);
		break;
	case "processEmail":
		xmlResults.processEmail(req);
		break;
	case "processQuote":
		xmlResults.processQuote(req);
		break;
	case "processRFQs":
		xmlResults.processRFQs(req);
		break;
	case "processSearchedRFQs":
		xmlResults.processSearchedRFQs(req);
		break;
	case "checkUploadProgress":
		xmlResults.checkUploadProgress(req);
		break;
	case "getCustomGear":
		xmlResults.getCustomGear(req);
		break;
	case "fillInPartnos":
	    xmlResults.fillInPartnos(req);
		break;
	case "getBacklash":
	    xmlResults.getBacklash(req);
		break;
	case "fillCustomParts":
	    xmlResults.fillCustomParts(req);
	    break;
	case "showUserParts":
	    xmlResults.showUserParts(req);
		break;
	case "bugReportOK":
	    xmlResults.bugReportOK(req);
		break;	
	case "checkRFQemail":
	    xmlResults.checkRFQemail(req);
		break;	
	//default: xmlResults;
	}
}

function postPage(url,data)
{
	var req=false;
	if (window.XMLHttpRequest)
	{
		// Mozilla etc.
		req=new XMLHttpRequest();
		req.onreadystatechange=xmlhttpChange;
		req.open("POST",url,true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(data);
	}
	else if (window.ActiveXObject)
	{
		// IE req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req)
		{
			req.onreadystatechange=xmlhttpChange;
			req.open("POST",url,true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.send(data);
		}
	}
	var xmlreq = new CXMLReq('', req);
	xmlreqs.push(xmlreq);
}

/*function xmlhttpChange()
{
	if (typeof(window['xmlreqs']) == "undefined") return;
	for (var i=0; i < xmlreqs.length; i++)
	{
		if (xmlreqs[i].req.readyState == 4)
		{
			if (xmlreqs[i].req.status == 200 || xmlreqs[i].req.status == 304)
			{
				resultsStr = xmlreqs[i].req.responseText;
				resultsArray = new Array();
				resultsArray = resultsStr.split(',');

				fromPage = resultsArray[0];
				if(fromPage == 'mysqlUpdateCheck')
				{
					if(resultsArray[1] != 'false')
					{
						getMoreCounts(resultsArray[1],resultsArray[2],resultsArray[3])
					}
				}
				// 200 OK
				xmlreqs.splice(i,1);
				i--;
			}
			else
			{
				// error
				xmlreqs.splice(i,1);
				i--;
			}
		}
	}
}*/

/*var req=false;
var passedThis = this;           

if (window.XMLHttpRequest) 
{
        req = new XMLHttpRequest();
} 
else if (window.ActiveXObject) 
{
    try 
    {
          req = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch (e) 
    {
        try 
        {
            req = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        catch (e) 
        {
            req = false;
        }
    }
}

//webpage is the page the querystring (qstring) info is sent to to process then return the results
//the qinfo is the querystring info continue. this should be dropped and should just put everything in the qstring
//objControlled is the library object in the script that will receive the xmlResults.

//function getPage(webpage,qstring,qinfo,objControlled)
function getPage(qstring,objControlled)
{
    rndNum = parseInt(Math.random()*999999);
    //if(!req && webpage.indexOf('check')!= -1)
    if(!req && !req2)
    {
        parent.datacheck_frame.location.href = "/checkdata.asp?estring=" + cleanemail
    }
    else
    {
         if(thissite == 'http://209.213.104.87')
         {
            thissite = 'http://www.rushgears.com';
         }
         sURL = thissite + "/"+ qstring + "&rand=" + rndNum;
  
        req.open("GET", sURL,true);

        switch(objControlled)
        {
            case "loginPageQuick":
                req.onreadystatechange = xmlResults.loginPageQuick;
                break;
            case "loginPageFull":
                req.onreadystatechange = xmlResults.loginPageFull;
                break;
            case "loginPageEmail":
                req.onreadystatechange = xmlResults.loginPageEmail;
                break
            case "partLookupPage":
                req.onreadystatechange = xmlResults.partLookupCheck;
                break;
            case "partLookupStockCheck":
                req.onreadystatechange = xmlResults.partLookupStockCheck;
                break;
            case "phpUpload":
                req.onreadystatechange = xmlResults.phpUpload;
                break;
            case "mysqlUpdateCheck":
                req.onreadystatechange = xmlResults.mysqlUpdateCheck;
                break;
            case "mysqlUpdate":
                req.onreadystatechange = xmlResults.mysqlUpdate;
                break;
            case "partSearchMenus":
                req.onreadystatechange = xmlResults.partSearchMenus;
                break;
            case "updateBevels":
                req.onreadystatechange = xmlResults.updateBevels;
                break;
            case "partSearchHP":
                req.onreadystatechange = xmlResults.showHP;
                break;
            case "partSearchToothRange":
                req.onreadystatechange = xmlResults.showToothRange;
                break;
            case "getLink":
                req.onreadystatechange = xmlResults.getLink;
                break;
            case "getDownload":
                req.onreadystatechange = xmlResults.getDownload;
                break;
            case "soapLogin":
                req.setRequestHeader("Content-Type", "text/xml-soap");
                req.onreadystatechange = xmlResults.soapLogin;
                break;
            case "searchSite":
                req.onreadystatechange = SSxmlResults.searchSite;
                break;
            case "processEmail":
                req.onreadystatechange = xmlResults.processEmail;
                break;
            case "processQuote":
                req.onreadystatechange = xmlResults.processQuote;
                break;
            case "processRFQs":
                req.onreadystatechange = xmlResults.processRFQs;
                break;
            case "processSearchedRFQs":
                req.onreadystatechange = xmlResults.processSearchedRFQs;
                break;
            default: req.onreadystatechange = xmlResults;
        }
                 
        //req.setRequestHeader('Accept','message/x-jl-formresult')
        //req.setRequestHeader("Content-Type", "text/xml-soap");
        //req.setRequestHeader("Content-Type", "text/html");
            req.send(null);
        
        //return false;
        return;    
    }
}

function postPage(qstring,objControlled)
{
    rndNum = parseInt(Math.random()*999999);
    //if(!req && webpage.indexOf('check')!= -1)
    if(!req && !req2)
    {
        parent.datacheck_frame.location.href = "/checkdata.asp?estring=" + cleanemail
    }
    else
    {
        switch(objControlled)
        {
           case "soap3DshowDrawing":
             sURL = "http://www.3dpublisher.net/SWService/3DPublishingService.asp" ;
             rHeader = "xml-soap";
             xmlInfo = qstring;
             break;
           case "soapLogin":
             alert('login');
             sURL = "http://www.3dpublisher.net/SWService/xmllogin.asp" ;
             rHeader = "xml-soap";
             xmlInfo = qstring;
             break;
           default:
              sURL = thissite;
              xmlInfo = qstring;
              rHeader = '';
        }

        req.open("POST", sURL,false);
        switch(objControlled)
        {
            case "soap3DshowDrawing":
                req.onreadystatechange = xmlResults.showDrawing;
                break;
            case "soapLogin":
                req.onreadystatechange = xmlResults.soapLogin;
                break;
            default: req.onreadystatechange = xmlResults;
        }
                 
        //req.setRequestHeader('Accept','message/x-jl-formresult')
        if(rHeader == 'xml-soap')
        {
           req.setRequestHeader("Content-Type", "text/xml-soap");
        }
            alert(xmlInfo);
            req.send(xmlInfo);
        
        //return false;
        return;    
    }
}*/