var titre1 = 'Titre de votre question';
var titre2 = 'Posez une question en écrivant ici !';

var titreAstuce = 'Titre de votre astuce';

var countCheckTheme = 0;

var urlSearchQuestion = 'index.php?id=105&type=257';

var urlSearchAStuce = 'index.php?id=105&type=258';

var search_container_id = 'etape_3_search';
var etape3_container_id = 'etape_3';
var search_waiter_id = 'etape_3_search_waiter';

var iCountPop = 1;
var tabPop = new Array();

var contenuFiche =  
        new YAHOO.widget.Panel('contenuFiche',   
            {
            fixedcenter:true,  
            close:false,  
            draggable:false,  
            zindex:100, 
            modal:true, 
            visible:true,
            constraintoviewport:false
            }
        ); 

var containerPopupPoints =  
        new YAHOO.widget.Panel('popup_points',   
            {
            fixedcenter:true,  
            close:false,  
            draggable:false,  
            zindex:100, 
            modal:true, 
            visible:true,
            constraintoviewport:false
            //effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration: 1}
            }  
        );
        
var erreurMembre = false;
var urlSearchPseudo = 'index.php?id=105&type=265';

var urlSearchAbonne = 'index.php?id=105&type=267';

var urlCheckPoint = 'index.php?id=105&type=266';

var galerie = null;

function hideInfoBulle(obj)
{
    
    var container = YAHOO.util.Dom.getAncestorByClassName(obj,'form_item');
    
    var link = YAHOO.util.Dom.getElementsByClassName('link_info_bulle', 'a', container);
    
    YAHOO.util.Dom.removeClass(link[0], 'link_info_bulle_actif');
    
    var iCur = link[0].rel;
    
    if(iCur)
        tabPop[iCur].hide();
    
}

function showInfoBulle(obj){
    
    var container = YAHOO.util.Dom.getAncestorByClassName(obj,'form_item');
    
    var test = YAHOO.util.Dom.getElementsByClassName('yui-panel-container', 'div', container);
    
    for(pop in tabPop){
		tabPop[pop].hide();
    }
    
    var link = YAHOO.util.Dom.getElementsByClassName('link_info_bulle', 'a', 'MAIN');
    
    for(l in link)
    	YAHOO.util.Dom.removeClass(link[l], 'link_info_bulle_actif');
    	
    
    if(!test[0]){
        
        var tabChild = YAHOO.util.Dom.getElementsByClassName('info_bulle_content', 'div', container);
        
        var containerBulle = YAHOO.util.Dom.getElementsByClassName('info_bulle', 'div', container);
        
        tabChild[0].style.display = 'block';
        
        tabPop[iCountPop] = new YAHOO.widget.Panel(tabChild[0], { width:"330px", context:[containerBulle[0], "tl", "tr"], zIndex :1000, visible:false , close: false, effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration: 0.5} } );
        tabPop[iCountPop].render(containerBulle[0]);
        
        tabPop[iCountPop].show();
        
        var btClose = YAHOO.util.Dom.getElementsByClassName('link_info_bulle_close', 'span', container);
        btCloseContent = btClose[0];
        
        var link = YAHOO.util.Dom.getElementsByClassName('link_info_bulle', 'a', container);
        
        var curCalque = tabPop[iCountPop];
        
        YAHOO.util.Event.addListener(btCloseContent, "click", function(){ curCalque.hide(); YAHOO.util.Dom.removeClass(link[0], 'link_info_bulle_actif');}, curCalque, true);
        
        YAHOO.util.Dom.addClass(link[0], 'link_info_bulle_actif');
    	
        link[0].rel = iCountPop;
        
        iCountPop++;
        
        
    }
    else
    {
        
        var link = YAHOO.util.Dom.getElementsByClassName('link_info_bulle', 'a', container);
        var iCur = link[0].rel;
        
        YAHOO.util.Dom.addClass(link[0], 'link_info_bulle_actif');
    	
    	tabPop[iCur].show();
        
    }
    
    return true;
    
}

function hideFiche(){
     contenuFiche.hide();
}

