function ShowLine(id)
{
    //var i = 17;
    var txtNumber  = document.getElementById("number" + id);
    var txtHtml  = document.getElementById("html" + id);
    txtNumber.scrollTop = txtHtml.scrollTop;
    while(txtNumber.scrollTop != txtHtml.scrollTop) 
    {
        txtNumber.value += (i++) + "\n";
        txtNumber.scrollTop = txtHtml.scrollTop;
    }
}

var SetHeightCount = 1;

function SetHeight(id, act)
{
    var txtNumber  = document.getElementById("number" + id);
    var txtHtml  = document.getElementById("html" + id);
    var height = txtHtml.style.height ? parseInt(txtHtml.style.height) : txtHtml.offsetHeight - 4;
    if(act > 0)
    {
        if (height < 500) {	
		    height += 2;
		}
		else
		{
		
		}
	}
	else
	{
	    if (height > 100) 
	    {	
		    height -= 2;
		}
	}
    txtNumber.style.height = height + "px";
    txtHtml.style.height = height + "px";
    SetHeightCount++;
    if (SetHeightCount > 25){ 
	    SetHeightCount = 1;
    } 
    else 
    {
        window.setTimeout("SetHeight(" + id + "," + act + ")", 10);
    }		   
    ShowLine(id);
}










//function ShowNumber(numberID, count)
//{
//    var c = count;
//    if(!c)
//    {
//        c = 16;
//    }
//    for(var i = 1; i <= c; i++)
//    {
//        document.getElementById(numberID).value += i + '\n';
//    }    
//}

function EditTab(){
    var code, sel, tmp, r;
    var tabs = '';
    event.returnValue = false;
    sel =event.srcElement.document.selection.createRange();
    r = event.srcElement.createTextRange();

    switch (event.keyCode){
    case (8) :
        if (!(sel.getClientRects().length > 1))
        {
            event.returnValue = true;
            return;
        }
        code = sel.text;
        tmp = sel.duplicate();
        tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top);
        sel.setEndPoint('startToStart', tmp);
        sel.text = sel.text.replace(/^\t/gm, '');
        code = code.replace(/^\t/gm, '').replace(/\r\n/g, '\r');
        r.findText(code);
        r.select();
        break;
    case (9) :
        if (sel.getClientRects().length > 1)
        {
            code = sel.text;
            tmp = sel.duplicate();
            tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top);
            sel.setEndPoint('startToStart', tmp);
            sel.text = '\t'+sel.text.replace(/\r\n/g, '\r\t');
            code = code.replace(/\r\n/g, '\r\t');
            r.findText(code);
            r.select();
        }
        else
        {
            sel.text = '\t';
            sel.select();
        }
        break;
    case (13) :
        tmp = sel.duplicate();
        tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top);
        tmp.setEndPoint('endToEnd', sel);
        for (var i=0; tmp.text.match(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++) 
        {
            tabs += '\t';
        }
        sel.text = '\r\n'+tabs;
        sel.select();
        break;
    default  :
        event.returnValue = true;
        break;
    }
}





function check_form() {
    var the_form = document.forms[0];
    if(!/^[\w\.]+$/.test(the_form.name.value)) 
    {
        alert('Bad File Name !');
        the_form.name.focus();
        return false;
    }
    if(!/^[0-7]{3}$/.test(the_form.attrib.value)) 
    {
        alert('Bad File Attrib !');
        the_form.attrib.focus();
        return false;
    }
    if(the_form.del.checked) 
    {
        return confirm('Are you sure to delete the file ?');
    }
    return true;
}

function show_ln4(){
    var txt_ln  = document.getElementById('txt_ln');
    var txt_main  = document.getElementById('txt_main');
    txt_ln.scrollTop = txt_main.scrollTop;
    while(txt_ln.scrollTop != txt_main.scrollTop) {
    txt_ln.value += (i++) + '\n';
    txt_ln.scrollTop = txt_main.scrollTop;
    }
    return;
}

