//require statements
// Réinitialisation des enregistrements
//dojo.require("dojo.io.*");
dojo.require("dojo.dom");
//dojo.require("dojo.html.*");
//dojo.require("dojo.html.display");
//dojo.require("dojo.dnd.*");
dojo.require( "dojo.widget.FloatingPane" );
//dojo.require( "dojo.widget.ResizeHandle" );
//dojo.require( "dojo.widget.ComboBox" );
//dojo.require("dojo.debug.console");
//dojo.require("dojo.lang.*");
//Ldojo.require("dojo.lfx.*");
//all dojo.require above this line
// dojo.hostenv.writeIncludes(); //makes debugging in Venkman possible

function clear(){}

//--fonction qui calcule la postion de la souris par rapport a l'image 
//-- cette fonction ne tient pas en compte le scrollbar
//---------------------------------------------------------------------------------
function  cooRecompute(obj,ev){
    var Xdoc , Ydoc ;
    Xdoc  = document.body.scrollLeft + ev.clientX ;
    Ydoc  = document.body.scrollTop +  ev.clientY ;
        
    while(obj){
        Xdoc -= obj.offsetLeft ;
        Ydoc -= obj.offsetTop ;
        obj = obj.offsetParent ; 
    } 
    return ([Xdoc,Ydoc]);
}

//---------------------------------------------------------------------------------------------
function cooDisplay(obj, ev,target1,target2,target3){
    var xy  = new Array();
    var xy1 = new Array();
    var lb  = new Array();
    RaDecs = new Array();
    var radec = new Array();
    var radecE = new Array();
    var sign ="-";

    xy = cooRecompute(ev ,obj);
    lb = Aitoffprojection(xy[0],xy[1]);
    radec=test(lb);
    
    if (lb[1]!=""){
        cooString1 =  
        sprintf(" <i> l = </i> &nbsp;%s<br><i>b</i>=&nbsp;%s",radec[4],radec[5]);
        document.getElementById(target1).innerHTML ="Target :<br>"+cooString1 ;
        cooString3 =
          sprintf("<i>ra = </i>&nbsp;%s<br><i>dec</i>=&nbsp;%s",radec[0],radec[1]);
       document.getElementById(target3).innerHTML =cooString3 ;
    }
}

//---------------------------------------------------------------------------------------------------
function positionSouris(obj,ev){
    var Xfen, Xdoc , Yfen , Ydoc ,el;
    var Xfenhtml, Yfenhtml , Xdochtml,Ydochtml,scrolLefthtml, scrolTophtml;
    var Xdif ;
    var Ydif;
    var scrolTop ,scrolLeft;
    
    if(obj){
        if(obj.offsetParent){
            Xdif =obj.offsetLeft;
            Ydif =obj.offsetTop;
            while(obj=obj.offsetParent){
                Xdif += obj.offsetLeft;
                Ydif += obj.offsetTop;
            }
        } 
    }

    // coordonnes X
    //-- il y a un décalage de 2 pixel en X 
                        
    Xfen =ev.clientX;
                       
    Xdoc = Xfen -Xdif ;
    // Xdif = document.body.scrolleft -ob.firstChild.nodeValue.offsetLeft;
    
    // coordonnes Y 
    //-- il y a un décalage de 2 pixel en Y  
                        
    Yfen =ev.clientY;
    Ydoc = Yfen - Ydif  ;
    // Ydif = document.body.scrollTop- obj.offsetTop ;
                        
    scrolTop  = document.body.scrollTop;
    scrolLeft = document.body.scrollLeft;
    var Xdoc1 = Xdoc+scrolLeft;
    var Ydoc1 = Ydoc+scrolTop ;
                        
    //------------------------------------------------------
    //--faire la modification avec dojo pour simplifier
    //-- affichage des coordonnes
    //-- Xdoc & Y Ydoc position (x,y) de la souris sur l'image 
    //-- Xdoc 
    //-------------------------------------------------------------
    
    //-- Retour des positions
    return([Xdoc1, Ydoc1,Xfen,Yfen,scrolLeft,scrolTop]);
}


//----------------------------------------------------------------
var mouses ;
var RaDec ;





