function postDataResponse(http) {
  var dep=http.responseText;
  var gif;
  if (dep=='support') {
    gif='title_supportrequest.gif';
  }
  if (dep=='contactus' || dep=='onlus') {
    gif='title_contattaci.gif';
  }
  if (dep=='newsletter') {
    gif='title_newsletter.gif';
  }

  var testo='<span style="color:green">La Vostra richiesta è stata inoltrata correttamente.<br>Il nostro personale Vi ricontatterà al più presto.</span>';
  var otabil=document.getElementById('tabil');
  try {
    otabil.innerHTML='<table height=500 id="tabil" width="100%"  border="0" align="center" cellpadding="0" cellspacing="10"><tr><td width="100%" class="text1"><img src="/images/'+gif+'"></td></tr><tr><td height=100% valign=top>'+testo+'</td></tr></table>';
  } catch(er) {
    var oitabil=document.getElementById('itabil');
    oitabil.innerHTML='<table height=500 id="tabil" width="100%"  border="0" align="center" cellpadding="0" cellspacing="10"><tr><td width="100%" class="text1"><img src="/images/'+gif+'"></td></tr><tr><td height=100% valign=top>'+testo+'</td></tr></table>';
  }  
}

function encodeFormData(docForm, additionalParams)
{
    var     result = '';
    var     formElem;
    var     strLastElemName = '';

    for (i = 0; i < docForm.elements.length; i++) {
        formElem = docForm.elements[i];
        switch (formElem.type) {
                        case 'text':
            case 'hidden':
            case 'password':
            case 'textarea':
            case 'select-one':
                result += formElem.name + '=' + encodeURIComponent(formElem.value) + '&';
                break;

                        case 'radio':
                if (formElem.checked) {
                    result += formElem.name + '=' + encodeURIComponent(formElem.value) + '&';
                }
                break;

                        case 'checkbox':
                if (formElem.checked) {
                                        if (formElem.name == strLastElemName) {
                                                if (result.lastIndexOf('&') == result.length-1) {
                            result = result.substr(0, result.length - 1);
                        }
                                                result += ',' + encodeURIComponent(formElem.value);
                    }
                    else {
                        result += formElem.name + '=' + encodeURIComponent(formElem.value);
                    }
                    result += '&';
                    strLastElemName = formElem.name;
                }
                break;

        }
    }
    if (additionalParams != null) {
        result = result + additionalParams;
    } else {
        result = result.substr(0, result.length - 1);
    }
    return result;
}

function createHTTPObject()
{
    var result;

    try {
        result = new XMLHttpRequest();
    } catch (error) {
        try {
            result = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (error) {
            return false;
        }
    }
    return result;
}

function getHTTPObject()
{
  return createHTTPObject();
}

function readyStateChanged(http, responseHandler) {
  if (http.readyState == 4) {
    try {
      var params=responseHandler.split('|');
      var parami='';
      if (params.length>1)
        for (var z=1;z<params.length;z++)
          parami+=','+params[z];
			if (params[0]) {
        try { 		
          eval(params[0] + '(http'+parami+');');
        } catch(er) {
          var s=responseHandler+'(http)';
          try {
            eval(s);
          } catch(er) {
            postDataResponse(http);
          }  
        }  
      }   
    } catch (error) {
		  try {
        PARENT.debugger_debug(http.readyState+' '+params[0] + '(http'+parami+')'+error);
			} catch(er) {
			}
          }
  }
}

function OLD_readyStateChanged(http, responseHandler, key)
{
    if (http.readyState == 4) {
        try {
            eval(responseHandler + '(http, key);');
        } catch (error) {
                    }
    }
}

function doGet(urlString, responseHandler, async) {
    var urlo=urlString;
        if (urlo.indexOf('?')!=-1) {
      urlo=urlo.replace(/\?(.*)/,'?');
      urlo=urlo+encodeURIComponent(RegExp.$1);
      urlo=urlo.replace(/%3D/g,'=');
      urlo=urlo.replace(/%26/g,'&');
    } else {
     urlo=urlo+'?';
    }
    urlString=urlo;
        var http = getHTTPObject();
    if (http) {
                        urlString += '&' + ((new Date()).getTime());
        http.open("GET", urlString, async);
        http.onreadystatechange = function() { readyStateChanged(http, responseHandler); };
        http.send(null);
    }
}

function OLD_doGet(urlString, methodName, responseHandler, key, async)
{
    var     http = getHTTPObject();

    if (http) {
        urlString += '?womid=' + encodeURIComponent(methodName);
        http.open("GET", urlString, async);
        http.onreadystatechange = function() { readyStateChanged(http, responseHandler, key); };
        http.send(null);
    }
}







function doPostForm(urlString,submitString,responseHandler,async) {
  var http = getHTTPObject();
      var urlo=urlString;
        if (urlo.indexOf('?')!=-1) {
      urlo=urlo.replace(/\?(.*)/,'?');
      urlo=urlo+encodeURIComponent(RegExp.$1);
      urlo=urlo.replace(/%3D/g,'=');
      urlo=urlo.replace(/%26/g,'&');
    } else {
     urlo=urlo+'?';
    }
    urlString=urlo;
  
  if (http) {
    urlString += '&' + ((new Date()).getTime());
    try { 
    http.open("POST", urlString, async);
    } catch (er) {
      alert(er);
      return false;
    }
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    if (responseHandler != null) {
      http.onreadystatechange = function() {
        readyStateChanged(http, responseHandler);       };
    }
    http.send(submitString);
  }
}

function doPostFormWithAction(action,aForm,responseHandler,async) {
  doPostForm(action,encodeFormData(aForm, null),responseHandler,async);
}


function doPost(action,aForm,responseHandler,async) {
  try {
    document.getElementById('sreqt').src='/images/wait.gif';
  }catch(er) {
  }
  if (!action)
    action=aForm.action
  doPostFormWithAction(action,aForm,responseHandler,async);
}







function OLD_doPost(urlString, submitString, methodName, responseHandler, key, async)
{
    var     http = getHTTPObject();

    if (http) {
        http.open("POST", urlString, async);
        http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        if (responseHandler != null) {
            http.onreadystatechange = function() {
                readyStateChanged(http, responseHandler, key);
            };
        }
        submitString += '&womid=' + encodeURIComponent(methodName);
        http.send(submitString);
    }
}

function OLD_doPostFormWithAction(action, aForm, methodName, responseHandler, key, async)
{
    doPost(action, encodeFormData(aForm, null), methodName, responseHandler, key, async);
}

function OLD_doPostForm(aForm, methodName, responseHandler, key, async)
{
    doPostFormWithAction(aForm.action, aForm, methodName, responseHandler, key, async);
}

var   hasW3CDOM = (document.createElement && document.getElementsByTagName);
var   hasAJAX = hasW3CDOM && getHTTPObject();