var	margin = 20; // px
var	hWinSpace = 50/100; // %
var	wWinSpace = 36/100; // %
var oW, oH, hH, nH, mH, doW, dcW = "";
var cImg;
var $tabs;
var newsUrl = "/newsrss2html";
var curl = "";

jQuery.fn.cascadeFadeIn = function(fadeTime, waitTime) {
	fadeTime = fadeTime*1000
	var elSize = $(this).size();
	var el;
	for (var i = 0; i < elSize; i++ ){
		if(i == 0) {
			el = $(this).eq(0).wait(waitTime).fadeIn(fadeTime).wait(waitTime) ;
			
		} else { 
			el = el.next(this).wait(waitTime).fadeIn(fadeTime).wait(waitTime/2) ;
		}
	}
	
};

jQuery.fn.replaceAttr = function(attributeName, regexString, replaceString) {
    return this.attr(
        attributeName,
        function() { 
          return jQuery(this).attr(attributeName).replace(regexString, replaceString); 
        }
    );
}; 

$.extend($.ui.tabs, {
    getter: 'length getUrlByIndex getSelected isSelected'
});
$.extend($.ui.tabs.prototype, {
    getUrlByIndex: function(index) {
      var a = this.anchors.eq(index)[0] , url = $.data(a, 'load.tabs');
      return url;
    },
    getSelected:function() {
      return this.options.selected;
    },
    isSelected:function(index) {
      if (index == this.options.selected) { return true;} else { return false;}
    }
});


function imagePreloading() {
	/*
	for (x=0; x<imagePreloading.arguments.length; x++){
		imgs[x] = new Image();
		imgs[x].src = imagePreloading.arguments[x];
	}
	*/
	nrImg = 9;
	var m_imgs = new Array();
	for (x=0; x<nrImg; x++){
		//m_imgs[x] = new Image();
		//m_imgs[x].src = "../images/hp/market_"+(x+1)+"_L.jpg";
		m_imgs[x] = "../images/hp/market_"+(x+1)+"_L.jpg";
	}
	var choosenBkg = Math.round(Math.random()*(nrImg-1)+1);
	cImg = new Image();
	cImg.src = m_imgs[choosenBkg];
	var bg =  "url(" + m_imgs[choosenBkg]  +")"
	
	 
	$(cImg).load( function() {
		var bgX = (oW - cImg.width)/2;
		var sY = oH-hH+nH ;
		var bgY = sY<cImg.height? hH+nH : ( (sY - cImg.height)/2)+hH+nH-15;
		$("#outer").css({	'backgroundImage' : bg, 'backgroundPosition' : "center " + bgY+"px" 	});
	});
//	var bgY = (oH - cImg.height)/2;

	
};

function initSize() {
	oH = $("#outer").outerHeight();
	oW = $("#outer").outerWidth();
	hH = $("#header").outerHeight()+5;
	nH = $(".ui-tabs-nav").outerHeight();
	bH = $(".ui-corner-top").outerHeight();
	dcH = $(document).height() - margin;	//document.documentElement.clientHeight - margin;
	dcW = $(document).width() - margin;	//document.documentElement.clientWidth - margin;
}

function handleResize() {
	//$("#outer").minmax();
	initSize();
	/// fix height
	//$("#main").height(oH-hH-nH-20);
	//mH = $("#main").height();
	/// center titleImg
	//$("#titolo").css('left', oW/2-$("#titolo").width()/2).show();
	 
	/// set bg image
	if (cImg != undefined ) {
		var sY = oH-hH+nH ;
		var bgY = sY<cImg.height? hH+nH : ( (sY - cImg.height)/2)+hH+nH-15;
		$("#outer").css({ 'backgroundPosition' : "center " + bgY+"px" 	});
	} 
}

