$(function(){
  
  //Preload osnovnih slika
  //$.preloadImages("radovi/" + kategorija + "/" + nazivFajla + i + ".jpg");
  
  // Izvorna obrada na otvaranju stranice
  permalinkObrada();
  
  // Klik na logo resetira u izvorno stanje - aka index
  $("a#logo").click(function () {
    permalinkObrada("izvorno");
  });
  
  // Kad se odabere glavna kategorija
  $("div#kategorije a").click(function () {
    var tLink = permaExplode($(this).attr('href'));
    if(tLink[1] != undefined){
      permalinkObrada("click_kategorija", this.id);
    }
    else{ alert("Error - kategorije je undefined"); }
  });
  
});


// Funkcija za explode perma linka
function permaExplode(permalink){
  if(permalink != undefined){
    var rr = permalink.split('/');
    return rr;
  }
  else{ return false; }
}
// Glavna obrada
function permalinkObrada(funkcija, info1, info2){
  
  if(funkcija == "izvorno"){
    var tLink = jQuery.url.attr("anchor");
    if(tLink !== null){
      $("div#rad_main").fadeOut(400);
      $("div#browse2").stop().animate({ marginLeft: "-2000px" }, 600 ); 
      $("div#browse2 a span").css('display', 'none');
      $(this).delay(550,function(){
        $("div#kategorije_main").fadeIn(300);
        $(this).delay(450,function(){
          $("div#browse2").css('display', 'none');
          $("div#browse2").css('margin-left', '2000px');
        });
      });
    }
  }
  else if(funkcija == "click_kategorija"){
    $("div#kategorije_main").fadeOut(200); 
    $(this).delay(250,function(){ 
      $.post("test.php", { funk:"browse", kategorija:info1 },
      function(data, success){
        $("div#browse2").html(data);
        $(this).delay(50,function(){ 
          $("div#browse2 a span").css('display', 'none');
          $("div#browse2").css('display', 'block');
          $("div#browse2").stop().animate({ marginLeft: "0px" }, 400 );
          $(this).delay(405,function(){ 
            $("div#browse2 a span").css('display', 'block');
          });
          browseBinds();
        });
      });
    });
  }
  else if(funkcija == "click_browse"){
    $("div#browse2").animate({ marginLeft: "-2000px" }, 300 ); 
    $(this).delay(325,function(){ 
      $("div#browse2 a span").css('display', 'none');
      $("div#browse2").css({'display':'none', 'margin-left':'0px'});
    });
    $(this).delay(350,function(){
      $.post("test.php", { funk:"rad", id:info1, kategorija:info2 },
      function(data, success){
        $("span#popup").html("1");
        $("div#rad_main").html(data);
        $(this).delay(50,function(){  $("div#rad_main").fadeIn(200); });
        radBinds();
      });
    });
  }
  else{
    var tLink = permaExplode(jQuery.url.attr("anchor"));
    if(tLink != false){
      var rad_kat = tLink[1];
      var rad_id = tLink[2];
      if(rad_kat != undefined){
        if(rad_id != undefined && rad_id != ""){
          permalinkObrada("click_browse", tLink[2], tLink[1]);
        }
        else{
          permalinkObrada("click_kategorija", rad_kat);
        }
      }
    }
    else{
      $("div#kategorije_main").fadeIn(500); 
    }
  }
  
}





