var CPWT = {};

CPWT.Default = {};
CPWT.Default.OnMouseOver = function() {
  this.style.backgroundImage = "url('images/menu_background_hover.png')";
  this.style.backgroundRepeat = "repeat-x";
};
CPWT.Default.OnMouseOut = function() {
  this.style.backgroundImage = "none";
};
CPWT.Default.OnClick = function() {
  CPWT.Default.DisplayLoading();
  setTimeout(CPWT.Default.LoadNewContent, 3000);
  CPWT.Default.LoadingPage = this.id;
};
CPWT.Default.SetSelected = function(/*string*/ TabName) {
  var eh = CPWT.Default.EventHandlers;
  var elem = dojo.byId(TabName);
  
  if (CPWT.Default.CurrentPage) {
    dojo.byId(CPWT.Default.CurrentPage).style.backgroundImage = "none";
    dojo.byId(CPWT.Default.CurrentPage).style.cursor = "pointer";
  }
  
  elem.style.backgroundImage = "url('images/menu_background_hover.png')";
  elem.style.backgroundRepeat = "repeat-x";
  dojo.disconnect(eh[TabName].onmouseover);
  dojo.disconnect(eh[TabName].onmouseout);
  dojo.disconnect(eh[TabName].onclick);
  dojo.byId(TabName).onmouseover = function() {};
  dojo.byId(TabName).onmouseout = function() {};
  dojo.byId(TabName).onclick = function() {};
  dojo.byId(TabName).style.cursor = "default";
  CPWT.Default.CurrentPage = TabName;
};
CPWT.Default.LoadNewContent = function() {
  CPWT.Default.HideLoading();

  var anim1 = dojo.fadeOut({ node: "InfoMessage", duration: 350 });
  var anim2 = dojo.fadeOut({ node: "Box1", duration: 350 });
  var anim3 = dojo.fadeOut({ node: "Box2", duration: 350 });
  var anim4 = dojo.fadeOut({ node: "Box3", duration: 350 });
  var anim5 = dojo.fadeOut({
    node: "PageText",
    duration: 350,
    onEnd: function() {
      dojo.byId("Box1").innerHTML = "In eius sensibus argumentum mei. Vis tota fabulas ei, te oratio fuisset est, ne vel posse primis sensibus. Et ius adipisci takimata, nisl semper sed in, impedit oporteat philosophia mea ne. Duo delicata expetendis definitiones ut, et dicit sonet eam. Vim ne placerat menandri tincidunt, mei kasd dicant no. Qui id magna iusto, aliquyam takimata qui ad.";
      dojo.byId("Box2").innerHTML = "Has senserit mnesarchum ne. Ei mea habeo deserunt. Ei vel vocent corpora molestie. Ut sea alii persequeris, eum suscipit accusamus quaerendum id, has eligendi probatus iudicabit et. Dicit consul eloquentiam vis et, cu has clita vivendum. Nec offendit menandri te, eum at veniam docendi voluptatum.";
      dojo.byId("Box3").innerHTML = "Has ad utinam liberavisse. Te nec noluisse democritum, ne vix melius oporteat, et natum imperdiet mei. Ex quo adhuc dicit reprehendunt. Eu malis causae alienum qui. His fastidii mentitum repudiare id, cu sea ullum deseruisse incorrupte, vim vidisse instructior an. Utroque senserit vim te, iusto hendrerit ne eum.";
      dojo.byId("InfoMessage").innerHTML = "<h3>Quot fugit novum vix ea</h3><p>Magna debitis an mei, ex vide dicta malorum mel, at duo idque impedit ullamcorper. Magna molestie voluptatum nec in, an saperet recusabo efficiantur est. Nec ut idque delicata explicari. Inermis definiebas an qui, erant consequat quo ea, lorem sanctus et has.</p>";
      dojo.byId("PageText").innerHTML = "<h3>Ancillae referrentur no sea</h3><p>Ei eos vero eirmod, appareat deserunt intellegat an qui. Id laudem ridens sed, id delenit euripidis nam. Diam habeo consequat ius ea, dicat detracto temporibus te pri. Saperet minimum vix ei, ullum utinam molestiae ne duo.</p><p>Ius sanctus gloriatur an. Atqui saperet mnesarchum pro cu, ludus euismod labores ex mea. Vis audiam deserunt pericula et, esse audire theophrastus ut mea, facer oblique consequat an mei. Ancillae referrentur no sea. Assum affert ius eu, eos cibo comprehensam ad, affert dolores incorrupte ex pri. Essent vidisse invenire nam ei, sed ad inani fabulas voluptatum. Virtute dissentiet eum ut, odio sensibus imperdiet ut mel.</p><p>Mea ei vide prompta discere, sea eu sumo possim, no doming legendos mei. Ut nam omnis solum bonorum, electram vituperata sit eu, sea ei quas elitr graeci. Ei mei ancillae forensibus consequuntur, ei sit puto habeo elaboraret, tibique molestie et vim. Option constituam sed cu. Pro dolore abhorreant ut, adolescens eloquentiam vix eu.</p><h3>Utamur fabulas omittantur</h3><p>Vim ut porro malorum, ponderum sententiae ei has. His quaeque delenit nominati at, civibus scribentur usu cu. Perpetua euripidis signiferumque an eam, nostro menandri usu ad. Labitur platonem ius ad, quo eu graeci labore, amet equidem sit at.</p><p>Cu epicurei fabellas dissentias sit, eam vero liber ad. Utamur fabulas omittantur duo cu, ad amet vocibus albucius vis, dicit facilisis ea pro. Nec ea maluisset persecuti honestatis, novum neglegentur interpretaris qui ea. Pri eu justo virtute, cum at quando labore eripuit. Quodsi nonummy et vel, et duo facilisi ullamcorper.</p><p>Natum illum utroque et sit, ea eum nostro mentitum. Eu errem noluisse argumentum sit, est ne pericula tincidunt posidonium. Cum oblique dignissim te, est id enim brute. Probatus insolens nominati ei usu, amet facilis tincidunt eu eum, ad suas detraxit referrentur has.</p><p>Sed at quot nonummy. Recusabo platonem vis te. Eam an facete doctus animal. Facilis convenire referrentur eu nec. Gloriatur consectetuer eum ut, aeterno bonorum at his. Id vel veri apeirian verterem, solet cetero phaedrum ne ius.</p><p>Aperiam iracundia sed at. Harum numquam reformidans vis ne, at alienum dolores pri. Ei impetus albucius has, falli putant qualisque pri ut. Simul aliquid dissentiunt ne vel. Has zzril adipisci et.</p>";
      dojo.fadeIn({ node: "Box1", duration: 500 }).play();
      dojo.fadeIn({ node: "Box2", duration: 500 }).play();
      dojo.fadeIn({ node: "Box3", duration: 500 }).play();
      dojo.fadeIn({ node: "PageText", duration: 500 }).play();
      dojo.fadeIn({ node: "InfoMessage", duration: 500 }).play();
      CPWT.Default.SetupEventHandlers();
      CPWT.Default.SetSelected(CPWT.Default.LoadingPage);
    }
  });
  
  dojo.fx.chain([anim1, anim2, anim3, anim4, anim5]).play();
};
CPWT.Default.HideLoading = function() {
  dojo.fadeOut({ node: "Loading", duration: 500 }).play();
  dojo.fadeOut({ node: "AjaxGif", duration: 500 }).play();
};
CPWT.Default.DisplayLoading = function() {
  dojo.fadeIn({ node: "Loading", duration: 500 }).play();
  dojo.fadeIn({ node: "AjaxGif", duration: 500 }).play();
};
CPWT.Default.SetupEventHandlers = function() {
  var Home = dojo.byId("Home");
  var About = dojo.byId("About");
  var Contact = dojo.byId("Contact");
  var eh = CPWT.Default.EventHandlers;
  
  eh.Home.onclick = dojo.connect(Home, "onclick", CPWT.Default.OnClick);
  eh.Home.onmouseover = dojo.connect(Home, "onmouseover", CPWT.Default.OnMouseOver);
  eh.Home.onmouseout = dojo.connect(Home, "onmouseout", CPWT.Default.OnMouseOut);
  eh.About.onclick = dojo.connect(About, "onclick", CPWT.Default.OnClick);
  eh.About.onmouseover = dojo.connect(About, "onmouseover", CPWT.Default.OnMouseOver);
  eh.About.onmouseout = dojo.connect(About, "onmouseout", CPWT.Default.OnMouseOut);
  eh.Contact.onclick = dojo.connect(Contact, "onclick", CPWT.Default.OnClick);
  eh.Contact.onmouseover = dojo.connect(Contact, "onmouseover", CPWT.Default.OnMouseOver);
  eh.Contact.onmouseout = dojo.connect(Contact, "onmouseout", CPWT.Default.OnMouseOut);
};
CPWT.Default.LoadingPage = null;
CPWT.Default.CurrentPage = null;

CPWT.Default.EventHandlers = {};
CPWT.Default.EventHandlers.Home = {};
CPWT.Default.EventHandlers.About = {};
CPWT.Default.EventHandlers.Contact = {};

dojo.require("dojo.fx");
dojo.addOnLoad(function(){
  //CPWT.Default.SetupEventHandlers();
  CPWT.Default.SetSelected("Home");
  CPWT.Default.HideLoading();
});
