var current = new Object();

function updateSize() {
    if (parseInt(navigator.appVersion)>3) {
        if (navigator.appName=='Netscape') {
            current.winWidth = window.innerWidth-16;
            current.winHeight = window.innerHeight-16;
            current.screenWidth = screen.width;
            current.screenHeight = screen.height;
        }
        if (navigator.appName.indexOf('Microsoft')!=-1) {
            current.winWidth = document.body.offsetWidth-20;
            current.winHeight = document.body.offsetHeight-20;
            current.screenWidth = screen.width;
            current.screenHeight = screen.height;
        }
    }
    //alert(current.winWidth+','+current.winHeight);
}

function setServerSize(width,height) {
    current.serverWidth = width;
    current.serverHeight = height;
}

function updateServerSize() {
    //alert('Update server Size');
    updateSize();
    // se xmlhttp č nullo faccio la richiesta, altrimenti mi sta arrivando la risposta
    // anzi ci metto una variabile per sicurezza
    //if (current.loading == 'Y') return;
    var req = 'updateClientResolution?w='+current.winWidth+'&h='+current.winHeight+'&sw='+current.screenWidth+'&sh='+current.screenHeight;
    if (current.serverWidth!=null) {
        req = req+'&cw='+current.serverWidth+'&ch='+current.serverHeight;
    }
    //alert(req);
    loadXMLDoc(req,receiveResponse);
}

function receiveResponse() {
    if (current.xmlhttp.readyState==4) {
        // if "OK"
        if (current.xmlhttp.status==200) {
            // arriva la risposta
            var ris = current.xmlhttp.responseText;
            //alert('Risposta: '+ris);
            if (ris=='OK') {
                // non devo fare niente
            } else if (ris=='FULL_SCREEN') {
                // metto la finestra del client a tutto schermo
            } else if (ris=='RELOAD') {
                //alert('Ricarica la pagina !');
                // ricarico la pagina cosė il server mi da le nuove impostazioni
                window.location.reload();
            }
        } else {
            //alert("Problem retrieving XML data");
        }
    }
}

function loadXMLDoc(url,receiveOn) {
    var xmlhttp = null;
    if (window.XMLHttpRequest) {
        // code for Mozilla, etc.
        xmlhttp=new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        // code for IE
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    current.xmlhttp = xmlhttp;
	if (xmlhttp!=null) {
        xmlhttp.onreadystatechange=receiveOn;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
        current.loading = 'Y';
    } else {
        alert("Your browser does not support XMLHTTP.");
    }
}
