﻿// Fichier JScript
var opac=0;
var timehide;
var timedisp;
var current_id=0;
var undefined;
var current_id_news=0;
var current_ecran_news=0;
var currentPos=0;
var timemove="";
var hide_pub=false;

function file(fichier){
    if(window.XMLHttpRequest) // FIREFOX
        xhr_object = new XMLHttpRequest(); 
     else if(window.ActiveXObject) // IE
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
     else 
          return(false); 
     xhr_object.open("GET", fichier, false); 
     xhr_object.send(null); 
     if(xhr_object.readyState == 4) return(xhr_object.responseText);
     else return(false);
}

function modif_medic(id_traitement_dossier,mod_nom_medic,mod_date_deb,mod_date_fin,mod_regularite,mod_frequence,mod_forme,mod_posologie,mod_cis){
    document.getElementById('id_traitement_dossier').value=id_traitement_dossier;
    document.getElementById('nom_medic').value=mod_nom_medic;
    document.getElementById('date_deb').value=mod_date_deb;
    document.getElementById('date_fin').value=mod_date_fin;
    document.getElementById('forme').value=mod_forme;
    document.getElementById('regularite').value=mod_regularite;
    document.getElementById('frequence').value=mod_frequence;
    document.getElementById('submit_ajax').style.display='inline';
    document.getElementById('CIS').value=mod_cis;
    if(mod_regularite==2){
        document.getElementById('ligne_freq').style.display='inline';
        document.getElementById('ligne_poso').style.display='none';
    }
    else{
        document.getElementById('ligne_freq').style.display='none';
        document.getElementById('ligne_poso').style.display='inline';
    }
    if(mod_posologie & 1)
        document.getElementById('poso_1').checked=true;
    if(mod_posologie & 2)
        document.getElementById('poso_2').checked=true;
    if(mod_posologie & 4)
        document.getElementById('poso_4').checked=true;

}

function save_ajax_medic(action,id_traitement_dossier){
    if(document.getElementById('nom_medic').value=="" && action==undefined){
        alert("Veuillez indiquer le nom du médicament");
    }
    else{
        if(window.XMLHttpRequest) // FIREFOX
            xhr_object = new XMLHttpRequest(); 
         else if(window.ActiveXObject) // IE
            xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
         else 
              return(false); 
         xhr_object.open("POST", "ajax_traitement_dossier.aspx" ,true); 
         
         var datas="";
         var poso=0;
         if(action=="delete"){
            datas += "action=delete";
            datas += "&id_traitement_dossier=" + id_traitement_dossier ;
            datas +="&ref_question=" + document.getElementById('ref_question_traitement').value ;
         }
         else{
             for (var i = 0; i < document.getElementsByName("posologie").length; i++){
                if (document.getElementsByName("posologie")[i].checked){
                    poso+=parseInt(document.getElementsByName("posologie")[i].value);
                }
             }

             datas += "nom_medic=" + document.getElementById('nom_medic').value ;
             datas +="&date_deb=" + document.getElementById('date_deb').value ;
             datas +="&date_fin=" + document.getElementById('date_fin').value ;
             datas +="&regularite=" + document.getElementById('regularite').value ;
             datas +="&frequence=" + document.getElementById('frequence').value ;
             datas +="&forme=" + document.getElementById('forme').value ;
             datas +="&posologie=" + poso ;
             datas +="&ref_question=" + document.getElementById('ref_question_traitement').value ;
             datas +="&CIS=" + document.getElementById('CIS').value ;
             datas +="&id_traitement_dossier=" + document.getElementById('id_traitement_dossier').value ;
         }
   
         xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         xhr_object.setRequestHeader("Content-length", datas.length);
         xhr_object.setRequestHeader("Connection", "close");
         
         xhr_object.onreadystatechange = function() {//Call a function when the state changes.
	        if(xhr_object.readyState == 4 && xhr_object.status == 200) {
		        document.getElementById('traitement_dossier').innerHTML=xhr_object.responseText;
	            document.getElementById('nom_medic').value='';
	            document.getElementById('date_deb').value='';
	            document.getElementById('date_fin').value='';
	            document.getElementById("forme").options[0].selected=true;
	            document.getElementById("frequence").options[0].selected=true;
	            document.getElementById("regularite").options[0].selected=true;
	            document.getElementById('submit_ajax').style.display='none';
	            document.getElementById('CIS').value='';
	            document.getElementById('id_traitement_dossier').value=0;
	            for (var i = 0; i < document.getElementsByName("posologie").length; i++){
                    document.getElementsByName("posologie")[i].checked=false;
                }
                document.getElementById('ligne_freq').style.display='none';
                document.getElementById('ligne_poso').style.display='inline';
	        }
        }
         
        xhr_object.send(datas); 
    }
}

