var XMLHTTP; 

function parseScript(_source) {
	var source = _source;
	var scripts = new Array();
	
	// Strip out tags
	while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) {
		var s = source.indexOf("<script");
		var s_e = source.indexOf(">", s);
		var e = source.indexOf("</script", s);
		var e_e = source.indexOf(">", e);
		
		// Add to scripts array
		scripts.push(source.substring(s_e+1, e));
		// Strip from source
		source = source.substring(0, s) + source.substring(e_e+1);
	}
	
	// Loop through every script collected and eval it
	for(var i=0; i<scripts.length; i++) {
		try {
			eval(scripts[i]);
		}
		catch(ex) {
			// do what you want here when a script fails
		}
	}
	
	// Return the cleaned source
	return source;
}
 
function CambioStato() 
{ 
    if (XMLHTTP.readyState == 4) 
    { 
        var R = document.getElementById("response"); 
        R.innerHTML = XMLHTTP.responseText;
        var risposta = XMLHTTP.responseText;
        parseScript(risposta);
    }else{
    	var R = document.getElementById("response"); 
    	R.innerHTML = "<img src='/new/_admin/images/pleasewait.gif'>"; 
    	
    	
    } 
} 
 
function RicavaBrowser(QualeBrowser) 
{ 
    if (navigator.userAgent.indexOf("MSIE") != (-1)) 
    { 
        var Classe = "Msxml2.XMLHTTP"; 
        if (navigator.appVersion.indexOf("MSIE 5.5") != (-1)); 
        { 
            Classe = "Microsoft.XMLHTTP"; 
        }  
        try 
        { 
            OggettoXMLHTTP = new ActiveXObject(Classe); 
            OggettoXMLHTTP.onreadystatechange = QualeBrowser; 
            return OggettoXMLHTTP; 
        } 
        catch(e) 
        { 
            alert("Errore: l'ActiveX non verrà eseguito!"); 
        } 
    } 
    else if (navigator.userAgent.indexOf("Mozilla") != (-1)) 
    { 
        OggettoXMLHTTP = new XMLHttpRequest(); 
        OggettoXMLHTTP.onload = QualeBrowser; 
        OggettoXMLHTTP.onerror = QualeBrowser; 
        return OggettoXMLHTTP; 
    } 
    else 
    { 
        alert("Lo script non funziona con altri browser!"); 
    }
}

function getStrutture(type) {
	if(type>0) {
		var url = "/new/include/map.php?t="+type;
		
		var req = RicavaBrowser(CambioStato);
		
		req.open("GET", url, false); 
        req.send(null); 
        
        //alert(req.responseText);
        if(req.readyState === 4) {
        	if(req.status == 200)
        		return execJS(req.responseText);
        }
	}
}

function getStruttureCloseup(type,closeuptype,areaid) {
	if(type>0) {
		var url = "/new/include/map.php?t="+type+"&c="+closeuptype+"&a="+areaid;
		
		var req = RicavaBrowser(CambioStato);
		
		req.open("GET", url, false); 
        req.send(null); 
        
        //alert(req.responseText);
        if(req.readyState === 4) {
        	if(req.status == 200)
        		return execJS(req.responseText);
        }
	}
}

function setVote(foto,voto) {
	if(foto!="") {
		var url = "/new/include/vote.php?p="+foto+"&v="+voto;
		
		var req = RicavaBrowser(CambioStato);
		
		req.open("GET", url, false); 
        req.send(null); 
        
        //alert(req.responseText);
        if(req.readyState === 4) {
        	if(req.status == 200)
        		document.getElementById('vota_'+foto).disabled=true;
        	else
        		return false;
        }
	}
}


function execJS(t)
{
    var p1 = 0, p2 = 0, p3 = 0, p4 = 0;
    p1 = t.indexOf("<" + "script", 0);
    if(p1 == -1) return t;
    
    p2 = t.indexOf(">", p1 + 7) + 1;
    p3 = t.indexOf("<" + "/script>", p2);
    p4 = p3 + 9;
    
    var c = t.substring(p2, p3);
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.text = c;
    document.getElementsByTagName("head")[0].appendChild(s);
    
    t = t.substring(0, p1) + t.substr(p4);
    return execJS(t);

} 