function showFiche(link){
    
    var waiter = '<div class="container_waiter"><img src="fileadmin/templates/skin/default/imgs/ajax-loader.gif" /></div>';
    
    var tempContent = '<a href="#" onclick="hideFiche();return false;" class="closeFiche">&shy;</a><div class="clR"></div>';
    
    contenuFiche.setBody(tempContent + waiter);
    contenuFiche.render(document.body);
    contenuFiche.show();
        
    var handleSuccess = function(o){ 
        if(o.responseText !== undefined){ 
    
            contenuFiche.setBody(tempContent + o.responseText);
                                                  
        }
    }
    
    var handleFailure = function(o){ 
        if(o.responseText !== undefined){ 
            
            contenuFicheScroll.innerHTML = o.responseText;
               
        } 
    }

    var callback = 
    {
        success:handleSuccess, 
        failure: handleFailure
    }; 
        
    var request = YAHOO.util.Connect.asyncRequest('GET', link, callback); 
    
}


function getAllCheckTheme(){
	
	return YAHOO.util.Dom.getElementsByClassName('checkTheme', 'input', 'container_theme');
    
}

function checkItemTheme(el){
    
    if(el.checked && countCheckTheme == 2){
        el.checked = false;
        alert('Vous ne pouvez choisir que deux thèmes maximum !');
    }
    else{
        if(el.checked){
            countCheckTheme += 1;
            if(countCheckTheme == 1){
            	document.getElementById('first_theme').value = el.value;
            	document.getElementById('label_' + el.value).className = 'label_first';
			}
			else if(countCheckTheme == 2){
            	document.getElementById('label_' + el.value).className = 'label_second';
			}
        }
        else{
            countCheckTheme -= 1;
            if(countCheckTheme == 1){
            	
            	var tabChk = getAllCheckTheme();
            	
            	for(chk in tabChk){
					
					if(tabChk[chk].checked){
						document.getElementById('label_' + tabChk[chk].value).className = 'label_first';
						document.getElementById('first_theme').value = tabChk[chk].value;
						break;
					}
					
            	}
            	
			}
			else if(countCheckTheme == 0)
				document.getElementById('first_theme').value = '';
				
            document.getElementById('label_' + el.value).className = '';
        }
    }
    
}

function checkTitreQuestion(){
    
    var ret = true;
    
    var titre = document.getElementById('titre_question').value;
    
    if(titre == '' || titre == titre1 || titre == titre2){
        alert('Veuillez saisir le titre de votre question');
        document.getElementById('titre_question').focus();
        ret = false;
    }
    else{
        document.getElementById('etape_2').style.display = 'block';
    }
    
    return ret;
    
}

function checkTitreAstuce(){
    
    var ret = true;
    
    var titre = document.getElementById('titre_astuce').value;
    
    if(titre == '' || titre == titreAstuce){
        alert('Veuillez saisir le titre de votre astuce');
        document.getElementById('titre_astuce').focus();
        ret = false;
    }
    else{
        document.getElementById('etape_2').style.display = 'block';
    }
    
    return ret;
    
}

function checkThemesQuestion(search){
    
    var ret = true;
    
    if(countCheckTheme == 0){
        alert('Veuillez sélectionner au moins un thème !');
        ret = false;
    }
    else if(countCheckTheme > 2){    
        alert('Vous devez sélectionner deux thèmes maximum !');
        ret = false;
    }
    else{
        document.getElementById(search_container_id).style.display = 'block';
    }
    
    if(ret && search){
        
        var texte = 'tx_ratfront_pi5[titre_question]=' + document.getElementById('titre_question').value;
        
        var handleSuccess = function(o){ 
            if(o.responseText !== undefined){ 
                
                if(document.getElementById(search_waiter_id))
                    document.getElementById(search_waiter_id).style.display = 'none';
                document.getElementById(search_container_id).innerHTML = o.responseText;
                
            }
        }
        
        var handleFailure = function(o){ 
            if(o.responseText !== undefined){ 
                
                document.getElementById(search_container_id).style.display = 'none';
                document.getElementById(etape3_container_id).style.display = 'block';
                   
            } 
        }

        var callback = 
        {
            success:handleSuccess, 
            failure: handleFailure
        }; 
        
        var request = YAHOO.util.Connect.asyncRequest('POST', urlSearchQuestion, callback, texte); 
        
    }
    
    return ret;
    
}

