core_error='';//переменная накапливает сообщения об ошибках на человеческом языке. при необходимости может быть вызван их показ функцией face.se();


function Interface()
{
        this.numBoxWindow=-1;//колличество приготовленных всплывающих окно для страницы, по последнему номеру в массиве. То есть нулевой элемент это уже одно окно
        this.layer_id="core_layer";
        this.layer_title_id="core_layerTitle";
        this.layer_html_id="core_layerHtml";
        this.button_look_id='core_btn_look';//Идентификатор кнопки вызова окна авторизации
        this.button_msg_error_id='core_btn_msg_error';//Идентификатор кнопки сообщения об ошибки
        this.left_zone_id='core_leftZoneDiv';
        this.right_zone_id='core_rightZoneDiv';
        this.work_place_id='core_workPlace';
        this.footer_place_id='core_footerPlace';
        this.collage="core_collage"//идентификатор области где располагается колладж
        this.right_panel_id='core_rightZoneDiv';//идентификатор правой панели
        this.left_panel_id='core_leftZoneDiv';//идентификатор левой панели
        this.left_panel_btn_id='core_btnHideLeftZone';//идентификатор кнопки управляющей видимостью левой панели
        this.left_panel_btn_src=core_web_folder+'images/collapse/arr_left.gif';
        //this.left_panel_btn_src=core_web_folder+'/images/box/arr_right.gif';
        this.right_panel_btn_id='core_btnHideRightZone';//идентификатор кнопки управляющей видимостью правой панели
        this.right_panel_btn_src=core_web_folder+'images/collapse/arr_right.gif';
        //this.right_panel_btn_src=core_web_folder+'/images/box/arr_down.gif';
        this.right_panel_btn_out='core_btnPanelRightOut';//стиль для кнопки правой панели
        this.right_panel_btn_over='core_btnPanelRightOver';//стиль для кнопки правой панели
        this.left_panel_btn_out='core_btnPanelLeftOut';//стиль для кнопки левой панели
        this.left_panel_btn_over='core_btnPanelLeftOver';//стиль для кнопки левой панели
        this.work_place_id="core_workPlace";//главная рабочая зона
        this.core_time_place='core_time_place';
        this.right_panel_visible=true;//видимость правой панели
        this.left_panel_visible=true;//видимость левой панели

        this.right_panel_saved_visible;//видимость правой панели
        this.left_panel_saved_visible;//видимость левой панели

	this.slides=new Array();//все объекты слайдов по их номерам
        this.atr_left_slide;//атрибуты слайдов панелей
        this.atr_right_slide;//атрибуты слайдов панелей
        //this.arrPlace=Array();//ассоциативный массив связывающий кнопки с плэйсами которыми они управляют
        this.visibiliti_window_auth=false;//видимость окна авторизации, передаётся из php
        this.win_alert;//окно window.alert в интерфейсе портала
        this.window_autho;//окно авторизации
        this.window_msg_error;//окно сообщения об шибки
        this.window_autho_href='../../ssl/doAutho.php';
//  if( this_is_jagg )  this.window_autho_href += '?jagg=1';
        this.window_msg_error_href='/core/dialogs/wh_msg_error.php';
        this.menu;//объект меню
        this.boxs_stack=new Array();//стек открытых окон
        this.boxs=Array();//все созданные окна массив пронумерованый номерами окон
        this.page_id=false;//page_id, которая сейчас открыта
        this.main_item_id=false;//открытый пункт меню
        this.setTitle=function(t,h){
                h=h||'-';
                if(h=='+'){
                        document.title+=t;
                }else if(h=='-'){
                        document.title=t;
                }
        }
        this.setPageId=function(page_id){
                if(typeof(page_id)=='number'){
                     this.page_id=page_id;
                     return true;
                }else{
                     return false;
                }
        }
        this.se=function(){/*say error*/
                window.alert(core_error);
        }
        this.initVariable=function(){/*запускается после загрузки всей страницы, инициализирует основные объекты интерфейса, как объекты*/
                if(!(this.button_msg_error=document.getElementById(this.button_msg_error_id))){
                        core_error+=this.button_msg_error_id+' ';
                        this.button_msg_error=false;
                }
                if(!(this.button_look=document.getElementById(this.button_look_id))){
                        core_error+=this.button_look_id+' ';
                        this.button_look=false;
                }
                if(core_error){
                        core_error+=' - неопределено \n';
                }
        }
        this.setVisibilitiBoxAuth=function(visible){//устанавливает видимость окна авторизации,//block,none
                this.visibiliti_window_auth=(visible=='block'||visible=='show')?true:false;
        }
        this.rePanel=function(){//устанавливаем панели по их атрибутам установленных ранее
                this.right_panel_visible=(this.right_panel_saved_visible==-1)?this.right_panel_visible:this.right_panel_saved_visible;
	       this.left_panel_visible=(this.left_panel_saved_visible==-1)?this.left_panel_visible:this.left_panel_saved_visible;

	       rp=document.getElementById(this.right_panel_id);
                rp.style.display=(this.right_panel_visible)?'block':'none';
                lp=document.getElementById (this.left_panel_id);
                lp.style.display=(this.left_panel_visible)?'block':'none';

                var lpb=document.getElementById(this.left_panel_btn_id);

                var rpb=document.getElementById(this.right_panel_btn_id);
                if(this.left_panel_visible){
                        core.addStyle(lpb,'core_SlideBtnLeft','core_SlideBtnRight');

                }else{
                        core.addStyle(lpb,'core_SlideBtnRight','core_SlideBtnLeft');
                }

                if(this.right_panel_visible){
                        core.addStyle(rpb,'core_SlideBtnRight','core_SlideBtnLeft');
                }else{
                        core.addStyle(rpb,'core_SlideBtnLeft','core_SlideBtnRight');
                }
        }
        this.LPbtnMouseOver=function(){
                lpb=document.getElementById(this.left_panel_btn_id);
                core.addStyle(lpb,this.left_panel_btn_over,this.left_panel_btn_out)
        }
        this.LPbtnMouseOut=function(){
                lpb=document.getElementById(this.left_panel_btn_id);
                core.addStyle(lpb,this.left_panel_btn_out,this.left_panel_btn_over)
        }
        this.RPbtnMouseOver=function(){
                rpb=document.getElementById(this.right_panel_btn_id);
                core.addStyle(rpb,this.right_panel_btn_over,this.right_panel_btn_out);
        }
        this.RPbtnMouseOut=function(){
                rpb=document.getElementById(this.right_panel_btn_id);
                core.addStyle(rpb,this.right_panel_btn_out,this.right_panel_btn_over);
        }
        this.invertLeftPanel=function(){
                this.left_panel_visible=(this.left_panel_visible)?false:true;
	       this.left_panel_saved_visible=this.left_panel_visible;
	       $.get("/core/handlers/h_save_face_panel.php?left_panel_visible="+this.left_panel_visible);
                this.rePanel();
        }
        this.invertRightPanel=function(){
                this.right_panel_visible=(this.right_panel_visible)?false:true;
	       this.right_panel_saved_visible=this.right_panel_visible;
	       $.get("/core/handlers/h_save_face_panel.php?right_panel_visible="+this.right_panel_visible);
                this.rePanel();
        }
        this.reloadFace=function(){
                r=document.getElementById('core_reloadElement');
                if(r){
                       r.style.display=(r.style.display=='none')?'':'none';
                }
        }
        this.setPanel=function(side,how){//определение видимости панелей
                side=side||'all';
                how=how||'show';
                this.right_panel_visible=(side=='all'||side=='right')?
                        ((how=='show')?true:false):this.right_panel_visible;
                this.left_panel_visible=(side=='all'||side=='left')?
                        ((how=='show')?true:false):this.left_panel_visible;
                this.rePanel();
        }
        this.setSrcCollage=function(src,alt){//определяет collage
                var image=document.getElementById(this.collage);
                if(src===false){
                        image.display='none';
                }else{
                        image.display='block';
                        image.src=src;
                        image.alt=alt||'колладж';
                        image.style.display="block";
                }
        }
        this.slideBtnOver=function(evt){
                elem=core.returnEvtObj(evt);
        }
        this.slideBtnOut=function(evt){
                elem=core.returnEvtObj(evt);
        }
        this.Slide=function(atr){
                 for(i in atr){
	                 this[i]=atr[i];
	         }
		this.isInit=false;
	         this.close=function(){
	                 place=document.getElementById(this.place_id);
	                 place.style.display='none';
	                 document.getElementById(this.btn_id+'_img').src='/core/images/box/arr_right.gif';
	         }
	         this.open=function(){
	                 place=document.getElementById(this.place_id);
	                 place.style.display='block';
	                 document.getElementById(this.btn_id+'_img').src='/core/images/box/arr_down.gif';
	         }
		this.is_open=function(){
			place=document.getElementById(this.place_id);
			return (place.style.display=='none')?0:1;
		}
	         this.invert=function(){

                 	 if(!this.isInit)this.init();

	                 var place=document.getElementById(this.place_id);
                           //alert(place.style.display);
			if(!this.click(this))return;

			if(place.style.display=='block'){
	                       this.close();
	                }else{
	                       this.open();
	                }
	         }
	         this.init=function(){
			var place=document.getElementById(this.place_id);
			if(place.style.display!='none'){
				place.style.display='block';
			}
			this.isInit=true;
			myname=function(){return true};
	                 eval('if(typeof('+this.click+')=="function")myname='+this.click);
	                 this.click=myname;
	         }
	}
        this.slideBtnInvert=function(evt){//инверт видимости слайда на котором была нажата кнопка
                var el=core.returnEvtObj(evt);
                var el=core.id2el(el);
		var slide_num=el.id.substr(11,1);
		var slide=this.slides[slide_num];
	       slide.invert();
        }
        this.initSlide=function(side){//инициализируются слайды по массивам переданными php ранее
                atr=(side=='left')?this.atr_left_slide:this.atr_right_slide;
                for(var i=0;i<atr.length;i++){
			var slide=new this.Slide(atr[i]); //num равен тому номеру который возвращает функция $CORE->makeSlide
			this.slides[atr[i].num]=slide;
                        if(atr[i].isClose==1){
                             slide.close();
                        }
                        if(atr[i].isHide==1){
                              slide.close();
                        }
                        btn=document.getElementById(atr[i].btn_id);
                        btn.onmouseover=this.slideBtnOver.bind(this);
                        btn.onmouseout=this.slideBtnOut.bind(this);
                        btn.onclick=this.slideBtnInvert.bind(this);
                }
        }
        this.resiveSlide=function(html,atr,side){//функция принимает 1ым параметром html и размещает его в соответствующей панеле
                if(side=='left'){
                        this.atr_left_slide=atr;
                }else{
                        this.atr_right_slide=atr;
                }
                id=(side=='left')?this.left_panel_id:this.right_panel_id;
                document.getElementById(id).innerHTML=html;
                this.initSlide(side);
        }
        this.buttonAuthInit=function(){
                this.window_autho=this.newBox('form',core_web_folder+this.window_autho_href,'Авторизация');
                this.window_autho.btnWindow();
                this.window_autho.btn_submit.anddo=this.lookBtnClickDo.bind(this);
        }
        this.buttonInit=function(){//инициализируем кнопки в зоне кнопок
                var look=this.button_look;
                look.style.cursor="pointer";
                //look.onclick=this.lookBtnClick.bind(this);
/*---------------------------------------------------------------------------*/
                this.buttonAuthInit();
/*---------------------------------------------------------------------------*/
                if(this.button_msg_error!==false){
                        var msg=this.button_msg_error;
                        msg.style.cursor="pointer";
                        msg.onclick=this.errorMsgClick.bind(this);
/*---------------------------------------------------------------------------*/
                        this.window_msg_error=this.newBox('form',this.window_msg_error_href,'Сообщение об ошибке');
                        this.window_msg_error.setOkIf(this.msg_error_check,this.msg_error_bad.bind(this));
                        this.window_msg_error_good=this.newBox('info',this.window_msg_error_href+'?good=1','Уведомление');
/*---------------------------------------------------------------------------*/
                }
        }
        this.help=function(what){
                if(!core_slide_help_num){
                        return;
                }

                var unic='core_slide_'+core_slide_help_num+'_';
                var btn_img=unic+'btn_img';
                /*if(what!='refresh'){
                     this.slideBtnInvert(btn_img);
                }*/

                $('#'+unic+'place').load('/core/dialogs/w_help.php?page_id='+this.page_id);

                //$('#core_workPlace').load('/core/dialogs/w_help.php?page_id='+this.page_id);



                /*if(!this.w_help){
                        this.w_help=this.newBox('info','/core/dialogs/w_help.php','Помощь');
                }
                this.w_help.showWindow();*/

        }
        this.setOpenPunkt=function(item_id){

             this.main_item_id=item_id;
        }
        this.msg_error_check=function(){
                return document.getElementById('core_msg_text').value.length>5;
        }
        this.msg_error_bad=function(){
                this.window_msg_error.hideWindow();
                this.alert('<p>Спасибо за краткость!<p>');
        }
        this.errorMsgClick=function(){
                this.window_msg_error.showWindow();
        }
        this.lookBtnClickDo=function(){
                this.alert('<p>Идёт соединение</p>','info');
        }
        this.lookBtnClick=function(){//обработчик события клик на кнопке авторизации
                face.window_autho.showWindow(false,'core_formAuth');
        }
        this.init=function(type){//инициализация объекта face:Interface
                type=(type)||0;
                if(type=='site'){
                }else{
                        this.initVariable();
                        /*var rpb=document.getElementById(this.right_panel_btn_id);
                        rpb.className=this.right_panel_btn_out;
                        rpb.onclick=this.invertRightPanel.bind(this);
                        rpb.onmouseover=this.RPbtnMouseOver.bind(this);
                        rpb.onmouseout=this.RPbtnMouseOut.bind(this);
                        var lpb=document.getElementById(this.left_panel_btn_id);
                        lpb.className=this.left_panel_btn_out;
                        lpb.onclick=this.invertLeftPanel.bind(this);
                        lpb.onmouseover=this.LPbtnMouseOver.bind(this);
                        lpb.onmouseout=this.LPbtnMouseOut.bind(this);
                        this.rePanel();//перерисовать панели*/
                        this.buttonInit();
                        document.onkeydown=face.portalKeyPres.bind(this);
                        if(this.visibiliti_window_auth){
                                //location.href='/core/do_auth.php';
                                this.lookBtnClick();
                        }
                }
                this.win_alert=this.newBox('alert');
        }
        this.initTime=function(){
                this.core_time_place=document.getElementById(this.core_time_place);
                this.core_time_place.className='p';
                face.setHeaderTime();
                setInterval('face.setHeaderTime()',1000*30);
        }
        this.setHeaderTime=function(){
                var now = new Date();
                //this.core_time_place.innerHTML=now.getDate()+'.'+now.getMonth()+'.'+now.getYear()+'&nbsp;'+now.getHours()+':'+now.getMinutes();//+':'+now.getSeconds();
        }
        this.alert=function(data,type){
                if(!this.win_alert){
                        return;
                }
                type=type||'warning';
                if(type=='info'){
                        this.win_alert.img_src=this.win_alert.img_info;
                }
                if(type=='warning'){
                        this.win_alert.img_src=this.win_alert.img_alert;
                }
                if(data=='close'){
                        this.win_alert.hideWindow();
                }else{
                        this.win_alert.showWindow(data);
                }
        }
        this.showUserInfo=function(user_id) {
                        open("/contacts/dlg/user_info.php?user_id=" + user_id, '_blank',"width=600,height=400,status=no,toolbar=no,menubar=no,scroolbars=1");
                }
        this.newBox=function(type,data,title,funtrue,funfalse,button){
                var res = new CoreBox(++this.numBoxWindow,type,data,title,funtrue,funfalse,button);
                this.boxs[this.numBoxWindow]=res;
                return res;
        }
        this.coreBoxLoad=function(numBox){//запускается когда открылось окно
                win=this.boxs[numBox];
                core.commonTableInit(win.element_html);
                core.initIcoFunc();
                core.initButtonFunc();
                var box=this.boxs[numBox];
                box.visible=true;
                box.box.style.display="block";
                box.rePosition();
                if(typeof(faceBoxWinOpen)=='function'){
                        faceBoxWinOpen(box);
                }
        }
        this.portalKeyPres=function(evt){
                evt=(evt=='[object Event]'||evt=='[object KeyboardEvent]')?evt:((window.event)?window.event:'null');
                var charCode=(evt.charCode)?evt.charCode:((evt.which)?evt.which:evt.keyCode);
                //window.alert(charCode);
                switch(charCode){
                        case 80:
                                if(evt.shiftKey){
                                        if(evt.ctrlKey){
                                                this.lookBtnClick();
                                        }
                                }
                        break;
                        case 13:
                                break;
                        case 37://left
                        break;
                        case 38://up
                                return false;
                        break;
                        case 39://right
                        break;
                        case 40://down
                                return false;
                        break;
                        default:
                }
                return charCode;
        }
}





