/******************************************************************************
 * M A N A G E R **************************************************************
 *****************************************************************************/

var Demo = new VegUIDemo('Demo');
Demo.set(800, 600, 0, 0);
Demo.T.className = 'demo';

Demo.init_fx(25);

ADJUST_BODY_SIZE = false;

/******************************************************************************
 * G E N E R I C **************************************************************
 *****************************************************************************/

/*
 * Panel
 */

var o = vuitpl_SkinPanel = Demo.get_new(VUI_NODE);
o.T.className = 'win';
o.set_marg(0,0);
o.Skin = o.add_skin('Skin', 0, 0, 0, 0, 'win_skin', 2, 2);

/*
 * Window
 */

var o = vuitpl_Window = Demo.get_new(VUI_WIN);
o.set('A Window', 350, 155, 0, 0);

o.Skin.clone(vuitpl_SkinPanel);


o.T.minW = 300;
o.T.minH = 150;

o.Header.set(2,2,50,25);
o.Header.set_marg(1);
o.Header.T.className = 'win_header';
o.Caption.T.className = 'win_caption';
o.Caption.T.y += 2;

o.BtnClose.set(null,5,18,18,'btn_close_1','btn_close_2');
o.BtnClose.set_marg(null,null,5);

o.BtnMaximize.set(null,5,18,18,'btn_maximize_1','btn_maximize_2');
o.BtnMaximize.set_marg(null,null,25);

o.BtnMinimize.set(null,5,18,18,'btn_minimize_1','btn_minimize_2');
o.BtnMinimize.set_marg(null,null,45);

o.T.maxY = 85;
o.T.maxH = 480;

o.event_add(
  'ondock', function(a) {
    a[0].Manager.FX.effect_add(
      a[0], new VegUIFXShadow()
    );
  }
);

o.event_add(
  'ontoback', function(a) {
     a[0].Header.Base.className = 'win_header';
   }
);

o.event_add(
  'ontofront', function(a) {
     a[0].Header.Base.className = 'win_header_focus';
  }
);

/*
 * Menu
 */

var o = vuitpl_Menu = Demo.get_new(VUI_MENU);

o.Skin.clone(vuitpl_SkinPanel);
o.Skin.set_marg(2,2);

o.TRow.set(0,0,0,0,20,20,16,'menu_item_normal', 'menu_item_hover');

o.set(0,0,150,null,null,null,-1);

o.Table.set_marg(6,6);
o.Table.set(null,0,0,6,6);
o.Table.T.Css.padding = '0px';

o.T.arrowImg = ui_path+'/menu_arrow.gif';
o.T.fxFadeTime=250;
o.T.fxFadeLimitIn=90;

o.T.z = 1000;

/**
 * Scrollbars
 */

o = vuitpl_CBox = Demo.get_new(VUI_CBOX);
o.set(200,150,0,0);
o.CHolder.T.className = 'cbox_cholder';
o.Content.T.className = 'cbox_content';

o.ScrollY.T.className = 'scroll_bar';
o.ScrollX.T.className = 'scroll_bar';

o.ScrollY.set('y',null,null,18);
o.ScrollX.set('x',null,null,null,18);

o.ScrollY.T.rmarg_nr = -5;
o.ScrollY.T.bmarg -= 2;
o.ScrollX.T.bmarg_nr = -5;

o.ScrollY.Btn1.set(0,0,18,18,'btn_scroll_up_0','btn_scroll_up_1');
o.ScrollY.Btn2.set(0,0,18,18,'btn_scroll_down_0','btn_scroll_down_1');
o.ScrollY.Btn3.set(0,0,18,18,'btn_scroll_drag','btn_scroll_drag');

o.ScrollY.Btn3.add_skin('t',18,4,0,0,0,null,null,null,null,'img',ui_path+'/btn_drag_y_top.gif');
o.ScrollY.Btn3.add_skin('f',18,1,0,4,0,null,3,null,null,'img', ui_path+'/btn_drag_y_fill.gif');
o.ScrollY.Btn3.add_skin('b',18,4,0,0,0,null,null,null,-1,'img', ui_path+'/btn_drag_y_bottom.gif');
o.ScrollY.Btn3.add_skin('p',1,1,0,0,'blank',0,0,null,null);


