﻿// JScript File
function xGetElementById(e)
{
  if(typeof(e)=='string') {
    if(document.getElementById) e=document.getElementById(e);
    else if(document.all) e=document.all[e];
    else e=null;
  }
  return e;
}

function xAddEventListener(e,eT,eL,cap)
{
  if(!(e=xGetElementById(e)))return;
  eT=eT.toLowerCase();
  if(e.addEventListener)e.addEventListener(eT,eL,cap||false);
  else if(e.attachEvent)e.attachEvent('on'+eT,eL);
  else {
    var o=e['on'+eT];
    e['on'+eT]=typeof o=='function' ? function(v){o(v);eL(v);} : eL;
  }
}

function xStopPropagation(evt)
{
  if (evt && evt.stopPropagation) evt.stopPropagation();
  else if (window.event) window.event.cancelBubble = true;
}

function xPreventDefault(e)
{
  if (e && e.preventDefault) e.preventDefault();
  else if (window.event) window.event.returnValue = false;
}

// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers più recenti e diffusi
function createXMLHttpRequest() {
	// lista delle variabili locali
	var
	// variabile di ritorno, nulla di default
	XHR = null,

	// informazioni sul nome del browser
	browserUtente = navigator.userAgent.toUpperCase();


	// browser standard con supporto nativo
	// non importa il tipo di browser
	if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
			XHR = new XMLHttpRequest();

			// browser Internet Explorer
			// è necessario filtrare la versione 4
	else if(
			window.ActiveXObject &&
			browserUtente.indexOf("MSIE 4") < 0) {

	// la versione 6 di IE ha un nome differente
	// per il tipo di oggetto ActiveX
	if(browserUtente.indexOf("MSIE 5") < 0)
			XHR = new ActiveXObject("Msxml2.XMLHTTP");

			// le versioni 5 e 5.5 invece sfruttano lo stesso nome
			else XHR = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return XHR;
}


function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
        setTimeout("substitute('" + id + "')",(100 * speed));
        
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
        var div = document.getElementById("cat_cont");
        div.removeChild(document.getElementById("imgloader"));
    }
    
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function substitute(id)
{
        var object = document.getElementById(id);        
        object.removeChild(document.getElementById("showprod"));
        //object.innerText = "";
        var div = document.getElementById("cat_cont");				
        /*object.style.opacity = 100;
        object.style.MozOpacity = 100;
        object.style.KhtmlOpacity = 100;
        object.style.filter = "alpha(opacity=100)";*/
        var imgtra = document.createElement('img');
        imgtra.setAttribute('src', '/img/ajax-loader.gif');
        imgtra.setAttribute('alt', 'loader');
        imgtra.setAttribute('id', 'imgloader');
        imgtra.setAttribute('class', 'imgloader');
        div.appendChild(imgtra);
}
