//create YAHOO handler
var $e = YAHOO.util.Event;
var $s = YAHOO.util.Selector;
var $d = YAHOO.util.Dom;

//Menu
var Menu = function(){
    //items's background image preloading
    var i1 = new Image();
    var i2 = new Image();
    var i3 = new Image();
    var i4 = new Image();
    i1.src='css/menu/blue_over.png';
    i2.src='css/menu/orange_over.png';
    i3.src='css/menu/purple_over.png';
    i4.src='css/menu/green_over.png';
    
    //replace menu in the DOM if IE6
    if(YAHOO.env.ua.ie == 6){
        var html = $s.query('.wgMenu')[0].innerHTML;
        $s.query('.wgMenu')[0].innerHTML = '';
        var content = $s.query('#site')[0];
        content.innerHTML += '<div class="wgMenu">'+html+'</div>';
    }
    
	var ul = $s.query('.wgMenu li ul');
	var li = $s.query('.wgMenu li')
    
	for(var i=0; i< ul.length; i++){
		ul[i].style.display = 'none'
	}    

	//patch IE6 for inherit CSS properety
    if(YAHOO.env.ua.gecko > 0)
    {

    }
    if(YAHOO.env.ua.ie > 0)
    {
        try
        {
            var on = $s.query('.wgMenu li.on a')[0];
            var parentColor = $d.getStyle(on.parentNode, 'color');
            $d.setStyle(on, 'color', parentColor);
        }
        catch(e){}
    }
    //var on = $s.query('.wgMenu li.on a')[0];
    //var parentColor = $d.getStyle(on.parentNode, 'color');
    //$d.setStyle(on, 'color', parentColor);
    /*
    try
    {
        var on = $s.query('.wgMenu li.on a')[0];        
        var parentColor = $d.getStyle(on.parentNode, 'color');        
        $d.setStyle(on, 'color', parentColor);        
    }
    catch(e){}
    */    

	$e.addListener(li, 'mouseover', function(){
		$d.addClass(this.getElementsByTagName('a')[0], 'over')
		if(this.getElementsByTagName('ul').length > 0){
			this.getElementsByTagName('ul')[0].style.display = 'block';
		}
	});
	$e.addListener(li, 'mouseout', function(){
		$d.removeClass(this.getElementsByTagName('a')[0], 'over')
		if(this.getElementsByTagName('ul').length > 0){
			this.getElementsByTagName('ul')[0].style.display = 'none';
		}
	});

    //remove eventListener on level 2
	$e.removeListener($s.query('.wgMenu li li') , 'mouseover');
}

var showHideContact = function()
{
   if(document.getElementById('is_adherent'))
   {       
        if(document.getElementById('is_adherent').checked && !document.getElementById('is_not_adherent').checked)
        {
            $d.setStyle($s.query('.not_adh'), 'display', 'none');
            $d.setStyle($s.query('.adh'), 'display', 'block');
            updateIsAdherent();
            //document.getElementById('objet').innerHTML = '<option value="Renseignement sur contrat">Renseignement sur contrat</option><option value="Garanties">Garanties</option><option value="Documentation sur produit">Documentation sur produit</option><option value="Prestations en attente de remboursement">Prestations en attente de remboursement</option><option value="Difficultés techniques site web">Difficultés techniques site web</option><option value="Autre">Autre</option>';
        }
        if(!document.getElementById('is_adherent').checked && document.getElementById('is_not_adherent').checked)
        {
            $d.setStyle($s.query('.not_adh'), 'display', 'block');
            $d.setStyle($s.query('.adh'), 'display', 'none');
            updateIsNotAdherent();
            //document.getElementById('objet').innerHTML = '<option value="Demande de rendez-vous">Demande de rendez-vous</option><option value="Demande de devis personnalisé">Demande de devis personnalisé</option><option value="Documentation">Documentation</option><option value="Autre">Autre</option>';
       }
   }
}