function check(id_question){
    if(avis_medecin[id_question]!=""){
        alert(avis_medecin[id_question]);
    }
    if(document.getElementById('question_'+id_question).checked){
        document.getElementById('image_'+id_question).className='question_false';   
        document.getElementById('question_'+id_question).checked=false;
        display(id_question,false);
    }
    else{
        document.getElementById('image_'+id_question).className='question_true';  
        document.getElementById('question_'+id_question).checked=true;
        display(id_question,true);
        if(document.getElementById('question_'+id_question).type=='radio'){
            var name=document.getElementById('question_'+id_question).name;
            for(i=0;i<document.getElementsByName(name).length;i++){
                if(document.getElementsByName(name)[i].value!=id_question && name==document.getElementsByName(name)[i].name){   //on doit tester name car IE prend en compte l'id au lieu du nom...
                    document.getElementsByName(name)[i].checked=false;
                    //alert(document.getElementsByName(name)[i].value);
                    document.getElementById('image_'+document.getElementsByName(name)[i].value).className='question_false';
                    display(document.getElementsByName(name)[i].value,false);
                }
            }
        }
    }
}

function display(id_question,cond){
    document.getElementById('auto_valid').value=1;
    id_question=id_question.replace("question_","");
    if(document.getElementById('filles_'+id_question)){
        if(cond){
            document.getElementById('filles_'+id_question).style.display='inline';
        }
        else{
            document.getElementById('filles_'+id_question).style.display='none';
        }
     }
     if(cond){
        if(avis_medecin[id_question]!=undefined){
            display_avis(id_question);
        }
      }
      else{
        if(avis_medecin[id_question]!=undefined){
            document.getElementById("quest_comp_" + id_question).innerHTML='&nbsp;';
         }
      }
}

function disp_effect(id_element){
    opac=0;
    changeOpac(id_element);
    document.getElementById(id_element).style.display='inline';
    display_opacity(id_element);
}

function disp_avis(id_question){
    if(avis_medecin_tranche[id_question]!=undefined){
        valeur=document.getElementById(id_question).value;
        for(i=0;i<avis_medecin_tranche[id_question].length;i++){
            if(valeur>=avis_medecin_tranche[id_question][i].valeur_min && valeur<avis_medecin_tranche[id_question][i].valeur_max){
                avis=avis_medecin_tranche[id_question][i].commentaire;
            }
        } 
    }
    else{
        avis=avis_medecin[id_question];
    }
    if(id_question==3845){
        t=document.getElementById(2349).value/100;
        p=document.getElementById(2350).value;
        if(valeur>=25){
            p_ideal=24.9 * t * t;
            p_varie='' + (p-p_ideal);
            avis+="<br />Selon les normes de l'IMC, vous avez "+p_varie.substr(0,4)+" kg en trop";
            
        }
        else if(valeur<18.5){
            p_ideal=18.5 * t * t;
            p_varie='' + (p_ideal-p);
            avis+="<br />Selon les normes de l'IMC, il vous manque "+p_varie.substr(0,4)+" kg"     
        }
    }
    document.getElementById('disp_avis_medecin').innerHTML=avis;
    document.getElementById('disp_avis_table').style.top=y+'px';
    disp_effect('disp_avis_table');
}

function display_avis(id_question){
    //alert('toto');
    document.getElementById("quest_comp_" + id_question).innerHTML="<a href=\"#\" id=\"avis_"+id_question+"\" onClick=\"disp_avis("+id_question+");return false;\"><img src=\"/img/opinion_s.jpg\" border=\"0\"></a>";
    disp_effect("quest_comp_"+id_question);
}

