$(document).ready(function() {

  var autoNameData = [];
  var autoIdData = [];
  var autoNameRatData = [];
  var autoNameRatDataPos = 0;
  $(".dnodeRatName").each(function() {
    autoNameRatData[autoNameRatDataPos++] = $(this).text();
  });
  var autoIdRatData = [];
  var autoIdRatDataPos = 0;
  $(".dnodeRatId").each(function() {
    autoIdRatData[autoIdRatDataPos++] = $(this).text();
  });
  autoNameData = autoNameRatData;
  autoIdData = autoIdRatData;
  
  var autoNameMouseData = [];
  var autoNameMouseDataPos = 0;
  $(".dnodeMouseName").each(function() {
    autoNameMouseData[autoNameMouseDataPos++] = $(this).text();
  });
  var autoIdMouseData = [];
  var autoIdMouseDataPos = 0;
  $(".dnodeMouseId").each(function() {
    autoIdMouseData[autoIdMouseDataPos++] = $(this).text();
  });
      
  $("#structureName").autocomplete(autoNameData, {
    minChars:2,
    matchContains:true,
    scrollHeight:400,
    max:1000
  }).result(function(event,data) {
    var index = -1;
    for(var i=0; i<autoNameData.length; i++) {
      if(autoNameData[i] == data) {
        index = i;
        break;
      }
    }  
    if(index > -1) {
  	  $("#dSelectedId").val(autoIdData[index]);
  	}
  });
  
  $("#speciesList").change(function() {
    if($(this).val() == 1) {
      autoNameData = autoNameMouseData;
      autoIdData = autoIdMouseData;
    }
    else {
      autoNameData = autoNameRatData;
      autoIdData = autoIdRatData;    
    }
    $("#structureName").setOptions({data:autoNameData});
  });
  
  $("#home_browseimages").submit(function() {
    var selectedId = $("#dSelectedId").val();
    if(selectedId.length == 0) {
      var structName = $("#structureName").val();
      var index = -1;
      for(var i=0; i<autoNameData.length; i++) {
        if(autoNameData[i] == structName) {
          index = i;
          break;
        }
      }  
      if(index > -1) {
  	    selectedId = autoIdData[index];
  	  }
  	  else {
  	    selectedId = 'empty';
  	  }
  	  $("#dSelectedId").val(selectedId);      
    }
  });
  
  function setThumbDimensions(elem) {
    var width = elem.width();
    var height = elem.height();
    var loop = 1;
    while(loop <= 2 && (width > 200 || height > 124)) {
      var diffX = width - 200;
      var diffY = height - 124;
      if(diffX >= diffY) {
        height = 200 / (width / height);
        width = 200;
      }
      else {
        width = 124 * (width / height);
        height = 124;
      }              
    }
    if(width > 200 || height > 124) {
      width = 200;
      height = 124;
    }
    if(height < 124) {
      elem.css("margin-top",(124-height)/2 + "px");
    }    
    elem.width(width);
    elem.height(height);
    elem.show();
    elem.removeClass(".myimgthumb");  
  }
  
  $(".myimgthumb").each(function() {
    var thumbImg = new Image();
    var elem = $(this);
    thumbImg.src = $(this).attr("src");        
    if(thumbImg.complete) {
      setThumbDimensions(elem);
    }
    else {
      thumbImg.onload=function() {
        setThumbDimensions(elem);
      }
    }
  });
});