//
//
// Str - Rad - Binds
//
//
function radBinds(){
  
  // Pocetna varijable
  var pocetniY = 177;
  
  //var slikaHeight = $("#rad_slika").height();
  var containerHeight = 400;
  var ww = $("img#rad_slika").attr("title").split(' | ');
  var kategorija = ww[0];
  var nazivFajla = ww[1];
  var ukupnoSlika = parseInt(ww[3]);
  
  
  // Kad se zatvori rad
  $("a#rad_close").click(function () {
    if($("span#listaRadova").html()=="0"){
      $("div#browse2").css('display', 'none');
      $("div#browse2").css('margin-left', '2000px');
      $("#rad_main").fadeOut(300); 
      permalinkObrada("click_kategorija", kategorija);
      $("span#listaRadova").html("1");
    }
    else{
      $("#rad_main").fadeOut(300); 
      $("div#browse2").css('margin-left', '2000px');
      $("div#browse2").css('display', 'block');
      $("div#browse2").stop().animate({ marginLeft: "0px" }, 500 );
      $(this).delay(500,function(){ 
        $("div#browse a span").css('display', 'block');
      });
    }
  });
    
  //Centriranje slike ukoliko je veca od okvira
  /*
  if(slikaHeight > containerHeight){
    var sh_razlika = slikaHeight - containerHeight;
    $("#rad_slika").css("margin-top", "-" + sh_razlika / 2 + "px");
  }*/
  
  // Sami poziv na scroll
  $('div#rad_lijevo').mousemove(function(event){ radScroll(event, pocetniY, containerHeight); });
  
  // Previous i next buttonz hell yeah!
  $("div#rad_lijevo a").click(
    function(event){
      var smijer = $(this).attr("name");
      // Reload brojku trenutne slike
      var ww = $("div#rad_lijevo img#rad_slika").attr("title").split(' | ');
      var trenutnaSlika = parseInt(ww[2]);
      
      if(smijer=="desno"){
        if(trenutnaSlika>=1 && trenutnaSlika!=ukupnoSlika){ sljedecaSlika = trenutnaSlika + 1; prolaz = 1; }
        else prolaz = 0;
      }
      else if(smijer=="lijevo"){
        if(trenutnaSlika!=1){ sljedecaSlika = trenutnaSlika - 1; prolaz = 1; }
        else prolaz = 0;
      }
      if(prolaz==1){
        if(sljedecaSlika == 1){
          //alert("sad je prva, makni lijevo");
          $("a#rs_desno").css("display", "block");
          $("a#rs_lijevo").css("display", "none");
        }
        else if(sljedecaSlika == ukupnoSlika){
          //alert("sad je zadnja, makni desno");
          $("a#rs_lijevo").css("display", "block");
          $("a#rs_desno").css("display", "none");
        }
        else{
          $("a#rs_desno").css("display", "block");
          $("a#rs_lijevo").css("display", "block");
        }
        rs_point(sljedecaSlika);
        $('div#rad_lijevo img#rad_slika').fadeOut(100);
        filePath = "radovi/" + kategorija + "/" + nazivFajla + sljedecaSlika + ".jpg";
        updateTitle = kategorija+" | "+nazivFajla+" | "+sljedecaSlika+" | "+ukupnoSlika; 
        loadImage(event, pocetniY, containerHeight, filePath, updateTitle);
      }
      return false;
    }
  );
  
  // Klik na tockicu
  $("div#rs_points a").click(
    function(event){
      
      // Pocetna varijable
      var pocetniY = 177;
      var containerHeight = 400;
      id = $(this).attr('name');
      var ww = $("img#rad_slika").attr("title").split(' | ');
      var kategorija = ww[0];
      var nazivFajla = ww[1];
      var ukupnoSlika = parseInt(ww[3]);
      
      if(id == 1){
        $("a#rs_desno").css("display", "block");
        $("a#rs_lijevo").css("display", "none");
      }
      else if(id == ukupnoSlika){
        $("a#rs_lijevo").css("display", "block");
        $("a#rs_desno").css("display", "none");
      }
      else{
        $("a#rs_desno").css("display", "block");
        $("a#rs_lijevo").css("display", "block");
      }
      
      $('div#rad_lijevo img#rad_slika').fadeOut(100);
      filePath = "radovi/" + kategorija + "/" + nazivFajla + id + ".jpg";
      updateTitle = kategorija+" | "+nazivFajla+" | "+id+" | "+ukupnoSlika; 
      loadImage(event, pocetniY, containerHeight, filePath, updateTitle);
      
      rs_point(id);
      
    }
  );
  
  $(this).delay(1500,function(){ 
    radPreload(ukupnoSlika, kategorija, nazivFajla);
  });
  
  
}
//Preload slika trenutnog rada
function radPreload(ukupnoSlika, kategorija, nazivFajla){
  var i = 2;
  while(i < ukupnoSlika + 1){ $.preloadImages("radovi/" + kategorija + "/" + nazivFajla + i + ".jpg"); i++ }
}
//Funkcija za tockice ispod rada
function rs_point(aktivnibroj){
  $("a.rs_point_active").removeClass("rs_point_active");
  $("a#rs_point_" + aktivnibroj).addClass("rs_point_active");
}
// Yo dawg i heard you like pictures so we put a picture in your code so you can change the picture while you code
function loadImage(event, pocetniY, containerHeight, imgSrc, updateTitle){
  $(this).delay(110,function(){ 
    var img = new Image();
    $(img)
    .load(function(){
      $("div#rad_lijevo img#rad_slika").attr("src", imgSrc);
      $("div#rad_lijevo img#rad_slika").attr("title", updateTitle);
      $(this).delay(110,function(){ 
        $('div#rad_lijevo img#rad_slika').fadeIn(150);
        radScroll(event, pocetniY, containerHeight);
      });
    })
    .attr('src', imgSrc);
  });
}
// Rad scroll
function radScroll(event, pocetniY, containerHeight){
  // zahvale Sokcu za ovo :D (http://sokac.net/) 
  var slikaHeight = $("div#rad_lijevo img#rad_slika").height();
  var sh_razlika = slikaHeight - containerHeight;
  var y = event.pageY-pocetniY;
  var margin = y*(sh_razlika/containerHeight);
  $("div#rad_lijevo img#rad_slika").css("margin-top", "-" + margin + "px");
};






