/* Author: 

*/

// document ready
$(function(){
  $.history.init(function(hash){
    if(hash==""){
      document.location.hash='#!/beogradska-politehnika/o-skoli/';
    }else{
      handleHash(hash);
    }
  },{ unescape: ",/" });
  $("div.main-board").resize(function(e){
    $("div.menu-bar").css('height',$("div.main-board").height()+100); 
    $("div.speed-links").css('height',$("div.main-board").height()+100); 
  });
  $('#akreditacija-pdf').dialog({
    autoOpen  : false,
    width     : 700,
    height    : 600,
    modal     : true,
    resizable : false
  });
  $("header span.akreditacija a").click(function(){
    $.get('views/pdf/'+$(this).attr('class')+'.php',{},function(data){
      $('#akreditacija-pdf').html(data);
      $('#akreditacija-pdf').dialog('open');
    });
  });
});

// on resize
$(window).resize(function(){
  var w=$(window).width();
  if(w>=1065){
    $('div.main-board').width('665px');
    $('div.nav ul li a').width('139px');
    $('div.nav ul li a span').width('139px');
    $('div.footer').width('655px');
    $('div.footer span').width('655px');
    $('.right-side-bar').show();
  }else if(w<1065 && w>980){
    $('div.main-board').width(665-1065+w);
    $('div.nav ul li a').width((695-1065+w)/5);
    $('div.nav ul li a span').width((695-1065+w)/5);
    $('div.footer').width(655-1065+w);
    $('div.footer span').width(655-1065+w);
    $('.right-side-bar').show();
  }else{
    $('.right-side-bar').hide();
  }
});

