/**
 * @author lghinelli
 */

/**
 * Parametri di configurazione
 */

var noumeno = 1000; //tempo di lettura per ogni bSEM

/*************/


var firstUse = false;
var time;
var timer;
//var col = '#644b4c';
var col = '#460103';

jQuery(document).ready(function() {
	initPage();
});

function evUnnest() {
	var evNested = jQuery ('strong span.evidence');
	for (var i=0; i<evNested.length; i++) {
    var html = jQuery(evNested[i]).parent().html();
    var sub = jQuery(evNested[i]).html();
    var nw = '<strong>'+html.replace(/<span.*class=\"evidence\".*>.*<\/span>/g,sub)+'</strong>';
    jQuery(evNested[i]).parent().replaceWith(nw);
     
  }
}

function widthBeforeGet(){
	var bSEM = jQuery('span.evidence');
  for (var i = 0; i < bSEM.length; i++) {
		jQuery('#bSEM').children().remove();
		jQuery(bSEM[i]).clone().appendTo('#bSEM');
    var w = jQuery('#bSEM span.evidence').width();//.data('bSEM').width;
		jQuery(bSEM[i]).attr("rel", w);
	}
	jQuery('#bSEM').children().remove();
}

function widthAfterGet(bs){
  jQuery(bs).clone().appendTo('#bSEM');
  var w = jQuery('#bSEM span.evidence').width();//.data('bSEM').width;
  jQuery('#bSEM').children().remove();
  return w;
}

function paddingSet() {
	var bSEM = jQuery('span.evidence');
	for (var i = 0; i < bSEM.length; i++) {
		var ow = jQuery(bSEM[i]).attr('rel');
		var aw = widthAfterGet(jQuery(bSEM[i]));
		var slice = (-1*(ow-aw))/2;
		jQuery(bSEM).css('padding','0 '+slice+'px 0 '+slice+'px');
  }
}

function vanishHint () {
	jQuery(window).unbind('scroll');
	clearTimeout(timer);
	evUnnest();
  jQuery('span.evidence').animate({color:col},1500,function (){
		jQuery(this).css('fontWeight','normal'); 
		jQuery('strong.evidence').removeClass('evidence');
		paddingSet();
	});
}

function resetInterval(){
	jQuery(window).unbind('scroll');
  clearTimeout (timer);
  timer = setTimeout('vanishHint()',time);
	jQuery(window).scroll(resetInterval);
}

function startInterval (){
	firstUse = true;
	timer = setTimeout('vanishHint()',time);
}

function unNestStrong(){
  var stNested = jQuery('span.evidence strong');
  for (var i = 0; i < stNested.length; i++) {
    var base = jQuery(stNested[i]).html();
		base = '<strong>'+base+'</strong>';
		var strong = base.replace(/<strong>/,'&nbsp;</span><strong class="evidence">');
		strong = strong.replace(/<\/strong>/,'</strong><span>');
		var evidence = jQuery(stNested[i]).parent().html();
		var regExp = new RegExp(base);
		evidence = '<span class="evidence">'+evidence.replace(regExp,strong)+'</span>';
		jQuery(stNested[i]).parent().replaceWith(evidence);
  }
}

function initPage() {
	unNestStrong();
  jQuery('body').prepend('<div id="bSEM"></div>');
	var bSEM = jQuery('span.evidence');
	time = bSEM.length*noumeno;
  widthBeforeGet();
	jQuery(window).scroll(resetInterval);
/*	if (firstUse) {jQuery(window).unbind('scroll'); jQuery(window).scroll(resetInterval);}
  else 
  	jQuery(window).scroll(startInterval);*/ 
}