function checkThemesAstuce(search){
    
    var ret = true;
    
    if(countCheckTheme == 0){
        alert('Veuillez sélectionner au moins un thème !');
        ret = false;
    }
    else if(countCheckTheme > 2){    
        alert('Vous devez sélectionner deux thèmes maximum !');
        ret = false;
    }
    else{
        document.getElementById(search_container_id).style.display = 'block';
    }
    
    if(ret && search){
        
        var texte = 'tx_ratfront_pi5[titre_astuce]=' + document.getElementById('titre_astuce').value;
        
        var handleSuccess = function(o){ 
            if(o.responseText !== undefined){ 
                
                if(document.getElementById(search_waiter_id))
                    document.getElementById(search_waiter_id).style.display = 'none';
                document.getElementById(search_container_id).innerHTML = o.responseText;
                
            }
        }
        
        var handleFailure = function(o){ 
            if(o.responseText !== undefined){ 
                
                document.getElementById(search_container_id).style.display = 'none';
                document.getElementById(etape3_container_id).style.display = 'block';
                   
            } 
        }

        var callback = 
        {
            success:handleSuccess, 
            failure: handleFailure
        }; 
        
        var request = YAHOO.util.Connect.asyncRequest('POST', urlSearchAStuce, callback, texte); 
        
    }
    
    return ret;
    
}

function checkUserPoints(){
	
	var handleSuccess = function(o){ 
    
        if(o.responseText !== undefined){ 
            
            if(o.responseText == 'ok')
            	document.getElementById('formulaireQuestion').submit();
            else{
            	
            	containerPopupPoints.setBody(o.responseText);
			    containerPopupPoints.render(document.body);
            	containerPopupPoints.show();
			    
			}
            
        }
    }
    
    var handleFailure = function(o){ 
        if(o.responseText !== undefined){ 
        	document.getElementById('formulaireQuestion').submit();
        } 
    }

    var callback = 
    {
        success:handleSuccess, 
        failure: handleFailure
    }; 
    
    var request = YAHOO.util.Connect.asyncRequest('GET', urlCheckPoint, callback); 
	
}

function checkTotalFormQuestion(){
    
    var ret = true;
    
    if(ret = checkTitreQuestion()){
        if(ret = checkThemesQuestion(false)){
        	
        	if(userIsLogin){
				checkUserPoints();
        	}
        	else{
        		
        		callBackAfterLogin = 'checkTotalFormQuestion()';
        		showPopupConnect('Pour poser une question');
        		
			}
        	
    	}
    }
}

function checkTotalFormAstuce(){
    
    var ret = true;
    
    if(ret = checkTitreAstuce()){
        if(ret = checkThemesAstuce(false)){
        	
        	if(userIsLogin) document.getElementById('formulaireAstuce').submit();
        	else showPopupConnect('Pour proposer une astuce');
        		
		}
	}
    
}


function afficheErreur(id, ok, msg){
	
	if(!ok){
		document.getElementById('message_erreur_' + id).innerHTML = msg;
		document.getElementById('erreur_' + id).style.display = 'block';
		document.getElementById('ok_' + id).style.display = 'none';
		erreurMembre = true;
	}
	else{
		document.getElementById('message_erreur_' + id).innerHTML = msg;
		document.getElementById('erreur_' + id).style.display = 'none';
		document.getElementById('ok_' + id).style.display = 'block';
		// erreurMembre = false;
	}
	
}

