// JavaScript Document

var browser=new Object;
browser=navigator.appName;
version=navigator.appVersion;
os=navigator.platform;
codename=navigator.appCodeName;
agent=navigator.userAgent;
browser.major = parseInt(navigator.appVersion);
browser.minor = parseFloat(navigator.appVersion);

/*
document.write("<br><br><br>Browser:" + browser + "<br>");
document.write("Version:" + version + "<br>");
document.write("Sprache:" + language + "<br>");
document.write("Betriebssystem:" + os + "<br>");
document.write("Codename des Browsers:" + codename + "<br>");
document.write("User-Agent-Attribut:" + agent + "<br>");
document.write("Browser:" + browser + "<br>");
*/

// Browsererkennung
isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
IE = ((document.all)&&(navigator.appVersion.indexOf("MSIE")!=-1)) ? true : false;
IE55 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.5")!=-1)) ? true : false;
IE6 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 6.")!=-1)) ? true : false;
IE7 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 7.")!=-1)) ? true : false;
ie7plus = ((document.all)&&(navigator.appVersion.indexOf("MSIE")!=-1)&&(navigator.appVersion.charAt(navigator.appVersion.indexOf('MSIE')+5)>=7)) ? true : false;
IEmac = ((document.all)&&(isMac)) ? true : false;
NS4 = (document.layers) ? true : false;
Opera = navigator.userAgent.indexOf("Opera") >= 0;
isIE = ((document.all)&&(navigator.appVersion.indexOf("MSIE")!=-1)) ? true : false;
safari = (navigator.appVersion.indexOf("Safari")!=-1) ? true : false;
moz = (navigator.appName.indexOf("Netscape")!=-1) ? true : false;

editHeight = 0;
editWidth = 0;
function setMainHeight()
{
   // total height
   winHeight = $(window).height();
   winMarginTop = parseInt($("body").css("margin-top"));
   winMarginBottom = parseInt($("body").css("margin-bottom"));

   // main height
   mainHeight = winHeight-winMarginTop-winMarginBottom-137;
   // console.log(mainHeight);
   $('#main').css('height', mainHeight+'px');
   
   // set top
   mainTop = Math.floor((mainHeight-$('#main_inside').height())/2);
   // console.log(mainTop);
   $('#main_inside').css('top', mainTop+'px');
}

function resetValue(default_str)
{
   // console.log("resetValue: "+default_str);
   if(default_str == "Login")
      el = $('#login');
   else
      el = $('#password');
   // console.log(el);

   if(el.val() == default_str)
      el.val("");
}

function sendLogin()
{
   // console.log("sendLogin");
   login_el = $('#login');
   resetValue('login');
   pwd_el = $('#password');
   resetValue('password');
   msg_el = $('#msg');
      
   if(login_el.val() == "" || pwd_el.val() == "")
   {
      msg_el.html('Bitte geben Sie Ihre Zugangsdaten ein');
      msg_el.show();
   }
   else
   {
      $.ajax({
         type: 'POST',
            url: 'server.php?fnc=login',
            data: {login: login_el.val(), pwd: pwd_el.val()},
            success: function(data){
               confLogin(data);
            },
            dataType: "json"
         });
   }
}

function confLogin(data)
{
   if(!data.success)
   {
      msg_el.html('Login fehlgeschlagen. '+data.info);
      msg_el.show();
   }
   else
   {
      $('#login_block').hide(); 
      $('#logged_in_as').text(data.logged_in_as);  
      $('#logged_in_block').show();
      
      // ggf. weiterleitung
      // window.location.href = 'select.php';
   }
}

function initSelectedImages()
{
   imgs = $('.image');
   // console.log(selectedImages);
   
   for(var i=0; i<imgs.length; i++)
   {
      id = imgs[i].id;
      imageSelect(id, true);
      imageNames[getFilename(imgs[i].src)] = id;
      
      // set li width to img width
      $('#li_'+id).css('width', $('#'+id).width()+'px');
   }
   // console.log(imageNames);
   
   // click handler
   $('.image').bind('click', function() {
      imageSelect(this.id, false);
   });
}

