/**
 * Outil de modification de la taille du texte
 */
function textSize(elt,minusButton,plusButton) {
  /*
  Change the "font-size" of an element which has the class="textSize"
  */
  // Available sizes :
  var size0 = "textNormal";
  var size1 = "textBig";
  var size2 = "textBigger";
    var $j =jQuery.noConflict();
  var txt = $j(elt);
  //console.log('yes')
  if (txt.size() > 0 ) {
    $j(minusButton).click(function(){
      if ($j(elt).hasClass(size1)) {
        $j(elt).removeClass(size1).addClass(size0);
      } else if ($j(elt).hasClass(size2)) {
        $j(elt).removeClass(size2).addClass(size1);
      }
      return false;
    });

    $j(plusButton).click(function(){
      if ($j(elt).hasClass(size0)) {
        $j(elt).removeClass(size0).addClass(size1);
      } else if ($j(elt).hasClass(size1)) {
        $j(elt).removeClass(size1).addClass(size2);
      } else if ($j(elt).hasClass(size2)){
      } else {
        $j(elt).addClass(size1);
      }
      return false;
    });
  }
};
var $j = jQuery.noConflict();
/**
 * Switch Select To Input (jQuery)
 * @desc : hidden select replaced by a read-only text input
 * @param {String} lab : label
 * @param {String} val : value
 * @returns: jQuery new input object
 *
 */
$j.fn.Input2Select = function() {
  var newFieldLabel = $j('<select> </select>');
  newFieldLabel.attr('id', $j(this).attr('id'));
  newFieldLabel.attr('name', $j(this).attr('name'));
  newFieldLabel.insertAfter($j(this));
  $j(this).remove();
  return newFieldLabel;
};
function populateSelectList(selectReference,table) {
  var opts = {"": ""};
  for (var i=0; i<table.length; i++) {
    opts[table[i]] = table[i];
  }
  $j("#"+selectReference).addOption(opts, false);
  return true;
}
$j(document).ready(function() {
	/* CHANGE FONT SIZE */
	initTextSize = textSize(".site-main-col",".btFontMinus",".btFontPlus");
	if (typeof(name_stage)!="undefined") {
		$j('#mailformIntitule_du_stage').attr('value', name_stage);
	}
	if (typeof(reference_stage)!="undefined") {
		$j('#mailformReference').attr('value', reference_stage);
	}
	if (typeof(session_stage)!="undefined" && session_stage.length > 1) {
		$j('#mailformDate_du_stage').Input2Select();
		populateSelectList("mailformDate_du_stage",session_stage);
	} else if(typeof(session_stage)!="undefined" && session_stage.length==1) {
		$j('#mailformDate_du_stage').attr('value', session_stage);
	}
});

if(document.SPC == undefined){
	SPC = {};
}



/**
 * Animation du menu principal
 */
