var startPosition = 1;
var currentBlock = 0;

function updateTitle(op){
    var region = $("#regione option:selected").text();
    var province = $("#provincia option:selected").text();
    var city = $("#citta option:selected").text();

    switch(op){
       case 1: $(".ob-titolo-ambulatori").html(region+" | ");
       case 2: $(".ob-titolo-ambulatori").html(region+" | "+province+" | ");
       case 3: $(".ob-titolo-ambulatori").html(region+" | "+province+" | "+city);
    }
}

function updateNav(id){
    $(".navigator a").removeClass();
    $("#page-"+id).toggleClass("text-active2");
    $("#page-"+id).css("cursor","default");
}

function getRegions(){
	$("#regione").load(url+"?dispatch=init",function(){
	    var region = $("#regione option:selected").text();
	    if(region != "Select"){
            updateTitle(1);
	        getProvinces();
	    }
	});
}

function getProvinces(){
	var regionId = $("#regione option:selected").val();
    $("#provincia").html("<option>Loading</option>");
    $("#citta").html("<option>Loading</option>");
	$("#provincia").load(url+"?dispatch=regione&regione="+regionId,function(){
        var region = $("#regione option:selected").text();
        if(region != "Select"){
            updateTitle(2);
        }
	    getCities();
    });
}

function getCities(){
    var provinceId = $("#provincia option:selected").val();
    $("#citta").html("<option>Loading</option>");
    $("#citta").load(url+"?dispatch=provincia&provincia="+provinceId,function(){
        var region = $("#regione option:selected").text();
        if(region != "Select"){
     	    updateTitle(3);
        }
    });
}

function getOpenbooks(itemId,subId,parentId,level){
	//If is another menu voice
    if((subId == null) || ($("#"+subId).css("display") != "block")){
        clearCols("menu");
        var dispatch = "?dispatch=categoria";
        var citta    = "&citta="+$("#citta option:selected").val();
        var category = "&cat="+encodeURIComponent(encodeURIComponent($(".item-sel2").text()));
        var service  = "";
        var type     = "";
        
        var startWith = itemId.substring(3,0);
        if(startWith == "srv"){ //service menu only 1° level
            //update selected item
            $("#col1 > li").removeClass();
            $("#"+itemId).toggleClass("text-active");
            //reset submenu
            $(".sub-menu").css("display","none");
            service = "&ser="+encodeURIComponent(encodeURIComponent(jQuery.trim($(".text-active > a").text())));
            var menuLevel = "&level=2";
            var parent    = "&parentId="+itemId;
            $.get(url+dispatch+citta+category+service+menuLevel+parent,function(data){
		        var result = jQuery.trim(data);
                $("#"+subId).html(result);
                $("#"+subId).css("display","block");

                var listItems = $("#"+itemId+" li");
                 if(listItems.length == 1){
                     getOpenbooks('str_item_0',null,itemId,2);
                 }
            });
		} else { //structure menu may be 1° or 2° level
            if(level == "1") { //if is the first level must reset the first level menu items
                $("#col1 > li").removeClass();
                $("#"+itemId).toggleClass("text-active");
                type = "&type="+encodeURIComponent(jQuery.trim($(".text-active > a").text()));
            } else { //if is the second level must reset ONLY the second level menu items
                $(".sub-menu > li").removeClass();
                $("#"+parentId+" #"+itemId).toggleClass("text-active2");
                service  = "&ser="+encodeURIComponent(encodeURIComponent(jQuery.trim($(".text-active > a").text())));
                type = "&type="+encodeURIComponent(encodeURIComponent(jQuery.trim($(".text-active2 > a").text())));
            }
            //retrieve openbooks
            $("#col2").load(url+dispatch+citta+category+service+type+"&page=1",function(){
                updateNav(1);
            });
        }	
    }
}

function getPage(page,currentBlock){

	var selectedPage = $("#col2 .text-active2").text();
    if(page != selectedPage){
	    var dispatch = "?dispatch=categoria";
	    var citta    = "&citta="+$("#citta option:selected").val();
	    var category = "&cat="+encodeURIComponent(encodeURIComponent($(".item-sel2").text()));
	    var service  = "";
	    var type     = "";
	
	    type = encodeURIComponent(jQuery.trim($("#col1 .text-active2 > a").text()));
	    if(type == null || type == "" || type == undefined){
	        type = "&type="+encodeURIComponent(jQuery.trim($("#col1 .text-active > a").text()));
	    } else {
	        type = "&type="+type;
	        service = "&ser="+encodeURIComponent(jQuery.trim($("#col1 .text-active > a").text()))
	    }        
	    $("#col2").load(url+dispatch+citta+category+service+type+"&page="+page+"&cub="+currentBlock,function(){
	        updateNav(page);
	    });
    }
}

