ARCHIKON contructeurs

var Archikon = Class.create({

  // options
  options: {
    backend: false,
    lineWidth: 1
  },

  current_page: '',
  current_sub_page: '',
  current_project: '',
  bgImages: [
  //'images/backgrounds/bureau-kwaliteit.jpg',
  //'images/backgrounds/bureau-team.jpg',
  'images/backgrounds/bureau-home.jpg', 'images/backgrounds/image-roosters.jpg'
  //'images/backgrounds/bureau-visie.jpg',
  //'images/backgrounds/project-bg.jpg',
  //'images/backgrounds/contact.jpg'
  ],
  bgs: [],
  prettyPhotoOptions: {
    show_title: true,
    social_tools: false,
    deeplinking: false,
    theme: 'light_square',
    gallery_markup: '',
    modal: false
  },

  initialize: function(options) {
    // setup options
    this.options = options;
    if ($.browser.msie) {
      if (parseInt($.browser.version, 10) < 7) {
        return false;
      }
    }

    if (this.options.bgs.length > 0) {
      this.bgs = $.parseJSON(this.options.bgs);
    }

    this.current_page = '#page_5';
    this.current_sub_page = '#page8_id_2';
    this.current_project = '#page2_id_1';

    this.initScreen();
    this.preloadImages($.proxy(function() {
      this.initMenu();
      this.scrollPageEvents();
      this.initHomeButton();
      this.drawLines();
    }, this));

    // Window resize (IE and Safari fire this event continually)
    $(window).resize($.proxy(function() {
      $.doTimeout('resize', 250, $.proxy(function() {
        this.initScreen();
        this.drawLines();
        $.scrollTo(this.current_page, 1000);
      }, this));
    }, this));
  },

  preloadImages: function(callback) {
    if ($.browser.msie) {
      $.scrollTo('#page_5', 1000, {
        onAfter: $.proxy(function() {
          $('.logo, .social').fadeIn(500);
          this.changeBackground('', 'homepage', callback);
        }, this)
      });
    } else {
      $.preLoadImages('images/loader.gif', $.proxy(function() {
        $('<img />').attr({
          src: 'images/loader.gif',
          alt: 'Loading..',
          title: 'Loading..'
        }).attr('class', 'left').appendTo('#loading');
        //$.ajax({
        //   url: 'projecten/all-images',
        //    type: "GET",
        //    success: $.proxy(function(data){
        //       oData = jQuery.parseJSON(data);
        //        $.preLoadImages(oData, $.proxy(function(){
        $.preLoadImages(this.bgImages, $.proxy(function() {
          $.preLoadCSSImages($.proxy(function() {
            $.scrollTo(this.current_page, 1000, {
              onAfter: $.proxy(function() {
                $('.logo, .social').fadeIn(500);
                this.changeBackground('', 'homepage', callback);
              }, this)
            });
          }, this))
        }, this));
        //}, this));
        //}, this)
        //});
      }, this));

    }
  },

  initScreen: function() {
    var width = $(window).width();
    $('body').css('width', width);
    $('#container').css('width', width * 3);
    $('#archikon').css('width', width * 3);
    $('#archikon_canvas').css('width', width * 3);
    $('#archikon div').css('width', width * 3);
    $('.page').css('width', width);
    $('.background').css('width', width);
    $('.background2').css('width', width);

    var height = $(window).height();
    $('body').css('height', height);
    $('#container').css('height', height * 3);
    $('#archikon').css('height', height * 3);
    $('#archikon_canvas').css('height', height * 3);
    $('#archikon div').css('height', height * 3);
    $('.page').css('height', height);

    if ($('head link:last').attr('id') != 'cssContent') {
      $("head").append("<link>");
    }

    var oDate = new Date();

    css = $("head").children(":last");
    if (height > 700) {
      css.attr({
        rel: "stylesheet",
        type: "text/css",
        href: "css/big.css?cb=" + oDate.getTime(),
        id: "cssContent"
      });
    } else {
      css.attr({
        rel: "stylesheet",
        type: "text/css",
        href: "css/small.css?cb=" + oDate.getTime(),
        id: "cssContent"
      });
    }
    this.positionMenuItems();
  },

  initMenu: function() {
    $('div.menu a').click(function() {
      if (!$(this).parent().hasClass('active')) {
        $('div.menu a').each(function() {
          $(this).parent().removeClass('activestate')
        });
        $(this).parent().addClass('activestate')
      }
    });
  },

  scrollPageEvents: function() {
    // scroll naar projecten
    this.scrollPageEvent($('#page_5_id_5'), '#page_2', '', $.proxy(function() {
      this.initProjects();
      this.initProject("projecten/woningbouw");
    }, this), '');

    // scroll naar contact
    this.scrollPageEvent($('#page_5_id_2'), '#page_6', '', $.proxy(function() {
      this.initForms();
      $(document).unbind('keypress');
    }, this), 'contact');

    // scroll naar bureau
    this.scrollPageEvent($('#page_5_id_1'), '#page_8', '', $.proxy(function() {
      this.initBureau();
      this.setBureau("content/visie");
    }, this), 'visie');
  },

  scrollPageEvent: function(elmButton, elmTo, bgImage, callback, category) {
    elmButton.bind('click', $.proxy(function() {
      this.current_page = elmTo;
      $('a#home').fadeIn(1000);
      this.changeBackground(bgImage, category, callback);
      if (typeof callback == 'function') {
        callback();
      }
      $.scrollTo(elmTo, 1000);
      switch (elmTo) {
      case '#page_2':
        $(this.current_project).addClass('activestate');
        break;
      case '#page_6':
        $('#page6_id_1').addClass('activestate');
        break;
      case '#page_8':
        $(this.current_sub_page).addClass('activestate');
        break;
      }
    }, this));
  },

  drawLinesInMenuIE: function(menuItems) {
    $(menuItems).each(

    function() {
      var srcHeight = 0;
      var trgHeight = 0;
      var srcWidth = 0;
      var trgWidth = 0;
      var menuDiv = $(this).parent();
      if ($(this).attr("rel")) {
        var srcOffset = $(this).offset();
        if (menuDiv.hasClass('rb') || menuDiv.hasClass('lb')) {
          srcHeight = menuDiv.height();
        }
        if (menuDiv.hasClass('rb') || menuDiv.hasClass('rt')) {
          srcWidth = menuDiv.width();
        }
        var targetDiv = $("#" + $(this).attr("rel")).parent();
        if (targetDiv.length) {
          var trgOffset = targetDiv.offset();
          if (targetDiv.hasClass('rb') || targetDiv.hasClass('lb')) {
            trgHeight = targetDiv.height();
          }
          if (targetDiv.hasClass('rb') || targetDiv.hasClass('rt')) {
            trgWidth = targetDiv.width();
          }
          $("#archikon_canvas").drawLine(srcOffset.left + srcWidth, srcOffset.top + srcHeight, trgOffset.left + trgWidth, trgOffset.top + trgHeight, {
            color: '#fff'
          });
        }
      }
    });
  },

  drawLineIE: function(srcElement, trgElement) {
    var srcHeight = 0;
    var srcWidth = 0;
    var trgHeight = 0;
    var trgWidth = 0;
    var srcOffset = srcElement.offset();
    if (srcElement.hasClass('rb') || srcElement.hasClass('lb')) {
      srcHeight = srcElement.height();
    }
    if (srcElement.hasClass('rb') || srcElement.hasClass('rt')) {
      srcWidth = srcElement.width();
    }
    var trgOffset = trgElement.offset();
    if (trgElement.hasClass('rb') || trgElement.hasClass('lb')) {
      trgHeight = trgElement.height();
    }
    if (trgElement.hasClass('rb') || trgElement.hasClass('rt')) {
      trgWidth = trgElement.width();
    }

    $("#archikon_canvas").drawLine(srcOffset.left + srcWidth, srcOffset.top + srcHeight, trgOffset.left + trgWidth, trgOffset.top + trgHeight, {
      color: '#fff'
    });
  },

  drawLines: function() {
    $('#archikon_canvas').empty();
    var height = $(window).height();
    var width = $(window).width();
    if ($.browser.msie) {
      if (parseInt($.browser.version, 10) < 9) {
        this.drawLinesInMenuIE($(".menu a"));
        // this lines are allways visible
        this.drawLineIE($('#page5_id_5'), $('#page_2_id_2'));
        this.drawLineIE($('#page8_id_1'), $('#page5_id_1'));
        this.drawLineIE($('#page8_id_3'), $('#page8_id_2'));
        this.drawLineIE($('#page_6 .content h1'), $('#page6_id_1'));

        // this lines are drawn dynamicly based on the current page / project
        this.drawLineIE($('#project_title_1'), $(this.current_project));
        this.drawLineIE($('#page_8 .content h1'), $(this.current_sub_page));
      }
    } else {
      var canvasJq = $("#archikon");
      var cOffset = canvasJq.offset();
      var canvasEl = canvasJq[0];

      //var canvasEl = document.getElementById("archikon");
      if (typeof(G_vmlCanvasManager) != 'undefined') {
        canvasEl = G_vmlCanvasManager.initElement(canvasEl);
      }

      canvasEl.width = canvasJq.width();
      canvasEl.height = canvasJq.height();

      if (canvasEl.getContext) {
        //alert('yes');
        var ctx = canvasEl.getContext('2d');
        ctx.clearRect(0, 0, canvasEl.width, canvasEl.height);
        //ctx.fillStyle = "rgba(0, 0, 255, .5)";
        //ctx.fillRect(0, 0, canvasEl.width, canvasEl.height);
        ctx.beginPath();
        ctx.moveTo(100, 150);
        ctx.lineTo(300, 350);
        this.drawLinesInMenu(ctx, $(".menu a"), cOffset);

        // this lines are allways visible
        this.drawLine(ctx, $('#page5_id_5'), $('#page_2_id_2'), cOffset);
        this.drawLine(ctx, $('#page8_id_1'), $('#page5_id_1'), cOffset);
        this.drawLine(ctx, $('#page8_id_3'), $('#page8_id_2'), cOffset);
        this.drawLine(ctx, $('#page_6 .content h1'), $('#page6_id_1'), cOffset);

        // this lines are drawn dynamicly based on the current page / project
        this.drawLine(ctx, $('#project_title_1'), $(this.current_project), cOffset);
        this.drawLine(ctx, $('#page_8 .content h1'), $(this.current_sub_page), cOffset);

        ctx.strokeStyle = '#fff';
        ctx.lineWidth = 1;
        ctx.stroke();
        ctx.closePath();
        $.scrollTo(this.current_page, 1000, {
          onAfter: function() {
            //$('.background, .logo, .social').fadeIn(800)
            $('.logo, .social').fadeIn(800)
          }
        });
      } else {
        //alert('no canvas');
      }
    }

  },

  drawLinesInMenu: function(ctx, menuItems, cOffset) {
    $(menuItems).each(

    function() {
      var srcHeight = 0;
      var trgHeight = 0;
      var srcWidth = 0;
      var trgWidth = 0;
      var menuDiv = $(this).parent();
      if ($(this).attr("rel")) {
        var srcOffset = $(this).offset();
        if (menuDiv.hasClass('rb') || menuDiv.hasClass('lb')) {
          srcHeight = menuDiv.height();
        }
        if (menuDiv.hasClass('rb') || menuDiv.hasClass('rt')) {
          srcWidth = menuDiv.width();
        }
        var targetDiv = $("#" + $(this).attr("rel")).parent();
        if (targetDiv.length) {
          var trgOffset = targetDiv.offset();
          if (targetDiv.hasClass('rb') || targetDiv.hasClass('lb')) {
            trgHeight = targetDiv.height();
          }
          if (targetDiv.hasClass('rb') || targetDiv.hasClass('rt')) {
            trgWidth = targetDiv.width();
          }
          ctx.moveTo(srcOffset.left - cOffset.left + srcWidth, srcOffset.top - cOffset.top + srcHeight);
          ctx.lineTo(trgOffset.left - cOffset.left + trgWidth, trgOffset.top - cOffset.top + trgHeight);
        }
      }
    });
  },

  drawLine: function(ctx, srcElement, trgElement, cOffset) {

    var srcHeight = 0;
    var srcWidth = 0;
    var trgHeight = 0;
    var trgWidth = 0;
    var srcOffset = srcElement.offset();
    if (srcElement.hasClass('rb') || srcElement.hasClass('lb')) {
      srcHeight = srcElement.height();
    }
    if (srcElement.hasClass('rb') || srcElement.hasClass('rt')) {
      srcWidth = srcElement.width();
    }
    var trgOffset = trgElement.offset();
    if (trgElement.hasClass('rb') || trgElement.hasClass('lb')) {
      trgHeight = trgElement.height();
    }
    if (trgElement.hasClass('rb') || trgElement.hasClass('rt')) {
      trgWidth = trgElement.width();
    }

    ctx.moveTo(srcOffset.left - cOffset.left + srcWidth, srcOffset.top - cOffset.top + srcHeight);
    ctx.lineTo(trgOffset.left - cOffset.left + trgWidth, trgOffset.top - cOffset.top + trgHeight);
  },

  changeBackground: function(bgImage, category, callback) {

    if (typeof category == 'string' && category != '') {
      bgImage = this.bgs[category][Math.floor(Math.random() * this.bgs[category].length)];
    } else if ((typeof bgImage == 'undefined') || bgImage == '') {
      bgImage = this.bgImages[Math.floor(Math.random() * this.bgImages.length)];
    }
    $.backstretch(bgImage, {
      speed: 500
    });
    if (typeof callback == 'function') {
      callback();
    }
  },


  initHomeButton: function() {
    $('a#home, div.logo').bind('click', $.proxy(function() {
      $(document).unbind('keypress');
      this.current_page = '#page_5';
      this.changeBackground('', 'homepage');
      $('a#home').fadeOut(800);
      $.scrollTo('#page_5', 1000);
    }, this));
  },

  initForms: function() {
    $('div.form.generator form').each(function() {
      var oForm = new FormHandler({
        form: this,
        ajax: true
      });
    });
  },

  setCurrentProject: function(current_project) {
    this.current_project = current_project;
  },

  initProjects: function() {
    $('#page_2_id_1').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.initProject($(evt.target).attr('href'));
      this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_2_id_3').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.initProject($(evt.target).attr('href'));
      this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_2_id_4').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.initProject($(evt.target).attr('href'));
      this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_2_id_5').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.initProject($(evt.target).attr('href'));
      this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_2_id_6').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.initProject($(evt.target).attr('href'));
      this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_2_id_7').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.initProject($(evt.target).attr('href'));
      this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));

  },

  initProject: function(uri) {
    $.ajax({
      url: uri,
      type: "GET",
      success: $.proxy(function(data) {
        oData = jQuery.parseJSON(data);
        $('#page_2 .content').html(oData.projecten);
        $('.projects').cycle({
          requeueTimeout: 500,
          timeout: 0,
          speed: 800,
          cleartype: 1,
          fx: 'scrollBothWays',
          next: '#nextproject',
          prev: '#previousproject',
          onPrevNextEvent: $.proxy(function(isNext, zeroBasedSlideIndex, slideElement) {
            var project_id = $(slideElement).attr('class').replace('project project_', '');
            var uri = 'projecten/afbeeldingen/project_id/' + project_id;
            $.ajax({
              url: uri,
              type: "GET",
              success: $.proxy(function(data) {
                oData = jQuery.parseJSON(data);
                if (typeof oData.html != 'undefined') {
                  $('div.project_samples').html(oData.html);
                  $("a[rel^='prettyPhoto']").prettyPhoto(this.prettyPhotoOptions);
                  this.changeBackground(oData.bg);
                }
              }, this)
            });
          }, this)
        });
        $(document).bind('keypress', function(e) {
          if (e.keyCode == 37) {
            $('#slider').cycle('prev');
          } else if (e.keyCode == 39) {
            $('#slider').cycle('next');
          }
        });
        this.changeBackground(oData.info.image_bg);
        $("a[rel^='prettyPhoto']").prettyPhoto(this.prettyPhotoOptions);
      }, this)
    });
  },

  setCurrentSubPage: function(current_sub_page) {
    this.current_sub_page = current_sub_page;
  },

  initBureau: function() {
    $('#page_8_id_2').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.setBureau($(evt.target).attr('href'));
      this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_8_id_3').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.setBureau($(evt.target).attr('href'));
      this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_8_id_4').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.setBureau($(evt.target).attr('href'));
      this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_8_id_5').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.setBureau($(evt.target).attr('href'));
      this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
    $('#page_8_id_7').bind('click', $.proxy(function(evt) {
      evt.preventDefault();
      evt.stopPropagation();
      this.setBureau($(evt.target).attr('href'));
      this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
      this.drawLines();
    }, this));
  },

  setBureau: function(uri) {
    $.ajax({
      url: uri,
      type: "GET",
      success: $.proxy(function(data) {
        $('#page_8 .content').html(data);
        var bg = uri.split('/');
        this.changeBackground('', bg[parseInt(bg.length) - 1]);
        $('#page_8 .content div.scroll').scrollable({
          vertical: true,
          mousewheel: true,
          next: ".up",
          prev: ".down"
        });
      }, this)
    });
  },

  positionMenuItems: function() {
    var width = $(window).width();
    var height = $(window).height();

    var correctionTop = 40;
    var correctionTopMtp = 0;
    switch (true) {
    case ((height <= 590) && (height > 1)):
      correctionTopMtp = 6;
      break;

    case ((height <= 770) && (height > 600)):
      correctionTopMtp = 4;
      break;

    case ((height <= 850) && (height > 800)):
      correctionTopMtp = 2;
      break;

    case (height > 930):
      correctionTopMtp = 0;
      break;
    }

    var correctionRight = 40;
    var correctionRightMtp = 0;
    switch (true) {
    case (width <= 1024):
      correctionRightMtp = 1;
      break;
    }

    // CONTACT
    $('#page2_id_3').css({
      'left': (202 - (correctionRight * correctionRightMtp * 3)) + 'px',
      'top': (162 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page2_id_4').css({
      'left': (202 - (correctionRight * correctionRightMtp * 3)) + 'px',
      'top': (322 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page2_id_5').css({
      'left': (282 - (correctionRight * correctionRightMtp * 3)) + 'px',
      'top': (442 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page2_id_6').css({
      'left': (202 - (correctionRight * correctionRightMtp * 3)) + 'px',
      'top': (562 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page2_id_7').css({
      'left': (402 - (correctionRight * correctionRightMtp * 3)) + 'px',
      'top': (522 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });

    $('#page_2 div.content').css({
      'left': (522 - (correctionRight * correctionRightMtp * 5)) + 'px',
      'top': (parseInt((320 - ((correctionTop * correctionTopMtp * 1) * 1.2)) / 40)) * 40 + 'px'
    });

    if (width <= 0) {
      $('#page_2 div.content').css({
        'top': (((parseInt((320 - ((correctionTop * correctionTopMtp * 1) * 1.5)) / 40)) * 40) - 40) + 'px'
      });
    }

    // HOMEPAGE
    $('#page5_id_1').css({
      'left': (842 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (442 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page5_id_2').css({
      'left': (722 - (correctionRight * correctionRightMtp * 3)) + 'px',
      'top': (282 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page5_id_3').css({
      'left': (482 - (correctionRight * correctionRightMtp * 3)) + 'px',
      'top': (parseInt((402 - ((correctionTop * correctionTopMtp * 1) * 1.5)) / 40)) * 40 + 'px'
    });
    $('#page5_id_4').css({
      'left': (882 - (correctionRight * correctionRightMtp * 4)) + 'px',
      'top': (322 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page_5 div.content').css({
      'left': (122 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (parseInt((480 - ((correctionTop * correctionTopMtp * 1) * 1.5)) / 40)) * 40 + 'px'
    });

    // BUREAU
    $('#page8_id_1').css({
      'left': (722 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (642 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page8_id_2').css({
      'left': (1002 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (402 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page8_id_3').css({
      'left': (842 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (482 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page8_id_4').css({
      'left': (882 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (562 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page8_id_5').css({
      'left': (602 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (562 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page8_id_6').css({
      'left': (842 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (682 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page8_id_7').css({
      'left': (962 - (correctionRight * correctionRightMtp * 1)) + 'px',
      'top': (642 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });


    var correctionLeft = 0;
    if (correctionTop > 160) {
      correctionTop = 160;
      correctionLeft = 40;
    }
    // BUREAU CONTENT AREA
    $('#page_8 div.content').css({
      'left': (122 + correctionLeft) + 'px',
      'top': (200 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });

    $('#page2_id_1').css({
      'left': '522px',
      'top': (162 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });
    $('#page2_id_2').css({
      'left': '342px',
      'top': (242 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });

    if (width <= 1024) {
      $('#page2_id_2').css({
        'left': '302px',
        'top': (202 - (correctionTop * correctionTopMtp * 1)) + 'px'
      });
    }

    $('#page5_id_5').css({
      'left': '442px',
      'top': (202 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });

    // CONTACT CONTENT AREA
    $('#page_6 div.content').css({
      'top': (200 - (correctionTop * correctionTopMtp * 1)) + 'px'
    });

    if (correctionTop > 80) {
      correctionLeft = 80;
    }

    if (correctionTop > 40) {
      correctionTop = 40;
      correctionLeft = 40;
    }
    $('#page6_id_1').css({
      'left': (402 + correctionLeft) + 'px'
    });

    $('#page6_id_1').css({
      'top': '42px'
    });

    if (height <= 650) {
      $('#page6_id_1').css({
        'top': (42 - correctionTop) + 'px'
      });
    }

    // CONTACT CONTENT AREA
    $('#page_6 div.content').css({
      'left': (122 + correctionLeft) + 'px'
    });
  }
});
var Archikon = Class.create({

    // options
    options : {
        backend : false,
        lineWidth: 1
    },

    current_page: '',
    current_sub_page: '',
    current_project: '',
    bgImages: [
        //'images/backgrounds/bureau-kwaliteit.jpg',
        //'images/backgrounds/bureau-team.jpg',
        'images/backgrounds/bureau-home.jpg',
        'images/backgrounds/image-roosters.jpg'
        //'images/backgrounds/bureau-visie.jpg',
        //'images/backgrounds/project-bg.jpg',
        //'images/backgrounds/contact.jpg'
    ], 
    bgs : [],
    prettyPhotoOptions: {
        show_title: true,
        social_tools: false,
        deeplinking: false,
        theme: 'light_square', 
        gallery_markup: '',	
        modal: false
    },
    
    initialize : function(options) {
        // setup options
        this.options = options;
        if ( $.browser.msie ) {
            if ( parseInt($.browser.version, 10) < 7 ) {
                return false;
            }
        }
        
        if (this.options.bgs.length > 0) {
            this.bgs = $.parseJSON(this.options.bgs);
        }
        
        this.current_page = '#page_5';
        this.current_sub_page = '#page8_id_2';
        this.current_project = '#page2_id_1'; 
        
        this.initScreen();
        this.preloadImages($.proxy(function(){
            this.initMenu();
            this.scrollPageEvents();
            this.initHomeButton();
            this.drawLines();
        }, this));
        
        // Window resize (IE and Safari fire this event continually)
        $(window).resize($.proxy(function(){
            $.doTimeout( 'resize', 250, $.proxy(function(){
                this.initScreen();
                this.drawLines();
                $.scrollTo(this.current_page , 1000);
            }, this));
        }, this));
    },

    preloadImages : function(callback) {
        if ( $.browser.msie ) {
            $.scrollTo('#page_5', 1000, {
                onAfter: $.proxy(function () {
                    $('.logo, .social').fadeIn(500);
                    this.changeBackground('', 'homepage', callback);
                }, this)
            });
        } else {
            $.preLoadImages('images/loader.gif', $.proxy(function(){
                $('<img />').attr({
                    src : 'images/loader.gif',
                    alt : 'Loading..',
                    title : 'Loading..'
                }).attr('class', 'left').appendTo('#loading');
                //$.ajax({
                //   url: 'projecten/all-images',
                //    type: "GET",
                //    success: $.proxy(function(data){
                //       oData = jQuery.parseJSON(data);
                //        $.preLoadImages(oData, $.proxy(function(){
                            $.preLoadImages(this.bgImages, $.proxy(function(){
                                $.preLoadCSSImages($.proxy(function() {
                                    $.scrollTo(this.current_page, 1000, {
                                        onAfter: $.proxy(function () {
                                            $('.logo, .social').fadeIn(500);
                                            this.changeBackground('', 'homepage', callback);
                                        }, this)
                                    });
                                }, this))
                            }, this));
                        //}, this));
                    //}, this)
                //});
            }, this));

        }
    },

    initScreen : function() {
        var width = $(window).width();
        $('body').css('width', width);
        $('#container').css('width', width * 3);
        $('#archikon').css('width', width * 3);
        $('#archikon_canvas').css('width', width * 3);
        $('#archikon div').css('width', width * 3);
        $('.page').css('width', width);
        $('.background').css('width', width);
        $('.background2').css('width', width);
		
        var height = $(window).height();
        $('body').css('height', height);
        $('#container').css('height', height * 3);
        $('#archikon').css('height', height * 3);
        $('#archikon_canvas').css('height', height * 3);
        $('#archikon div').css('height', height * 3);
        $('.page').css('height', height);
        
        if($('head link:last').attr('id') != 'cssContent') {
            $("head").append("<link>");
        }
        
        var oDate = new Date();
        
        css = $("head").children(":last");
        if (height > 700) {
            css.attr({
                rel:  "stylesheet",
                type: "text/css",
                href: "css/big.css?cb=" + oDate.getTime(),
                id: "cssContent"
            });
        } else {
            css.attr({
                rel:  "stylesheet",
                type: "text/css",
                href: "css/small.css?cb=" + oDate.getTime(),
                id: "cssContent"
            });
        }
        this.positionMenuItems();  
    },

    initMenu: function () {
        $('div.menu a').click(function () {
            if (!$(this).parent().hasClass('active')) {
                $('div.menu a').each(function () {
                    $(this).parent().removeClass('activestate')
                });
                $(this).parent().addClass('activestate')
            }
        });
    },
    
    scrollPageEvents: function () {
        // scroll naar projecten
        this.scrollPageEvent($('#page_5_id_5'), '#page_2', '', $.proxy(function () {
            this.initProjects();
            this.initProject("projecten/woningbouw");
        }, this), '');
        
        // scroll naar contact
        this.scrollPageEvent($('#page_5_id_2'), '#page_6', '', $.proxy(function () {
            this.initForms();
            $(document).unbind('keypress');
        }, this), 'contact');
        
        // scroll naar bureau
        this.scrollPageEvent($('#page_5_id_1'), '#page_8', '', $.proxy(function () {
            this.initBureau();
            this.setBureau("content/visie");
        }, this), 'visie');
    },  

    scrollPageEvent: function (elmButton, elmTo, bgImage, callback, category) {
        elmButton.bind('click', $.proxy(function(){
            this.current_page = elmTo;
            $('a#home').fadeIn(1000);
            this.changeBackground(bgImage, category, callback);
            if (typeof callback == 'function') {
                callback();
            }
            $.scrollTo(elmTo, 1000);
            switch(elmTo){
                case '#page_2':
                    $(this.current_project).addClass('activestate');
                    break;
                case '#page_6':
                    $('#page6_id_1').addClass('activestate');
                    break;
                case '#page_8':
                    $(this.current_sub_page).addClass('activestate');
                    break;
            }
        },this));
    },
    
    drawLinesInMenuIE : function(menuItems) {
        $(menuItems).each(
            function() {
                var srcHeight = 0;
                var trgHeight = 0;
                var srcWidth = 0;
                var trgWidth = 0;
                var menuDiv = $(this).parent();
                if ($(this).attr("rel")) {
                    var srcOffset = $(this).offset();
                    if (menuDiv.hasClass('rb') || menuDiv.hasClass('lb')) {
                        srcHeight = menuDiv.height();
                    }
                    if (menuDiv.hasClass('rb') || menuDiv.hasClass('rt')) {
                        srcWidth = menuDiv.width();
                    }
                    var targetDiv = $("#" + $(this).attr("rel")).parent();
                    if (targetDiv.length) {
                        var trgOffset = targetDiv.offset();
                        if (targetDiv.hasClass('rb') || targetDiv.hasClass('lb')) {
                            trgHeight = targetDiv.height();
                        }
                        if (targetDiv.hasClass('rb') || targetDiv.hasClass('rt')) {
                            trgWidth = targetDiv.width();
                        }
                        $("#archikon_canvas").drawLine(srcOffset.left + srcWidth, 
                                              srcOffset.top + srcHeight, 
                                              trgOffset.left + trgWidth, 
                                              trgOffset.top + trgHeight, {color: '#fff'});
                    }
                }
            }
        );
    },
    
    drawLineIE: function(srcElement, trgElement){
        var srcHeight = 0;
        var srcWidth = 0;
        var trgHeight = 0;
        var trgWidth = 0;
        var srcOffset = srcElement.offset();
        if (srcElement.hasClass('rb') || srcElement.hasClass('lb')) {
            srcHeight = srcElement.height();
        }
        if (srcElement.hasClass('rb') || srcElement.hasClass('rt')) {
            srcWidth = srcElement.width();
        }
        var trgOffset = trgElement.offset();
        if (trgElement.hasClass('rb') || trgElement.hasClass('lb')) {
            trgHeight = trgElement.height();
        }
        if (trgElement.hasClass('rb') || trgElement.hasClass('rt')) {
            trgWidth = trgElement.width();
        }
        
        $("#archikon_canvas").drawLine(srcOffset.left + srcWidth, 
                                       srcOffset.top + srcHeight, 
                                       trgOffset.left + trgWidth, 
                                       trgOffset.top + trgHeight, {color: '#fff'});
    },
	
    drawLines: function() {
        $('#archikon_canvas').empty();
        var height = $(window).height();
        var width = $(window).width();
        if ( $.browser.msie ) {
            if ( parseInt($.browser.version, 10) < 9 ) {
                this.drawLinesInMenuIE($(".menu a"));
                // this lines are allways visible
                this.drawLineIE($('#page5_id_5'), $('#page_2_id_2'));
                this.drawLineIE($('#page8_id_1'), $('#page5_id_1'));
                this.drawLineIE($('#page8_id_3'), $('#page8_id_2'));
                this.drawLineIE($('#page_6 .content h1'), $('#page6_id_1'));

                // this lines are drawn dynamicly based on the current page / project
                this.drawLineIE($('#project_title_1'), $(this.current_project));
                this.drawLineIE($('#page_8 .content h1'), $(this.current_sub_page));
            }
        } else {
            var canvasJq = $("#archikon");
            var cOffset = canvasJq.offset();
            var canvasEl = canvasJq[0];

            //var canvasEl = document.getElementById("archikon");
            if (typeof(G_vmlCanvasManager) != 'undefined') {
                canvasEl = G_vmlCanvasManager.initElement(canvasEl);
            }

            canvasEl.width = canvasJq.width();
            canvasEl.height = canvasJq.height();

            if (canvasEl.getContext) {
                //alert('yes');
                var ctx = canvasEl.getContext('2d');
                ctx.clearRect(0, 0, canvasEl.width, canvasEl.height); 
                //ctx.fillStyle = "rgba(0, 0, 255, .5)";
                //ctx.fillRect(0, 0, canvasEl.width, canvasEl.height);
                ctx.beginPath();
                ctx.moveTo( 100, 150);
                ctx.lineTo( 300, 350);
                this.drawLinesInMenu(ctx, $(".menu a"), cOffset);

                // this lines are allways visible
                this.drawLine(ctx, $('#page5_id_5'), $('#page_2_id_2'), cOffset);
                this.drawLine(ctx, $('#page8_id_1'), $('#page5_id_1'), cOffset);
                this.drawLine(ctx, $('#page8_id_3'), $('#page8_id_2'), cOffset);
                this.drawLine(ctx, $('#page_6 .content h1'), $('#page6_id_1'), cOffset);

                // this lines are drawn dynamicly based on the current page / project
                this.drawLine(ctx, $('#project_title_1'), $(this.current_project), cOffset);
                this.drawLine(ctx, $('#page_8 .content h1'), $(this.current_sub_page), cOffset);

                ctx.strokeStyle = '#fff';
                ctx.lineWidth = 1;
                ctx.stroke();
                ctx.closePath();
                $.scrollTo(this.current_page, 1000, {
                    onAfter: function () {
                        //$('.background, .logo, .social').fadeIn(800)
                        $('.logo, .social').fadeIn(800)
                    }
                });
            } else {
                //alert('no canvas');
            }
        }
        
    },
    
    drawLinesInMenu : function( ctx , menuItems, cOffset ) {
        $(menuItems).each(
            function() {
                var srcHeight = 0;
                var trgHeight = 0;
                var srcWidth = 0;
                var trgWidth = 0;
                var menuDiv = $(this).parent();
                if ($(this).attr("rel")) {
                    var srcOffset = $(this).offset();
                    if (menuDiv.hasClass('rb') || menuDiv.hasClass('lb')) {
                        srcHeight = menuDiv.height();
                    }
                    if (menuDiv.hasClass('rb') || menuDiv.hasClass('rt')) {
                        srcWidth = menuDiv.width();
                    }
                    var targetDiv = $("#" + $(this).attr("rel")).parent();
                    if (targetDiv.length) {
                        var trgOffset = targetDiv.offset();
                        if (targetDiv.hasClass('rb') || targetDiv.hasClass('lb')) {
                            trgHeight = targetDiv.height();
                        }
                        if (targetDiv.hasClass('rb') || targetDiv.hasClass('rt')) {
                            trgWidth = targetDiv.width();
                        }
                        ctx.moveTo( srcOffset.left - cOffset.left + srcWidth, srcOffset.top - cOffset.top + srcHeight);
                        ctx.lineTo( trgOffset.left - cOffset.left + trgWidth, trgOffset.top - cOffset.top + trgHeight);
                    }
                }
            }
        );
    },
        
    drawLine: function (ctx, srcElement, trgElement, cOffset) {
            
        var srcHeight = 0;
        var srcWidth = 0;
        var trgHeight = 0;
        var trgWidth = 0;
        var srcOffset = srcElement.offset();
        if (srcElement.hasClass('rb') || srcElement.hasClass('lb')) {
            srcHeight = srcElement.height();
        }
        if (srcElement.hasClass('rb') || srcElement.hasClass('rt')) {
            srcWidth = srcElement.width();
        }
        var trgOffset = trgElement.offset();
        if (trgElement.hasClass('rb') || trgElement.hasClass('lb')) {
            trgHeight = trgElement.height();
        }
        if (trgElement.hasClass('rb') || trgElement.hasClass('rt')) {
            trgWidth = trgElement.width();
        }
        
        ctx.moveTo(srcOffset.left - cOffset.left + srcWidth, srcOffset.top - cOffset.top + srcHeight);
        ctx.lineTo(trgOffset.left - cOffset.left + trgWidth, trgOffset.top - cOffset.top + trgHeight);
    },
    
    changeBackground: function (bgImage, category, callback) {
        
        if (typeof category == 'string' && category != ''){
            bgImage = this.bgs[category][Math.floor(Math.random() * this.bgs[category].length)];
        } else if ((typeof bgImage == 'undefined') || bgImage == '') {
            bgImage = this.bgImages[Math.floor(Math.random()*this.bgImages.length)];
        }
        $.backstretch(bgImage, {speed: 500});
        if (typeof callback == 'function') {
            callback();
        }
    }, 
    
    
    initHomeButton: function () {
        $('a#home, div.logo').bind('click', $.proxy(function(){
            $(document).unbind('keypress');
            this.current_page = '#page_5';
            this.changeBackground('', 'homepage');
            $('a#home').fadeOut(800);
            $.scrollTo('#page_5', 1000);
        }, this));
    },
    
    initForms: function () {
        $('div.form.generator form').each(function () {
            var oForm = new FormHandler({
                form: this,
                ajax: true
            });
        });
    },
    
    setCurrentProject: function (current_project) {
        this.current_project = current_project;
    },
    
    initProjects: function () {
        $('#page_2_id_1').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.initProject($(evt.target).attr('href'));
            this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_2_id_3').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.initProject($(evt.target).attr('href'));
            this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_2_id_4').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.initProject($(evt.target).attr('href'));
            this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_2_id_5').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.initProject($(evt.target).attr('href'));
            this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_2_id_6').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.initProject($(evt.target).attr('href'));
            this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_2_id_7').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.initProject($(evt.target).attr('href'));
            this.setCurrentProject('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        
    },
    
    initProject: function (uri) {
        $.ajax({
            url: uri,
            type: "GET",
            success: $.proxy(function(data){
                oData = jQuery.parseJSON(data);
                $('#page_2 .content').html(oData.projecten);
                $('.projects').cycle({
                    requeueTimeout: 500,
                    timeout: 0,
                    speed : 800,
                    cleartype: 1,
                    fx : 'scrollBothWays',
                    next : '#nextproject',
                    prev : '#previousproject',
                    onPrevNextEvent: $.proxy(function(isNext, zeroBasedSlideIndex, slideElement) {
                        var project_id = $(slideElement).attr('class').replace('project project_', '');
                        var uri = 'projecten/afbeeldingen/project_id/' + project_id; 
                        $.ajax({
                            url: uri,
                            type: "GET",
                            success: $.proxy(function(data){
                                oData = jQuery.parseJSON(data);
                                if (typeof oData.html != 'undefined') {
                                    $('div.project_samples').html(oData.html);
                                    $("a[rel^='prettyPhoto']").prettyPhoto(this.prettyPhotoOptions); 
                                    this.changeBackground(oData.bg);
                                }
                            }, this)
                        });
                    }, this)
                });
                $(document).bind('keypress', function(e) {
                    if (e.keyCode == 37) {
                        $('#slider').cycle('prev');
                    } else if (e.keyCode == 39) {
                        $('#slider').cycle('next');
                    }
                });
                this.changeBackground(oData.info.image_bg); 	
                $("a[rel^='prettyPhoto']").prettyPhoto(this.prettyPhotoOptions); 
            }, this)
        });
    },
    
    setCurrentSubPage: function (current_sub_page) {
        this.current_sub_page = current_sub_page;
    },
    
    initBureau: function () {
        $('#page_8_id_2').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.setBureau($(evt.target).attr('href'));
            this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_8_id_3').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.setBureau($(evt.target).attr('href'));
            this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_8_id_4').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.setBureau($(evt.target).attr('href'));
            this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_8_id_5').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.setBureau($(evt.target).attr('href'));
            this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
        $('#page_8_id_7').bind('click', $.proxy(function (evt) {
            evt.preventDefault();
            evt.stopPropagation();
            this.setBureau($(evt.target).attr('href'));
            this.setCurrentSubPage('#' + $(evt.target).parent().attr('id'));
            this.drawLines();
        }, this));
    },

    setBureau: function (uri) {
        $.ajax({
            url: uri,
            type: "GET",
            success: $.proxy(function(data){
                $('#page_8 .content').html(data);
                var bg = uri.split('/');
                this.changeBackground('', bg[parseInt(bg.length) - 1]);
                $('#page_8 .content div.scroll').scrollable({
                    vertical: true, 
                    mousewheel: true, 
                    next: ".up", 
                    prev: ".down"
                });	
            }, this)
        });
    },
    
    positionMenuItems : function () {
        var width = $(window).width();
        var height = $(window).height();
        
        var correctionTop = 40;
        var correctionTopMtp = 0;
        switch (true) {
            case ((height <= 590) && (height > 1)):
                correctionTopMtp = 6;
                break;

            case ((height <= 770) && (height > 600)):
                correctionTopMtp = 4;
                break;

            case ((height <= 850) && (height > 800)):
                correctionTopMtp = 2;
                break;

            case (height > 930):
                correctionTopMtp = 0;
                break;
        }

        var correctionRight = 40;
        var correctionRightMtp = 0;
        switch(true) {
            case (width <= 1024): 
                correctionRightMtp = 1;
                break;
        }
        
        // CONTACT
        $('#page2_id_3').css({
            'left': (202 - (correctionRight * correctionRightMtp * 3)) + 'px', 
            'top': (162 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page2_id_4').css({
            'left': (202 - (correctionRight * correctionRightMtp * 3)) + 'px', 
            'top': (322 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page2_id_5').css({
            'left': (282 - (correctionRight * correctionRightMtp * 3)) + 'px', 
            'top': (442 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page2_id_6').css({
            'left': (202 - (correctionRight * correctionRightMtp * 3)) + 'px', 
            'top': (562 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page2_id_7').css({
            'left': (402 - (correctionRight * correctionRightMtp * 3)) + 'px', 
            'top': (522 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        
        $('#page_2 div.content').css({
            'left': (522 - (correctionRight * correctionRightMtp * 5)) + 'px', 
            'top': (parseInt((320 - ((correctionTop * correctionTopMtp * 1) * 1.2))/40))*40 + 'px'
        });
        
        if (width <= 0) {
            $('#page_2 div.content').css({
                'top': (((parseInt((320 - ((correctionTop * correctionTopMtp * 1) * 1.5))/40))*40) - 40) + 'px'
            });
        }

        // HOMEPAGE
        $('#page5_id_1').css({
            'left': (842 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (442 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page5_id_2').css({
            'left': (722 - (correctionRight * correctionRightMtp * 3)) + 'px', 
            'top': (282 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page5_id_3').css({
            'left': (482 - (correctionRight * correctionRightMtp * 3)) + 'px', 
            'top': (parseInt((402 - ((correctionTop * correctionTopMtp * 1) * 1.5))/40))*40 + 'px'
        });
        $('#page5_id_4').css({
            'left': (882 - (correctionRight * correctionRightMtp * 4)) + 'px', 
            'top': (322 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page_5 div.content').css({
            'left': (122 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (parseInt((480 - ((correctionTop * correctionTopMtp * 1) * 1.5))/40))*40 + 'px'
        });
        
        // BUREAU
        $('#page8_id_1').css({
            'left': (722 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (642 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page8_id_2').css({
            'left': (1002 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (402 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page8_id_3').css({
            'left': (842 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (482 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page8_id_4').css({
            'left': (882 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (562 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page8_id_5').css({
            'left': (602 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (562 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page8_id_6').css({
            'left': (842 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (682 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page8_id_7').css({
            'left': (962 - (correctionRight * correctionRightMtp * 1)) + 'px', 
            'top': (642 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        
        
        var correctionLeft = 0;
        if (correctionTop > 160) {
            correctionTop = 160;
            correctionLeft = 40;
        }
        // BUREAU CONTENT AREA
        $('#page_8 div.content').css({
            'left': (122 + correctionLeft) + 'px', 
            'top': (200 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        
        $('#page2_id_1').css({
            'left': '522px', 
            'top': (162 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        $('#page2_id_2').css({
            'left': '342px',
            'top': (242 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        
        if (width <= 1024) {
            $('#page2_id_2').css({
                'left': '302px',
                'top': (202 - (correctionTop * correctionTopMtp * 1)) + 'px'
            });
        }
        
        $('#page5_id_5').css({
            'left': '442px', 
            'top': (202 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });    

        // CONTACT CONTENT AREA
        $('#page_6 div.content').css({
            'top': (200 - (correctionTop * correctionTopMtp * 1)) + 'px'
        });
        
        if (correctionTop > 80) {
            correctionLeft = 80;
        }
        
        if (correctionTop > 40) {
            correctionTop = 40;
            correctionLeft = 40;
        }
        $('#page6_id_1').css({
            'left': (402 + correctionLeft) + 'px'
        });

        $('#page6_id_1').css({
            'top': '42px'
        });
        
        if (height <= 650) {
            $('#page6_id_1').css({
                'top': (42 - correctionTop) + 'px'
            });
        } 
        
        // CONTACT CONTENT AREA
        $('#page_6 div.content').css({
            'left': (122 + correctionLeft) + 'px'
        });
    }
});