function checkAbonne(testExist){
	
	var id = 'abonne';
	var el = document.getElementById(id);
	
	
	if(el.value.length > 0 && testExist){
		
		var texte = 'tx_ratfront_pi5[abonne]=' + el.value;
		
		var handleSuccess = function(o){ 
            if(o.responseText !== undefined){ 
                if(o.responseText != 'ok'){
                	afficheErreur(id, false, o.responseText);
				}
                else{
					afficheErreur(id, true, '');
		        }
            }
        }
        
        var handleFailure = function(o){ 
            
        }

        var callback = 
        {
            success:handleSuccess, 
            failure: handleFailure
        }; 
        
        var request = YAHOO.util.Connect.asyncRequest('POST', urlSearchAbonne, callback, texte); 
        
		
	}
	else return true;
	
}

function launchCheckPseudoOnLoad(){
	checkPseudo(true);
}


function checkPseudo(testExist){
	
	var id = 'pseudo';
	var el = document.getElementById(id);
	
	
	if(el.value.length < 3 || el.value.length > 15){
		afficheErreur(id, false, 'Votre pseudo doit contenir entre 3 et 15 caractères.');
		return false;
	}
	else if(testExist){
		
		var texte = 'tx_ratfront_pi5[pseudo]=' + el.value;
		
		var handleSuccess = function(o){ 
            if(o.responseText !== undefined){ 
                if(o.responseText != 'ok'){
                	afficheErreur(id, false, 'Ce Pseudo est déjà utilisé.');
				}
                else{
					afficheErreur(id, true, '');
		        }
            }
        }
        
        var handleFailure = function(o){ 
            
        }

        var callback = 
        {
            success:handleSuccess, 
            failure: handleFailure
        }; 
        
        var request = YAHOO.util.Connect.asyncRequest('POST', urlSearchPseudo, callback, texte); 
        
		
	}
	else return true;
	
}


function checkPass(){
	
	var id = 'pass_membre';
	var el = document.getElementById(id);
	
	if(el.value.length < 6){
		afficheErreur(id, false, 'Votre mot de passe doit contenir au minimum 6 caractères.');
		return false;
	}
	else{
		afficheErreur(id, true, '');
		return true;
	}
	
}


function checkConfirmPass(){
	
	var id = 'confirm_pass';
	var id2 = 'pass_membre';
	var el = document.getElementById(id);
	var el2 = document.getElementById(id2);
	
	if(el.value == ''){
		afficheErreur(id, false, 'Veuillez confirmer votre mot de passe.');
		return false;
	}
	else if(el.value != el2.value){
		afficheErreur(id, false, 'Le mot de passe confirmé est différent.');
		return false;
	}
	else{
		afficheErreur(id, true, '');
		return true;
	}
	
}


function checkMail(testExist) {
	
	var id = 'email';
	var el = document.getElementById(id);
	
	if (!(/[A-Za-z0-9\-\.\_]+\@[A-Za-z0-9\-\.\_]+\.[a-z]{2,6}$/).test(el.value)) {
		afficheErreur(id, false, 'L\'email saisi est incorrect.');
		return false;
	}
	else if(testExist){
		
		var texte = 'tx_ratfront_pi5[email]=' + el.value;
		
		var handleSuccess = function(o){ 
            if(o.responseText !== undefined){ 
                if(o.responseText != 'ok'){
                	afficheErreur(id, false, 'Cet email est déjà utilisé.');
				}
                else{
					afficheErreur(id, true, '');
		        }
            }
        }
        
        var handleFailure = function(o){ 
            
        }

        var callback = 
        {
            success:handleSuccess, 
            failure: handleFailure
        }; 
        
        var request = YAHOO.util.Connect.asyncRequest('POST', urlSearchPseudo, callback, texte); 
        
		
	}
	else return true;
	
}


function checkThemesMembre(){
    
    var ret = true;
    
    if(countCheckTheme > 2){    
        // alert('Vous devez sélectionner deux thèmes maximum !');
        afficheErreur('theme', false, 'Vous devez sélectionner deux thèmes maximum !');
        ret = false;
    }
    else document.getElementById('etape_3').style.display = 'block';
 
 	return ret;
 	   
}



function checkCaptcha(){
	
	var id = 'captcha';
	var el = document.getElementById(id);
	
	if(el.value == ''){
		afficheErreur(id, false, 'Merci de recopier le mot affiché ci-dessus.');
		return false;
	}
	else{
		afficheErreur(id, true, '');
		return true;
	}
	
}

