/******************************************************************************
 * 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 **************************************************************
 *****************************************************************************/

/*
 * Window
 */

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

o.Skin.add_skin('skin_h_l', 6, 27, 0, 0, 'win_skin_h_l');
o.Skin.add_skin('skin_h_f', 1, 27, 6, 0, 'win_skin_h_f', 6);
o.Skin.add_skin('skin_h_r', 6, 27, 0, 0, 'win_skin_h_r', null,null,0);

o.Skin.add_skin('skin_l', 2, 1, 0, 27, 'win_skin_l', null, 55);
o.Skin.add_skin('skin_bg', 1, 1, 2, 27, 'win_skin_bg', 2, 2);
o.Skin.add_skin('skin_r', 2, 1, 0, 27, 'win_skin_r', null, 7, 0);

var r = o.Skin.add_skin('skin_f_l', 288, 55, 0, 0, 'win_skin_f_l', null,null,null,0);
r.T.z = 2;
o.Skin.add_skin('skin_f_f', 6, 6, 288, 0, 'win_skin_f_f', 7, null,null, 0);
o.Skin.add_skin('skin_f_r', 7, 7, 0, 0, 'win_skin_f_r', null,null,0,0);

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

o.Caption.T.className = 'win_header';
o.Caption.set(null, 0, 0, 10, 7);
o.Header.T.h = 29;

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

o.BtnMaximize.set(null,5,18,18,'btn_maximize_0','btn_maximize_1');
o.BtnMaximize.set_marg(null, null, 28);

o.BtnMinimize.set(null,5,18,18,'btn_minimize_0','btn_minimize_1');
o.BtnMinimize.set_marg(null, null, 51);

o.ontofront = function() { this.Manager.FX.effect_add(this, new VegUIFXFadeIn(250)); };
o.ontoback = function() { this.set_transparency(60); };

o.T.maxY = 30;
o.T.maxH = 490;


/*
 * Menu
 */

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

o.Skin.add_skin('skin_h_l', 6, 6, 0, 0, 'menu_skin_h_l');
o.Skin.add_skin('skin_h_f', 1, 6, 6, 0, 'menu_skin_h_f', 6);
o.Skin.add_skin('skin_h_r', 6, 6, 0, 0, 'menu_skin_h_r', null,null,0);

o.Skin.add_skin('skin_l', 6, 1, 0, 6, 'menu_skin_l', null, 6);
o.Skin.add_skin('skin_f', 1, 1, 6, 6, 'menu_skin_f', 6, 6);
o.Skin.add_skin('skin_r', 6, 2, 0, 6, 'menu_skin_r', null,6,0);

o.Skin.add_skin('skin_f_l', 6, 6, 0, 0, 'menu_skin_f_l', null, null, null,0);
o.Skin.add_skin('skin_f_f', 1, 6, 6, 0, 'menu_skin_f_f', 6, null, null, 0);
o.Skin.add_skin('skin_f_r', 6, 6, 0, 0, 'menu_skin_f_r', null,null,0,0);

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
 */

var vuitpl_ScrollY = Demo.get_new(VUI_SCROLL);
vuitpl_ScrollY.set('y', null, null, 18);
vuitpl_ScrollY.T.className = 'scroll_bar_y';
vuitpl_ScrollY.Btn1.set(0, 0, 18, 18, 'btn_scroll_up0', 'btn_scroll_up1');
vuitpl_ScrollY.Btn2.set(0, 0, 18, 18, 'btn_scroll_down0', 'btn_scroll_down1');
vuitpl_ScrollY.Btn3.set(0, 0, 18, 18);

var b = vuitpl_ScrollY.Btn3;
b.add_skin('t', 18, 4, 0, 0, null, null, null, null, null, 'img', ui_path+'/win_btn_scroll_drag_y_t.gif');
b.add_skin('m', 18, 2, 0, 4, null, null, 4, null, null, 'img', ui_path+'/win_btn_scroll_drag_y_m.gif');
b.add_skin('b', 18, 4, 0, 0, null, null, null, null, 0, 'img', ui_path+'/win_btn_scroll_drag_y_b.gif');
b.add_skin('c', 18, 1, 0, 0, 'blank', null, 0);

var vuitpl_ScrollX = Demo.get_new(VUI_SCROLL);
vuitpl_ScrollX.set('x', null, null, null, 18);
vuitpl_ScrollX.T.className = 'scroll_bar_y';
vuitpl_ScrollX.Btn1.set(0, 0, 18, 18, 'btn_scroll_left0', 'btn_scroll_left1');
vuitpl_ScrollX.Btn2.set(0, 0, 18, 18, 'btn_scroll_right0', 'btn_scroll_right1');
vuitpl_ScrollX.Btn3.set(0, 0, 18, 18);

