/* animation accueil */
function InitAnim(element) {
	if ($(element) == null) return;
	var items = $(element).immediateDescendants();
	var subitems = new Array();
	for (i = 0; i < items.length; i++) {
		subitems[i]=items[i].immediateDescendants()[0];
	}
	var nb_items = items.length;
	var i_first = 0;
	var i_last = (nb_items - 1 + i_first)%nb_items;
	MoveLastToFirst(items, i_first, i_last);
	window.setTimeout(function() {Anim(items, subitems, i_first, i_last, nb_items);}, 2500);
}
function Anim(items, subitems, i_first, i_last, nb_items) {
	var second = subitems[(i_first+1)%nb_items];
	new Effect.Fade(second);
	var newFirst = subitems[i_last];
	new Effect.Appear(newFirst);
	MoveFirstToSecond(items, i_first, i_last);
	
	i_first = i_last;
	i_last = (nb_items - 1 + i_first)%nb_items;
	MoveLastToFirst(items, i_first, i_last);
	window.setTimeout(function() {Anim(items, subitems, i_first, i_last, nb_items);},5000);
}
function MoveLastToFirst(items, i_first, i_last) {
	var first = items[i_first];
	var last = items[i_last];
	var yFirst = Position.cumulativeOffset(first)[1];
	var yLast = Position.cumulativeOffset(last)[1];
	var h = yLast - yFirst;
	new Effect.Move (last,{ x: 0, y: -h, mode: 'relative'});
}
function MoveFirstToSecond(items, i_first, i_last) {
	var first = items[i_first];
	var newFirst = items[i_last];
	var h = Element.getDimensions(newFirst).height;
	new Effect.Move (first,{ x: 0, y: h, mode: 'relative'});
}

/* effet fiche produit*/
function moveFicheToMail() {
	var ficheId='programme';
	var mailId='mail';
	Effect.Squish(ficheId);
	Effect.Appear(mailId);
}
function moveMailToFiche() {
	// id éléments
	var ficheId='programme';
	var mailId='mail';
	var erreurId = "divErreur";
	
	// animation
	Element.hide(erreurId);
	Effect.Squish(mailId);
	Effect.Appear(ficheId);
}

/* fiche produit : transmettre par mail */
function envoyerFicheMail() {
	// id éléments
	var txtEmail = "formMail:txtEmail";
	var txtMessage = "formMail:txtMessage";
	var erreurId = "divErreur";
	var loaderId = "ajax-loader";

	// animation
	$('btnEnvoyer').disabled = "disabled";
	$(txtEmail).disabled = "disabled";
	$(txtMessage).disabled = "disabled";
	Element.hide(erreurId);
	Effect.Appear(loaderId);

	// envoi données sur serveur
	MailFicheProduit.transmettre($(txtEmail).value, $(txtMessage).value, envoyerFicheMailCallback);
}
function envoyerFicheMailCallback(result) {
	// id éléments
	var loaderId = "ajax-loader";
	var txtEmail = "formMail:txtEmail";
	var txtMessage = "formMail:txtMessage";
	var erreurId = "divErreur";

	// animation
	Element.hide(loaderId);
	$('btnEnvoyer').disabled = "";
	$(txtEmail).disabled = "";
	$(txtMessage).disabled = "";
	
	if (result == "ok") {
		$(txtEmail).value = "";
		$(txtMessage).value = "";
		Element.hide(erreurId);
		moveMailToFiche();
	} else if (result == "ko") {
		$('txtErreur').value = "L'envoi du programme par mail a échoué";
		Element.show(erreurId);
	} else {
		$('txtErreur').innerHTML = result;
		Element.show(erreurId);
	}
}

/* inscription */
function showParticipant(index) {
	// calcul taille max
    var table = document.getElementById('frminsc:tblpart');
    var tbody = table.getElementsByTagName("tbody")[0];
    var rows;
    if (tbody == null) {
        rows = table.getElementsByTagName("tr");
    } else {
        rows = tbody.getElementsByTagName("tr");
    }
    
    // effets
    for (i = rows.length-1; i > index; i--) {
		var rowPartId = 'frminsc:tblpart:' + i + ':rowpart';
		Effect.Fade(rowPartId, { duration: 0.5 });
	}
	for (i = 0; i < index+1; i++) {
		var rowPartId = 'frminsc:tblpart:' + i + ':rowpart';
		Effect.Appear(rowPartId, { duration: 0.5 });
	}

}

/* highlight tables */
function highlightTableRows(tableId) {
    var previousClass = null;
    var table = document.getElementById(tableId);
    var tbody = table.getElementsByTagName("tbody")[0];
    var rows;
    if (tbody == null) {
        rows = table.getElementsByTagName("tr");
    } else {
        rows = tbody.getElementsByTagName("tr");
    }
    // add event handlers so rows light up and are clickable
    for (i=0; i < rows.length; i++) {
        rows[i].onmouseover = function() {
        	previousClass=this.className;
        	this.className+=' over'
        };
        rows[i].onmouseout = function() {
        	this.className=previousClass
        };
        rows[i].onclick = function() {
            var cell = this.getElementsByTagName("td")[0];
            var link = cell.getElementsByTagName("a")[0];
            location.href = link.getAttribute("href");
            this.style.cursor="wait";
            return false;
        }
    }
}


