function checkPosition(){
  var menu = $('abs_position');
  var header = $('header');
  var footer = $('footer');
  
  var winWidth = $(window).getWidth();
  var winScroll = $(window).getScroll().x;
  
  if(winWidth < 1000){
    $$(header,footer).setStyles({
        left: 0,
        marginLeft: -winScroll
    });
    menu.setStyles({
        left: 10,
        marginLeft: -winScroll
    });
  }
  else{
    $$(header,footer).setStyles({
        left: '50%',
        marginLeft: -500
    });
    menu.setStyles({
        left: '50%',
        marginLeft: -490
    });
  }
}

function work_slider(){
  if (document.getElementById('sliderline')){
    var parent = $('sliderline');
    var workList = $$('#sliderline ul')[0];
    var fwd = $('fwd');
    var back = $('back');
    
    var img = $$('#sliderline ul img')[0];
    img.style.visibility = 'hidden';
 
    var load = document.createElement('IMG');
    load.onload = function(){
        $(parent).setStyle('height', workList.getStyle('height').toInt());
        img.style.visibility = 'visible';
        var step = workList.getFirst();
        if (step) {
          step = step.getStyle('width').toInt();
        }
        else {
          return;
        }
        var q = workList.getChildren().length;
        
        var maxLim = -step * (q - 1);
        
        if(q > 1){
          $(fwd).setStyle('visibility', 'visible');
        }
        
        var fx = new Fx.Morph(workList, {duration: 'normal', unit: 'px'});
        
        $$(fwd, back).addEvent('click', function(){
          var pos = workList.getStyle('marginLeft').toInt();
          var target;
          switch(this.id){
            case 'fwd':
              target = pos - step;
              if(target <= maxLim){
                target = maxLim;
                fwd.setStyle('visibility', 'hidden');
              }
              if (target >= maxLim){
                back.setStyle('visibility', 'visible');
              }
              break;
            case 'back':
              target = pos+step;
              if(target >= 0){
                target = 0;
                back.setStyle('visibility', 'hidden');
              }
              if(target <= 0){
                fwd.setStyle('visibility', 'visible');
              }
              break;
          }
          fx.start({ 'marginLeft': target });
        });
    }
    load.src = img.src;
  }
}


function navigation(){
    //*
    var button = $('button');
    var nav = $('nav');
    var height = nav.getStyle('height').toInt();
    
    var interval;
    var pos = 0;
    
    var active = $$('#nav span');
    if(active.length > 0){
        var child_position = active[0].getPosition(nav).y
        if(child_position > 150){
            pos = -active[0].getPosition(nav).y + 100;
            nav.setStyle('margin-top', pos + 'px');
        }
    }
    
    // clone list
    var child = nav.getChildren();
    Array.each(child, function(item){
        item.clone().inject(nav, 'bottom');
    });
    
    //var pos = nav.getStyle('margin-top').toInt();
    
    //addEvent
    button.addEvent('mousedown', function(){
        interval = setInterval(function(){
            //var pos = nav.getStyle('margin-top').toInt();
            if(pos <= -height){
                nav.setStyle('margin-top', 0);
                pos = 0;
            }
            else{
                pos = pos - 5;
            }
            nav.setStyle('margin-top', pos + 'px');
        }, 25);
    });
    
    // Clear
    button.addEvent('mouseup', function(){
      clearInterval(interval);
    });
    
    
    var crop = $$('.navcrop');
    
    crop.addEvent('mousewheel', function(event) {
        event.stop();
        event = new Event(event);
        
        //console.log(event.wheel);
        //var pos = nav.getStyle('margin-top').toInt();
        
        /* Mousewheel UP */
        if (event.wheel > 0){
            if(pos >= 0){
                pos = -height;
            }
            else {
                pos = pos + 15;
            }
            nav.setStyle('margin-top', pos + 'px');
        } 
        /* Mousewheel DOWN*/
        else if (event.wheel < 0){
            if(pos <= -height){
                nav.setStyle('margin-top', 0);
                pos = 0;
            }
            else{
                pos = pos - 15;
            }
            nav.setStyle('margin-top', pos + 'px');
        }
    });
    
    
    /*/
    
    var nav = $('abs_position');
    var cropper = $('nav');
    var fade_control = $$('.fade');
    var wrapper = nav.getChildren('div')[0];
    var ph = parseInt(nav.offsetHeight);
    var list = nav.getElements('ul')[0];
    var h = list.getStyle('height').toInt();
    var chng = ph-110-90;
    if(h > chng){
        h = chng;
        fade_control.setStyles({
            visibility: 'visible'
        });
    }
    else{
        fade_control.setStyles({
            visibility: 'hidden'
        });
    }
    $$(wrapper, cropper).setStyle('height', h);
    fade_control.addEvent('mousedown', function(){
        var elem = this;
        var dir = elem.id;
        var fxN = new Fx.Morph(list, {duration: 2000, unit: 'px'});
        switch(dir){
            case 'ftop':
            fxN.start({ 'margin-top': 0 });
            break;
        case 'fbottom':
            var fin = list.getStyle('height').toInt() - cropper.getStyle('height').toInt();
            fxN.start({ 'margin-top': -fin });
            break;
        default:
            return;
            break;
        }
    fade_control.addEvent('mouseup', function(){
        fxN.cancel();
        });
    });
    //*/
}

