// JavaScript Document
var SaverioAjaxPageRichiesta = 'saverioajaxrichiesta.php';
var SaverioAjaxPageRichiestaMethod = 'post';
var FlashUltimoIdRealiz=0;
var FlashUltimoIdCatRealiz=0;
var started=false;
var googlerichiesta='';
function googleanalytics(pagina, querystring){
	if (pagina!='') return '&richiesta[googleanalytics][page]=googleanalytics.php&richiesta[googleanalytics][pagina]='+pagina+'&richiesta[googleanalytics][querystring]='+escape(querystring);
}
function requestgoogleanalytics(pagina, querystring){
	if (pagina!='') return makeRequest(SaverioAjaxPageRichiesta, SaverioAjaxPageRichiestaMethod, googleanalytics(pagina, querystring));
}

function findObj(theObj, theDoc)
{
  var p, i, foundObj;
  
  if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  {
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }
  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  
  return foundObj;
}
function showHideLayers()
{ 
  var i, visStr, obj, args = showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
  {
    if ((obj = findObj(args[i])) != null)
    {
      visStr = args[i+2];
      if (obj.style)
      {
        obj = obj.style;
        if(visStr == 'show') visStr = 'block';
        else if(visStr == 'hide') visStr = 'none';
      }
      obj.display = visStr;
    }
  }
}
function EstraiStringa(tipo, campo, ricerca){
	if (tipo=='prima')
		campo = campo.substring(0, campo.lastIndexOf(ricerca));
	else
		campo = campo.substr(campo.lastIndexOf(ricerca)+1);
	return campo;
}

function is_array(obj) {
   if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
   else
      return true;
}

function classreplace(obj, classold, classnew){	
	if (obj.className){
		obj.className = obj.className.replace( eval('/' + classold + '/g') ,classnew);
	}
}
var inputerror='inputerror';
function validateForm(){ //funzioni richieste: EstraiStringa - is_array - classreplace
	var classi='',campo,campoerror,val,i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
	for (i=0; i<(args.length-2); i+=3) {
//		alert(args[i] + ' - ' + args[i+1] + ' - ' + args[i+2]);
		nm=args[i];
		campo=args[i+1];
		args[i+2];
		test=(is_array(args[i+2])) ? args[i+2][0] : args[i+2];
	    if (campo) {
			classi += 'Prima > ' + campo.name + ' (' + campo.id + ') > class > ' + campo.className + '\n';
			campoerror=false;
			classreplace(campo, inputerror, '');
//			nm=val.name;
//			if (nm.indexOf('_')!=-1){
//				nm=(nm.substr(nm.indexOf('_')+1));
//			}
			if ((val=campo.value)!="" && val!='undefined') {
				if (test.indexOf('isEmail')!=-1) {
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)){
						errors+='- '+nm+' non è una e-mail valida.\n';
						campoerror=true;
					}
				} else if (test.indexOf('File')!=-1){
//					var ext = test=args[i+3];
					var ext = args[i+2][1];
//					alert(ext);
					var ext2 = ',' + ext + ',';
					var ext_file = EstraiStringa('dopo', val, '.');
					if (ext2.toLowerCase().indexOf(',' + ext_file.toLowerCase() + ',') == -1){
						errors+='- '+nm+' deve essere un file di tipo ' + ext.toUpperCase().replace(/,/g, ', ') + '.\n';
						campoerror=true;
					}
				} else if (test!='R') {
					num = parseFloat(val);
					if (isNaN(val)){
						errors+='- '+nm+' non è un numero valido.\n';
						campoerror=true;
					}
					if (test.indexOf('inRange') != -1) {
						p=test.indexOf(':');
						min=test.substring(8,p); max=test.substring(p+1);
						if (num<min || max<num){
							errors+='- '+nm+' non è un numero tra '+min+' e '+max+'.\n';
							campoerror=true;
						}
					}
				}
			} else if (test.charAt(0) == 'R'){
				errors += '- '+nm+' è obbligatorio.\n';
				campoerror=true;
			}
			
			if (campoerror==true){
				campo.className += ' ' + inputerror;
				campo.onfocus = campo.onblur = campo.onclick = function() { classreplace(this, inputerror, ''); };
			} else {
				campo.onfocus = campo.onblur = campo.onclick = "";
			}
			classi += 'Dopo > ' + campo.name + ' (' + campo.id + ') > class > ' + campo.className + '\n\n';
		}
	}
//	alert(classi);
	if (errors) alert('ATTENZIONE: si sono verificati i seguenti errori:\n'+errors);
  	return (errors == '');
}

