/**
* akeditable-  in place editor
* author: Amit Kumar Singh
 *  Based on jeditable by Mika Tuupola, Dylan Verheul
 *  http://www.appelsiini.net/projects/jeditable
**/
/**
  * Version 1.0.0
  *  @param String  url             POST URL  to send edited content to.
  *  @param String  element_id      Element ID of the element that you want to convert to editable area.
  *  @param Hash  settings  option to be used. options are type:(  textarea, text), name:(name of the textare to be used  it has to be same as element_id) ,width,height, submit:( name of the submit button to show)
  *   
  **/
/*
 onclick="akedit('ajax.php?mode=eg2','usercomment2',
        {
        type:   'textarea',
        name:   'usercomment2',
        width:  '232px',
        height: '80px',
        submit: 'save'
        });

*/
function akedit(url,element_id,settings)
{
  if(document.getElementById('frm'+element_id))
    return false; //form is already thier so no need to do it again. 10:40 PM 1/4/2008 amit singh
    
  if(document.getElementById('akebutton'))
    reset(old_content,objtoedit);//another button is already their so reset the content as new 'Edit' has been clicked.
    objtoedit=document.getElementById(element_id);
    old_content=objtoedit.innerHTML;//.replace("\r\n","");
    objtoedit.innerHTML='';
    //create textbox or textarea
            /* create the form object */
        var f = document.createElement('form');
	        f.id='frm'+element_id;
        /*  main input element */
        var i;
        if ('textarea' == settings.type) {
            i = document.createElement('textarea');
            i.className = 'InlineTextarea';
            if (settings.rows) {
                i.rows = settings.rows;
            } else {
               i.rows =4;
            }
            if (settings.cols) {
                i.cols = settings.cols;
            } else {
                i.cols=30;
            }

        } else {
            i = document.createElement('input');
            i.type  = settings.type;
            i.className = 'InlineInput';
            /* https://bugzilla.mozilla.org/show_bug.cgi?id=236791 */
            i.setAttribute('autocomplete','off');
        }
        i.name  = settings.name;
    	i.id  = 'txt'+element_id; 
        i.value=old_content;
    
        f.appendChild(i);
        f.appendChild(document.createElement('br'));
        if (settings.submit) {
            var b = document.createElement('input');
            b.type = 'submit';
            b.value = 'Ok';
            b.className='SubmitBtn';
            f.appendChild(b);
        }
        	var b = document.createElement('input');
            b.type = 'reset';
            b.id = 'akebutton';
            b.value = 'Отмена';
            b.className = 'CancelBtn';
            b.onclick = function(e){
                reset(old_content,objtoedit);
            }
            f.appendChild(b);
            f.onsubmit=function(e) {
                /* do no submit */
                if (!e)
                    window.event.returnValue = false;
                else
                    e.preventDefault(); 
                /* add edited content and id of edited element to POST */           

                var p = {};
                p[i.name] = $(i).val();
                p['id'] = element_id;

                /* show the saving indicator */
        		objtoedit = document.getElementById(element_id);
                objtoedit.innerHTML=$(i).val();
                $.post(url, p, function(str) {
                    //objtoedit.innerHTML=str;
           			//document.getElementById('editref').style.visibility="visible";
                });       
            }
            f.onreset=function(e) {
                reset(old_content,objtoedit);
            }
      
        objtoedit.appendChild(f);
    

        i.focus();
        i.onkeydown=function(e){
              if (!e)
             {
                var e = window.event;
                e.preventDefault = function() { window.event.returnValue = false }
             }
             if (e.keyCode == 27) {
                e.preventDefault();
                reset(old_content,objtoedit);
            }
        };
}

function reset(oldContent, objtoreset) {
            objtoreset.innerHTML = oldContent;
            //if(document.getElementById('editref'))
        	//document.getElementById('editref').style.visibility="visible";
    }