o.ScrollX.Btn1.set(0,0,18,18,'btn_scroll_left_0','btn_scroll_left_1');
o.ScrollX.Btn2.set(0,0,18,18,'btn_scroll_right_0','btn_scroll_right_1');
o.ScrollX.Btn3.set(0,0,18,18,'btn_scroll_drag','btn_scroll_drag');

o.ScrollX.Btn3.add_skin('t',4,18,0,0,0,null,null,null,null,'img',ui_path+'/btn_drag_x_left.gif');
o.ScrollX.Btn3.add_skin('f',1,18,4,0,0,3,null,null,null,'img',ui_path+'/btn_drag_x_fill.gif');
o.ScrollX.Btn3.add_skin('b',4,18,0,0,0,null,null,-1,null,'img',ui_path+'/btn_drag_x_right.gif');
o.ScrollX.Btn3.add_skin('p',1,1,0,0,'blank',0,0,null,null);

o.flags |= VUI_HIDE_SCROLLX;


/**
 * Tabbed Dialog
 */

var o = vuitpl_Tab = Demo.get_new(VUI_TABBEDDIALOG);
o.TplTab.Tab.T.className = 'tab_button';
o.TplTab.Panel.T.className = 'tab_bg';
o.TplTab.TabCaption.T.className = 'tab_caption';
o.TplTab.TabCaption.T.x = 8;
o.TplTab.TabCaption.T.y = 3;
o.T.className = 'tab';

/**
 * List
 */

var o = vuitpl_List = Demo.get_new(VUI_LIST);
o.clone(vuitpl_CBox);

o.set(150,150,0,0,16,0);

o.T.mOver = 'list_hover';
o.T.mNormal = 'list_normal';
o.T.mClick = 'list_selected';
o.T.mHeader = 'list_item_header';
o.T.mOverSelected = 'list_item_hov_sel';
o.Content.T.Css.padding = '0px';
o.SelItemLabel.T.className = 'list_label';

o.BtnOpen.set(0,0,18,18,'btn_scroll_down_0', 'btn_scroll_down_1');
o.SelItemLabel.T.className = 'list_label';


/**
 * Checkbox
 */

var o = vuitpl_CheckBox = Demo.get_new(VUI_CHECKBOX);
o.set(0,0,150,18,'Check me!',0,'btn_check_2','btn_check_1');
o.BtnCheck.set(0,0,18,18);
o.Label.T.className = 'checkbox_label';
o.Label.T.x = 20;

/**
 * Selector
 */

var o = vuitpl_Selector = Demo.get_new(VUI_SELECTOR);
o.set(100,18,0,0);
o.Btn1.set(0,0,18,18,'btn_goleft_0', 'btn_goleft_1');
o.Btn2.set(0,0,18,18,'btn_goright_0', 'btn_goright_1');
o.Label.T.className = 'selector_label';
o.Label.T.x = 10;
o.Label.T.y = 3;
o.T.className = 'selector';

/**
 * Property Set
 */

var o = vuitpl_PSetList = Demo.get_new(VUI_LIST);
o.clone(vuitpl_List);
o.set(100,100);

var o =  vuitpl_PropertySet = Demo.get_new(VUI_PROP_SET);
o.clone(vuitpl_CBox);
o.set(400,400,100,100,50,0,0,0,'pset','pset_name','pset_value',30);
o.Content.T.Css.padding = '0px';
o.T.ListTemplate = vuitpl_PSetList.eleIdx;
o.FldInput.T.className = 'fldinput';
o.CbInput.set(0,0,150,18,'yes/no',0,'btn_check_2','btn_check_1');
o.CbInput.BtnCheck.set(0,0,18,18);
o.CbInput.Label.T.className = 'checkbox_label';

var o = vuiTpl_Scale = Demo.get_new(VUI_NODE);
o.T.className = 'scaler';

/** 
 * Addon: dataset
 */

var o = vuitpl_DataSet = Demo.get_new(VUI_DATASET);
o.clone(vuitpl_List);

o.ListTpl = vuitpl_List;

o.ListPanel.T.className = 'dset_list_panel';
o.ListPanel.set('div', 50, 50, 100, 100);
o.ListPanel.set_marg(100,100);
o.ListPanel.T.z = 100;

o.Scaler.set('div');
o.Scaler.T.className = 'dset_scaler';

o.T.multiSelect = true;