function initProduttori() {
    //$.ui.dialog.defaults.bgiframe = true;
    $('#produttori').tablesorter({
      textExtraction: function(node) {
        return node.childNodes[1].innerHTML;
      }
    });
    $('#produttori [title="caption"]').hide();
    $('#produttori').click( function(event) {
        $("*").removeClass("rselected");
        var $clicked = $(event.target);  
        if($clicked.is("a") ) {
            event.stopImmediatePropagation(); 
            event.preventDefault();
            $clicked.parent().parent().addClass("rselected");
            var title = $clicked.attr("title"); 
            $('<div id="#details">').load($clicked.attr("href"), function(data)	{
                $(this).find("div").dialog({resizable: false, title: title, hide:{effect: "clip", speed: 2000}});
                return false;  
            }).appendTo($('#content'));
        }
        return false;  
   });
}
function initZoomImage() {
	///zoomimage for the gallery

        $('.dir').click( function(event) {
            event.stopImmediatePropagation(); 
            event.preventDefault();
            
            var iurl = $("#tnav").tabs('getSelected');
           //curl = $("#tnav").tabs("getUrlByIndex", iurl);
            $('#tnav').tabs('url', iurl, $(this).attr('href'));
            $('#tnav').tabs('load', iurl);
            
        });
        
	$('a.imagecollection').zoomimage({
	controlsTrigger: 'mouseover',
	className: 'custom',
	shadow: 40,
	controls: true,
	opacity: 1,
	beforeZoomIn: function(boxID) {
		$('#' + boxID)
			.find('img')
			.css('opacity', 0)
			.animate(
				{'opacity':1},
				{ duration: 500, queue: false }
			);
	},
	beforeZoomOut: function(boxID) {
		$('#' + boxID)
			.find('img')
			.css('opacity', 1)
			.animate(
				{'opacity':0},
				{ duration: 500, queue: false }
			);
	}
	});
	$('a.imagecollection').cascadeFadeIn(0.5 , 0.1);
}
function loadDialog(href) {
  
  $("#readmail").load(href, function(data)	{
//              $("#mailwin").dialog("close");

    var title = $("#mailwin > span").html();
    $("#mailwin").dialog({resizable: true, width:dcW*0.8, height:dcH*0.6, title: title, hide:{effect: "clip", speed: 2000}});
    $(".mnav").click( function(e) {
        e.stopImmediatePropagation();
        e.preventDefault();
        $(this).parent().dialog("close");
        loadDialog( $(this).attr("href") );
    });

    return false;

        /*
      $("#mailwin > a").each(function() {
        $(this).click( function(e) {
          e.stopImmediatePropagation();
          e.preventDefault();
          $("#mailwin").dialog("close");
          loadDialog( $(this).attr("href") );
        });
      });
      */
  });                  

}
function loadPanel(ui) {  
  //console.log("lllllllllllllllllload " + curl);
  /// modify A links and behavior to load in the same tab and fix uri
    $("a[href$='.xml']").each(function( index ) {
        $(this).replaceAttr("href", "\.xml", "\.htm");
        $(this).replaceAttr("href", "/content", "");
    });
    $(".documento a[href $='.htm']").click(        function(event) {            
            event.preventDefault();
            $(ui.panel).load($(this).attr("href"), 
              function() {
                $(this).prepend('<a href="'+ui.tab.rel+'" style="display:block; height:30px;"><img src="/css/themes/campiaperti/images/back-red.png"/><strong>torna indietro</strong></a>'); 
              }  
            );
            return false;
    });
    
    /// put news if we are on /index
    if(ui.index == 0) {
      var screenNewsWrapper = $('<div/>').load(newsUrl, function() {
          //$('#scrollNews').tabs("#scrollNews div.pane", {tabs: 'h2', effect: 'slide'});
          $('#scrollNews .header').click(function() {
              $('#scrollNews .header').removeClass(' ui-state-active');
              $(this).addClass(' ui-state-active').next().toggle('2000');
              return false;
          }).next().hide();
          $('#scrollNews>h2:eq(0)').addClass(' ui-state-active').next().toggle();
          $('.news_date').each(function( index ) {
              var newDate = formatDate(new Date(getDateFromFormat($(this).text() , "yyyy-MM-ddTHH:mm:ss+01:00" )), "dd/MM/y" );
              $(this).text(newDate);
          });
      });
      screenNewsWrapper.appendTo(ui.panel);
      $(".ui-widget-content").css( 'opacity', 0.93	);
    }
    //console.log("current url " + ui.tab.rel);
}


function initTabs() {
	/// find out which tab is selected and init tabs
	var locS = window.location.pathname !="/" ? window.location.pathname : "/index.html";
  var locPi = locS.lastIndexOf("/");
  var locP = locPi > 0 ? locS.substring(1,locPi): "new"; /// the dir we are in will show up in the new tab title (default "new") 
	var tnavSelected = -1;
    //console.log("locS " + locS);
    
	$("#tnav li a").each(    function( index ) { /// add the rel tag for each tab
      $(this).attr("rel", $(this).attr("href")+"l" );
  }  );
	$("#tnav li a").each( 
		function( index ) { 
			if( locS.slice(0, -1) == $(this).attr("href") )  {
				tnavSelected = index;
				return false;
			}
		}
	);

	$tabs = $("#tnav").tabs({
    add: function(event, ui) {
      $tabs.tabs('select', '#' + ui.panel.id);
    },
    load: function(e, ui) {
      loadPanel(ui);
    }
  });

  if(tnavSelected != -1) { 
    $tabs.tabs("select", tnavSelected);
  } else {
    var p = location.pathname;
    var l = p.length-1;
    //console.log("dinamic " + tnavSelected + p);
    $tabs.tabs("add", p.substring(0, l), locP );
  }


  /*
    $('a', tui.panel).live("click", function() {
            loadPanel(tui.panel); 
    });
*/
  $("#tnav").bind('ajaxSuccess', function() {
      
      initProduttori(); 
      initZoomImage();
  });
	$("#tnav").bind('tabsselect', function(e, ui) {
    //tui = ui;
		tnavSelected = ui.index;
		// .ui-widget-content .ui-tabs-panel .ui-corner-bottom .ui-tabs-hide
		//$(.ui-corner-bottom).css( 'opacity', 0.5);
		$(ui.tab).hide().slideDown("slow");
	});
  $('#tnav').bind('tabsshow', function(e, ui) {
    
  });
	$(".ui-widget-content").css( 'opacity', 0.93	);
	

  //$(".ui-tabs-panel").cascadeFadeIn(3.5 , 1);
}

$(document).ready(function(){

	initTabs();
	
	/// style box with corners
	//$("#header").ccorner({tr: { radius: 15 }});	$(".button").corner("tr 15px");
	$('#header').corner("tl 50px") ;
	$('#header .jquery-corner div').css({borderColor: '#DA8209'}) 
	
	
	handleResize();
	
	imagePreloading();	
	
	//initZoomImage();

}); /// end load

$(window).resize(function(){
	handleResize();
});


