// libreria di funzioni per pagine foto sito Fotomaniac

var ImgPerCart = "";
var ImgPerDLoad = "";
var FileDLoad = "";

var requester;	//oggetto XMLHTTPRequest

function dopic(nomeImg, nomeHRef, base, altezza)
{

  //imposta variabili globali per cartolina
  /*
  ImgPerCart = nomeImg;
  */
  iImg = FindThumbMain()
  if (IsIExplorer == true)
    if (iImg >= 0)
      set_op(iImg, 50);
  
  iImg = IndexImgByName("mainImg");
  if (iImg >= 0)
  {
    document.images[iImg].height = altezza;
    document.images[iImg].width = base;
    document.images[iImg].src = nomeImg;
  }

  iImg = FindThumbMain()
  if (IsIExplorer == true)
    if (iImg >= 0)
	  set_op(iImg, 100);
  
  FileDLoad = nomeHRef;
  
  iLink = IndexLinkByName("hrMainImg");
  if (iLink >= 0)
  {
    document.links[iLink].href = nomeHRef;
    //modifica per funzionamento con ajax del contadownload
    //document.links[iLink].href = 'contadownload.asp?file=' + nomeHRef;
    //document.links[iLink].href = "javascript:RegistraDwnFoto(\"contadownload.asp?file=" + nomeHRef + "\")";
    //document.links[iLink].href = 'javascript:milan();';
  }
  
  
  iLink = IndexLinkByName("hrDownLoad");
  if (iLink >= 0)
  {
    document.links[iLink].href = nomeHRef;
  }
  
  
/************************************************************************************
 * qui inizia la modifica 01 di Andrea del 29/10/2003                               *
 * questa righe che seguono leggono il nome del file dell'immagine principale e     *
 * impostano il link denominato "hrECard1" che è associato al testo e-card della    *
 * pagina html.                                                                     *
 * Il link suddetto richiamerà la pagina asp che gestirà il form della cartolina,   *
 * il nome della pagina è fotocard.asp e può essere cambiato, il parametro nella    *
 * query string dell'asp si chiama "foto".                                          *
 ************************************************************************************/

/* 
  cerchiamo con la funzione 'IndxLinkByName' il link html denominato 'hrECard1'
  se si vuole cambiare il nome del link lo si deve cambiare anche qui
*/
  ImgPerCart = nomeImg;
  ImgPerDLoad = nomeHRef;
   
  iLink = IndexLinkByName("hrECard1");

/*
  se trovo il link html con il nome richiesto allora imposta la sua proprietà 'href'
  con il nome della pagina 'fotocard.asp' e con la querystring 'foto=<nome_della_foto>'
  ATTENZIONE!!! il nome della pagina deve essere completata dall'eventuale path 
  relativo alla posizione del file fotocard.asp e al file che lo ha chiamato.
*/
  if (iLink >= 0)
  {
    /*document.links[iLink].href = "fotocard.asp?foto=" + nomeImg;*/
    //document.links[iLink].href = "scheda.asp?foto=" + nomeImg;
  }

/************************************************************************************
 * qui finisce la modifica 01 di Andrea del 29/10/2003                              *
 * le righe di commento, compresa questa può essere eliminata quando il tutto       *
 * funziona correttamente così il file rimane piccolo.                              *
 ************************************************************************************/

}

  function IndexLinkByName(stNomeLink)
  {
    var iLen = document.links.length;
    var i = 0;
    var stTempLink = "";
    
    for (i = 0;i < iLen; i++)
    {
        stTempLink = document.links[i].name;
		//alert("Il link n: "+ i + " si chiama: " + stTempLink + "!");
        if (stTempLink == stNomeLink)
          return(i);
    }
    return(-1);
  }

  function IndexImgByName(stNomeImg)
  {
    var iLen = document.images.length;
    var i = 0;
    var stTempImg = "";
    
    for (i = 0;i < iLen; i++)
    {
        stTempImg = document.images[i].name;
        //alert("Il link n: "+ i + " si chiama: " + stTempLink + "!");
        if (stTempImg == stNomeImg)
          return(i);
    }
    return(-1);
  }

  function IndexImgBySrc(stNomeImg)
  {
    var iLen = document.images.length;
    var i = 0;
    var stTempImg = "";
    
    for (i = 0;i < iLen; i++)
    {
        stTempImg = document.images[i].name;
		if (stTempImg != "mainImg")
        {
		  stTempImg = document.images[i].src;
          if (stTempImg == stNomeImg)
            return(i);
		}
    }
    return(-1);
  }

  function IndexFormByName(stNomeForm)
  {
    var iLen = document.forms.length;
    var i = 0;
    var stTempForm = "";
    
    for (i = 0;i < iLen; i++)
    {
        stTempForm = document.forms[i].name;
        if (stTempForm == stNomeForm)
          return(i);
    }
    return(-1);
  }