function check_radio(name,value){
    for(i=0;i<document.getElementsByName(name).length;i++){
        if(document.getElementsByName(name)[i].value==value){
            document.getElementsByName(name)[i].checked=true;
            display(value,true);
        }
        else{
            display(document.getElementsByName(name)[i].value,false);
        }
    }
    return false;
}

function display_form(){
    if(document.getElementById('form_ajout_media').style.display=='inline'){
        document.getElementById('form_ajout_media').style.display='none';
        document.getElementById('valide_bt').style.display='none';
    } 
    else{
        document.getElementById('form_ajout_media').style.display='inline';
        document.getElementById('valide_bt').style.display='inline';
    }      
}
function display_aide(id){
    document.getElementById('aide_div').innerHTML=document.getElementById(id).innerHTML;
    disp_effect('aide_div');
    document.getElementById('aide_div').style.top=(y-250)+'px';
    /*if(id!=current_id && current_id!=0){
        document.getElementById(current_id).style.display='none';
        clearTimeout(timedisp);
        opac=0;
    }
    if(current_id==id){
        clearTimeout(timehide);
    }
    document.getElementById(id).style.display='inline';
    display_opacity(id,false);
    current_id=id;*/
}

function hide_aide(id){
    //document.getElementById(id).style.display='none';
    hide_opacity('aide_div');
}

function display_opacity(id_element){
	clearTimeout(timehide);
	if(opac<100){
		opac+=10;
		if(opac>100)
		opac=100;
		changeOpac(id_element);
		timedisp=setTimeout("display_opacity('"+id_element+"')",40);
	}
}	 

function hide_opacity(id_element){
	clearTimeout(timedisp);
	if(opac==0){
		document.getElementById(id_element).style.display='none';
	}
	else{
		opac-=10;
		if(opac<0) opac=0;
		changeOpac(id_element);
		timehide=setTimeout("hide_opacity('"+id_element+"')",20);
	}
}

function changeOpac(id) {
    var object = document.getElementById(id).style;
    object.opacity = (opac / 100);
    object.MozOpacity = (opac / 100);
    object.KhtmlOpacity = (opac / 100);
    object.filter = "alpha(opacity=" + opac + ")";
}

function verif_data_type(id,data_type){
    document.getElementById('auto_valid').value=1;
    if(avis_medecin_tranche[id]!=undefined && document.getElementById("quest_comp_" + id).innerHTML=="&nbsp;"){
       display_avis(id);
    }
    if(document.getElementById(id).value!=''){
        if(id=="2349" || id=="2350" || id=="3845"){
            if(document.getElementById(2349).value!="" && document.getElementById(2350).value!=""){
                p=document.getElementById(2350).value;
                t=document.getElementById(2349).value/100;
                document.getElementById(3845).value=p/(t*t);
                document.getElementById(3845).value=document.getElementById(3845).value.substr(0,5);
                if(document.getElementById("quest_comp_3845").innerHTML=="&nbsp;"){
                    display_avis(3845);
                }
            }
        } 
        valeur=document.getElementById(id).value;
        switch(data_type){
            case 2:
                //nombre
                exp=new RegExp("^([,\.0-9]+)$");
                if(!exp.test(valeur)){
                    alert("Ce champ doit contenir une valeur numérique");
                    document.getElementById(id).className='error_field';
                    document.getElementById(id).focus();
                }
                else{
                    document.getElementById(id).className='normal_field';
                }
                break;
            case 3:
                //jj/mm/aaaa
                exp=new RegExp("^([0-9]{2})/([0-9]{2})/([0-9]{4})$");
                tab=valeur.split("/");
                if(!exp.test(valeur) || tab[0]>31 || tab[1]>12 || tab[2]>2050 || tab[2]<1910){
                    alert("Veuillez indiquer une date au format jj/mm/aaaa");
                    document.getElementById(id).className='error_field';
                    document.getElementById(id).focus();
                }
                else{
                    document.getElementById(id).className='normal_field';
                }
                break;
            case 4:
                //mm/aaaa
                exp=new RegExp("^([0-9]{2})/([0-9]{4})$");
                exp2=new RegExp("^([0-9]{2})/([0-9]{2})/([0-9]{4})$");
                tab=valeur.split("/");
                if(!exp.test(valeur) || tab[0]>12 || tab[1]>2050 || tab[1]<1910){
                    exp=new RegExp("^([0-9]{4})$");
                    if(!exp2.test(valeur) && !exp.test(valeur) || valeur>2050 || valeur<1910){
                        alert("Veuillez indiquer une date au format mm/aaaa ou aaaa");
                        document.getElementById(id).className='error_field';
                        document.getElementById(id).focus();
                    }
                    else{
                        document.getElementById(id).className='normal_field';
                    }
                }
                else{
                    
                }
                break;
            case 5:
                //aaaa
                exp=new RegExp("^([0-9]{4})$");
                if(!exp.test(valeur) || valeur>2050 || valeur<1910){
                    alert("Ce champ doit contenir une année");
                    document.getElementById(id).className='error_field';
                    document.getElementById(id).focus();
                }
                else{
                    document.getElementById(id).className='normal_field';
                }
                break;
        }
    }
}