var b = vuitpl_ScrollX.Btn3;
b.add_skin('l', 4, 18, 0, 0, null, null, null, null, null, 'img', ui_path+'/win_btn_scroll_drag_x_l.gif');
b.add_skin('m', 2, 18, 4, 0, null, 4, null, null, null, 'img', ui_path+'/win_btn_scroll_drag_x_m.gif');
b.add_skin('r', 4, 18, 0, 0, null, null, null, 0, null, 'img', ui_path+'/win_btn_scroll_drag_x_r.gif');
b.add_skin('c', 1, 18, 0, 0, 'blank', 0);

/**
 * Contentbox
  */

var vuitpl_CBox = Demo.get_new(VUI_CBOX);
vuitpl_CBox.CHolder.T.className = 'cbox_cholder';
vuitpl_CBox.Content.T.className = 'cbox_content';
vuitpl_CBox.ScrollY.clone(vuitpl_ScrollY);
vuitpl_CBox.ScrollX.clone(vuitpl_ScrollX);
vuitpl_CBox.flags |= VUI_HIDE_SCROLLX;
vuitpl_CBox.ScrollY.T.bmarg += 1;
vuitpl_CBox.ScrollX.T.rmarg += 1;
vuitpl_CBox.CHolder.T.rmarg = 22; 

/**
 * 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(100,200,0,0,14,0);
o.T.mOver = 'list_item_hov';
o.T.mNormal = 'list_item';
o.T.mClick= 'list_item_sel';
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_down0', 'btn_scroll_down1');

/**
 * Checkbox
 */

var o = vuitpl_CheckBox = Demo.get_new(VUI_CHECKBOX);
o.set(0,0,200,12,'',0,'btn_cbox_0','btn_cbox_1');
o.BtnCheck.set(0,0,12,12);

/**
 * Selector
 */

var o = vuitpl_Selector = Demo.get_new(VUI_SELECTOR);
o.set(100,18,0,0);
o.Btn1.set(0,0,18,18,'btn_scroll_left0', 'btn_scroll_left1');
o.Btn2.set(0,0,18,18,'btn_scroll_right0', 'btn_scroll_right1');
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(200,200,0,0,30,0,5,5,'pset','pset_name','pset_value');
o.ScrollY.T.rmarg_nr = 0;
o.Content.T.Css.padding = '0px';
o.T.ListTemplate = vuitpl_PSetList.eleIdx;
o.CbInput.clone(vuitpl_CheckBox);
o.CbInput.set(0,0,150,16,"yes/no");

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,62,27,'demo_btn_0','demo_btn_1');
o.T.pos = 'relative';

var o = vuitpl_Button = Demo.get_new(VUI_BUTTON);
o.set(0,0,75,20,'generic_btn_0','generic_btn_1','A button');
var r = o.add_child('Lbl', VUI_NODE);
o.T.captionChildName = 'Lbl';
r.set('div',0,0,5,3);
r.set_marg(0,0);

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

var o = Demo.Note;
o.set(100,50,10,0);
o.set_marg(10,null,null,20);
o.Skin.add_skin('l',7,62,0,0,'note_l');
o.Skin.add_skin('m',1,62,7,0,'note_m',7);
o.Skin.add_skin('r',7,62,0,0,'note_r',null,null,0);
o.Label.T.className = 'note';

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

var o = Demo.Panel;
o.set(100, 29, 0, 0, 'panel_bg');
o.set_marg(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, 79, 29, 'panel_btn', 'panel_btn');

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

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

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

o.Taskbar.set(0,21,79,0,1,5);
o.Taskbar.set_marg(117);
o.Taskbar.TplButton.set(0,2,125,21,'taskbutton','taskbutton');

o.Taskbar.TplButton.add_skin('l', 4, 21, 0, 0, 'task_l');
o.Taskbar.TplButton.add_skin('f', 1, 21, 4, 0, 'task_f', -200);
var r = o.Taskbar.TplButton.add_skin('r', 4, 21, 0, 0, 'task_r', null,null,0);
r.T.z = 1;
o.Taskbar.TplButton.T.Css.overflow = 'hidden';
o.Taskbar.TplButton.T.captionChildName = 'f';

/******************************************************************************
 * 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,35);
  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;