function getFilename(url)
{
   return url.substring(url.lastIndexOf('/')+1);
}

function imageSelect(id, init)
{
   if(init)
   {
      if(typeof selectedImages[id] != "undefined" && selectedImages[id] == true)
         selectImg(id);
      else  
         deselectImg(id);
   }
   else
   {
      if(typeof selectedImages[id] != "undefined" && selectedImages[id] == true)
         deselectImg(id);
      else  
         selectImg(id);
   }
}

function selectImg(id)
{
   el = $('#image_selected__'+id);
   // console.log("select: "+id);
   // console.log(el);
   el.attr("src", "./images/accept.png");

   el2 = $('#image_selected_sb__'+id);
   if(el2.length > 0)
      el2.attr("src", "./images/accept.png");
         
   selectedImages[id] = true;
}

function deselectImg(id)
{
   el = $('#image_selected__'+id);
   // console.log("deselect");
   // console.log(el);
   el.attr("src", "./images/spacer.png");
   
   el2 = $('#image_selected_sb__'+id);
   if(el2.length > 0)
      el2.attr("src", "./images/spacer.png");   
   
   selectedImages[id] = false;
}

function shadowboxTrack() {
  var c = Shadowbox.getCurrent();
  yourTrackingFunction(c.content);
} 

function yourTrackingFunction(content)
{
   // console.log(content);
   id = imageNames[getFilename(content)];
   // console.log(getFilename(content)+" :: "+id);
   
   spanHTML = '<span class="image_select_area_sb"><img id="image_selected_sb__'+id+'" class="image_selected"';

   if(typeof selectedImages[id] != "undefined" && selectedImages[id] == true)
      spanHTML += ' src="./images/accept.png"';
   else
      spanHTML += ' src="./images/spacer.png"';
   
   spanHTML += ' alt="Ausgewählt"></span>';

   if($('#sb-body'))
   {
      // remove all 
      $('.image_select_area_sb').remove();

      // wrap a around div sb-body-inner
      if($('#a_selector_sb').length > 0)
         $('#a_selector_sb').attr("href", "javascript: imageSelect('"+id+"')");
      else
         $('#sb-body').wrap('<a id="a_selector_sb" href="javascript: imageSelect(\''+id+'\')"></a>');
      
      // append span
      $('#sb-body').append(spanHTML);
   }
}

function sendImages()
{
   // make list of all image names
   finalImages = [];
   for(var i in imageNames)
   {
         // console.log(i+" : "+imageNames[i]);
      
         id = imageNames[i];
      name = $('#'+id).attr('name');
      
      if(typeof selectedImages[id] != "undefined" && selectedImages[id] == true)
         finalImages.push(name);       
   }
   // console.log(finalImages);

   if(finalImages.length == 0)
   {
      $('#conf').text("Ihre Auswahl ist leer.").show();
      return false;
   }

   // confirmation
      conf = confirm('Wollen Sie Ihre Auswahl jetzt absenden?\nÄnderung sind danach nicht mehr möglich.');  
   
    if(!conf)
      return false;

   // buttons ausblenden
   $('#send_button').button('disable');
   $('#all_button').button('disable');
   $('#reset_button').button('disable');

   // ajax loader
   $('#loading').show();
      
   // send ajax request to save and send
   // console.log(finalImages);
   $.ajax({
      type: 'POST',
         url: 'server.php?fnc=receiveImgs',
         data: {images: finalImages},
         success: function(data){
            confSaveImages(data);
         },
         dataType: "json"
      });
}

function confSaveImages(data)
{
   // buttons einblenden
   $('#send_button').button('enable');
   $('#all_button').button('enable');
   $('#reset_button').button('enable');

   // ajax loader
   $('#loading').hide();
   
   // msg
   $('#conf').text(data.msg).show();
}

function selectAllImages(selectType)
{
   for(var i in imageNames)
   {
      id = imageNames[i];
      name = i;

      if(selectType)
         selectImg(id);
      else
         deselectImg(id);
   }
}
