/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 * Comment
 */
/**
 */
/*
 */
var javaSessionId = "";
var subscriptionStep = 0;
var textForNerfedFeature = "Cette fonctionnalit&#233; HotBlog n&#233;cessite d&#234;tre inscrit";
/**
 * updateSubscriptionStep
 */
function updateSubscriptionStep(value) {
    subscriptionStep = value;
}

function step(){
    showDiv('inscription');
    switch( subscriptionStep ){
        case 0:
            subscriptionStep++;
            showDiv('inscription1');
        case 1:
            showDiv('inscription1');
            break;
        case 2:
            showDiv('inscription2');
            break;
        case 3:
            showDiv('inscription3');
            break;
    }
}





String.prototype.trim = function(){
    var regExpBeginning = /^\s+/;
    var regExpEnd       = /\s+$/;
    return this.replace(regExpBeginning, "").replace(regExpEnd, "");
}

/**
 * Comment
 */
function showDiv(id) {
    try{
        document.getElementById( id ).style.display = 'block';
    }catch(e){
        //alert("id "+ id);
    }
}

/**
 * hide
 */
function hideDiv(id) {
    document.getElementById( id ).style.display = 'none';
}

/**
 * Comment
 */
/**
 * get
 */
function getWindowSize() {
    var arraySize = new Array(2);
    arraySize['w'] = -1;
    arraySize['h'] = -1;
    try{
    var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
 
        arraySize['w'] = parseInt(w);
        arraySize['h'] = parseInt(h);
    /*
    if (document.body){
    //DOM
        arraySize['w'] = parseInt(document.body.clientWidth);
        arraySize['h'] = parseInt(document.body.clientHeight);
    }else{
    //OLD BROWSER
        arraySize['w'] = parseInt(window.innerWidth);
        arraySize['h'] = parseInt(window.innerHeight);
    }
        */
    }catch(ignore){}
    return arraySize;
}



function displayWaitAnimation( loadingText , divContainerName ) {
    var windowW = getWindowSize()['w'];
    var windowH = getWindowSize()['h'];
    document.getElementById("loadText").innerHTML = loadingText;
    document.getElementById(divContainerName).style.left = ((windowW/2) - (parseInt(document.getElementById(divContainerName).style.width)/2)) +"px";
    document.getElementById(divContainerName).style.top = ((windowH/2) - (parseInt(document.getElementById(divContainerName).style.height)/2)) +"px";
    showDiv(divContainerName);
}

/**
 *
 */
function hideWaitAnimation(divContainerName) {
    hideDiv(divContainerName);
}
/**
 * Comment
 */
function replace( id , html ) {
    document.getElementById(id).innerHTML = html;
}

/**
 * Comment
 */
function getNumberOfSelectedItems( listId ) {
    return document.getElementById(id).selectIndex;
}



/**
 * Comment
 */
function limitedTyping(id , numberOfCharacters) {
    var text = document.getElementById(id).value;
    //alert( text )
    if( text.length > numberOfCharacters ){
        text = text.substr(0,numberOfCharacters );
        document.getElementById(id).value = text;
    }
}

var fromRemove = false;
/**
 * Comment
 */
function isListEmpty() {
    var result = false;
    var n = 0;
    if( isFromRemove() ){
        n = 1;
    }
    if( (document.getElementById("asmList0").getElementsByTagName("li").length - n) < 1 ){
        result = true
    }
    return result;
}


/**
 * Comment
 */
function displayNoSelection( displayId ) {
    if(isListEmpty()){
        showDiv(displayId);//replace( displayId , "<p>Indiff&#233;rent</p>");
    }else{
        hideDiv(displayId);//replace( displayId , "");
    }
}

function isFromRemove() {
    return fromRemove;
}

function setFromRemove() {
    fromRemove = true;
}

function setNotFromRemove() {
    fromRemove = false;
}

function setOpacity( el, opacity){
    if(el.style.opacity != undefined){
        el.style.opacity = opacity;
    }else if( el.style.MozOpacity != undefined){
        el.style.MozOpacity = opacity;
    }else if ( el.style.filter != undefined){
        el.style.filter="alpha(opacity=" + Math.round(opacity * 100) + ")";
    }
}

function changeOpacity(opacity, id , appear) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
    if( appear ){
        if( opacity == 0 ){
            showDiv(id);
        }
    }else{
        if( opacity == 0 ){
            hideDiv(id);
        }
    }
}

function moveOpacity(id , opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpacity(" + i + ",'" + id + "' , false)",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++) {
            setTimeout("changeOpacity(" + i + ",'" + id + "' , true)",(timer * speed));
            timer++;
        }
    }

}

/**
 *  id -> element id
 *  timeBeforeAction -> time before exectution of the fading
 *  speed -> frame speed
 *  appear -> boolean, false = disappear, true = appear
 */
function displayElementWithFadeFX( id , timeBeforeAction ,  speed ){
    setTimeout( "fadeProcess( '"+id+"' , "+speed+" , true )" , timeBeforeAction );
}

/**
 * hideE
 */
function hideElementWithFadeFX(  id , timeBeforeAction ,  speed ) {
    setTimeout( "fadeProcess( '"+id+"' , "+speed+" , false )" , timeBeforeAction );
}

function fadeProcess( id , speed , appear ){
    if( appear ){
        moveOpacity( id , 0 , 100 , speed );
    }else{
        moveOpacity( id , 100, 0, speed );
    }
}

/**
 * displayMessa
 */
function displayMessage() {
    setOpacity( document.getElementById('inscriptionMessage') , 100 );
    showDiv( "inscriptionMessage" );
    replace( "inscriptionMessage" , textForNerfedFeature );
    setTimeout( 'fade( "inscriptionMessage" )' , 5000);
}

/**
 * Comment
 */
function displayMessage( messageElementId , text ){
    setOpacity( document.getElementById(messageElementId) , 100 );
    showDiv( messageElementId );
    replace( messageElementId , text );
    setTimeout( 'fade( "'+messageElementId+'" )' , 5000);
}



var TimeToFade = 1000.0;

function fade(eid)
{
    var element = document.getElementById(eid);
    if(element == null)
        return;

    if(element.FadeState == null)
    {
        if(element.style.opacity == null
            || element.style.opacity == ''
            || element.style.opacity == '1')
            {
            element.FadeState = 2;
        }
        else
        {
            element.FadeState = -2;
        }
    }

    if(element.FadeState == 1 || element.FadeState == -1)
    {
        element.FadeState = element.FadeState == 1 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
    }
    else
    {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
    }
    hideDiv(eid);
}

function animateFade(lastTick, eid)
{
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(eid);

    if(element.FadeTimeLeft <= elapsedTicks)
    {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft/TimeToFade;
    if(element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';

    setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}
/*
    function click_me(element){
        try
        {//pour ie
            document.getElementById(element).click();
        }catch(e)
        {//pour ff
            var evt = document.createEvent("MouseEvents"); // créer un évennement souris
            evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);  // intiailser l'évennement déja crée par un click
            var cb = document.getElementById(element); // pointe sur l'élement
            cb.dispatchEvent(evt);  // envoyer l'évennement vers l'élement
        }
    }
  */