function ApriWindowECard(nomeImg)
{
  window.open('scheda.asp?foto=' + nomeImg,'schedacartolina','toolbar=no,location=no,menubar=no,scrollbars=no,resizable=no,statusbar=no');
  //window.open('scheda.asp?foto=' + nomeImg ,'schedacartolina','width=450,height=535');
  // toolbar=no, scrollbars=no, location=no, statusbar=no, menubar=no, resizable=no, width=300, height=350, left=50, top=50'
}
 
function ApriWindowDLoad(nomeHRef)
{
  window.open('contadownload.asp?file=' + nomeHRef,'ContaDownLoad','width=5,height=5');
  //window.open('scheda.asp?foto=' + nomeImg ,'pippo','width=450,height=535');
} 
 

 
 
function VerificaDatiForm(objForm)
{
  var i, sName, bResult;	
  
  bResult = false;
  if (objForm == null)
    return(bResult);

  for (i=0;i < objForm.length; i++) 
  {
    sName = objForm.elements[i].name;
    if (sName.charAt(0) != "_")
	{
	  if (objForm.elements[i].value.length < 1)
	  {
        alert("Il campo: " + sName + "\nè obbligatorio!\n");
	    objForm.elements[i].focus();
	    objForm.elements[i].select();
		return(bResult);
	  }
	}	
  }	

  bResult = true;  
  return(bResult);
 
}

// funzione di fading su immagini

nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
function nereidFade(object, destOp, rate, delta)
{
  if (!document.all)
	return;
	
  if (object != "[object]")
  {
    setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
	return;
  }
  if (object.src == document.mainImg.src)
    return;
	
  clearTimeout(nereidFadeTimers[object.sourceIndex]);
  diff = destOp-object.filters.alpha.opacity;
  direction = 1;
  if (object.filters.alpha.opacity > destOp)
  {
    direction = -1;
  }
  delta=Math.min(direction*diff,delta);
  object.filters.alpha.opacity+=direction*delta;
  if (object.filters.alpha.opacity != destOp)
  {
    nereidFadeObjects[object.sourceIndex]=object;
    nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
  }
}

function set_op(iImg,op_value)
{
  document.images[iImg].filters.alpha.opacity = op_value;
}

function FindThumbMain()
{
  stNomeSrcMain = document.mainImg.src;
  iImg = IndexImgBySrc(stNomeSrcMain);
  return(iImg);
}

/*
  AJAX
*/