var updateIsAdherent = function()
{
   if(document.getElementById('is_adherent'))
   {
        var oBlocObjet   = document.getElementById('bloc_objet');
        var oSelectObjet = document.getElementById('objet');
        oBlocObjet.removeChild(oSelectObjet);

        var oNewSelectObjet = document.createElement('select');
        oNewSelectObjet.setAttribute('id', 'objet');
        oNewSelectObjet.setAttribute('name', 'objet');

        var oOption = document.createElement('option');
        oOption.setAttribute('value', 'Renseignement sur contrat');        
        oOption.innerHTML = 'Renseignement sur contrat';
        oNewSelectObjet.appendChild(oOption);

        var oOption = document.createElement('option');
        oOption.setAttribute('value', 'Garanties');        
        oOption.innerHTML = 'Garanties';
        oNewSelectObjet.appendChild(oOption);

        var oOption = document.createElement('option');
        oOption.setAttribute('value', 'Documentation sur produit');        
        oOption.innerHTML = 'Documentation sur produit';
        oNewSelectObjet.appendChild(oOption);

        var oOption = document.createElement('option');
        oOption.setAttribute('value', 'Prestations en attente de remboursement');
        oOption.innerHTML = 'Prestations en attente de remboursement';
        oNewSelectObjet.appendChild(oOption);

        var oOption = document.createElement('option');
        oOption.setAttribute('value', 'Difficultés techniques site web');        
        oOption.innerHTML = 'Difficultés techniques site web';
        oNewSelectObjet.appendChild(oOption);
        
        var oOptionBis = document.createElement('option');
        oOptionBis.setAttribute('value', 'Reclamation');        
        oOptionBis.innerHTML = 'Réclamation';
        oNewSelectObjet.appendChild(oOptionBis);

        var oOption = document.createElement('option');
        oOption.setAttribute('value', 'Autre');        
        oOption.innerHTML = 'Autre';
        oNewSelectObjet.appendChild(oOption);

        oBlocObjet.appendChild(oNewSelectObjet);

        $d.setStyle($s.query('.not_adh'), 'display', 'none');
        $d.setStyle($s.query('.adh'), 'display', 'block');
   }
}

var updateIsNotAdherent = function()
{
    if(document.getElementById('is_not_adherent'))
    {
        var oBlocObjet   = document.getElementById('bloc_objet');
        var oSelectObjet = document.getElementById('objet');
        oBlocObjet.removeChild(oSelectObjet);

        var oNewSelectObjet = document.createElement('select');
        oNewSelectObjet.setAttribute('id', 'objet');
        oNewSelectObjet.setAttribute('name', 'objet');

        var oOptionBis = document.createElement('option');
        oOptionBis.setAttribute('value', 'Demande de rendez-vous');        
        oOptionBis.innerHTML = 'Demande de rendez-vous';
        oNewSelectObjet.appendChild(oOptionBis);

        var oOptionBis = document.createElement('option');
        oOptionBis.setAttribute('value', 'Demande de devis personnalisé');        
        oOptionBis.innerHTML = 'Demande de devis personnalisé';
        oNewSelectObjet.appendChild(oOptionBis);

        var oOptionBis = document.createElement('option');
        oOptionBis.setAttribute('value', 'Documentation');        
        oOptionBis.innerHTML = 'Documentation';
        oNewSelectObjet.appendChild(oOptionBis);

        var oOptionBis = document.createElement('option');
        oOptionBis.setAttribute('value', 'Autre');        
        oOptionBis.innerHTML = 'Autre';
        oNewSelectObjet.appendChild(oOptionBis);

        oBlocObjet.appendChild(oNewSelectObjet);

        $d.setStyle($s.query('.not_adh'), 'display', 'block');
        $d.setStyle($s.query('.adh'), 'display', 'none');
   }
}

var processGeolocSubmit = function()
{
//    oGeolocForm        = document.getElementById('geolocForm');
//    oGeolocInput       = document.getElementById('search_field');
//    oGeolocForm.setAttribute('action', oGeolocForm.getAttribute('action')+'/'+oGeolocInput.value);
//    oGeolocInput.value = '';
}

var flushNewPwd = function()
{
    document.getElementById('pwd').value = '';
    document.getElementById('new_pwd').value = '';
    document.getElementById('confirm_new_pwd').value = '';
}

