var baseurl = '/lib/';
var currIdRamo = null;
var currRoot = null;
var currPid;
var currPidRims;
var currSelectedLink = null;
var currLblRamo;
var currLblRoot;
var pageToSwitch = -1;
var subPageToSwitch = -1;

var myGlobalHandlers = {
    onCreate: function(){
	displayLoadingDiv();
    },
    onComplete: function() {
	if(Ajax.activeRequestCount === 0){
            hideLoadingDiv();
	}
    },
    onException: showException
};

Ajax.Responders.register(myGlobalHandlers);

function showException(req, e){
    hideLoadingDiv();
    window.alert(e.message);
}

function updateContent(url, pars) {
    var myAyax = new Ajax.Request(url, {method: 'post',
	parameters: pars,
	onComplete: drawFragments});
}

function drawFragments(req) {
    var xmlDoc = req.responseXML.documentElement;
	
    var fragments = xmlDoc.getElementsByTagName('fragment');
    for(var i=0; i<fragments.length; i++){
	var idelem = fragments.item(i).getElementsByTagName('id');
	if(idelem.length == 1){
            id = idelem.item(0).firstChild.data;
	}
	if($(id)){
            var content = fragments.item(i).getElementsByTagName('content');
            if(content.length == 1){
		if(content.item(0).hasChildNodes()){
                    $(id).update(content.item(0).firstChild.data);
		} else {
                    $(id).update();
		}
            }
	}
    }
    switchPage(pageToSwitch);
    switchSubPage(subPageToSwitch);
    pageToSwitch = -1;
    subPageToSwitch = -1;
}

function displayLoadingDiv() {
    if($('loading'))
        $('loading').show();
}

function hideLoadingDiv() {
    if($('loading'))
        $('loading').hide();
}

function setRoot(id_ramo){
    var links = null;
    currRoot = id_ramo;
    elem = $('d_' + currRoot);
    links = $A(elem.getElementsByTagName('a'));
    currLblRoot = links[0].innerHTML;
    explode(id_ramo);
}

function explode(id) {
    var elem = null;
    var links = null;
    currIdRamo = id;
    elem = $('d_' + id);
    if(elem) {
        links = $A(elem.getElementsByTagName('a'));
        links[0].className = (links[0].className == 'expand')?'collapse':'expand';
        currLblRamo = links[0].innerHTML;
    }
    var sub_elem = $('v_' + id);
    if(sub_elem) {
        sub_elem.toggle();
    } else {
        $("d_" + currIdRamo).update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
        var url = baseurl + 'tree_getChilds.php';
        new Ajax.Updater("d_" + currIdRamo, url, {method: 'post',
            parameters: {id_ramo: id, label: currLblRamo, style: links[0].className}});
    }
}

function drawPage(id_ramo,tipologia,page) {
    var elem = null;
    if(id_ramo != currSelectedLink){
	// Ho cliccato su una nuova voce dell'albero
	elem = $('l_' + id_ramo);
	if(elem){
            elem.className = 'leaf_form';
	}
	elem = $('l_' + currSelectedLink);
	if(elem){
            elem.className = 'leaf_form';
	}
	currSelectedLink = id_ramo;
    }
    $("body").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
    new Ajax.Updater($("body").show(), "/lib/buildPage.php",
	{parameters: {id: id_ramo}, method: "post",
	onComplete: function(){
            $("header").scrollTo();
	switchPage(0)}});
}

function drawPageArgTree(id_ramo,tipologia,page) {
    var elem = null;
    if(id_ramo != currSelectedLink){
	// Ho cliccato su una nuova voce dell'albero
	elem = $('l_' + id_ramo);
	if(elem){
            elem.className = 'leaf selected';
	}
	elem = $('l_' + currSelectedLink);
	if(elem){
            elem.className = 'leaf';
	}
	currSelectedLink = id_ramo;
    }
    $("body").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
    new Ajax.Updater($("body").show(), "/lib/buildPageArgTree.php",
        {parameters: {id: id_ramo}, method: "post",
            onComplete: function(){
            $("header").scrollTo();
            switchPage(0)}});
}

function switchPage(id){
    switch(id){
        case 0:
            $("presentazione").hide();
            $("body").show();
            $("rif").hide();
            $("rif2").hide();
            $("intprovv").hide();
            $("right").hide();
            $("rifnews").hide();
            break;
	case 1:
            $("presentazione").hide();
            $("body").hide();
            $("rif").show();
            $("rif2").hide();
            $("intprovv").hide();
            $("right").hide();
            $("rifnews").hide();
            break;
	case 2:
            $("presentazione").hide();
            $("body").hide();
            $("rif").hide();
            $("rif2").show();
            $("intprovv").hide();
            $("right").hide();
            $("rifnews").hide();
            break;
	case 3:
            $("presentazione").hide();
            $("body").hide();
            $("rif").hide();
            $("rif2").hide();
            $("intprovv").show();
            $("right").hide();
            $("rifnews").hide();
            break;
	case 4:
            $("presentazione").hide();
            $("body").hide();
            $("rif").hide();
            $("rif2").hide();
            $("intprovv").hide();
            $("right").hide();
            $("rifnews").show();
            break;
	case 5:
            $("presentazione").show();
            $("body").hide();
            $("rif").hide();
            $("rif2").hide();
            $("intprovv").hide();
            $("right").show();
            $("rifnews").hide();
            break;
    }
}