//----------------------------------------------------------------
function attenteResultat(ev,obj)
{
    mouses = new Array();
    mouses = positionSouris(obj,ev);
    xx  = mouses[0] ;
    yy  = mouses[1] ;
    xF  = mouses[2];
    yF  = mouses[3];
    xSl = mouses[4];
    ySt = mouses[5]; 
    if (dojo.dom.isNode(document.getElementById("divaa"))){
        document.body.removeChild(document.getElementById("divaa"));
    }
    if (dojo.dom.isNode(document.getElementById("divIE"))){
         document.body.removeChild(document.getElementById("divIE"));    
    }
    var RaDecs = new Array();
    RaDecs=Aitoffprojection(xx,yy);
                
    if (dojo.dom.isNode(document.getElementById("info"))){
        var comps = dojo.widget.byId("info");
        comps.destroy();
    } 
    
    var comp ;
                
    if(RaDecs[0]==-1){return 0 ;}
        //----pour internet explorer IE 6
    if (document.all && !window.opera) { 
        var divIE = document.createElement("div");
        divIE.setAttribute("id","divIE");
        divIE.style.setAttribute("cssText","position:absolute;height:34; width:20;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='marker.png', sizingMethod='scale')");
        divIE.style.cursor = "crosshair";
        divIE.style.top = yF+ySt-36+"px";
        divIE.style.left=xF+xSl-10+"px";
        divIE.onclick=function(){
            if (dojo.dom.isNode(document.getElementById("divIE"))){
                document.body.removeChild(document.getElementById("divIE"));}}; 
        document.body.appendChild(divIE);}
        
    else{
        //-----------------------------------------------------------    
        var divaa = document.createElement("div");
        divaa.setAttribute("id","divaa");
        divaa.setAttribute("onclick","supprimerMarker()");
        divaa.style.cursor = "crosshair";
        divaa.style.position="absolute";

        /*dojo.debug("------------------------");
        dojo.debug("yF : "+yF+"yST : "+ySt);
        dojo.debug("xF : "+xF+"xST : "+xSl);
        dojo.debug("test somme :"+ yF+ySt);
        dojo.debug("test somme :"+ xF+xSl);
        dojo.debug("-----------------------------");*/
        
        divaa.style.top = yF+ySt-36+"px";
        divaa.style.left=xF+xSl-10+"px"; 
        var imga = new Image();
        imga.src ="marker.png";
        divaa.appendChild(imga); 

        document.body.appendChild(divaa);
    }
    
    var radesc = new Array();
    radecs =test(RaDecs);
        
    var diva = document.createElement("div");
    diva.setAttribute("id","diva");
    document.body.appendChild(diva);
         
    //-----------------------------------------------------
    //ici on va creer le marqueur de la postion 
    //--------------------------------------------------------------------

    diva.style.left = xF +xSl+10+"px";
    diva.style.top  = yF +ySt-10+"px";

    diva.style.height = 310 + "px";
    diva.style.width = 550 + "px";
                
    var oFragment = document.createDocumentFragment();
    var Img = new Image(); 
    var divAttente     = document.createElement("div");
    divAttente.id ='divAttent';
    divAttente.style.position="absolute";
    divAttente.style.left =275 +"px";
    divAttente.style.top =155 +"px";
    Img.src='blue.gif';
    divAttente.appendChild(Img);
         
    var breaker1 = document.createElement("br"); 
    oFragment.appendChild(breaker1);
    var TBODY = document.createElement ("tbody");
            var tr1 = document.createElement("TR");
    //tr1.setAttribute("BGCOLOR","#00FF00");
    tr1.style.color="#0a246a";
    tr1.style.font="bold 14px tahoma";
    var tdd = document.createElement("TD");
    var ra = (parseInt(RaDecs[0]*100)/100);      
    var tdd_text_name = "l :"+ra;
    tdd_text_name = document.createTextNode(tdd_text_name);
    tdd.appendChild(tdd_text_name);
    tr1.appendChild(tdd);
    var tdd2 = document.createElement("TD"); 
    var dec = (parseInt(RaDecs[1]*100)/100)     
    var tdd_text_name2 =  "b :"+dec;
    tdd_text_name2 = document.createTextNode(tdd_text_name2);
    tdd2.appendChild(tdd_text_name2);
    tr1.appendChild(tdd2);
    
    //--------------------------------------
    var tr12 = document.createElement("TR");
    tr12.style.color="#0a246a";
    tr12.style.font="bold 14px tahoma";
    var td1 = document.createElement("TD");
    var tdd_text_name1 = "ra :"+parseInt(radecs[2]*100)/100;
    tdd_text_name1 = document.createTextNode(tdd_text_name1);
    td1.appendChild(tdd_text_name1);
    tr12.appendChild(td1);
    var td2 = document.createElement("TD"); 
    var dec = (parseInt(RaDecs[1]*100)/100)     
    var td_text_name =  "dec :"+parseInt(radecs[3]*100)/100;
    td_text_name = document.createTextNode(td_text_name);
    td2.appendChild(td_text_name);
    tr12.appendChild(td2);
    var table1  = document.createElement("TABLE");
         
             
        
        TBODY.appendChild(tr12);
        TBODY.appendChild(tr1);
        table1.appendChild(TBODY); 
        table1.setAttribute("border","2");
        table1.setAttribute("BORDERCOLOR","#0a246a");
        table1.setAttribute("CELLPADDING","2");
        table1.setAttribute("CELLSPACING","5");
        oFragment.appendChild(table1);
        oFragment.appendChild(divAttente);
        diva.appendChild(oFragment);
                
        
        var prop= {
                        id : "info" ,
                    title:"Catalogues around this target",
                   constrainToContainer :"true",
                    hasShadow:true, 
                    resizable:true,
            
            
                    displayMaximizeAction:true,
                    displayCloseAction:true,
                    iconSrc:"/vizier/vizier_icon.gif"
        };
        comp = dojo.widget.createWidget("FloatingPane",prop,diva);
    
    //------------------------
    dojo.io.bind({
        url : "/viz-bin/vizmine.exe/-vmine.limit=5,5:987,493/-c.u=arcmin/-c.r=15/-c.eq=G/-vmine.out=xml?"+xx+","+yy,
        method :"get" ,
        sync : false,
        mimetype: "text/xml",
        transport : "XMLHTTPTransport",
        handle: function(type, data,http){
                    if (type == 'error')
                    { 
                        alert('Error when retrieving data from the server!');
                    }else{
                        var oFragment1 = document.createDocumentFragment();
                        var ra1 = http.responseXML.getElementsByTagName("VMINE").item(0).getElementsByTagName("RA")[0].firstChild.nodeValue;
                        var dec1 = http.responseXML.getElementsByTagName("VMINE").item(0).getElementsByTagName("DEC")[0].firstChild.nodeValue ;

                        var tr = document.createElement("TR");
                        var td = document.createElement("TD");    
                        var text_name = "RAG :"+ra1;
                        text_name = document.createTextNode(text_name);
                        td.appendChild(text_name);
                        tr.appendChild(td);
                        var td1 = document.createElement("TD");     
                        var text_name1 =  "DECG :"+dec1;
                        text_name1 = document.createTextNode(text_name1);
                        td1.appendChild(text_name1);
                        tr.appendChild(td1);
                        var table  = document.createElement("TABLE");
                        oFragment1.appendChild(table1);             
                        
                        //---ici on doit afficher notre information ;
                        // en range les informations dans notre tableau 
                        for(var i= 0 ;i <  http.responseXML.getElementsByTagName("VMINE").item(0).getElementsByTagName("CAT").length;i++)
                        {
                            var td_text_name1 = http.responseXML.getElementsByTagName("VMINE").item(0).getElementsByTagName("CAT")[i].firstChild.nodeValue;

                            var aResultLink = document.createElement("a");
                            var source =http.responseXML.getElementsByTagName("VMINE").item(0).getElementsByTagName("CAT")[i].getAttribute("name") ;
                            var ral=ra;
                            var decb=dec;
			    if( decb>0 ) {
                            	aResultLink.href = "/viz-bin/VizieR?-source="+source+"&-c="+ral+"%2B"+decb+"&-c.eq=Gal&-c.rm=15";
		            }
			    else {
                            	aResultLink.href = "/viz-bin/VizieR?-source="+source+"&-c="+ral+"%20"+decb+"&-c.eq=Gal&-c.rm=15";
		            }
                            aResultLink.className = "ajaxSearchLink";
                            aResultLink.target="_new";
                            aResultLink.appendChild(document.createTextNode(td_text_name1));
                            oFragment1.appendChild(aResultLink);
                        }

                        //-----------------------------------------
                        diva.appendChild(oFragment1);
                        dojo.dom.removeNode(divAttente);
                        
                        //-----------------------------------------
                        var p ={
                            layoutAlign:"left"};
                            var cp =dojo.widget.createWidget("ContentPane",p,diva);
                            comp.addChild(cp);
                            // dojo.byId("emplacement").innerHTML =http.responseText.split("\n");
                        }},
        timeoutSeconds: 5,
        timeout: function(){
            alert("Got a timeout");
        }              
    });
}
    
//-------------------------------------------------------
//------------------------------------------------------
dojo.addOnLoad(function(){
    clear();
});
