jQuery.noConflict();

var slideshow_multiplier=0.6; // seconds per 100px (default: 1.666)  
var slowmotion_mutiplier=5;     // e.g. slowmotion_mutiplier=3; means three times slower(1-normal VS 1/3-slowmotion), 1 - no slowmotion (recommended[linear]: 1-no slowmotion, 5-slowmotion; [sinoidal]: 1-no slowmotion)
var effect_transition=(Effect.Transitions.sinoidal);      // default transition when slowmotion_multiplier>1 // .sinoidal, .linear
var autoslide_reverse=0;
var effect_slide;

//slideshow_multiplier=(1/slideshow_multiplier);  //inverse value
// pre-load images
/*
    if (document.images)
    {
      preload_image_object = new Image();
      // set image url
      image_url = new Array();
      image_url[0] = "http://mydomain.com/image0.gif";
      image_url[1] = "http://mydomain.com/image1.gif";
      image_url[2] = "http://mydomain.com/image2.gif";
      image_url[3] = "http://mydomain.com/image3.gif";

       var i = 0;
       for(i=0; i<=3; i++) 
         preload_image_object.src = image_url[i];
    }*/

// create move_slider control & autoslide

function slideshow_init(g_speed,g_slowmo,g_algorithm,multiply,num_of_elements,elements_prefix,slider_value,autoslide,dir_forward,multiply_bottom,slider_value_bottom){
  slideshow_multiplier=g_speed;  
  slowmotion_mutiplier=g_slowmo;
  if (g_algorithm) effect_transition=(Effect.Transitions.sinoidal); else effect_transition=(Effect.Transitions.linear);
  
  (function() {
    //var autoslide;
    var move_slider=$('move_slider'),
      slideshow_move=$('slideshow_move');
// create new slider control
    //if (autoslide==undefined) autoslide=1;
    if (dir_forward!=0 && dir_forward!=1) dir_forward=1;
    
    var new_slider_value=0;
    var slider_ctrl=new Control.Slider(move_slider.down('.handle'), move_slider, {
      minimum: 0,
      maximum: 1,
      increment: 1,
      from: 0,
      to: 1,
      sliderValue: slider_value,
      onSlide: function(value) {
        slideshow_move.setStyle({ left: '-'+(value*multiply) + 'px' });
        autoslide=0;
      },
      onChange: function(value) { 
        slideshow_move.setStyle({ left: '-'+(value*multiply) + 'px' });
        autoslide=0;
      }
    });
    
    // bottom slider
    if (multiply_bottom!=undefined && slider_value_bottom!=undefined){
      var move_slider_bottom=$('move_slider_bottom'),
            slideshow_bottom=$('frame_bottom');
      var slider_ctrl_bottom=new Control.Slider(move_slider_bottom.down('.handle'), move_slider_bottom, {
        minimum: 0,
        maximum: 1,
        increment: 1,
        from: 0,
        to: 1,
        sliderValue: slider_value_bottom,
        onSlide: function(value) {
          slideshow_bottom.setStyle({ left: '-'+(value*multiply_bottom) + 'px' });
        },
        onChange: function(value) { 
          slideshow_bottom.setStyle({ left: '-'+(value*multiply_bottom) + 'px' });
        }
      });
      // check if slider is needed and hide it if not
      if (multiply_bottom<=0){
        // disable controls
        slider_ctrl_bottom.setDisabled();
        
        // hide controls
        $('slider_handle_bottom').setStyle({ backgroundColor: '#c9c9c9', display: 'none'});
        $('move_slider_bottom').setStyle({display: 'none'});
      }
    }

jQuery(document).ready(function(){ 
// slideshow autoslide 
    if (autoslide) {
      //if (slowmotion_mutiplier<=1) effect_transition=Effect.Transitions.sinoidal;
      if (effect_transition==Effect.Transitions.sinoidal) slowmotion_mutiplier=1;
      
      var slideshow_duration=(slideshow_multiplier*((multiply-(multiply*slider_value))/100)); // constant 'per pixel' speed (eg. 2 sec/100 px) (slider moves differently, slideshow steadily)
      
      if (dir_forward) {
        effect_slide=new Effect.Parallel([
          new Effect.Morph('slideshow_move', {
            style: 'left:-'+(multiply)+'px;',
            fps: 40,
            transition: effect_transition,
            sync: true 
          }),        
          new Effect.Morph('slider_handle', {
            style: 'left:'+(895)+'px;',
            fps: 40,
            transition: effect_transition,
            sync: true
          })
        ], {
          queue: 'end',
          transition: Effect.Transitions.linear,
          duration: slideshow_duration,
          afterFinish: function(){
            dir_forward=!dir_forward;
            if (autoslide_reverse || autoslide==2){
              slideshow_duration=(slideshow_multiplier*(((multiply))/100));
              effect_slide=new Effect.Parallel([
                new Effect.Morph('slideshow_move', {
                  style: 'left:'+(0)+'px;',
                  fps: 40,
                  transition: effect_transition,
                  sync: true
                }),
                new Effect.Morph('slider_handle', {
                  style: 'left:'+(0)+'px;',
                  fps: 40,
                  transition: effect_transition,
                  sync: true
                })
              ], {
                transition: Effect.Transitions.linear,
                queue: 'end',
                duration: slideshow_duration,
                afterFinish: function(){
                  dir_forward=!dir_forward;
                  if (autoslide==2) {slideshow_init(g_speed,g_slowmo,g_algorithm,multiply,num_of_elements,elements_prefix,new_slider_value,autoslide,dir_forward);}
                  autoslide=0;
                }
              });
            }else autoslide=0;
          }
        });
      }else {
        slideshow_duration=(slideshow_multiplier*(((multiply*slider_value))/100));
        slideshow_move.setStyle({ left: '-'+(multiply*slider_value) + 'px' });
        new_slider_value=1;
        effect_slide=new Effect.Parallel([
          new Effect.Morph('slideshow_move', {
            style: 'left:'+(0)+'px;',
            fps: 40,
            transition: effect_transition,
            sync: true
          }),
          new Effect.Morph('slider_handle', {
            style: 'left:'+(0)+'px;',
            fps: 40,
            transition: effect_transition,
            sync: true
          })
        ], {
          queue: 'end',
          transition: Effect.Transitions.linear,
          duration: slideshow_duration,
            afterFinish: function(){
              dir_forward=!dir_forward;
              if (autoslide_reverse || autoslide==2){
                slideshow_duration=(slideshow_multiplier*(((multiply))/100));
                effect_slide=new Effect.Parallel([
                  new Effect.Morph('slideshow_move', {
                    style: 'left:-'+(multiply)+'px;',
                    fps: 40,
                    transition: effect_transition,
                    sync: true
                  }),
                  new Effect.Morph('slider_handle', {
                    style: 'left:'+(895)+'px;',
                    fps: 40,
                    transition: effect_transition,
                    sync: true
                  })
                ], {
                  transition: Effect.Transitions.linear,
                  queue: 'end',
                  duration: slideshow_duration,
                  afterFinish: function(){
                    dir_forward=!dir_forward;
                    if (autoslide==2) {slideshow_init(g_speed,g_slowmo,g_algorithm,multiply,num_of_elements,elements_prefix,new_slider_value,autoslide,dir_forward);}
                    autoslide=0;
                  }
                });
              }else autoslide=0;
            }
        });
      }      
    }else
    {
      if (dir_forward==0) slideshow_move.setStyle({ left: '-'+(multiply*slider_value) + 'px' });
    }
    
    // check if slider is needed and hide it if not
    if (multiply<=0){
      // disable controls
      slider_ctrl.setDisabled();
      
      // hide controls
      $('slider_handle').setStyle({ backgroundColor: '#c9c9c9', display: 'none'});
      $('move_slider').setStyle({display: 'none'});
    }
});    
// controls callbacks
    
    // slider handle
    
    if (num_of_elements){
      for (var c=1;c<=num_of_elements;c++){
        $(elements_prefix+c).onmouseover=function(){
          if (slowmotion_mutiplier>1){    // do nothing if slowmotion_mutiplier = 1 or less;
            new_slider_value=parseFloat($('slider_handle').getStyle('left'));
            new_slider_value=(new_slider_value/895);
            effect_slide.cancel();
            slideshow_multiplier=g_speed*slowmotion_mutiplier;
            //slideshow_multiplier=g_slowmo;
            //slowmotion_mutiplier=g_speed;
            slideshow_init(slideshow_multiplier,slowmotion_mutiplier,g_algorithm,multiply,num_of_elements,elements_prefix,new_slider_value,autoslide,dir_forward);
          }
          //$('img_member'+i).src=('data/team/svorc_a.jpg');
        }
        $(elements_prefix+c).onmouseout=function(){
          if (slowmotion_mutiplier>1){    // do nothing if slowmotion_mutiplier = 1 or less;
            new_slider_value=parseFloat($('slider_handle').getStyle('left'));
            new_slider_value=(new_slider_value/895);
            effect_slide.cancel();
            slideshow_multiplier=g_speed/slowmotion_mutiplier;
            //slideshow_multiplier=g_slowmo;
            //slowmotion_mutiplier=g_speed;
            slideshow_init(slideshow_multiplier,slowmotion_mutiplier,g_algorithm,multiply,num_of_elements,elements_prefix,new_slider_value,autoslide,dir_forward);
          }
        }
      }
    }
    $('slider_handle').onmouseover=function(){
      effect_slide.cancel();
      new_slider_value=parseFloat($('slider_handle').getStyle('left'));
      new_slider_value=(new_slider_value/895);
    }
    $('slider_handle').onmouseout=function(){
      if (autoslide) {slideshow_init(g_speed,slowmotion_mutiplier,g_algorithm,multiply,num_of_elements,elements_prefix,new_slider_value,autoslide,dir_forward);}
    }
  }
  )();
}

