﻿


function Cursor_SetPos( Obj, pos_){

   if( Obj){

     Obj.focus();

     if( typeof Obj.selectionStart != "undefined"){

       Obj.setSelectionRange( pos_, pos_);

     }

     else{ // IE and consort

       var Chaine = Obj.createTextRange();

       Chaine.moveStart('character', pos_);

       //-- Deplace le curseur

       Chaine.collapse();

       Chaine.select();

     }

     //-- Retour valeur Reelle placee

     return( Cursor_GetPos( Obj, pos_));

   }

 }

 //----------------------------------

 function Cursor_GetPos( Obj, pos_){

  

   if( Obj){

     if(typeof Obj.selectionStart != "undefined")

       return Obj.selectionStart;

     else{ // IE and consort

       Obj.focus();

       var szMark = "~~";

       var Chaine = Obj.value;

       //-- Cree un double et insert la Mark ou est le curseur

       var szTmp = document.selection.createRange();

       szTmp.text = szMark;

       //-- Recup. la position du curseur

       var PosDeb = Obj.value.search(szMark);

       //-- Restaure valeur initiale

       Obj.value = Chaine;

       Chaine = Obj.createTextRange();

       //-- Deplace le Debut de la chaine

       Chaine.moveStart('character', PosDeb);

       //-- Deplace le curseur

       Chaine.collapse();

       Chaine.select();

       return( PosDeb);

     }

   }

 }

 //------------------------------------

 function Cursor_AddTexte(Obj, txt_){

 

   if( Obj){

     //-- Focus sur Objet

     Obj.focus();

     if( typeof Obj.selectionStart != "undefined"){

       //-- Position du curseur

       var PosDeb = Obj.selectionStart;

       var PosFin = Obj.selectionEnd;

       //-- Recup. des Chaines

       var Chaine = Obj.value;

       var szAvant = Chaine.substring( 0 , PosDeb);

       var szApres = Chaine.substring( PosFin, Obj.textLength );

       //-- Recup. texte selectionne

       var szSelect = Chaine.substring( PosDeb, PosFin);

       //-- Insertion du texte

       Obj.value = szAvant + txt_ + szApres;

       //-- Replace le curseur

       Obj.setSelectionRange( szAvant.length + txt_.length, szAvant.length + txt_.length );

       //-- Replace le Focus

       Obj.focus();

     }

     else{ // IE and consort

       //-- Recup. de la selection

       var szSelect = document.selection.createRange().text;

       //-- Si du Texte est selectionne

       if( szSelect.length>0){

         var Chaine = document.selection.createRange();

         Chaine.text = txt_;

         Chaine.collapse();

         Chaine.select();

       }

       else{

         var Chaine = Obj.value;

         var szMark ="~~";

         //-- Cree un double et insert la Mark ou est le curseur

         var szTmp = document.selection.createRange().duplicate();

         szTmp.text = szMark;

         //-- Recup. la position du curseur

         var PosDeb = Obj.value.search(szMark);

         //-- Recup. des Chaines

         var szAvant = Chaine.substring( 0 , PosDeb);

         var szApres = Chaine.substring( PosDeb, Obj.textLength );

         //-- Insertion du texte

         Obj.value = szAvant + txt_ + szSelect + szApres;

         //-- Repositionne le curseur

         PosDeb += txt_.length;

         //-- Recup de la Chaine

         Chaine = Obj.createTextRange();

         //-- Deplace le Debut de la chaine

         Chaine.moveStart('character', PosDeb);

         //-- Deplace le curseur

         Chaine.collapse();

         Chaine.select();

       }

     }

   }

 }

function noEnter(e,obj)

{



            var characterCode;

            if(e && e.which)
            {

                        e = e;
                        characterCode = e.which;

            }
            else
            {

                        e = event;
                        characterCode = e.keyCode;

            }           

            if(characterCode == 13) 
            { 

                        e.cancelBubble = true;

                        obj.value += "\n";
                        //alert(obj.value.length);
                        Cursor_SetPos(obj,obj.value.length+1)
                        return false
            

            }

            else {
                   return true;
            }

}

// javascript:place_transfer_img('img_photo_trans','img_photo');
function place_transfer_img(src, dest){
    //alert( getOffsetLeft(document.getElementById(dest), true) + 'px' );
    //alert( getOffsetTop(document.getElementById(dest), true) );
    //alert( getOffsetLeft(document.getElementById(src), true) );
    alert( getOffsetLeft(document.getElementById(src)) );
    alert( getOffsetLeft(document.getElementById(dest)) );
    alert( document.getElementById(dest).offsetWidth );


    document.getElementById(src).style.position = 'absolute';
    document.getElementById(src).style.left = getOffsetLeft(document.getElementById(dest)) - document.getElementById(dest).offsetWidth + 'px';
    alert( document.getElementById(src).style.left );
    //e = document.getElementById(src);
    //e.style.position    = 'absolute';
    //e.style.left        = getOffsetLeft(document.getElementById(dest), true) + 'px';
    //e.style.top         = getOffsetTop( document.getElementById(dest), true) + 'px';
//alert( e.style.left );

}

function getOffsetTop(element, deep) {
   return getOffsetProperty(element, 'Top', deep);
}

function getOffsetLeft(element, deep) {
   return getOffsetProperty(element, 'Left', deep);
}

function getOffsetProperty(element, property, deep) {
   var offsetValue = 0;
   offsetProperty = 'offset' + property;
   
   do {
      offsetValue += element[offsetProperty];
      element = element.offsetParent;
   } while (deep == true && element != document.body && element != null);
   return offsetValue;
}