var flushMailAlert = function()
{
    document.getElementById('alerte_mail_montant').value = '';
    document.getElementById('alerte_mail_adresse').value = '';
    document.getElementById('activation_alerte').removeAttribute('checked');
}

var displayModifMail = function(ev)
{    
    var tar = YAHOO.util.Event.getTarget(ev);    
    if (tar.tagName.toLowerCase() == 'a')
    {        
        var oForm = document.getElementById('edit_mail');
        oForm.style.display = 'block';
        document.getElementById('edit_mail').setAttribute('style', 'display:block');
    }
    YAHOO.util.Event.stopEvent(ev);
}

var submitRemboursements = function()
{
    document.getElementById('remboursementsForm').submit();
}

var submitRemboursementsByPagination = function(ev)
{
    var oLien = YAHOO.util.Event.getTarget(ev);
    console.log('oki');
    //console.log(oLien.getAttribute('name'));
    console.dir(document.getElementById('curent_page'));
    document.getElementById('curent_page').setAttribute('value', oLien.getAttribute('name'));
    console.log('doki');
    document.getElementById('remboursementsForm').submit();
}

//
$e.onDOMReady(function(){    	
    //console.dir(document.getElementsByClassName('yui-nav')[0]);
    
    new Menu();
    

    if(document.getElementById('tabcontent'))
    {
        var oTabView = new YAHOO.widget.TabView('tabcontent');
    }
    
    
	//ColorLine on table
	var tr = $s.query('table tbody tr')
	for(var i=0;i<tr.length; i++){
		if((i%2) == 0){
			$d.addClass(tr[i], 'light');
		}
	}

    //subViewProfile
    /*
    $e.addListener($s.query('#show_address a'), 'click', function(){
        document.getElementById('show_address').style.display = 'none';
        document.getElementById('edit_address').style.display = 'block';
    });
    $e.addListener($s.query('#show_tel a'), 'click', function(){
        document.getElementById('show_tel').style.display = 'none';
        document.getElementById('edit_tel').style.display = 'block';
    });
     */


    $e.addListener($s.query('#contactForm .radio'), 'click', showHideContact);

    if(document.getElementById('geolocForm'))
    {
        $e.addListener($s.query('#search_field'), 'change', processGeolocSubmit);
    }

    if(document.getElementById('alert_annuler'))
    {
        $e.addListener($s.query('#alert_annuler'), 'click', flushMailAlert);
    }

    if(document.getElementById('pwd_annuler'))
    {
        $e.addListener($s.query('#pwd_annuler'), 'click', flushNewPwd);
    }

    if(document.getElementById('show_mail'))
    {        
        $e.addListener($s.query('#show_mail'), 'click', displayModifMail);        
    }

    if(document.getElementById('remb_select_decompte'))
    {
        $e.addListener($s.query('#remb_select_decompte'), 'change', submitRemboursements);
    }

    if(document.getElementById('remb_select_benef'))
    {
        $e.addListener($s.query('#remb_select_benef'), 'change', submitRemboursements);
    }

    if(document.getElementById('pagination'))
    {
        $e.addListener($s.query('#pagination a'), 'click', submitRemboursementsByPagination);
    }

    if(document.getElementById('is_adherent'))
    {
        $e.addListener($s.query('#is_adherent'), 'click', updateIsAdherent);
    }

    if(document.getElementById('is_not_adherent'))
    {
        $e.addListener($s.query('#is_not_adherent'), 'click', updateIsNotAdherent);
    }

    //FAQ
    var dd = $s.query('.wgFaq dd');
    var dt = $s.query('.wgFaq dt');
    $d.setStyle(dd, 'display', 'none');
    $e.addListener(dt, 'click', function(){
        for(var i=0; i<dt.length; i++){
            if(dt[i]==this){
                if($d.getStyle(dd[i], 'display') == 'none') $d.setStyle(dd[i], 'display', 'block')
                else $d.setStyle(dd[i], 'display', 'none');
            }
        }
    });

    showHideContact();
});