var IdFlashFoto = 'flashrealizzazione';
var IdFlashMenu = 'flashcat_';
var FlashStatus =  new Array('normal', 'active');
var FlashMenu = '';
var FlashFileSub = 'flash/realizzazione_';
var FlashFotoTitolo = 'realizzazionetitolo';
var FlashFotoDescrizione = 'realizzazionedescrizione';
var FlashUltimoIdRealiz=0;
function FlashChangeStatus(chiudi, apri)
{
	var i, chiudiargs = chiudi.split('|');
	for (i=0; i<chiudiargs.length; i++)
	{
	    if ((obj = findObj(IdFlashMenu + chiudiargs[i])) != null){
			obj.SetVariable("saverio", FlashStatus[0]);
//			obj.GotoFrame(FlashStatus[0]-1);
		}
	}

	if (apri!='')
	{
		var apriargs = apri.split('|');
		for (i=0; i<apriargs.length; i++)
		{
			if ((obj = findObj(IdFlashMenu + apriargs[i])) != null){
				obj.SetVariable("saverio", FlashStatus[1]);
//				obj.GotoFrame(FlashStatus[1]-1);
			}
		}
	}
}
var FlashCheckArgs;
function FlashCheckLoaded(){
	var i, obj, verifica=true;

	if (FlashCheckLoaded.arguments.length>0){
		FlashCheckArgs = FlashCheckLoaded.arguments;
//		alert("FlashCheckArgs new -> " + FlashCheckArgs.length);
	}
	for (i=2; i<FlashCheckArgs.length; i++){
//		alert(FlashCheckArgs[i]);
	    if ((obj = findObj(FlashCheckArgs[i])) != null){
//			alert(FlashCheckArgs[i] + " -> " + obj.PercentLoaded());
			if (obj.PercentLoaded()>=100){
				FlashCheckArgs[i]==true;
			}
		}
		if (FlashCheckArgs[i]==true){
			verifica = (true && verifica);
		}
	}
	if (verifica==true && FlashCheckArgs[1]==0){
//		alert(FlashCheckArgs[0]);
		eval(FlashCheckArgs[0]);
	} else {
		FlashCheckArgs[1]--;
		if (verifica==true) FlashCheckArgs[1]=0;
		if (FlashCheckArgs[1]>=0) setTimeout('FlashCheckLoaded()', 500);
	}
}

function FlashChangeCat(id){
//	alert(FlashMenu);
	FlashUltimoIdCatRealiz = id;
	var obj;
	FlashChangeStatus(FlashMenu, id);
    if ((obj = findObj(IdFlashFoto)) != null){
		if (started==true){
			googlerichiesta = "googleanalytics('realizzazione_categoria.php', 'idcat="+id+"')";
			ResetContenuto('vuoto', 'tabella_contenuto_interno_coldx');
		}
		started=true;
		obj.SetVariable("saverio", FlashFileSub + id);
		obj.SetVariable("saverioid", id);
	}
}