function checkCGU(){
	
	var id = 'accepte_cgu';
	var el = document.getElementById(id);
	
	if(!el.checked){
		afficheErreur(id, false, 'Vous devez acceptez les conditions générales d\'utilisation.');
		return false;
	}
	else{
		afficheErreur(id, true, '');
		return true;
	}
	
}

function checkAvatar(){
	
	var id = 'avatar';
	var el = document.getElementById(id);
	var id2 = 'avatar_chosen';
	var el2 = document.getElementById(id2);
	
	if(el.value == '' && el2.value == ''){
		afficheErreur(id, false, 'Veuillez choisir un avatar');
		return false;
	}
	else{
		afficheErreur(id, true, '');
		return true;
	}
	
}

function checkMembreUn(){
	
	ret = true;
	erreurMembre = false;
	
	if(!checkPseudo(false)){
		erreurMembre = true;
		if(!focus) focus = 'pseudo';
	}
	if(!checkPass()){
		erreurMembre = true;
		if(!focus) focus = 'pass_membre';
	}
	if(!checkConfirmPass()){
		erreurMembre = true;
		if(!focus) focus = 'confirm_pass';
	}
	if(!checkAvatar()){
		erreurMembre = true;
		if(!focus) focus = 'avatar';
	}
	if(!checkMail(false)){
		erreurMembre = true;
		if(!focus) focus = 'email';
	}
	
	if(erreurMembre){
		alert('Certaines des informations saisies sont incorrectes. Veuillez les corriger avant de pouvoir continuer.');
		if(focus){
			if(document.getElementById(focus))
				document.getElementById(focus).focus();
		}
		ret = false;
	}
	else document.getElementById('etape_2').style.display = 'block';
	
	return ret;
	
}

function checkTotalFormMembre(){
	
	erreurMembre = false;
	
	var focus = null;
	
	if(!checkPseudo(false)){
		erreurMembre = true;
		if(!focus) focus = 'pseudo';
	}
	if(!checkPass()){
		erreurMembre = true;
		if(!focus) focus = 'pass_membre';
	}
	if(!checkConfirmPass()){
		erreurMembre = true;
		if(!focus) focus = 'confirm_pass';
	}
	if(!checkMail(false)){
		erreurMembre = true;
		if(!focus) focus = 'email';
	}
	if(!checkThemesMembre()){
		erreurMembre = true;
		if(!focus) focus = 'message_erreur_theme';
	}
	if(!checkCGU()){
		erreurMembre = true;
		if(!focus) focus = 'accepte_cgu';
	}
	if(!checkCaptcha()){
		erreurMembre = true;
		if(!focus) focus = 'captcha';
	}
	
	if(erreurMembre){
		alert('Certaines des informations saisies sont incorrectes. Veuillez les corriger avant de pouvoir continuer.');
		if(focus){
			if(document.getElementById(focus))
				document.getElementById(focus).focus();
		}
		
	}
	else document.getElementById('formulaireMembre').submit();
	
}

function chooseAvatar(avatar)
{
	
	document.getElementById('cur_avatar').innerHTML = '<img src="uploads/pics/avatars/' + avatar + '" />';
	
	document.getElementById('avatar_chosen').value = avatar;
	
	// galerie.hide();
	
	return false;
}

function showGalerie(el)
{
	
	if(!galerie){
		
		var container = YAHOO.util.Dom.getAncestorByClassName(el,'form_item');
	    
	    galerie =  
	        new YAHOO.widget.Panel('galerie',   
	            {
	            context:[container, "tl", "tl"],
	            fixedcenter:false,
	            close:false,  
	            draggable:false,  
	            zindex:100, 
	            modal:false, 
	            visible:false
	            }  
	        );
	    
	    galerie.render(container);
        
        document.getElementById('galerie').style.display = 'block';
        
        galerie.show();
        
	}
	else galerie.show();
    
	return false;
	
}

function hideGalerie()
{
	
	if(galerie) galerie.hide();
    
	return false;
	
}