function disp_news(num_news){
    if(num_news!=current_id_news){
        if(num_news<4 && document.getElementById('news_'+num_news))
            document.getElementById('news_'+num_news).className='small_news_selected';
        if(current_id_news<4 && document.getElementById('news_'+current_id_news))
            document.getElementById('news_'+current_id_news).className='small_news';
        current_id_news=num_news;
        document.getElementById('current_news').innerHTML=document.getElementById('hidden_news_'+num_news).innerHTML;
    }
}

function next_ecran_news(cond){
    //moveElement(document.getElementById("table_disp_news"),500,50);
    /*document.getElementById('ecran_news_'+current_ecran_news).style.display='none';
    disp_effect("ecran_news_" + (current_ecran_news+1));
    current_ecran_news+=1;*/

    min=parseInt(document.getElementById('min_disp').innerHTML);
    max=parseInt(document.getElementById('max_disp').innerHTML);
    total=parseInt(document.getElementById('total_disp').innerHTML);

   
    if(timemove=="") {//permet de ne pas relancer le timer s'il n'est pas termine
        if(cond){
            if(min+10<=total){
                document.getElementById('min_disp').innerHTML=min+10;
                if(max+10<=total){
                    document.getElementById('max_disp').innerHTML=max+10; 
                }
                else{
                    document.getElementById('max_disp').innerHTML=total;
                }
            }
            timemove=setInterval("moveElement(" + cond + "," + (currentPos + 500) + ",25);",20);
        }
        else{
           if(min-10>=1){
                document.getElementById('min_disp').innerHTML=min-10;
                document.getElementById('max_disp').innerHTML=max-10;
            }
            timemove=setInterval("moveElement(" + cond + "," + (currentPos - 500) + ",25);",20);
        }
	}

}

function moveElement(cond,maxMove,speed) {
    if(cond){
        if(currentPos+speed < maxMove){
            document.getElementById('bloc_news_2').scrollLeft+=speed;
            currentPos+=speed;
        }
        else{
            document.getElementById('bloc_news_2').scrollLeft=maxMove;
            currentPos=maxMove;
            clearInterval(timemove);
            timemove="";
        }
    }
    else{
        if(currentPos-speed > maxMove){
            document.getElementById('bloc_news_2').scrollLeft-=speed;
            currentPos-=speed;
        }
        else{
            document.getElementById('bloc_news_2').scrollLeft=maxMove;
            currentPos=maxMove;
            clearInterval(timemove);
            timemove="";
        }
    }
}

function disp_connect_message(cond){
    if(cond)
        document.getElementById('header_context_message').innerHTML=" &nbsp;Ouvrez un dossier pour avoir accès à ce service";
    else
        document.getElementById('header_context_message').innerHTML="";    
}

function disp_link_header(start,end,cond){
    for(i=start;i<=end;i++){
        if(cond)
            document.getElementById('headerUC_link_header_'+i).className=document.getElementById('headerUC_link_header_'+i).className.replace(" transparent","")
        else
            document.getElementById('headerUC_link_header_'+i).className +=" transparent"
    }
}    
    
function check_medic(medic,caller,receiver){
    if(medic.length>2){
        document.getElementById('CIS').value='';
        text=file("ajax_get_medicament.aspx?medic=" + medic + "&caller=" + caller + "&receiver=" + receiver);
        document.getElementById(receiver).innerHTML=text;
        if(text.length>0)
            document.getElementById(receiver).style.display='inline';
    }
}
