/*
 * Created on 17-nov-2005
 *
 * eC3MS - Management System per la Comunicazione, 
 *         Collaborazione e Condivisione Aziendale
 * 
 * 2005-2006, (c) Eventi progetti Speciali
 * 
 * Nome: libreria.js
 * Funzione: Libreria javascript con funzioni generiche
 */

// CONSOLE //
function expand(divid){
    var obj=$(divid);
	if (obj!=null) obj.style.display = '';
}
function collapse(divid){
    var obj=$(divid);
	if (obj!=null) obj.style.display = 'none';
}
function expand_collapse(divid,saveval){
    var obj=$(divid);
	stato=obj.style.display;
	if(stato == 'none'){
		obj.style.display = '';
	}else{
		obj.style.display = 'none';
	}
	if (saveval) {
		if (obj.style.display=='none') setSessionVar('exp_col_'+divid,'none',saveval);
		else setSessionVar('exp_col_'+divid,'block',saveval);
	}
}
function expand_collapse_select(selObj,div){
	var selObj,div;
	if(selObj.value != ''){
			expand(div);
		}else{
			collapse(div);
		}
}
function vai (selObj,id_elemento) {
	var selObj,id_elemento;
	var extension= 'contenuti/'+selObj.value+'.html';
	prendiElementoDaId(id_elemento,extension,'')
}
function expand_collapse_swap(selObj,class1,class2,div,saveVal){
	var selObj,class1,class2,div;
	if(selObj.className.indexOf(class1)>=0)
		selObj.className=selObj.className.replace(class1,class2);
	else
		selObj.className=selObj.className.replace(class2,class1);
	expand_collapse(div,saveVal);
}
function pannelli(divarraycollapse,div,adivspegni,selObj,spento,acceso,indirectObj){
    //collapse('popup');
    var obj;
    obj = $("hapIframe");
    
    if (obj!=null) {
        if (div=='hapIframe') {
            $("sx").hide();
            $("dx").hide();
            obj.show();
        } else {
            $("sx").show();
            $("dx").show();
            obj.hide();
        }
    }
    
	var divarraycollapse,div,adivspegni,selObjx,spento,acceso,a;        
	var ndivcollapse=divarraycollapse.length;	
	if (indirectObj)	
		selObjx=document.getElementById(selObj);
	else selObjx=selObj;
	for(var x=1; x<=ndivcollapse ; x++){								
		collapse(divarraycollapse[x-1]);
        obj = $(adivspegni[x-1]);
        if (obj!=null) obj.className=spento;
	}
	expand(div);
	selObjx.className=acceso;
	document.documentElement.scrollTop=0;
}
function accendi_cavalieri(divarrayspegni,selObj,spento,acceso){
	var divarrayspegni,selObj,spento,acceso,obj;
	var ndivspegni=divarrayspegni.length;	
	for(var x=1; x<=ndivspegni ; x++){		
        obj = $(divarrayspegni[x-1]);
        if (obj!=null) obj.className=spento;
	}
	if(selObj.className){
		selObj.className=acceso;
	}else{
        obj = $(selObj);
        if (obj!=null) obj.className=acceso;
	}
}
function mostrapopup(e,x,y,div_container,extension,parametri){
	var subobj,visibile,e,x,y,div_container,extension,parametri;
	subobj=document.getElementById(div_container);
	visibile= subobj.style.display;
	if(visibile == 'none'){
		prendiElementoDaId(div_container,extension,parametri)
		subobj.style.left = (getposOffset(e, "left")+x)+"px";
		subobj.style.top = (getposOffset(e, "top")+y)+"px";
		var accendi = function (){
			if(subobj) {
				eval(document.getElementById(div_container)).style.display = '';
				}	
       		var spegni = function (){
				if(subobj) {
					eval(document.getElementById(div_container)).style.display = 'none';
					}
       		}
       		//setTimeout(spegni, 3000);
       	}
		setTimeout(accendi, 500);
		}else{
			collapse(div_container);
			}
}
function getposOffset(overlay, offsettype){
	var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
	var parentEl=overlay.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}
// AJAX
function prendiElementoDaId(id_elemento,extension,parametri){
	var elemento,id_elemento,extension,parametri;
	
	$(id_elemento).innerHTML = '<img src="images/loading.gif" /> Caricamento in corso... attendere prego.';
	
	new Ajax.Request(extension+"?"+parametri, {
        method: "get",
        onSuccess: function(transport) {
            $(id_elemento).innerHTML = transport.responseText;
        }
    }); 
}
function NewWindow(mypage,myname,w,h,scroll){
/*
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings =
	'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
	win = window.open(mypage,myname,settings)
	if(win.window.focus){win.window.focus();}
*/
    if ((typeof w=='undefined') || (typeof h=='undefined')) {
        Lightview.show({ href: mypage, title: myname, rel: 'iframe', options: { autosize: true }});
    } else {
        Lightview.show({ href: mypage, title: myname, rel: 'iframe', options: { width: w, height: h }});
    }
}

function replicate(src,beforeof,caller) {
    var startid, pair, toclone;
    
     startid= caller.id? caller.id: caller.name;
     pair = startid.split("-");
     toclone=src+'-'+pair[1];
     if (!$(src+'-'+(parseInt(pair[1])+1))) {
        var newHTML='<div class="bloccoRicercaRip" id="blocco2-' + parseInt(pair[1])+1 + '" hap:type="search">';
        newHTML += $(toclone).innerHTML;
        newHTML += '</div>';
         new Insertion.Before(beforeof, newHTML);
         changeid($(beforeof).previousSibling,pair[1],parseInt(pair[1])+1);
     }
}
function changeid(element,oldid,newid) {
    alert(element);
	 if (element.id) {
	 var pair = element.id.split("-");
	 if (pair[1] && (pair[1]==oldid)) element.setAttribute('id', pair[0]+'-'+newid);
	 }
	 if (element.name) {
	 var pair = element.name.split("-");
	 if (pair[1] && (pair[1]==oldid)) element.setAttribute('name', pair[0]+'-'+newid);
	 }
	 var els = element.getElementsByTagName('*');
	 var els_len = els.length;
	 for (i = 0, j = 0; i < els_len; i++) {
	 if (els[i].id) {
	 var pair = els[i].id.split("-");
	 if (pair[1] && (pair[1]==oldid)) els[i].setAttribute('id', pair[0]+'-'+newid);
	 }
	 if (els[i].name) {
	 var pair = els[i].name.split("-");
	 if (pair[1] && (pair[1]==oldid)) els[i].setAttribute('name', pair[0]+'-'+newid);
	 }
	 }
}