var menunow = '';
function FlashDettagliFoto(azione, id){
	FlashUltimoIdRealiz=id;
	if (azione=='auto' && menunow!='realizzazione' && googlerichiesta=='') return;
	menunow='realizzazione';
	
	var query = 'richiesta[realizzazionedettagli][page]=realizzazione_dettagli.php&richiesta[realizzazionedettagli][idrealizfoto]=' + id;
//alert(query);
//document.title = query;
	if (azione!='auto' && googlerichiesta=='') query += googleanalytics('realizzazione_dettagli.php', 'clickutente='+azione+'&idcat='+FlashUltimoIdCatRealiz+'&lastidrealiz='+FlashUltimoIdRealiz);
	if (googlerichiesta!=''){
//		alert(googlerichiesta);
		query += eval(googlerichiesta);
		googlerichiesta='';
	}
	if ((findObj('realizzazioneanteprime')) == null){
		ResetContenuto('realizzazione_dettagli', 'tabella_contenuto_interno_coldx');
		//query anteprime
		query += '&richiesta[realizzazioneanteprime][page]=realizzazione_elenco.php&richiesta[realizzazioneanteprime][idcat]=' + FlashUltimoIdCatRealiz+'&richiesta[realizzazioneanteprime][idlayer]=realizzazioneanteprime';
	}
	
	ResetContenuto('vuoto', 'realizzazionedettagli');
	makeRequest(SaverioAjaxPageRichiesta, SaverioAjaxPageRichiestaMethod, query);
}
/*
function FlashDettagliFoto(titolo, descrizione){
//	alert(DettaglioNum);
	if (0==DettaglioNum++) return;
	ResetContenuto('realizzazione_dettagli', 'tabella_contenuto_interno_coldx');
	menunow='realizzazione';

	titolo = (titolo=='undefined') ? '' : titolo;
	descrizione = (descrizione=='undefined') ? '' : descrizione;
	
	titolo = titolo.replace(/\[br\]/ig, '<br />');
	descrizione = descrizione.replace(/\[br\]/ig, '<br />');

	if ((obj = findObj(FlashFotoTitolo)) != null) {
		alert(titolo);
		obj.innerHTML = titolo;
	}
	if ((obj = findObj(FlashFotoDescrizione)) != null) {
		obj.innerHTML = descrizione;
	}

}
*/
var doveold = '';
var fotovisibili = '';
function FlashVai(dove){
	var query='';
	switch(dove){
		case 'homepage':
			query += 'richiesta[tabella_contenuto_interno_coldx][page]=homepage.php';
			query += googleanalytics('homepage.php', '');
			break;
		case 'azienda':
			query += 'richiesta[tabella_contenuto_interno_coldx][page]=azienda.php';
			query += googleanalytics('azienda.php', '');
			break;
		case 'realizzazione':
			if (fotovisibili!=dove){
				ResetContenuto('tabella_contenuto_interno', 'tabella_contenuto_interno');
				query += 'richiesta[tabella_contenuto_interno_colsx][page]=realizzazione.php';
				query += googleanalytics('realizzazione.php', '');
			} else {
				menunow = dove;
				FlashDettagliFoto('click', FlashUltimoIdRealiz);
			}
			fotovisibili=dove;
			break;
		case 'contatto':
			query += 'richiesta[tabella_contenuto_interno_coldx][page]=contatto.php';
			query += googleanalytics('contatto.php', '');
			break;
		default:
			return;
	}
//	alert(fotovisibili);
	menunow = dove;
	if (fotovisibili!='realizzazione' && dove!='realizzazione' && dove!='prodotto'){
//		alert('nuove foto');
		ResetContenuto('tabella_contenuto_interno', 'tabella_contenuto_interno');
		query += '&richiesta[tabella_contenuto_interno_colsx][page]=realizzazione.php';
		fotovisibili='realizzazione';
	}
	
	if (query!=''){
//		alert('richiesta');
		makeRequest(SaverioAjaxPageRichiesta, SaverioAjaxPageRichiestaMethod, query);
		LastRequest=query;
	}
	doveold = dove;
}

function settaMenu(){
//	document.title=menunow;
	var obj;
	if (menunow=='') return;
	if ((obj = findObj('flashmenu')) != null){
		obj.SetVariable("changeStatus", menunow);
	}
}
settaMenutimer = setInterval(settaMenu, 1000);

function ResetContenuto(quale, dove){
	var obj, predef = new Array();
	predef['tabella_contenuto_interno'] = '<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><div id="tabella_contenuto_interno_colsx"></div></td><td valign="top" width="100%"><div id="tabella_contenuto_interno_coldx" class="relative"></div></td></tr></table>';
//	predef['realizzazione_dettagli'] = '<div class="realizzazionedettagli"><div id="realizzazionetitolo"></div><div id="realizzazionedescrizione"></div></div>';
	predef['realizzazione_dettagli'] = '<div id="realizzazionedettagli"></div><div id="realizzazioneanteprime"></div>';
	predef['vuoto'] = '';
//	alert(dove);
if ((obj = findObj(dove)) != null) {
		obj.innerHTML = predef[quale];
	}
	
}

function PostForm(formId, div){
	//var formElements = findObj(formId);
	var ris='', formKey, formValue, obj, action='', allInput = new Array();
	
	allInput[0]=document.getElementsByTagName('input');
	allInput[1]=document.getElementsByTagName('select');
	allInput[2]=document.getElementsByTagName('textarea');

//	var mex='';
	var totinput = allInput.length;
	for (var j = 0; j < totinput; j++) {
		var totchild = allInput[j].length;
		for (var i = 0; i < totchild; i++) {
			obj = allInput[j][i];
//			mex += '\n' + obj.id;
			if (typeof obj.name=='undefined' || obj.name=='' || obj.id.indexOf(formId + '_') == -1) continue;
			
			if (obj.name.toLowerCase()=='action'){
				action ='richiesta['+div+'][page]='+obj.value;
				continue;
			}
			formKey = formValue = '';
			switch (obj.type.toLowerCase()){
				case 'radio':
				case 'checkbox':
					if (obj.checked==true){
						formKey = obj.name;
						formValue = obj.value;
					} else continue;
					break;
				default:
					formKey = obj.name;
					formValue = obj.value;
			}
			
			ris += '&richiesta['+div+']['+formKey+']=' + escape(formValue);
	//		ris += '<br />' + formKey + ':' + formValue + '; ----- ' + formElements.childNodes[i].name + ' - id: ' + formElements.childNodes[i].id + ' - type: ' + formElements.childNodes[i].type + ' - valore: ' + formElements.childNodes[i].value;
			//(form.childNodes[i].tagName != null && form.childNodes[i].tagName.toLowerCase()
	//        if (formElements[i].Name.match(/\bajaxify\b/)) {
	//            addEvent(formElements[i], 'submit', submitRating, false);
	//        }
		}
	}
//	alert(mex);
	if (action=='' || ris==''){
		alert("Impossibile procedere con la richiesta!\n\nNon e' stato possibile leggere i parametri del form per effettuale la richiesta.");
		return false;
	}
//	if ((obj = findObj('risultato')) != null){
//		obj.innerHTML=action+ris;
//		return false;
//	}
	return action+ris;
//	for (i = 0; i < document.f.t.length; i++) {document.f.t[i].checked = true;}
}
function SelezionaCheckBox(){
}


