/*
    Поле ввода
    Автор:  Акиньшин Д.А.
    Дата :  2009-04-24
    EMail:  ada3000@yandex.ru
    Dependences: jq, ui.core, ui.draggable, base
    
    Args:
        initText            - Начальный текст для поля ввода
        title               - Заголовок
        callBack(textbox)   - Событие ка кнопку "Применить", в параметрах передаётся input type=text
        cssClass            - css класс окна
        styleLink           - ссылка на таблицу стилей
        zIndex              - z index
        coverColor          - Цвет для закрытия "остальной" области.
        coverOpacity        - прозрачность цвета перекрытия
        left			- смещение относительно курсора по гор. оси
	top			- смещение относительно курсора по верт. оси
	mainText		- текст перед полем ввода
	inputType		- вид текстового поля: text|area
	position		- положение, радом с мышкой: mouse(по умолчанию), или по сентру экрана - center
    Пример использования
    AiDA.inputBox({
	            initText:'значение x',
	            callBack:function(txt){curTab.html(txt.value);},
	            title:'Поле ввода x',
	            cssClass:'input_box',
	            styleLink:'input_box.css',
	            zIndex:1000,
	            coverColor:'#FFFFFF',
	            coverOpacity:0.01
	            });
*/
if(AiDA==undefined) 
{var AiDA=new Object();}
AiDA.inputBox=function(Args)
{
    if(Args==undefined) return;
    var me=this;
    var buttonAccept=document.createElement("INPUT");
    var buttonCancel=document.createElement("INPUT");
    var buttonsCont=document.createElement("DIV");
    var zIndex=1000;
	var left=0;
	var top=0;
	
    var position="mouse";
    
    
    
    var mainFrame=document.createElement("DIV");
    var title=document.createElement("DIV");
    title.className="title";
    
    var styleLink="";
    
    var cssClass="input_box";
    var titleName="Поле ввода";
	var mainText="";
	
    var initText="";
    var callBack=function(e){};
    var coverColor='#FFFFFF';
    var coverOpacity=0.01;
    var inputType="text";
	var textAccept="Применить";
	var textCancel="Отмена";
	
    if(Args.initText!=undefined) initText=Args.initText;
    if(Args.title!=undefined) titleName=Args.title;
    if(Args.callBack!=undefined) callBack=Args.callBack;
    if(Args.cssClass!=undefined) cssClass=Args.cssClass;
    if(Args.styleLink!=undefined) styleLink=Args.styleLink;
    if(Args.zIndex!=undefined) zIndex=Args.zIndex;
    if(Args.coverColor!=undefined) coverColor=Args.coverColor;
    if(Args.coverOpacity!=undefined) coverOpacity=Args.coverOpacity;
	if(Args.mainText!=undefined) mainText=Args.mainText;
    if(Args.inputType!=undefined) inputType=Args.inputType;
	if(Args.position!=undefined) position=Args.position;
	
	if(Args.textAccept!=undefined) textAccept=Args.textAccept;
	if(Args.textCancel!=undefined) textCancel=Args.textCancel;
	
    if(Args.left!=undefined) left=Args.left;
	if(Args.top!=undefined) top=Args.top;
    
    if(styleLink!='' && styleLink!=undefined)
    {
        var link=document.createElement("LINK");
        link.type="text/css";
        link.rel="stylesheet";
        link.href=styleLink;
        document.body.appendChild(link);
        //$("head").append(link);
    }
	
	var textbox;
	if(inputType=="area")
		textbox=document.createElement("TEXTAREA");
	else 
	{
		textbox=document.createElement("INPUT");
		textbox.type="text";
    }
	
	buttonAccept.type="button";
    buttonAccept.value=textAccept;
    
    buttonCancel.type="button";
    buttonCancel.value=textCancel;
	
    buttonCancel.className='cancel_button';
    
	
    var textboxCont=document.createElement("DIV");
    textboxCont.appendChild(textbox);
    textbox.className='textbox';
    
	
    var Cover=$.Cover({color:coverColor,opacity:coverOpacity,zIndex:zIndex-1,eventClick:function(){$(buttonCancel).click();}});
    
    title.innerHTML=titleName;
    textbox.value=initText;
    
	
    mainFrame.appendChild(title);
	
	if(mainText!="")
	{
		var mT=document.createElement("DIV");
		mT.className="main_text";
		mT.innerHTML=mainText;
		mainFrame.appendChild(mT);	
	}
	mainFrame.appendChild(textboxCont);
    //mainFrame.appendChild(document.createElement("BR"));
    buttonsCont.appendChild(buttonCancel);
    buttonsCont.appendChild(buttonAccept);
    mainFrame.appendChild(buttonsCont);
    
    mainFrame.className=cssClass;
    document.body.appendChild(mainFrame);    
    
    mainFrame=$(mainFrame);
    mainFrame.css('position','absolute');
	if(position=="center")
	{
		mainFrame.oneTime(100,function(){mainFrame.toCenterScreen();});        
	}
	else
	{
		mainFrame.css('top',(mouseY+top).toString()+'px');
		mainFrame.css('left',(mouseX+10+left).toString()+'px');
    }
    
    mainFrame.css('z-index',zIndex);
    
    mainFrame.draggable({ handle: 'div' });
    
    $(buttonCancel).click(function(){$(this).parent().parent().remove();Cover.Close();});
    $(buttonAccept).click(function(){callBack(textbox);$(buttonCancel).click();});
    
}
