// Create the XML HTTP request object. We try to be
// more cross-browser as possible.
function CreateXmlHttpReq(handler) {
  var xmlhttp = null;
  try {
    xmlhttp = new XMLHttpRequest();
  } catch(e) {
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  xmlhttp.onreadystatechange = handler;
  return xmlhttp;
}

// An handler that does nothing, used for AJAX requests that
// don't require a reply and are non-critical about error conditions.
function DummyHandler() {
    return true;
}

// Shortcut for creating a GET request and get the reply
// This few lines of code can make Ajax stuff much more trivial
// to write, and... to avoid patterns in programs is sane!
function ajaxGet(url,handler) {
    var a = new Array("placeholder");
    for (var j=2; j<arguments.length; j++) {
        a[a.length] = arguments[j];
    }
    var ajax_req = CreateXmlHttpReq(DummyHandler);
    var myhandler = function() {
        var content = ajaxOk(ajax_req);
        if (content !== false) {
            a[0] = content;
            try {
                return handler.apply(this, a);
            } catch(e) {
                return myDummyApply(handler, a);
            }
        }
    }
    ajax_req.onreadystatechange = myhandler;
    ajax_req.open("GET",url);
    ajax_req.send(null);
}

// IE 5.0 does not support the apply() method of the function object,
// we resort to this eval-based solution that sucks because it is not
// capable of preserving 'this' and is ugly as hell, but it works for us.
function myDummyApply(funcname,args) {
    var e = "funcname(";
    for (var i = 0; i < args.length; i++) {
        e += "args["+i+"]";
        if (i+1 != args.length) {
            e += ",";
        }
    }
    e += ");"
    return eval(e);
}

// Add a random parameter to the get request to avoid
// IE caching madness.
function ajaxGetRand(url,handler) {
    url += (url.indexOf("?") == -1) ? "?" : "&";
    url += "rand="+escape(Math.random());
    arguments[0] = url;
    try {
        return ajaxGet.apply(this,arguments);
    } catch(e) {
        return myDummyApply(ajaxGet,arguments);
    }
}

function ajaxOk(req) {
    if (req.readyState == 4 && req.status == 200) {
        return req.responseText;
    } else {
        return false;
    }
}


function hide(target) {
    var e = document.getElementById(target);
    if (e.style.visibility == 'hidden') {
        e.style.visibility = 'visible';
        e.style.display = 'block';
    } else {
        e.style.visibility = 'hidden';
        e.style.display = 'none';
    }
}

function $(id) {
    return document.getElementById(id);
}

function $html(id) {
    return document.getElementById(id).innerHTML;
}

function $sethtml(id,html) {
    document.getElementById(id).innerHTML = html;
}

function $apphtml(id,html) {
    document.getElementById(id).innerHTML += html;
}

//Funzione per modificare il contenuto di un elemento nella pagina, accetta i parametri target e text
function set_text(target, text) {
    var e = document.getElementById(target);
    e.innerHTML = text;
}

//Funzione per prelevare il contenuto di un elemento
function get_text(target, text) {
    var e = document.getElementById(target);
   return e.innerHTML;
}

function $upd_div(content,elementid) {
    var e = document.getElementById(elementid);
    e.innerHTML = content;
}//function myHandler(content) {$sethtml('d1',content);}




function make_upd ()
{
var upd_div = function $upd_div(content,elementid) {var e = document.getElementById(elementid); e.innerHTML = content;};
return upd_div;
}

var htmlt = '<input type="submit" value="Ciao!">';

function sakaguchi()
{
$sethtml('descrizione_distribuzione','<b>Sakaguchi: </b> Riscaladori in linea');
}
function junair()
{
$sethtml('descrizione_distribuzione','<b>Jun-Air: </b> Una gamma completa di compressori professionali d&#8217;aria adatti per tutte le applicazioni.');
}
function stec()
{
$sethtml('descrizione_distribuzione','<b>STEC: </b> Fornitura di apparecchiature elettroniche per le industrie dei semiconduttori, i regolatori di flusso (Mass Flow Controller) della linea STEC sono tra i più affidabili e funzionali sul mercato.');
}
function fujilog()
{
$sethtml('descrizione_distribuzione','<b>Fujilog: </b>Valvole ideali nei settori in cui vi sia la necessità di elevatissima purezza, minimo spazio morto, e piena compatibilità ed intercambiabilità con le valvole con attacchi VCR e Swagelok.');
}
function gt()
{
$sethtml('descrizione_distribuzione','<b>Greene Tweed: </b>Leader mondiale nelle soluzioni di tenuta, fornitura di materiali compositi, connettori, fibre ottiche, materiali termoplastici.');
}
function timertest()
{
 setTimeout('alert("ciao!")', 3000); //l'oggetto window può essere sottointeso
}

function 
bgImage(id,image)
	{
	document.getElementById(id).style.backgroundImage = 'url('+image+')'; 
 	} 
	