o.set_style(
  'dset_hover','dset_normal','dset_selected','dset_header',
  'dset_hover_selected','column_normal','column_hover',
  'dset_detailed'
);

/**
 * Input field
 */

var o = vuitpl_Input = Demo.get_new(VUI_NODE);
o.set('input');
o.flags |= VUI_HFORM_BLUR | VUI_HFORM_FOCUS;

o.States[VUI_FORM_FOCUS].Scripts.add(
  function(a) { a[0].Base.className = 'focus'; }
);

o.States[VUI_FORM_BLUR].Scripts.add(
  function(a) { a[0].Base.className = ''; }
);

/******************************************************************************
 * D E M O ********************************************************************
 *****************************************************************************/

var o = vuitpl_DemoButton = Demo.get_new(VUI_BUTTON);
o.set(0,0,75,18,'demo_btn_0','demo_btn_1');
o.T.pos = 'relative';

var o = vuitpl_Button = Demo.get_new(VUI_BUTTON);
o.set(0,2,125,22,'taskbutton','taskbutton');
o.add_skin('l', 3, 21, 0, 0, 'task_l');
o.add_skin('f', 1, 21, 3, 0, 'task_f', -200);
var r = o.add_skin('r', 3, 21, 0, 0, 'task_r', null,null,0);
r.T.z = 1;
o.T.captionChildName = 'f';

o.States[VUI_MOUSE_DOWN].Scripts.add(
  function(a) { 
    a[0].C['l'].Base.className = 'task_l2';
    a[0].C['f'].Base.className = 'task_f2';
    a[0].C['r'].Base.className = 'task_r2';
  }
);

o.States[VUI_MOUSE_UP].Scripts.add(
  function(a) {
    a[0].C['l'].Base.className = 'task_l';
    a[0].C['f'].Base.className = 'task_f';
    a[0].C['r'].Base.className = 'task_r';
  }
);

/******************************************************************************
 * N O T E ********************************************************************
 *****************************************************************************/

var o = Demo.Note;
o.set(100,35,10,20);
o.set_marg(30);
o.Label.T.className = 'note';

/******************************************************************************
 * P A N E L ******************************************************************
 *****************************************************************************/

var o = Demo.Panel;
o.set(100, 35, 0, 0, 'panel_bg');
o.set_marg(0,null,null,0);
o.T.z = 2000;

o.T.iconWriteComment = o.T.iconInfo = ui_path+'/menu_icon_infos.gif';
o.T.iconApps = ui_path+'/menu_icon_apps.gif';
o.T.iconGames = ui_path+'/menu_icon_games.gif';
o.T.iconThemes = ui_path+'/menu_icon_theme.gif';
o.T.iconBaffts = ui_path+'/menu_icon_baffts.gif';
o.T.iconCalc = ui_path+'/menu_icon_calculator.gif';

o.BtnMenu.set(0, 0, 109, 35, 'panel_btn', 'panel_btn');

o.LblTime.set('div', 109, 35, 0, 0);
o.LblTime.T.className = 'panel_label';
o.LblTime.set_marg(null,null,0);

o.MnuStuff.clone(vuitpl_Menu);
o.MnuStuff.set(5, -100, 130, 2000);

o.MnuApps.clone(vuitpl_Menu);
o.MnuGames.clone(vuitpl_Menu);
o.MnuThemes.clone(vuitpl_Menu);

o.Taskbar.set(0,21,120,8,1,5);
o.Taskbar.set_marg(117);

o.Taskbar.TplButton.clone(vuitpl_Button);
o.Taskbar.TplButton.flags |= VUI_TEMPLATE;

o.Taskbar.TplButton.T.Css.overflow = 'hidden';

/******************************************************************************
 * I N I T ********************************************************************
 *****************************************************************************/

function init() {
  var DemoDiv = htmlnode('div');
  DemoDiv.className = 'demo_div';
  Demo.WinShadow.T.t = 30;
  
  Demo.LblVersion.set('div',100,16,0,5);
  Demo.LblVersion.T.className = 'version_label';
  Demo.LblVersion.set_marg(null,null,5);
  
  Demo.build(DemoDiv);
  document.body.appendChild(DemoDiv);
  Demo.Taskbar = Demo.Panel.Taskbar;
  
  Demo.init();
  Demo.WinShadow.BBox.set(0,30,800,570,1,1);
}
onload = init;