function AjxSoloInvio(filedestinazione,parametri) 
{
		
  // Check for running connections 
  if (requester != null && requester.readyState != 0 && requester.readyState != 4) 
    {requester.abort();}		
		
  // creo l'oggetto DOM XMLHttpRequest a seconda dei browser 
  try
  {
	requester = new XMLHttpRequest();
  }
  catch (error)
  {
    try
	{
	  requester = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (error)
	{
      alert("sono in Ajax non ho istanziato l'oggetto");
	  requester = null;
	  return(false);
	}
  }
		
  //imposto la pagina da cui prendere i dati 
  requester.open("GET", filedestinazione + "?" + parametri + "&chiave=" + escape(Math.random()), true);
		
  //imposto la procedura che dev'essere chiamata dopo l'acquisizione dei dati 
  requester.onreadystatechange = function () {}; 
		
  //spedisco la richiesta XMLHttpRequest 
  requester.send(null);
}


function AjxSoloInvio2(filedestinazione,parametri) 
{
  var bMicrosoft = false;		
  // Check for running connections 
  if (requester != null && requester.readyState != 0 && requester.readyState != 4) 
    {requester.abort();}		
		
  // creo l'oggetto DOM XMLHttpRequest a seconda dei browser 
  try
  {
	requester = new XMLHttpRequest();
  }
  catch (error)
  {
    try
	{
	  //requester = new ActiveXObject("Microsoft.XMLHTTP");
	  requester = new ActiveXObject("Msxml2.XMLHTTP");
	  bMicrosoft = true;
	}
	catch (error)
	{
	  requester = null;
	  return(false);
	}
  }
		
  //imposto la pagina da cui prendere i dati 
  requester.open("GET", filedestinazione + "?" + parametri + "&chiave=" + escape(Math.random()), true);
		
  //imposto la procedura che dev'essere chiamata dopo l'acquisizione dei dati 
  requester.onreadystatechange = function () {alert("ho terminato");}; 
		
  //spedisco la richiesta XMLHttpRequest 
  if (bMicrosoft)
    requester.send();
  else
    requester.send(null);
    
  delete requester;
  requester = null;
}

function RegistraDwnFoto3()
{
  var stRiga = "contadownload.asp?file=" + FileDLoad;
  var k = stRiga.length;
  //var i = stRiga.Pos("?");
  var i = stRiga.indexOf("?");
  
  stFile = stRiga.substr(0,i);
  stParametri = stRiga.substr(i + 1, k);
  
  AjxSoloInvio(stFile, stParametri); 
	
}

function RegistraDwnScreen(stSSaver)
{
  var stRiga = "contascreen.asp?file=" + stSSaver;
  var k = stRiga.length;
  //var i = stRiga.Pos("?");
  var i = stRiga.indexOf("?");
 

  //return(true);


  stFile = stRiga.substr(0,i);
  stParametri = stRiga.substr(i + 1, k);

  AjxSoloInvio(stFile, stParametri); 
	
}


function RegistraDwnFoto2(stRiga)
{

  alert(stRiga);

/*
k = stRiga.Length();
  i = stRiga.Pos("?");
  
  stFile = stRiga.substring(1,i - 1);
  stParametri = stRiga.substring(i + 1, k);
  
  AjxSoloInvio(stFile, stParametri); 
*/

}

function evidenziavoce(){
	var arrayTagA;
	a = evidenziavoce.arguments;
	for(j=0;j<a.length;j++) {
		arrayTagA=document.getElementById(a[j]).getElementsByTagName("a");
		for(var i=0;i<arrayTagA.length;i++){
			if (arrayTagA[i].href == location.href) {
				arrayTagA[i].id = "current";
				// arrayTagA[i].className="menuactive"; <- non la prende!
			}
		}
	}
}

function Contattaci(TestoLink, EmSubj)
{
	var stb_domain = "fotomaniac.it"
	var stb_user = "info"
	var stb_recipient = stb_user + "@" + stb_domain
	var stb_url = "mailto:" + stb_recipient
	
   //var LinkPosta="<a href='" + stb_url + "'>" + TestoLink + "</a>"; 
	var LinkPosta="<a href='" + stb_url + "?Subject=" + EmSubj + "'>" + TestoLink + "</a>";
	document.write(LinkPosta);
	
	//document.write(stb_recipient.link(stb_url));
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-----------------------------------------------------------------
// funzioni per l'automatismo per la versione 3.0 del sito
//-----------------------------------------------------------------
function Init()
{
  var objFirst = document.getElementById("foto1");
  initAttribute(lefoto);
  CmdThumb(objFirst);
  bss_litebox_init();
}
// imposto gli attributi
function initAttribute(leFoto)
{
  var aImg;
  var k = leFoto.length;
  for (var i=1; i < k;i++)
  {
//alert(k + "#" + i);
    aImg = document.getElementById(leFoto[i]["idThumb"]);
//alert(k + "#" + i + ":" + aImg.id + " " + leFoto[i]["attsrc"] + " " + leFoto[i]["attalt"] + " " + leFoto[i]["attdwn"]);
    aImg.setAttribute("attsrc",leFoto[i]["attsrc"]);
    aImg.setAttribute("attdwn",leFoto[i]["attdwn"]);
    aImg.setAttribute("attdesc",leFoto[i]["attdesc"]);
	aImg.setAttribute("attalt",leFoto[i]["attalt"]);
	aImg.setAttribute("atttitle",leFoto[i]["atttitle"]);
  }
}
function CmdThumb(objNotify)
{
	// imposto l'immagine vecchia sopra
	document.getElementById("fadeImg").src = document.getElementById('mainImg').src;
	bss_opacity(document.getElementById("fadeImg"),99);
	
	// imposto quella nuova sotto
	setMainImg(objNotify);
	setHRefDown(objNotify);
	setHRefCard(objNotify);
	setDescrizione(objNotify);
	
	// lancio le dissolvenze
	bss_fade(document.getElementById('fadeImg'),99,0,4,10);
}
// imposto l'immagine principale
function setMainImg(objTag)
{
  var immagine = document.getElementById("mainImg");
  immagine.src = objTag.getAttribute("attsrc");
}
// imposto tutti i link 
function setHRefDown(objTag)
{
  var hrDown = document.getElementsByName("mainDown");
  for (var j = 0; j < hrDown.length; j++)
  {
	hrDown[j].setAttribute("attdwn", objTag.getAttribute("attdwn"));
  }
}
// imposto la didascalia
function setDescrizione(objTag)
{
  var descrizione = document.getElementById("descrizione");
  descrizione.innerHTML = objTag.getAttribute("attdesc");
}
// imposto tutti le cartoline 
function setHRefCard(objTag)
{
  var stRiga = "";
  var hrCard = document.getElementsByName("ecard");
  for (var j = 0; j < hrCard.length; j++)
  {
	stRiga = "javascript:bss_litebox_custom(\"#000000\");";
	stRiga += "bss_litebox_innerHTML(\"scheda.asp?foto=" + objTag.getAttribute("attsrc") + "\",\"\",\"455\",\"606\");";
    stRiga += "bss_litebox('on',70, true);";
	
	hrCard[j].href = stRiga;
  }
}




//-----------------------------------------------------------------
// Libreria AJAX uniforme tra IE e Moz
//-----------------------------------------------------------------
if(typeof(isIE) == 'undefined') isIE = (navigator.userAgent.toLowerCase().indexOf("msie") != -1) ;
if(typeof(isMoz) == 'undefined')  isMoz = !isIE;
//-----------------------------------------------------------------
// IE Initialization
//-----------------------------------------------------------------
if (isIE) {	
	function createObject(){ // crea oggetto activeX tentando diversi ProgID quanti sono i parametri
		var progIdArray = arguments;
		for(var i=0;i<progIdArray.length;i++){
			try {return new ActiveXObject(progIdArray[i])}catch (ex) {}
		}
		return null;
	}    
} //End: if

var jsXML = new Object();

jsXML.getXMLHttpRequest = function(){
	return (typeof(XMLHttpRequest) != 'undefined')? new XMLHttpRequest():createObject("Msxml2.XMLHTTP", "Microsoft.XMLHTTP");
}

jsXML.sendSync = function(url,body){
	var req = this.getXMLHttpRequest();
	method=(arguments[2])?arguments[2]:"POST";
	req.open(method, url, false);
	if (method=="POST") req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");	
	req.send(body);
	return req.responseText;
}

jsXML.sendAsync = function (url,body,method,action,onfault,onwait) {
	var i = 0;
	var req = this.getXMLHttpRequest();	

    var onreadystate = function (){	
	try
	{
	if (req != null)
   	{
		if (req.readyState == 4) 
		{
			if (req.status == 200) 
			{
				if(action!=null) action(req.responseText,req);
			}
			else 
			{
				if(onfault!=null) onfault(req.statusText);
			}
		}
		else 
		{
//alert("cinque" + req.readyState);
			if(onwait!=null) onwait(req.readyState);
		}
		
	}
	}
	catch(error)
	{
		  i= i;
	}
	}

req.onreadystatechange = onreadystate;

    req.open(method, url, true);
	if (method=="POST")	req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");	
	req.send(body);
}

jsXML.sendAsyncGet = function (url,body,action,onfault,onwait) {
	this.sendAsync(url,body,"GET",action,onfault,onwait);
}

jsXML.sendAsyncPost = function (url,body,action,onfault,onwait) {
	this.sendAsync(url,body,"POST",action,onfault,onwait);
}

//-----------------------------------------------------------------
// registrazione download foto
//-----------------------------------------------------------------
function WriteDFoto(objHRef)
{
 
  var stNomeFile = objHRef.getAttribute("attdwn");

  // funzione evento risposta positiva arrivata
  var arrivoDati = function (responseText) {
    provaAss(stNomeFile);
    //alert("è arrivato :" + responseText);
  }
  
  // funzione evento risposta negativa arrivata
  var erroreCom = function (codErrore) {
    provaAss(stNomeFile);
    //alert("è arrivato :" + codErrore);
  }


  var strParametri = "file=" + stNomeFile;
  var strNomeFileAsp = "downfoto.asp?dummy=" + escape(Math.random());
  jsXML.sendAsyncPost(strNomeFileAsp, strParametri, arrivoDati, erroreCom);
  //jsXML.sendAsyncPost(strNomeFileAsp, strParametri);
}

//-----------------------------------------------------------------
// registrazione download foto
//-----------------------------------------------------------------
function WriteDScreen(stNomeFile)
{
 
  //var stNomeFile = objHRef.getAttribute("attdwn");

  // funzione evento risposta positiva arrivata
  var arrivoDati = function (responseText) {
    //alert("è arrivato :" + responseText);
    provaAss(stNomeFile);
  }
  
  // funzione evento risposta negativa arrivata
  var erroreCom = function (codErrore) {
    provaAss(stNomeFile);
    //alert("è arrivato :" + codErrore);
  }


  var strParametri = "file=" + stNomeFile;
  var strNomeFileAsp = "downscreen.asp?dummy=" + escape(Math.random());
  jsXML.sendAsyncPost(strNomeFileAsp, strParametri, arrivoDati, erroreCom);
  //jsXML.sendAsyncPost(strNomeFileAsp, strParametri);
}

//-----------------------------------------------------------------
// attivazione download senza href
//-----------------------------------------------------------------
function provaAss(stNomeFile)
{
  window.location.assign(stNomeFile);
}



