function xmlhttpPost(strURL,formname,responsediv,where) {
    var xmlHttpReq = false;
    var self = this;
    try {
			self.xmlHttpReq = new ActiveXObject('Msxml2.XMLHTTP');
		}catch (e){
	        
	        try {
	        	
				self.xmlHttpReq = new ActiveXObject('Microsoft.XMLHTTP');
			}
	        catch (e2) 
	        {
		        
		        try {
		        	self.xmlHttpReq = new XMLHttpRequest();
		        }
		        catch (e3) {
					
					self.xmlHttpReq = false;
				}
	        }
	     }
    if (where == 'cart'){
    	var URL= strURL;
    }else{
    	var URL= strURL+'?'+getquerystring(formname);
    }
    
    window.scrollTo(0,0);

    if (where != 'newsletter' && where != 'notifyme'){
    	_ILLY.CART.open(true,true);
    }

    self.xmlHttpReq.open('GET', URL, true);

    if (where == 'newsletter'){
    	_ILLY.overlayer.close('#layernewsletter');
    	
    }else if (where == 'notifyme'){
    	_ILLY.overlayer.close('#verificadisp');
    	_ILLY.overlayer.open('#verificadisp_confirm');
    }else{
	    self.xmlHttpReq.onreadystatechange = function() {
	        if (self.xmlHttpReq.readyState == 4) {

				// Quando pronta, visualizzo la risposta del form
				var documentString = self.xmlHttpReq.responseText;      
				var startIndex = documentString.indexOf( "<!-- start view cart menu -->" );
				var endIndex = documentString.indexOf( "<!-- end view cart menu -->" ); 
				documentString = documentString.substring(startIndex, endIndex);
	            updatepage(documentString,responsediv);
	            _ILLY.CART.open();
	        }
			else{
				// In attesa della risposta del form visualizzo il msg di attesa
				_ILLY.CART.open(true,true);
			}
	    }
	}
    self.xmlHttpReq.send(null);
	
}

function getquerystring(formname) {
    var form = document.forms[formname];
	var qstr = "";
	
    function GetElemValue(name, value) {
        qstr += (qstr.length > 0 ? "&" : "")
            + escape(name).replace(/\+/g, "%2B") + "="
            + escape(value ? value : "").replace(/\+/g, "%2B");
			//+ escape(value ? value : "").replace(/\n/g, "%0D");
    }
	
	var elemArray = form.elements;
    
    for (var i = 0; i < elemArray.length; i++) {
    	var element = elemArray[i];
        if (element.name != null) {
        	var elemName = element.name;
	       	var elemType = element.type.toUpperCase();
			 
	        if (elemName) {
	        	
	            if (elemType == "TEXT"
	                    || elemType == "TEXTAREA"
	                    || elemType == "PASSWORD"
						|| elemType == "BUTTON"
						|| elemType == "RESET"
						|| elemType == "SUBMIT"
						|| elemType == "FILE"
						|| elemType == "IMAGE"
	                    || elemType == "HIDDEN")
	                GetElemValue(elemName, element.value);
	            else if (elemType == "CHECKBOX" && element.checked)
	                GetElemValue(elemName, 
	                    element.value ? element.value : "On");
	            else if (elemType == "RADIO" && element.checked)
	                GetElemValue(elemName, element.value);
	            else if (elemType.indexOf("SELECT") != -1)
	                for (var j = 0; j < element.options.length; j++) {
	                    var option = element.options[j];
	                    if (option.selected)
	                        GetElemValue(elemName,
	                            option.value ? option.value : option.text);
	                }
	        }
	    }
       
    }
    return qstr;
}
function updatepage(str,responsediv){
    document.getElementById(responsediv).innerHTML = str;
}