//--------------------------------------------------- 
// Functions to handle asynch. communction between
// the server and client
//---------------------------------------------------
  var ajaxcommon;
  
    
  function createXMLHttpRequest()
  {  	
    if(window.ActiveXObject)
    {
  	ajaxcommon = new ActiveXObject("Microsoft.XMLHTTP");
  	try
  	{
           ajaxcommon = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
          try
          {
            ajaxcommon = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (e) {}
        }
    }
    else if(window.XMLHttpRequest)
    {
      	ajaxcommon = new XMLHttpRequest();  		
    }    
  }  
  
  function startRequestGeneral(dispatcherURL, contenetType, data, functionName)
  {  
      createXMLHttpRequest();
      ajaxcommon.open("POST", dispatcherURL, true);
      ajaxcommon.onreadystatechange = functionName;
      ajaxcommon.setRequestHeader('Content-Type', contenetType);
      ajaxcommon.send(data);
  }
  
  function getFormValues(form)
  {
    var result = '';
    for (var i = 0; i < form.elements.length; i++)
    {
      if (result != '')
      {
        result += '&';
      }

      switch(form.elements[i].type)
      {
      	case "radio":
      	if(form.elements[i].checked)
		{
      		result += form.elements[i].name + '=' + URLencode(form.elements[i].value);
      	}
      	break;
      	
      	case "checkbox":
      	if(form.elements[i].checked)
		{
      		result += form.elements[i].name + '=' + URLencode(form.elements[i].value);
      	}
      	break;
      	
      	case "select":
   		result += form.elements[i].name + '=' + URLencode(options[form.elements[i].selectedIndex].value);
      	break;
      	
      	default : result += form.elements[i].name + '=' + URLencode(form.elements[i].value);  	
      }
    }
    return result;
  }  
  
  
  function URLencode(sStr)
  {
      return escape(sStr)
         .replace(/\+/g, '%2B')
            .replace(/\"/g,'%22')
               .replace(/\'/g, '%27');
  }
  
  function checkState()
  {
	var ajaxResponse = ajaxcommon.responseText;
	if(ajaxcommon.readyState == 4)
	{
		if (ajaxcommon.status == 200)
		{
			if (ajaxResponse.indexOf('wrong number') > -1)
			{
				document.write(ajaxResponse);
			}
			else
			{        //do some sweet stuff
				document.SFForm.submit();
			}
		}
		else
		{
		  alert('There was a problem with the request.');
		 }
    }
  }