function obNavigate(direction,totalBlock){
    var navPosition;
	if(direction == "left"){
		if(currentBlock > 0){
			navPosition = currentBlock - 5;
		}
	} else {
		if((currentBlock+5) < totalBlock){
			navPosition = currentBlock + 5;
		}
	}
	if(navPosition != undefined){
        var currNavId = "#nav-"+currentBlock; 
        var navId = "#nav-"+navPosition;
        $(currNavId).css("display","none");
        $(navId).css("display","inline");
        currentBlock = navPosition;
	}
}

function doRefresh(){
    var dispatch = "?dispatch=categoria";
    var citta    = "&citta="+$("#citta option:selected").val();
    var category = "&cat="+encodeURIComponent(encodeURIComponent($(".item-sel2").text()));
    var service  = "";
    var type     = "";

    type = encodeURIComponent(jQuery.trim($("#col1 .text-active2 > a").text()));
    if(type == null || type == "" || type == undefined){
        type = "&type="+encodeURIComponent(jQuery.trim($("#col1 .text-active > a").text()));
    } else {
        type = "&type="+type;
        service = "&ser="+encodeURIComponent(jQuery.trim($("#col1 .text-active > a").text()))
    }        
    $("#col2").load(url+dispatch+citta+category+service+type+"&page=1&cub=0",function(data){
        updateNav(1);
    });

}
function switchArea(currentPosition,item){
	 $("#linear-navigator > li").removeClass();
	 $(item).toggleClass("item-sel");
	 if(currentPosition > startPosition){
        //$(".right").click();
        initCarousel(currentPosition);
	 }else{
        //$(".left").click();
        initCarousel(currentPosition);
	 }
    startPosition = currentPosition;
}
function clearCols(level){
	 if(level == "category"){
	     $("#col1").html("");
	 }
    $("#col2").html("");
}
function getTypes(itemId,cat){
	var city = $("#citta option:selected").val();
    $(".scrollContainer p").removeClass();
    clearCols("category");
    $("#"+itemId).toggleClass("item-sel2");
	$.get(url+"?dispatch=categoria&citta="+city+"&cat="+cat,function(data){
		if (jQuery.trim($(".noResults",data).text()) != ""){//Se non ottengo risultati devo mostrare un messaggio in colonna 2
			if (cat != null && jQuery.trim(cat) != "") {
				//$("#col2").html(data);
				getOpenbooksProvince(itemId, null, null, 1, cat);
			}
		} else {
			if(itemId == 'fre_2'){ // L'openbook parchi e oasi (ID fre_2) è un caso speciale che non ha menù di sinitra
				$("#col2").html(data);
				updateNav(1);
			} else {
				$("#col1").html(data);
				var listItems = $("#col1 li");
				if(listItems.length == 1){
					//Controllo se ci sono elementi di secondo livello
					var item = $("#srv_item_0");
					if(item.length > 0){ //L'oggetto è un servizio
						getOpenbooks('srv_item_0','sub_0',null,1); 
					} else { //L'oggetto è una struttura
						getOpenbooks('str_item_0',null,null,1);
					}
				}
			}
        }
    });
    $(".ob-sottotitolo-ambulatori").html($("#"+itemId).text()); 
}

function getOpenbooksProvince(itemId,subId,parentId,level,cat){
	//If is another menu voice
    if((subId == null) || ($("#"+subId).css("display") != "block")){
        clearCols("menu");
        var dispatch = "?dispatch=categoria";
        var citta    = "&provincia="+$("#provincia option:selected").val();
        //var category = "&cat="+encodeURIComponent(encodeURIComponent($(".item-sel2").text()));
        var category = "&cat="+cat;
        var service  = "";
        var type     = "";
        var item     = "&itemId=" + itemId;
        //retrieve openbooks
        $("#col2").load(url+dispatch+citta+category+service+type+item+"&page=1",function(){
            updateNav(1);
        });
    }
}

function changeCitySelect(cityCode) {
	var k=0;
	for (j=0; j<document.getElementById("citta").options.length; j++) {
		document.getElementById("citta").options[j].selected = false;
		if (document.getElementById("citta").options[j].value == cityCode) {
			k = j;
		}
	}
	document.getElementById("citta").options[k].selected = true;
}