// show color image for member
function member_image(elm,img_a,img_i){
  jQuery('#'+elm).mouseover(function(){
    document.getElementById('img_'+elm).src=img_a;
  });
  jQuery('#'+elm).mouseout(function(){
    document.getElementById('img_'+elm).src=img_i;
  });
}

// show info in the bottom frame for member
function member_info(elm,name,info){
  jQuery('#'+elm).mouseover(function(){
    document.getElementById('member_info_name').innerHTML=name;
    document.getElementById('member_info').innerHTML=info;
  });
  jQuery('#'+elm).mouseout(function(){
    document.getElementById('member_info_name').innerHTML='';
    document.getElementById('member_info').innerHTML='';
  });
}

// show info for project in the bottom frame
function project_info(elm,title,info){
  jQuery('#'+elm).mouseover(function(){
    document.getElementById('project_info_title').innerHTML=title;
    //document.getElementById('project_info').innerHTML=info;
  });
  jQuery('#'+elm).mouseout(function(){
    document.getElementById('project_info_title').innerHTML='';
    //document.getElementById('project_info').innerHTML='';
  });
}

// show info in the bottom frame
function show_info(elm,title,info){
  jQuery('#'+elm).mouseover(function(){
    document.getElementById('title').innerHTML=title;
    document.getElementById('info').innerHTML=info;
  });
  jQuery('#'+elm).mouseout(function(){
    document.getElementById('title').innerHTML='';
    document.getElementById('info').innerHTML='';
  });
}

// user login 
function user_login(){
  document.forms['form_login'].submit();
}