CoreBox=function(num,type,data,title,funtrue,funfalse,button){//num - счёт окнам уникальная для окон цифра
        this.user_func=false;//строка кода запускающегося после загрузки окна?????
        this.condition=false;//условие на сробатывание кнопки
        this.whatdo=false;//что делать если условие false
        this.add_type;//дополнительный параметр к type используется face
        this.btn=false;//флаг инициализации кнопок
        this.visible=false;//показано сейчас окно или нет
        this.num=num;
        this.type=type;//тип кнопки:alert confirm forma info action
        this.element_html;//ссылка на элемент содержащий непосредственную информацию
        this.element_button;//ссылка на элемент вмещающий себя кнопки
        this.box;//окно;
        this.isSetInputFocus=true;
        this.btn_submit;//объект кнопки ок у формы
        this.layer;//div определяющий положение окна на странице
        this.img_auth='/core/portal/kernel/images/icon_logged_in.gif';
        this.img_alert='/core/portal/kernel/images/icon_alert.gif'
        this.img_info='/core/portal/kernel/images/icon_info.gif'
        /*1(3)--------определение значения атрибутов окна-------------*/
        if(this.type=='alert'){
                this.img_src='/core/portal/kernel/images/icon_alert.gif';
        }else if(this.type=='confirm'){
                this.img_src=this.img_alert;
        }else if(this.type=='info'){
                this.img_src=this.img_info;
        }
        if(type=='confirm'){
                this.data=(data)?data:'Вы уверены';
                this.title=(title)?title:"Окно подтверждения";
                this.funtrue=(funtrue)?funtrue:'close';
                this.funfalse=(funfalse)?funfalse:'close';
                if(typeof(button)=='number'){
                        this.num_button=button;
                }else{
                        this.num_button='0';
                }
        }else if(type=='action'){
                this.type=type;
                this.funfalse=(funfalse)?funfalse:'close';
                this.funtrue=(funtrue)?funtrue:'close';
                this.file=data;//ссылка на файл
                this.title=(title)?title:"Внимание";
        }else if(type=='alert'){
                this.data=(data)?data:"Внимание";
                this.title=(title)?title:"Внимание";
        }else if(type=='form'){
                this.file=data;//ссылка на файл
                this.title=(title)?title:"Образовательный портал";
        }else if(type=='info'){
                this.file=data;
                this.title=(title)?title:"";
        }else{
        }
/*1(3)--------/определение значения атрибутов окна-------------*/
        this.btnWindow=function(){
/*2(3)--------определение кнопок для окна-------------*/
                this.btn=true;
                var element_button = document.createElement("P");
                if(this.type=='alert'){
                        this.btn_ok=new Core_Button(this,'ОК','close');
                        element_button.appendChild(this.btn_ok.getChild());
                        this.setEscClose();
                }else if(this.type=='confirm'){
                        if(this.num_button==3){
                                this.btn_ok=new Core_Button(this,'Да',this.funtrue);
                                var btn_no=new Core_Button(this,'Нет',this.funfalse);
                                this.btn_cancel=new Core_Button(this,'Отмена','close');
                                element_button.appendChild(this.btn_ok.getChild());
                                element_button.appendChild(btn_no.getChild());
                                element_button.appendChild(this.btn_cancel.getChild());
                        }else{
                                this.btn_ok=new Core_Button(this,'OK',this.funtrue);
                                this.btn_no=new Core_Button(this,'Отмена',this.funfalse);
                                element_button.appendChild(this.btn_ok.getChild());
                                element_button.appendChild(this.btn_no.getChild());
                        }
                        this.setEscClose();
                }else if(this.type=='form'){
                        this.btn_cancel=new Core_Button(this,'Отмена','close');
                        //btn_cancel.style.margin="2px";
                        this.btn_submit=new Core_Button(this,'ОК','submit');
                        this.btn_submit.condition=(this.condition)?this.condition:false;
                        this.btn_submit.whatdo=(this.whatdo)?this.whatdo:false;
                        //this.btn_submit.style.margin="2px";
                        this.ok=this.btn_submit.getChild();
                        this.cancel=this.btn_cancel.getChild();
                        element_button.appendChild(this.ok);
                        element_button.appendChild(this.cancel);
                        this.setEnterSubmit();
                        this.setEscClose();
                }else if(this.type=='action'){
                        this.btn_cancel=new Core_Button(this,'Отмена',this.funfalse);
                        this.btn_ok=new Core_Button(this,'ОК',this.funtrue);
                        this.btn_ok.condition=(this.condition)?this.condition:false;
                        this.btn_ok.whatdo=(this.whatdo)?this.whatdo:false;
                        element_button.appendChild(this.btn_ok.getChild());
                        element_button.appendChild(this.btn_cancel.getChild());
                        this.setEscClose();
                }else if(this.type=='info'){
                        this.btn_ok=new Core_Button(this,'ОК','close');
                        element_button.appendChild(this.btn_ok.getChild());
                        this.setEscClose();
                }else{
                        window.alert(this.type+ ' - такого типа окна нет ');
                }
                this.element_button.innerHTML='';
                this.element_button.appendChild(element_button);
        /*2(3)--------/определение кнопок для окна-------------*/
        }
        this.setEnterSubmit=function(){
                core.addHandler(this.box, 'keypress',this.clickOnBoxCloseForm.bind(this));
        }
        this.setEscClose=function(){
                //устанавливает закрытие окна по клавише Esc
                core.addHandler(document, 'keypress',this.clickOnBoxClose.bind(this));
        }
        this.clickOnBoxClose=function(evt){
                evt=(evt=='[object Event]'||evt=='[object KeyboardEvent]')?evt:((window.event)?window.event:'null');
                var charCode=(evt.charCode)?evt.charCode:((evt.which)?evt.which:evt.keyCode);
                switch(charCode){
                        case 27:
                                this.hideWindow(evt);
                                break;
                }
        }
        this.clickOnBoxCloseForm=function(evt){
                var charCode=(evt.charCode)?evt.charCode:((evt.which)?evt.which:evt.keyCode);
                switch(charCode){
                        case 13:
                        elem=(evt=='[object Event]'||evt=='[object MouseEvent]'||evt=='[object KeyboardEvent]')?evt.target:(window.event)?window.event.srcElement:false;
                        if(elem===false){
                                core_error+="Функция face.clickOnBoxCloxeForm не смогла определить элемент по событию\n";
                        }
                        if(elem.tagName!="TEXTAREA"){
                                this.ok.click();
                        }
                        break;
                }
        }
        this.submitFormInWindow=function(element){
                var form=core.findTegInCont(this.element_html,'FORM');
                if(form===false){
                        return false;
                }else{
                        form.submit();
                        return true;
                }
        }
        this.hideWindow=function(){
                face.boxs_stack.pop();
                if(face.boxs_stack.length!=0){
                        var sel=document.getElementsByTagName("select");
                        for(i=0;i<sel.length;i++){
                                sel[i].style.visibility='hidden';
                        }
                        boxsel=face.boxs_stack[face.boxs_stack.length-1].box.getElementsByTagName("select");
                        for(i=0;i<boxsel.length;i++){
                                boxsel[i].style.visibility='visible';
                        }
                        win=face.boxs_stack[face.boxs_stack.length-1]
                        win.box.style.display='block';//showWindow();
                        face.coreBoxLoad(win.num);
                        if(win.isSetInputFocus==true){
                                core.setFocusOnFormInput(win.element_html.id);
                        }
                }else{
                        var sel=document.getElementsByTagName("select");
                        for(i=0;i<sel.length;i++){
                                sel[i].style.visibility='visible';
                        }
                }
                if(this.visible===true){
                        this.box.style.display="none";
                        this.visibiliti_window_auth=false;
                        if(typeof(faceBoxWinClose)=='function'){
                                faceBoxWinClose(this);
                        }
                        if(face.window_autho==this){
                                core.setPhpSide('hideAuhtoWindow');
                        }
                        this.visible=false;

                }
        }
        this.refreshWindow=function(data,idForm){
                if(this.visible===false){
                        showWindow(data);
                }else{
                        var script_code='';
                        script_code+=(typeof(this.user_func)=='string')?this.user_func+';':'';
                        script_code+='face.coreBoxLoad("'+this.num+'");';
                    if(typeof(data)=='string'){
                                var GET=data;
                        }else{
                                var GET='';
                        }
                        if(this.type=='form'){
                                if(this.isSetInputFocus==true){
                                        script_code+='setTimeout("core.setFocusOnFormInput(\'';
                                        script_code+=idForm||this.element_html.id;
                                        script_code+='\')",100)';
                                }
                                core.ajax_get(this.file+GET,this.element_html.id,script_code);
                        }else{                                core.ajax_get(this.file+GET,this.element_html.id,script_code);
                        }
                }
        }
        this.rePosition=function(){
                var width=core.getWidthVisible();//ширина видимой части окна
                var height=core.getHeightVisible();//длина видимой части окна
                var        x=core.getScrollX();//ширина прокрутки
                var y=core.getScrollY();//длина прокрутки
                element_html_size=core.getBounds(this.element_html);
                if(core.isMozilla){
                        x=x+(width/2)-element_html_size.width/2;
                        y=y+(height/3)-element_html_size.height/2;
                }else if(core.isMSIE5){
                        x=x+(width/2)-element_html_size.width/2;
                        y=y+(height/3)-element_html_size.height/2;
                }else if(core.isOpera7){
                        x=x+(width/2)-element_html_size.width;
                        y=y+(height/2.4)-element_html_size.height;
                }else{
                        x=x+(width/2)-(element_html_size.width/2);
                        y=y+(height/2)-(element_html_size.height/2);
                }
                x=(x<0)?0:x;//перечёркиваем отрицательные значения
                min_shag_sverhu=108//Минимальный отступ от верхней границы экрана дабы был виден заголовок страницы и портала
                y=(y<min_shag_sverhu)?min_shag_sverhu:y;//перечёркиваем в том числе отрицательные значения
                this.layer.style.marginTop=y+'px';//"10em";
            this.layer.style.marginLeft=x+'px';//"10em";
        }

        this.showWindow=function(data,idForm){
                if(!this.btn){
                        this.btnWindow();//добавляем кнопки в соответствии с типом окна
                }
                if(this.visible===true){
                        this.hideWindow();
                        return;
                }

                var sel=document.body.getElementsByTagName("select");
                if(face.boxs_stack.length>0){
                        face.boxs_stack[face.boxs_stack.length-1].box.style.display='none';
                }
                face.boxs_stack.push(this);
                for(i=0;i<sel.length;i++){
                        sel[i].style.visibility='hidden';
                }
                if(this.type=='info'||this.type=='confirm'||this.type=='alert'){
                        this.core_window_left_ico.src=this.img_src;//'/core/portal/kernel/images/icon_info.gif';
                        this.core_window_left_ico.style.display='block';

                }
                if(face.window_autho==this){
                        this.core_window_left_ico.src=this.img_auth;//'/core/portal/kernel/images/icon_logged_in.gif';
                        this.core_window_left_ico.style.display='block';
                }
                if(this.visible===false){
                        var script_code='';
                        script_code+=(typeof(this.user_func)=='string')?this.user_func+';':'';
                        script_code+='face.coreBoxLoad("'+this.num+'");';
        /*3(3)--------определение способов изображения для окна-------------*/
                        if(this.type=='form'||this.type=='info'||this.type=='action'){
                                if(typeof(data)=='string'){
                                        var GET=data;
                                }else{
                                        var GET='';
                                }
                                if(this.type=='form'){
                                        if(this.isSetInputFocus==true){
                                                script_code+='setTimeout("core.setFocusOnFormInput(\'';
                                                script_code+=idForm||this.element_html.id;
                                                script_code+='\')",100)';
                                        }
                                }
                                core.ajax_get(this.file+GET,this.element_html.id,script_code);
                        }else{
                                this.element_html.innerHTML=(data)?data:this.data;
                                eval(script_code);
                        }
        /*3(3)--------/определение способов изображения для окна-------------*/
                }
        }
        this.invertWindow=function(data){
                this.element_html.innerHTML=data;
                this.box.style.display=(this.box.style.display=="none")?"block":"none";
        }
        this.setTitle=function(html){
                if(html){
                        this.title.innerHTML=html;
                }
        }
        this.makeTable=function(){
/*-------------Первый ряд----------------*/
        var cells_title = document.createElement("td");
        cells_title.setAttribute("align", "center");
        cells_title.style.color="red";
        cells_title.appendChild(document.createTextNode('this.title'));
                var tbody = document.createElement("tbody");
                var table = document.createElement("table");
                table.appendChild(tbody);
                table.style.tableLayout="fixed";
                var thead = table.createTHead();
                thead.style.fontSize='15pt';
/*------------------слой-окно-----------------------*/
                this.layer=document.createElement("div");

var core_win_verstka= '<table style="width:100%" cellpadding="0" cellspacing="0">';
core_win_verstka +='  <tr><td>';
core_win_verstka +='    <table style="width:100%"  cellpadding="0" cellspacing="0"><tr>';
core_win_verstka +='                <td height="25" width="41" style="background-image:url(/core/images/img_popup/header_logo.gif)"><img src="/core/images/px.gif" height="1" width="41"></td>';
core_win_verstka +='            <td style="width:100%; background-color:#0c116b; background-image:url(/core/images/img_popup/header_bg.png)" align="center"><nobr id="core_window_'+this.type+'_'+this.num+'_title" class="core_popup_header">'+this.title+'</nobr></td>';
core_win_verstka +='            <td style="background-color:#0c116b;" valign="middle" background="/core/images/img_popup/header_bg.png"><a href="javascript:void(0)"><img style="margin-right:0px" id="core_window_'+this.type+'_'+this.num+'_krestik" src="/core/images/img_popup/close.png" width="17" height="17" border="0"></a></td>';
core_win_verstka +='            <td ><img src="/core/images/img_popup/header_right.gif" width="4" height="25"></td>';
core_win_verstka +='    </table>';
core_win_verstka +='  </tr>';
core_win_verstka +='  <tr>';
core_win_verstka +='    <td height="3" background="/core/images/img_popup/colors_top.gif" class="core_popup_1"><img width="1" height="3"></td>';
core_win_verstka +='  </tr>';
core_win_verstka +='  <tr>';
core_win_verstka +='    <td class="core_popup_1 core_popup_content">';
core_win_verstka +='     <table><tr><td style="width:0px">       <img style="display:none" id="core_window_'+this.type+'_'+this.num+'_ico" src="/core/portal/kernel/images/icon_error.gif"  />';
core_win_verstka +='      <td id="core_window_'+this.type+'_'+this.num+'">';
core_win_verstka +='      </table>';
core_win_verstka +='    </td>';
core_win_verstka +='  </tr>';
core_win_verstka +='  <tr>';
core_win_verstka +='    <td height="3" id="core_window_'+this.type+'_'+this.num+'_btn" class="core_popup_1 core_popup_button"><img width="1" height="3"></td>';
core_win_verstka +='  </tr>';
core_win_verstka +='  <tr>';
core_win_verstka +='    <td height="3" background="/core/images/img_popup/colors_bottom.gif" class="core_popup_2"><img width="1" height="3"></td>';
core_win_verstka +='  </tr>';
core_win_verstka +='</table>';
                      this.layer.innerHTML=core_win_verstka;
            this.layer.style.fontFamily = "sans-serif";
            this.layer.style.position="absolute";
            this.layer.style.marginTop="10em";
            this.layer.style.marginLeft="10em";
            this.layer.style.width="15em";
            this.box=document.createElement("div");
            this.box.appendChild(this.layer);
            this.box.style.display="none";
            this.box.style.top="0";
            this.box.style.zIndex="100";
            this.box.style.left="0";
            pl=core.getBounds(document.body);
            this.box.style.width=pl.widthFull;
            this.box.style.height=pl.heightFull;
            this.box.style.position="absolute";
            document.body.appendChild(this.box);
            div=document.getElementById('core_DIVdialog');
            this.core_window_left_ico=document.getElementById('core_window_'+this.type+'_'+this.num+'_ico');
                   this.btn_close=document.getElementById('core_window_'+this.type+'_'+this.num+'_krestik');
                   this.btn_close.onclick=this.hideWindow.bind(this);
        this.btn_close.style.cursor="pointer";
        this.element_button=document.getElementById('core_window_'+this.type+'_'+this.num+'_btn');
            this.element_html=document.getElementById("core_window_"+this.type+'_'+this.num);
                this.title=document.getElementById('core_window_'+this.type+'_'+this.num+'_title');
        }
        this.makeTable();//создаём очертания таблиц с соответствующими областями
        this.setOkIf=function(condition,whatdo){
                this.condition=(typeof(condition)=='function')?condition:false;
                this.whatdo=(typeof(whatdo)=='function')?whatdo:false;
        }
}