SPC.Menu = {

	showHideSubMenu: function(link){
		link = $(link);
		itemRef = link;
		while(itemRef && itemRef.nodeName != 'LI') itemRef = $(itemRef.parentNode);

		if(!itemRef){
			return false;
		}

		var linkImage = $(link.parentNode.lastChild.firstChild);

		if(linkImage.style.backgroundImage) {
			var tmp = linkImage.style.backgroundImage.substring(4, linkImage.style.backgroundImage.length - 1).replace(/["']/, '');
			linkImage.style.backgroundImage = 'url(' + linkImage.getAttribute('src') + ')';
			linkImage.setAttribute('src', tmp);
		}

		var subMenu = $(itemRef.firstChild);

		while(subMenu && subMenu.nodeName != 'UL') subMenu = $(subMenu.nextSibling);


		if(subMenu){
			SPC.Menu.toggle(subMenu);
		}

		if(itemRef.hasClassName('menu-open')){
			link.setAttribute('title', '+');
			itemRef.removeClassName('menu-open');
		} else{
			link.setAttribute('title', '-');
			itemRef.addClassName('menu-open');
		}

		return false;
	},

	hideAllButActive: function(){
		$$('.first-level').each(function(item){
			if($(item.parentNode).hasClassName('active')){
				SPC.Menu.showHideSubMenu(item.firstDescendant());
			}
		});
	},

	toggle: function(subMenu){
		subMenu.toggle();
		/*
		Effect.toggle(subMenu, 'blind', {
			'duration': 0.5,
			'queue':    {position:'end', scope:'websitemenu'},
			'afterFinish': function() {
				if(subMenu.visible() && subMenu.style.cssText != undefined) {
					subMenu.style.cssText = 'overflow: hidden';
				}
				subMenu.style.overflow = '';
			}
		});
		*/
	}

}

SPC.Menu.hideAllButActive();


/**
 * Blocs déroulants (layout 2 d'un contenu)
 */
SPC.BlocDeroulant = {

  initialize: function() {
    $A(document.getElementsByClassName('accordion_toggle')).each(function(handle){
      var content_layer = handle.nextSiblings().find(function(elt){
        return elt.hasClassName('accordion_content');
      });
      if (content_layer) {
        (function(handle,layer){
          layer.hide();
          Event.observe(handle, 'click', function(){ SPC.BlocDeroulant.toggle(layer); });
        })(handle, content_layer);
      }
    });
  },
  
  toggle: function(elt) {
    elt.toggle();
  }

}

SPC.BlocDeroulant.initialize();


/**
 * Patch pour Typo3 validateForm()
 * Les paramètres sont passés par urlencode, qui supporte mal l'UTF8...
 */
(function() {
	$A(document.getElementsByTagName('FORM')).each(function(form){
		var onsub = form.getAttribute('onsubmit');
		if(onsub) {
			var doEval = (typeof onsub).toLowerCase() == 'function';
			onsub = onsub.toString();
			
			if(onsub.match(/return validateForm/)) {
				onsub = onsub.replace(/%C3%A9/g, 'Ã©');
				onsub = onsub.replace(/%C3%A0/g, 'Ã ');
				onsub = onsub.replace(/%C3%A8/g, 'Ã¨');
				onsub = onsub.replace(/%C3%AC/g, 'Ã¬');
				onsub = onsub.replace(/%C3%B2/g, 'Ã²');
				onsub = onsub.replace(/%C3%B9/g, 'Ã¹');
				onsub = onsub.replace(/%C3%A2/g, 'Ã¢');
				onsub = onsub.replace(/%C3%AA/g, 'Ãª');
				onsub = onsub.replace(/%C3%AE/g, 'Ã®');
				onsub = onsub.replace(/%C3%B4/g, 'Ã´');
				onsub = onsub.replace(/%C3%BB/g, 'Ã»');
				
				if (doEval) {
					eval('form.setAttribute("onsubmit", '+onsub+')');
				} else{
					form.setAttribute('onsubmit', onsub);
				}
			}
		}
	});
})();


/**
 * Ajouter aux favoris
 */
SPC.tools = {
	addToFavorites: function(){

		if(window.sidebar != undefined && window.sidebar.addPanel != undefined){
			window.sidebar.addPanel(document.title, this.href, '');
		} else {
			window.external.AddFavorite(this.href, document.title);
		}

		return false;
	}
};

(function(){
	$A(document.getElementsByTagName('INPUT')).each(function(item){
		if(item.getAttribute('type') == 'submit'){
			$(item).addClassName('submit');
		}
	});
})();


/**
 * Changer la classe des liens "détails" et "retour"
 */
(function() {
  function lienRetour(a) {
    a.addClassName('link-retour');
    var br = document.createElement('br');
    br.setAttribute('style', 'clear:both');
    a.parentNode.insertBefore(br, a.nextSibling);
  }
  $$('a.internal-link').each(function(a){
    if (a.innerHTML.match(/^(D.tails?)|(Voir les? programmes?)|(Voir les liens)$/)) {
      a.addClassName('link-details');
    }
    if (a.innerHTML.match(/^Retour$/)) {
      lienRetour(a);
    }
  });
  $$('.news-single-backlink a').each(function(a){
    lienRetour(a);
  });
  
  // tt_content.image
  $$('dl.csc-textpic-image').each(function(dl){
    dl.setAttribute('style', 'width:100%');
  });
})();