//
//
// Str - Kategorije
//
//
$(function(){
  if($("div#kategorije").length > 0){
    $("div#kategorije a").hover(
      function(){
        // hover
        var idA = this.id;
        $(this).removeClass("i_inac");
        $(this).addClass("i_ac");
        //$("#" + this.id + "_img").animate( { backgroundPosition:"(0px 20px)"}, 50 );
        $("span#" + this.id + "_img img").stop().animate({ marginTop: "-20px" }, 100 );
        //$("#" + this.id + "_k_light").fadeIn(100);
        //$("#" + this.id + "_naziv").fadeIn(100);
        $("div#" + this.id + "_k_light").show();
        $("span#" + this.id + "_naziv").show();
        $("div#kategorije a").each(function() {
          if(this.id == idA) $(this).stop().fadeTo(200, 1);
          else $(this).stop().fadeTo(200, 0.35);
        });
        return false;
      }, 
      function () {
        // unhover
        $("span#" + this.id + "_img img").stop().animate({ marginTop: "0px" }, 100 );
        $("span#" + this.id + "_naziv").hide();
        $("div#" + this.id + "_k_light").hide();
        $(this).removeClass("i_ac");
        $(this).addClass("i_inac");
      }
    );
    
    $("div#kategorije").hover(
      function () {}, 
      function () {
        $("div#kategorije a").stop().fadeTo(300, 1);
        return false;
      }
    );
  }
});





//
// Str - Browse
//
function browseBinds(){
  
  // Kad se odabere rad
  $("div#browse2 a#bw_back").click(function () {
    permalinkObrada("izvorno");
  });
  
  // Kad se odabere rad
  $("div#browse2 a.rad_thumb").click(function () {
    var tLink = $(this).attr('href').split('#');
    var tLink = tLink[1].split('/');
    if(tLink[1] != undefined && tLink[2] != undefined){
      permalinkObrada("click_browse", tLink[2], tLink[1]);
      $("span#listaRadova").html("1");
    }
    else{ alert("Error - kategorije je undefined"); }
  });
  
  // Browse thumbnails efekti
  if($("div#browse2").length > 0){
    $("div#browse2 a.rad_thumb").hover(
      function(){
        var idA = this.id;
        $("div#browse2 a.rad_thumb").each(function() {
          if(this.id == idA) $(this).stop().fadeTo(100, 1);
          else $(this).stop().fadeTo(100, 0.35);
        });
        return false;
      }
    );
    $("div#browse2").hover( function () {}, function () { $("div#browse2 a.rad_thumb").stop().fadeTo(300, 1); return false; } );
    $("div#browse2 span.bw_blank").hover( function () { $("div#browse2 a.rad_thumb").stop().fadeTo(300, 1); return false; },  function () {} );
    $("div#browse2 a#bw_back").hover( function () { $("div#browse2 a.rad_thumb").stop().fadeTo(300, 1); return false; },  function () {} );
  }
  
};




// Funkcija - Delay
jQuery.fn.delay = function(time,func){ this.each(function(){ setTimeout(func,time); }); return this; };

// Funkcija - Preload slika
jQuery.preloadImages = function(){
  for(var i = 0; i<arguments.length; i++){
    console.log("Preloading " + arguments[i]);
    jQuery("<img>").attr("src", arguments[i]);
  }
}

//jQuery URL parser
jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||""}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2}});return uri};var key=function(key){if(!parsed.length){setUp()}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/"}else{return parsed.protocol+"://"+parsed.host+"/"}}return(parsed[key]==="")?null:parsed[key]};var param=function(item){if(!parsed.length){setUp()}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item]};var setUp=function(){parsed=parseUri();getSegments()};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/")};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this},segment:function(pos){if(!parsed.length){setUp()}if(pos===undefined){return segments.length}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos]},attr:key,param:param}}();