function viewRim(did)
{
    var div = "doc_" + did;
    if($(div).style.display == "none") {
        $(div).update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
        new Ajax.Updater($(div), "/lib/getListRimandi.php",
            {parameters: {id: did}, method: "post"});
    }
    else
        $(div).style.display = "none";
}

function closeMe(){
    $('listaarticoli').style.display = "none";
}

function closeMeArticoliRicerca(){
    $('articoliDlgs').style.display = "none";
}

function doc(did){
    new Ajax.Updater($("rimbody"), "/lib/doc.php",
	{parameters: {id: did}, method: "post",
            onLoading: function() {
               $("header").scrollTo();
               switchPage(1);
               $("rimbody").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
            }
        });
}

/*function docFirst(did){
    new Ajax.Updater($("rimbodyfirst"), "/lib/doc.php",
	{parameters: {id: did}, method: "post",
            onLoading: function() {
               $("header").scrollTo();
               switchPage(1);
               $("rimbodyfirst").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
            }
        });
}*/

function docFirst(id_ramo,did) {
    var elem = null;
    if(id_ramo != currSelectedLink){
	// Ho cliccato su una nuova voce dell'albero
	elem = $('l_' + id_ramo);
	if(elem){
            elem.className = 'leaf selected';
	}
	elem = $('l_' + currSelectedLink);
	if(elem){
            elem.className = 'leaf';
	}
	currSelectedLink = id_ramo;
    }
    $("body").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
    new Ajax.Updater($("body").show(), "/lib/doc.php",
	{parameters: {id: did}, method: "post",
	onComplete: function(){
            $("header").scrollTo();
	switchPage(0)}});
}

function getNews(did){
    new Ajax.Updater($("rimbody"), "/lib/getNews.php",
	{parameters: {id: did}, method: "post",
            onLoading: function() {
               $("header").scrollTo();
               switchPage(1);
               $("rimbody").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
            }
        });
}

function getProvv(did){
    new Ajax.Updater($("intprovvbody"), "/lib/getProvv.php",
	{parameters: {id: did}, method: "post",
            onLoading: function(){
                $("header").scrollTo();
                switchPage(3);
                $("intprovvbody").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
            }
        });
}

function getArticoli(did)
{
    so = document.viewport.getScrollOffsets();
    $('listaarticoli').style.top = (so[1] + 110) + 'px';
    $('listaarticoli').style.left = (so[1] + 350) + 'px';
    $("listaarticoli").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
    new Ajax.Updater($("listaarticoli").show(), "/lib/getArticoli.php",
        {parameters: {id: did}, method: "post"});
}

function getArticoliRicerca(did)
{
    so = document.viewport.getScrollOffsets();
    $('articoliDlgs').style.top = (so[1] + 125) + 'px';
    $('articoliDlgs').style.left = (so[1] + 316) + 'px';
    $("articoliDlgs").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
    new Ajax.Updater($("articoliDlgs").show(), "/lib/getArticoliRicerca.php",
        {parameters: {id: did}, method: "post"});
}

function getDoc(did){
    new Ajax.Updater($("rimbody2"), "/lib/getDoc.php",
        {parameters: {id: did}, method: "post",
            onLoading: function(){
                $("header").scrollTo();
                switchPage(2);
                $("rimbody2").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
            }
        });
}



function rimTree(did){
    new Ajax.Updater($("rimbody"), "/lib/getRimTree.php",
	{parameters: {id: did}, method: "post",
	onLoading: function(){
            $("header").scrollTo();
            switchPage(1);
            $("rimbody").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
        }
    });
}

function getDocArg(did){
    new Ajax.Updater($("rimbody"), "/lib/getDocArg.php",
	{parameters: {id: did}, method: "post",
            onLoading: function(){
                $("header").scrollTo();
                switchPage(1);
                $("rimbody").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
            }
        });
}

function getOrgani(){
    new Ajax.Updater($("organo"), "/lib/getOrgani.php",
        {method: "post", parameters: {tipologia: $F("tipologia")}});
}

function getSedi(){
    new Ajax.Updater($("sede"), "/lib/getSedi.php",
        {method: "post", parameters: {organo: $F("organo")}});
}

function search(page,currtip){
    $("body").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
    $("page").value = page;
    $("currtip").value = currtip;
    new Ajax.Updater($("body"), "/lib/search.php",{
        parameters: $("frmAdvSearchTree").serialize(true),
	evalScripts: true
    });
    switchPage(0);
    document.documentElement.scrollTop = 0;
}

function login(){
	var pars = $("InSiteFrmLogin").serialize(true);
	var msgError = "";
	msgError = "Utente non riconosciuto o account scaduto!";
	$("InSiteLoginError").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
	new Ajax.Request("/lib/login.php",
		{parameters: pars,
		onSuccess: function(transport){
			if(transport.responseText != ""){
				$("InSiteLoginError").update(msgError);
			} else {
				window.location.reload(true);
			}
		}});
}

function printPreview(did, ftype){
	window.open("/lib/text.php?did=" + did + "&ft=" + ftype + "&p=print", "prn_window", "menubar=1,resizable=1,scrollbars=1,width=520,height=600");
}

function resendpwd(){
    $("InSiteResendPwdMsg").update("<p style='text-align: center'><img src='http://datastorage02.maggioli.it/data/common/siti/images/login-ajax-loader.gif' alt='Attendere'/></p>").show();
    new Ajax.Updater($("InSiteResendPwdMsg").show(), "/lib/resendpwd.php",{
        parameters: $("InSiteResendPwd").serialize(true),
	evalScripts: true
    });
}
