﻿// JScript File

function Ajaxer()
{
    var oXml = GetXmlHttpObject();
    
    this.url = "";
    this.isPost = true;
    this.postData = "";
    this.responseText = "";
    this.readyState = 0;
    
    this.call = function(handler)
    {
        var bIsComplete = false;
        
        if (!oXml) 
        {
            return false;
        }
        else
        {
            try
            {
                if (this.isPost)
                {
                    oXml.open("POST", this.url, true);
                    oXml.setRequestHeader("Method", "POST " + this.url + " HTTP/1.1");
                    oXml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                }
                else
                {
                    oXml.open("GET", this.url + "?" + this.postData, true);
                }
                oXml.onreadystatechange = function ()
                {
                    if (oXml.readyState == 4 && oXml.status == 200 && !bIsComplete)
                    {   
                        bIsComplete = true;
                        handler(oXml);
                    }
                };

                oXml.send(this.postData);
                
            }
            catch (e)
            {
                alert(e.message);
                return false;
            }
            return true;
        }
    };
           
}

function GetXmlHttpObject()
{ 
    var objXmlHttp=null;
    
    try 
    {
        objXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
            try 
            {
                objXmlHttp = new XMLHttpRequest();
            }
            catch (e)
            {
                objXmlHttp = null;
            }
        }
    }
    
    return objXmlHttp;
} 


function formToQS(form)
{

	var sReturn = '';
	var el;
	var last_el = '';
	
	for (i = 0; i < form.elements.length; i++) {
		
		el = form.elements[i];
		switch (el.type) {

			case 'text':
			case 'hidden':
			case 'password':
			case 'textarea':
			case 'select-one':
				sReturn += el.name + '=' + escape(el.value) + '&'
				break;
				
			case 'radio':
				if (el.checked) {
					sReturn += el.name + '=' + escape(el.value) + '&'
				}
				break;
				
			case 'checkbox':
				if (el.checked) {

					if (el.name == last_el) {

						if (sReturn.lastIndexOf('&') == sReturn.length-1) {
							sReturn = sReturn.substr(0, sReturn.length - 1);
						}

						sReturn += ',' + escape(el.value);
					}
					else {
						sReturn += el.name + '=' + escape(el.value);
					}
					sReturn += '&';
					last_el = el.name;
				}
				break;
				
		}
	}
	
	sReturn = sReturn.substr(0, sReturn.length - 1);
	return sReturn;
}