// handle hash (paging)
function handleHash(h){
  var a=h.split("/");
  var l=a.length;
  if(l<2 || (l==2 && a[1]=="")){
    document.location.hash('#!/beogradska-politehnika/o-skoli/');
  }else if(l==2 || (l==3 && a[2]=="")){
    switch(a[1])
    {
    case 'osnovne-studije':
      document.location.hash="#!/osnovne-studije/odeljenje-za-dizajn/graficki-dizajn/";
      break;
    case 'specijalisticke-studije':
      document.location.hash="#!/specijalisticke-studije/graficka-proizvodnja/";
      break;
    case 'info-desk':
      document.location.hash="#!/info-desk/obavestenja/";
      break;
    case 'biblioteka':
      document.location.hash="#!/biblioteka/o-biblioteci/";
      break;
    default:
      document.location.hash="#!/beogradska-politehnika/o-skoli/";
    }
  }else if(l==3 || (l==4 && a[3]=="")){
    if(!$("div.nav ul li a.active").hasClass(a[1])){
      $("div.nav ul li a.active").removeClass('active');
      $("div.nav ul li a."+a[1]).addClass('active');
      $("div.menu-bar").removeClass('red blue green purple yellow').addClass($("div.nav ul li a."+a[1]+" span").attr("class"));
      $("footer div.footer").removeClass('red blue green purple yellow').addClass($("div.nav ul li a."+a[1]+" span").attr("class"));
      loadMenu(a[1],function(){
        $("ul.main-menu li a").removeClass('active');
        $("#"+a[2]).addClass('active');
        $.post('views/'+a[1]+'/'+a[2]+'.php',{},function(d){
          $('div.main-board').html(d);
        });
      });
    }else{
      $("ul.main-menu li a").removeClass('active');
      $("ul.sub-menu,ul.end-menu").slideUp();
      $("#"+a[2]).addClass('active');
      $.post('views/'+a[1]+'/'+a[2]+'.php',{},function(d){
        $('div.main-board').html(d);
      });
    }
  }else if(l==4 || (l==5 && a[4]=="")){
    if(!$("div.nav ul li a.active").hasClass(a[1])){
      $("div.nav ul li a.active").removeClass('active');
      $("div.nav ul li a."+a[1]).addClass('active');
      $("div.menu-bar").removeClass('red blue green purple yellow').addClass($("div.nav ul li a."+a[1]+" span").attr("class"));
      $("footer div.footer").removeClass('red blue green purple yellow').addClass($("div.nav ul li a."+a[1]+" span").attr("class"));
      loadMenu(a[1],function(){
        $("ul.main-menu a").removeClass('active');
        $("#"+a[2]).parent().children('ul.sub-menu').slideDown('fast');
        $("#"+a[2]).parent().children("ul.sub-menu").children("li").children("a#"+a[3]).addClass('active');
        $.post('views/'+a[1]+'/'+a[2]+'/'+a[3]+'.php',{},function(d){
          $('div.main-board').html(d);
        });
      });
    }else{
      $("ul.main-menu a").removeClass('active');
      //$("ul.sub-menu,ul.end-menu").slideUp();
      $("#"+a[2]).parent().children('ul.sub-menu').slideDown('fast');
      $("#"+a[2]).parent().children("ul.sub-menu").children("li").children("a#"+a[3]).addClass('active');
      $.post('views/'+a[1]+'/'+a[2]+'/'+a[3]+'.php',{},function(d){
        $('div.main-board').html(d);
      });
    }
  }else if(l==5 || (l==6 && a[5]=="")){
    if(!$("div.nav ul li a.active").hasClass(a[1])){
      $("div.nav ul li a.active").removeClass('active');
      $("div.nav ul li a."+a[1]).addClass('active');
      $("div.menu-bar").removeClass('red blue green purple yellow').addClass($("div.nav ul li a."+a[1]+" span").attr("class"));
      $("footer div.footer").removeClass('red blue green purple yellow').addClass($("div.nav ul li a."+a[1]+" span").attr("class"));
      loadMenu(a[1],function(){
        $("ul.main-menu a").removeClass('active');
        $("#"+a[2]).parent().children('ul.sub-menu').slideDown('fast',function(){
          $("#"+a[3]).parent().children('ul.end-menu').slideDown('fast');
        });
        $("#"+a[3]).parent().children("ul.end-menu").children("li").children("a#"+a[4]).addClass('active');
        $.post('views/'+a[1]+'/'+a[2]+'/'+a[3]+'/'+a[4]+'.php',{},function(d){
          $('div.main-board').html(d);
        });
      });
    }else{
      $("ul.main-menu a").removeClass('active');
      //$("ul.sub-menu,ul.end-menu").slideUp();
      $("#"+a[2]).parent().children('ul.sub-menu').slideDown('fast',function(){
        $("#"+a[3]).parent().children('ul.end-menu').slideDown('fast');
      });
      $("#"+a[3]).parent().children("ul.end-menu").children("li").children("a#"+a[4]).addClass('active');
      $.post('views/'+a[1]+'/'+a[2]+'/'+a[3]+'/'+a[4]+'.php',{},function(d){
        $('div.main-board').html(d);
      });
    }
  }else{
    $("div.nav ul li a.active").removeClass('active');
    $("div.menu-bar").removeClass('red blue green purple yellow').addClass('red');
    $("footer div.footer").removeClass('red blue green purple yellow').addClass($("div.nav ul li a."+a[1]+" span").attr("class"));
    $("ul.main-menu").html("");
  }
}
// load menu function, p = page id, f = callback function
function loadMenu(p,f){
  $("ul.main-menu").load("views/menu/"+p+".php",function(){
    $("ul.main-menu>li>a").click(function(e){
      //$("ul.sub-menu,ul.end-menu").slideUp();
      if($(this).parent().children('ul.sub-menu').length){
        var b=$(this).attr('id');
        if(b=="" || b===undefined)e.preventDefault();
        $(this).parent().children('ul.sub-menu').slideDown('fast');
      }else{
        $("ul.main-menu li a").removeClass('active');
        $(this).addClass('active');
      }
    });
    $("ul.sub-menu>li>a").click(function(e){
      $("ul.sub-menu li a").removeClass('active');
      $(this).addClass('active');
      //$("ul.end-menu").slideUp();
      if($(this).parent().children('ul.end-menu').length){
        var b=$(this).attr('id');
        if(b=="" || b===undefined)e.preventDefault();
        $(this).parent().children('ul.end-menu').slideDown('fast');
      }
    });
    f.call();
  });
}

// google maps
function initialize() {
  var latlng = new google.maps.LatLng(44.809,20.470);
  var myOptions = {
    zoom: 13,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
  
	var krfskaString = '<div id="content">'+
    '<div id="krfskaMap" class="font">'+
    '<p><b>Krfska 7</b></p>'+
    '<p>tel: (011) 24 10 990</p>'+
    '<p>fax: (011) 38 09 731</p>'+
    '</div>'+
    '</div>';
        
  var infowindow1 = new google.maps.InfoWindow({
      content: krfskaString
  });
	var krfska = new google.maps.LatLng(44.803797,20.490634);
	var marker1 = new google.maps.Marker({
    position: krfska, 
    map: map,
    title:"Krfska 7"
  });

	var brankovaString = '<div id="content">'+
    '<div id="brankovaMap" class="font">'+
    '<p><b>Brankova 17</b></p>'+
    '<p>tel: (011) 26 33 127</p>'+
    '<p>fax: (011) 26 32 341</p>'+
    '</div>'+
    '</div>';
        
  var infowindow2 = new google.maps.InfoWindow({
      content: brankovaString
  });
	var brankova = new google.maps.LatLng(44.814579,20.455234);
	var marker2 = new google.maps.Marker({
    position: brankova, 
    map: map,
    title:"Brankova 17"
  });
	google.maps.event.addListener(marker2, 'click', function() {
    infowindow2.open(map,marker2);
  });
	google.maps.event.addListener(marker1, 'click', function() {
    infowindow1.open(map,marker1);
  });
}
