var mainLayout = null;

(function () {
    var loader = new YAHOO.util.YUILoader({
      base: "http://yui.yahooapis.com/2.7.0/build/",
      require: [
        "animation", "button", "connection", "container", "cookie",
        "fonts", "grids", "layout", "reset", "resize", "treeview"
      ],
      rollup: true,
      loadOptional: true,
      onSuccess: function() {
        var Dom = YAHOO.util.Dom,
            Event = YAHOO.util.Event,
            Get = YAHOO.util.Get;
        mainLayout = new YAHOO.widget.Layout({
            minWidth: 800,
            units: [
                { position: 'top', height: 32, body: 'top1'},
                { position: 'bottom', header: 'Disclaimer', height: 90, body: 'bottom1', collapse: true, collapseSize: 20, scroll: true },
                { position: 'left', header: 'Groups', width: 200, minWidth: 200, resize: true, body: 'left1', gutter: '5px', scroll: true, collapse: true, collapseSize: 28, animate: true },
                { position: 'center', body: 'center1', gutter: '5px 0px 5px 0px', scroll: true }
            ]
        });
        mainLayout.on('resize', function() {
//          var l = this.getUnitByPosition('left');   
//          var th = l.get('height') - Dom.get('classTop').offsetHeight;   
//          var h = th - 4; //Borders around the 2 areas   
//          h = h - 9; //Padding between the 2 parts   
//          Dom.setStyle('classTree', 'height', h + 'px');   
        });
        mainLayout.on('render', function() {
            window.setTimeout(function() {
              Get.css('/styles/style.css');
              Get.script('/scripts/environment.js');
              Get.script('/scripts/article.js');
              Get.script('/scripts/group.js');
              Get.script('/scripts/subscribed.js');
              Get.script('/scripts/server.js');
              Get.script('/scripts/threads.js');
//              Get.script('/scripts/bannerad.js');
              Get.script('/scripts/buttons.js');
              Get.script('/scripts/robot.js', { onSuccess: showDisclaimer });
              Get.script('/scripts/loader.js');
              Get.script('/scripts/session.js');
              Get.script('/scripts/subscribe.js');
              Get.script('/scripts/category.js');
            }, 0);
            Dom.setStyle('top1', 'display', 'block');
            Dom.setStyle('left1', 'display', 'block');
            Dom.setStyle('bottom1', 'display', 'block');
            Dom.setStyle('center1', 'display', 'block');
        });
        mainLayout.render();
      }
    });
//    loader.addModule({
//        name: 'environment',  // Module name
//        type: 'js',
//        fullpath: 'http://'+document.location.host+'/scripts/environment.js',
//        varName: "Environment",
//        require: [ 'yahoo' ]
//    });
//    loader.require('environment');
//    loader.addModule({
//        name: 'article',  // Module name
//        type: 'js',
//        fullpath: 'http://'+document.location.host+'/scripts/article.js',
//        varName: "Article",
//        require: [ 'connect', 'dom', 'layout', 'environment' ]
//    });
//    loader.require('article');
//    loader.addModule({
//        name: 'group',  // Module name
//        type: 'js',
//        fullpath: 'http://'+document.location.host+'/scripts/group.js',
//        varName: "Group",
//        require: [ 'dom', 'environment']
//    });
//    loader.require('group');
//    loader.addModule({
//        name: 'server',  // Module name
//        type: 'js',
//        fullpath: 'http://'+document.location.host+'/scripts/server.js',
//        varName: "Server",
//        require: [ 'connect', 'dom', 'environment', 'article', 'group' ]
//    });
//    loader.require('server');
//    loader.addModule({
//        name: 'threads',  // Module name
//        type: 'js',
//        fullpath: 'http://'+document.location.host+'/scripts/threads.js',
//        varName: "Threads",
//        require: [ 'button', 'connect', 'dom', 'treeview', 'article', 'group', 'server' ]
//    });
//    loader.require('threads');

    loader.insert();
    
    loaderAvailable = function() {
      new Loader('disclaimer', '/disclaimer.htm') ;
    };
    loadUSC2257 = function() {
      new Loader('preview', '/usc2257.htm') ;
    };
    loadPrivacy = function() {
      new Loader('preview', '/privacy.htm') ;
    };
    loadGuidelines = function() {
      new Loader('preview', '/guidelines.htm') ;
    };
    loadDisclaimer = function() {
      new Loader('preview', '/disclaimer.htm') ;
    };
    loadDMCA = function(){
      infoPanel('Digital Millennium Copyright Act', '/copyright.htm');
    };

    infoPanel = function(header, url, ok) {
      this.popup = new YAHOO.widget.SimpleDialog("popup", {
        visible: true,
        close: (ok ? false : true),
        modal: true,
        fixedcenter: true,
        constraintoviewport: true,
        buttons:
        [
          {
            text: (ok ? ok : "OK"),
            handler:function () {
	      Cookie.set("disclaimer", "shown", {
		path: "/",
		domain: "freeusenetreader.com"
	      }) ;
              this.hide();
            },
            isDefault:true
          }
        ]
      });
      var iframe = document.createElement("iframe") ;
      iframe.src = url ;
      iframe.setAttribute("width", "480px");
      iframe.setAttribute("height", "320px");
      this.disclaimer.setHeader(header);
      this.disclaimer.setBody(iframe);
      this.disclaimer.render(document.body);
    };

    showDisclaimer = function() {
      var Cookie = YAHOO.util.Cookie;
      if (!BrowserDetect || !BrowserDetect.robot)
      {
        var disclaimer = Cookie.get("disclaimer") ;
        if (disclaimer === null)
        {
          this.disclaimer = new YAHOO.widget.SimpleDialog("popup", {
            visible: true,
            close: false,
            modal: true,
            fixedcenter: true,
            constraintoviewport: true,
            buttons:
              [
                {
                  text:"I AGREE",
                  handler:function () {
                    Cookie.set("disclaimer", "shown", {
		      path: "/",
		      domain: "freeusenetreader.com"
		    }) ;
                    this.hide();
                  },
                  isDefault:true
                }
              ]
            });
          var iframe = document.createElement("iframe") ;
          iframe.src = "/disclaimer.htm" ;
          iframe.setAttribute("width", "480px");
          iframe.setAttribute("height", "320px");
          this.disclaimer.setHeader("Disclaimer");
          this.disclaimer.setBody(iframe);
          this.disclaimer.render(document.body);
        }
      }
    } ;

    this.checkGroupCounter = 0 ;
    checkGroup = function(){
      this.checkGroupCounter ++ ;
      if (this.checkGroupCounter === 3)
      {
        if (gup("group"))
        {
          new groupLoader(mainLayout, gup("group")) ;
        }
      }
    };
})();