/*
var locked = {
  twitt : false
};

function animateTwitt(){
  if(locked.twitt)return;
  locked.twitt = true;

  var item = CANVAS.layers.get('myLayer').get('twitt');

  new Cmorph(item,{
    duration : 1000,
    transition : 'back:in:out',
    onComplete : function(){
      locked.twitt = false;
    }
  }
  ).morph({
    rotation : item.rotation + 360
  });
}
*/
/*
function tweeterBox(){
  
  var ulBox = $('floatUl');
  
  var step = ulBox.getChildren()[0].getStyle('height').toInt()+ulBox.getChildren()[0].getStyle('paddingTop').toInt();
  var limit = (ulBox.getChildren().length-1) * step;
  
  var fxTwitt = new Fx.Morph(ulBox, {duration: 1000, unit: 'px', transition: 'back:in:out'});
  
  var timefloat = function(){
    var pos = ulBox.getStyle('marginBottom').toInt();
    if(pos==-limit){
      ulBox.setStyle('marginBottom', 0);
      pos = 0;
    }
    var next = pos-step;
    fxTwitt.start({ 'marginBottom': next });
    if(!Browser.Engine.trident){ animateTwitt(); }
  }
  
  
  //initialize the CANVAS object
    CANVAS.init({ canvasElement : 'canvas' });
   
    // add a layer to the LayerHash
    var layer = CANVAS.layers.add( new Layer({
            id : 'myLayer'
    }));

    var pos = [
            { x: 18, y : 18 }
    ];
    
    layer.add( new CanvasItem({
    id : 'twitt',
    x : pos[0].x,
    y : pos[0].y,
    w : 35,
    h : 30,
    rotation : 0,
    scale : 1,
    events : {
      onDraw : function(ctx){
        var w = this.w * this.scale;
        var h = this.h * this.scale;
        var x = this.x - w * .5;
        var y = this.y - h * .5;

        ctx.save();
        ctx.translate(this.x, this.y);
        ctx.rotate(this.rotation * Math.PI / 180);
        
        try {
          ctx.drawImage(new Element("img", {src: "/assets/templates/yuran/img/twitter.png"}), w * -0.5,h * -0.5);
        }catch(err) {}
        ctx.restore();                           
      }
    }
  }));
  
  
  CANVAS.addThread(new Thread({
    id : 'myThread',
    onExec : function(){
      CANVAS.clear().draw();
    }
  }));
  timefloat.periodical(10000);
}
*/

function a_popupmap(){
     var places = $$('.placepoint');
     var current_view = undefined;
     var hide_button = $$('.hidde');
     var ie = Browser.Engine.trident;
     
     function scroll_photo(node){
         var parent = node.getElements('.phline')[0][0];
         var list = parent.getElements('.photolist')[0];
         list.set('tween', {duration: 250});
         var buttons = parent.getElements('input');
        
         var li_length = $(list).getChildren().length;
         var step = 76;
         var current_margin = $(list).getStyle('marginLeft').toInt();
         var maximum = -(li_length - 4) * 76;
         
         if(li_length < 5) return;
         $(buttons[1]).addClass('visible');
         
         function setVisible(idx){
             if(!$(buttons[idx]).hasClass('visible')){
                 $(buttons[idx]).addClass('visible')
             }
         }
         
         buttons.addEvent('click', function(){
             this.blur();
             if($(this).hasClass('next')){
                 current_margin = current_margin - step;
                 if(current_margin <= maximum){
                     current_margin = maximum;
                     $(buttons[1]).removeClass('visible');
                 }
                 setVisible(0);
             }else if($(this).hasClass('prev')){
                 current_margin = current_margin + step;
                 if(current_margin >= 0){
                     current_margin = 0;
                     $(buttons[0]).removeClass('visible');
                 }
                 setVisible(1);
             }
             list.tween('marginLeft', current_margin);
         });
     }
     
     function a_popupmap_hide(element){
         //console.log(element);
         var elHide = new Fx.Morph(element, {duration: 'short'});
         if(ie){
             $(element).getElements('input').removeClass('visible');
             $(element).setStyles({visibility: 'hidden', top: '-175px'});
             $(element).getElements('.photolist').setStyles({marginLeft: '0px'});
             current_margin = 0;
         }else{
             elHide.start({'opacity': [1, 0]});
         }
         current_view = undefined;
     }
     
     places.addEvent('click', function(event){
         if (!event) var event = window.event;
         if (event.target) targ = event.target;
         else if (event.srcElement) targ = event.srcElement;
         if($(targ).hasClass('placepoint')){
             //console.log(current_view);
             if(current_view){
                 a_popupmap_hide(current_view);
             }
             var el = $(this).getChildren();
             var elEffect = new Fx.Morph(el[0], {
                 duration: 'short'
             });
             current_view = el[0];
             scroll_photo(el);
             
             //alert(Browser.name);
             if(ie){
                 el.setStyles({visibility: 'visible'});
                 elEffect.start({'top': [-175, -140]});
             }else{
                 el.setStyles({visibility: 'visible', opacity: 0});
                 elEffect.start({'opacity': [0, 1], 'top': [-175, -140]});
             }
             
         }
     });
     
     $$('.hidde').addEvent('click', function(){
         a_popupmap_hide($(this).getParents('.popup_photo')[0]);
     });
}

  
var init = function(){
    work_slider();
    navigation();
    checkPosition();
    //tweeterBox();
    if(document.getElementById('travel')){a_popupmap();}
}

window.addEvent('domready', function() {
    init();
});


window.addEvent('resize', function() {
  //navigation();
  checkPosition();
});

window.addEvent('scroll', function() {
  checkPosition();
});


