﻿function createRequestObject() {
    var ro;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
            ro = new XMLHttpRequest();
            if (ro.overrideMimeType) {
              // ro.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
               ro = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                	
                    ro = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!ro) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
    return ro;
}

var http = createRequestObject();

function sndReq(param,action) {
	switch(action)
		{
		case 'getComuni':
		http.open('get','utility/getComuni.php?idProvincia='+param,true);
    		http.onreadystatechange = buildSelectComuni;
   			http.send(null);
			break;
		case 'getProvince':
			http.open('get','utility/getProvince.php?idRegione='+param,true);
			http.onreadystatechange = buildSelectProvincie;
   			http.send(null);
			break;
		case 'form':
			void(0);
			break;
		case 'sendvoto':
			http.open('get','utility/sendVoto.php?voto='+param[0]+'&idVetrina='+param[1],true);
			document.getElementById('vota').innerHTML = 'Il suo voto sarà conteggiato fra qualche secondo, grazie!';
			http.onreadystatechange = confirmVoto;
   			http.send(null);
			break;
		default:
			http.open('post','index.php?id='+param+'&response=1',true);
    		http.onreadystatechange = changePage;
   			http.send(null);
   			break;
		}
}
function buildSelectComuni()
	{
		
	 if(http.readyState == 4){
    	  if (http.status == 200) {
    	  	try{
    	  		
                var response = http.responseXML.getElementsByTagName('comuni')[0].firstChild.nodeValue; 
                document.getElementById('RGcomuni').style.display="block";
                document.getElementById('RGcomuni').innerHTML =  response;
    	  		} catch(e) {
    	  		  alert('errore nella scrittura della select: '+e.message);
    	  		 }
            	
            } else {
                alert('errore nella risposta del server');
            }
    	  }
	}
function buildSelectProvincie()
	{
	 if(http.readyState == 4){
	 	
    	  if (http.status == 200) {
    	  	try{
    	  		
                var response = http.responseXML.getElementsByTagName('provincie')[0].firstChild.nodeValue; 
                
                 document.getElementById('RGcomuni').innerHTML ="";
                 document.getElementById('RGcomuni').style.display ="none";
                 document.getElementById('RGprovince').innerHTML =response; 				
             
    	  		} catch(e) {
    	  		  alert('errore nella scrittura della select: '+e.message);
    	  		 }
            	
            } else {
                alert('errore nella rispsota del server');
            }
    	  }
	}
function confirmVoto()
	{
	 if(http.readyState == 4){
	 	
    	  if (http.status == 200) {
    	  	try{
    	  		
                var response = http.responseXML.getElementsByTagName('voto')[0].firstChild.nodeValue; 
                
                 document.getElementById('vota').innerHTML = response;
			
             
    	  		} catch(e) {
    	  		   document.getElementById('vota').innerHTML ='Il suo voto non è stato conteggiato. Ci scusiamo per il disguido';
				}
            } else {
                alert('errore nella risposta del server');
				return;
            }
    	  }
	}
function changePage() {
    if(http.readyState == 4){
    	  if (http.status == 200) {
    	  		try{
                var response = http.responseXML.getElementsByTagName('content')[0].firstChild.nodeValue; 
                document.getElementById('content').innerHTML = response;  
                var title = http.responseXML.getElementsByTagName('title')[0].firstChild.nodeValue;
                document.title=title;
				var stylesheet = http.responseXML.getElementsByTagName('style')[0].firstChild.nodeValue;
				
				if(stylesheet)
                	document.styleSheet.addImport(stylesheet);
             
    	  		} catch(e) {
    	  		  
    	  		 }
            	
            } else {
                alert('There was a problem with the request.');
            }
       
        }
    }