var SetSizeConfig = new Array();
/*Enter factor (0.05=5%)*/

function SetSizeArray(ArrId, riduzione, zoomfactor, zoom){
	if (ArrId.length>0){
		for ( keyId in ArrId ) {
			id = ArrId[keyId];
			prova = SetSize(id, riduzione, zoomfactor, zoom);
		}
	}
}

function SetSize(ArrId, riduzione, zoomfactor, zoom){
	var KeyId, bool=false;
	if (ArrId.length>0){
		for ( keyId in ArrId ) {
			var id, elem, width=0, height=0, widthnew=0, heightnew=0, boolmin=false, boolmax=false;
			id = ArrId[keyId];

			if ((elem = findObj(id)) != null){
			/*	elem = document.getElementById(id);*/
				width = parseFloat(elem.width);
				height = parseFloat(elem.height);
				if ( !SetSizeConfig.constructor.prototype.hasOwnProperty(id) && !SetSizeConfig.hasOwnProperty(id) ){
					SetSizeConfig[id] = new Array();
					SetSizeConfig[id]['width'] = width;
					SetSizeConfig[id]['height'] = height;
				}

				widthnew = width + width*zoomfactor*zoom;
				heightnew = height + height*zoomfactor*zoom;
				
				if (zoom==-1){
					width = (widthnew<=SetSizeConfig[id]['width']/riduzione) ? SetSizeConfig[id]['width']/riduzione : widthnew;
					height = (heightnew<=SetSizeConfig[id]['height']/riduzione) ? SetSizeConfig[id]['height']/riduzione : heightnew;
				} else if (zoom==1) {
					width = (widthnew>=SetSizeConfig[id]['width']) ? SetSizeConfig[id]['width'] : widthnew;
					height = (heightnew>=SetSizeConfig[id]['height']) ? SetSizeConfig[id]['height'] : heightnew+0.5;
				}
				
				elem.height = height;
				elem.width = width;
				
				boolmin = (zoom==-1 && (width > SetSizeConfig[id]['width']/riduzione || height > SetSizeConfig[id]['height']/riduzione) );
				boolmax = (zoom==1 && (width < SetSizeConfig[id]['width'] || height < SetSizeConfig[id]['height']) );
		
				if ( boolmin || boolmax ){ bool = true; }
			} //obj trovato
		} //for
		
		if ( bool==true){
			var timerSetSize = setTimeout(function () { SetSize(ArrId, riduzione, zoomfactor, zoom); }, 30);
		}

	}
}


function ParseQueryString(){
	var qsParm = new Array();
	var substringa = (window.location.search.substring(1)); //.toUpperCase();
	var parms = substringa.split('&');
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			qsParm[key] = val;
		}
	}
	return qsParm;
}

function ToBookmark(){
//	window.open('?saverioajax=' + escape(LastRequest));
	window.open('?sezione=' + menunow);
}

function FromBookmark(){
	var query = ParseQueryString();
//	alert(query['sezione']);
	if (query['sezione']){
//		makeRequest(SaverioAjaxPageRichiesta, SaverioAjaxPageRichiestaMethod, unescape(query['saverioajax']));
		FlashVai(query['sezione']);
		return true;
	}
	return false;
}

function PaginazioneVai(){
	var i, id, page, args = PaginazioneVai.arguments;
		id=args[0];
		page=args[1];
	var query = 'richiesta['+id+'][page]='+page;
  
	for (i=2; i<(args.length-1); i+=2){
		query += '&richiesta['+id+']['+args[i]+']='+args[i+1];
	}
	makeRequest(SaverioAjaxPageRichiesta, SaverioAjaxPageRichiestaMethod, query);
}
