
function getMainTable() {
    preLoadArray[1] = new Array();
    actualModelCounter = 0;
    content  = '<div class="column col0"></div>';
    for(a=0;a< series_short.length;a++) {
     if(models["series"][a] && models["series"][a]!=""){
      content += '<div id="modelTableColumn' + (actualModelCounter+1) + '" class="column col' + (actualModelCounter+1) + '">';
      content += '<div id="columnHeadline"><h1 class="modelfinder">' + series_short[a] + '</h1></div>';
      content += '<div id="models">';
      content += getOverviewColumn(a);
      content += '</div></div>';
      content += '<div class="colborder colb' + (actualModelCounter+1) + '"></div>';
     actualModelCounter++;
     }
    }
    content += '<div class="colborder colb' + (actualModelCounter+1) + '"></div>';
    return content;
 }


  function getOverviewColumn(series) {
    result  = new Array();
    content2 = "";
    result  = getModels("series",series);
    for(b=0;b<result.length;b++) {
      if( models[result[b]][6] ) {preLoadArray[1].push(models[result[b]][6]);}
      content2 +='<a href="javascript:showModel(' + result[b] + ');" onmouseover="setClassName(\'entry' + series + b + '\',\'arrow linkHighlight\')" onmouseout="setClassName(\'entry' + series + b + '\',\'arrow\')"><img src="' + models[result[b]][6] + '" width="103" height="49" border="0"></a><br>';
      content2 +='<div class="entry"><a href="javascript:showModel(' + result[b] + ');" class="arrow" id="entry' + series + b + '"><img src="' + transGif + '">' + models[result[b]][4] + '</a></div>';
    }
    return content2;
  }


  function getModels(type,categorie) {
    result = new Array();
    if      (type == "series")     {key = 0;}
    else if (type == "bodytype")   {key = 1;}
    else if (type == "pricerange") {key = 2;}
    for(c=0;c<models.length;c++) {
      if(models[c][key] == categorie) {
        result.push(c);
      }
    }
    return result;
  }


  function showModel(modelId) {
    if(confTrackingEnabled) {
      trackingUrl = mfUrl + "/modelfinder_infolayer_" + models[modelId][3].replace(/\s/g, '_').toLowerCase() + ".html";
      trackAbsolute(trackingUrl,document.title);
    }

    content3 = '<h1>' + models[modelId][3] + '</h1>';
    content3 += models[modelId][5];
    content3 += '<br><br>';
    for(i=11;i<25;i++) {
      if(models[modelId][i] && models[modelId][i+2]) {
        target = '';
        if(models[modelId][i+1]) {
          target = ' target="' + models[modelId][i+1] + '"';
        }
        content3 += '<a href="' + models[modelId][i] + '"' + target + ' class="arrow"><img src="' + transGif + '">' + models[modelId][i+2] + '</a><div style="height:4px; -height:3px; overflow:hidden;"></div>';
        i+=2;
      }
    }
    content3a = '<img src="' + models[modelId][10] + '" onload="setVisibility(\'preloader2\',0);" width="622" height="376">';
    writeIntoLayer('text',content3);
    writeIntoLayer('image',content3a);
    closeModelInfo();
    setVisibility('image',1);
    setVisibility('text',1);
    setVisibility('modelInfo',1);
    setVisibility('preloader2',1);
  }


  function closeModelInfo() {
    dropHighlights();
    setVisibility('preloader2',0);
    setVisibility('image',0);
    setVisibility('text',0);
    setVisibility('navi',0);
    setVisibility('choose',0);
    setVisibility('table',0);
    setVisibility('modelInfo',0);
  }


  function preLoadReady(ticketId) {
    if(ticketId == 1) {
      setVisibility('preloader1',0);
    }
    if(ticketId == 2) {
      writeIntoLayer('chooseText','');
      setVisibility('preloader3',0);
    }
  }


  function setHighlink(thislink,type) {
    dropHighlights();
    setClassName(type,'menu linkHighlight');
    setClassName(thislink,'arrow linkHighlight');
  }

  function getLayer(type) {
    if(confTrackingEnabled) {
      trackingUrl = mfUrl + "/modelfinder_" + type + ".html";
      trackAbsolute(trackingUrl,document.title);
    }

    closeModelInfo();
    setClassName(type,'menu linkHighlight');
    content4 = "";
    content5 = '<div id="chooseText">' + chooseText[type] + '</div>';
    type_order = type + '_order';
    for(i=0; i<models[type_order].length; i++) {
      if(models[type][i] != "" && models[type][models[type_order][i]]){
        content4 += '<a href="javascript:buildColumns(\'' + type + '\', ' + models[type_order][i] + ');" class="arrow" onClick="setHighlink(this,\'' + type + '\');"><img src="' + transGif + '">' + models[type][models[type_order][i]] + '</a><div style="height:4px; -height:3px; overflow:hidden;"></div>';
      }
    }
    content4 += '<br><br>' + content5;
    writeIntoLayer('navi',content4);
    setVisibility('navi',1);
    setVisibility('choose',1);
    setVisibility('modelInfo',1);
    writeIntoLayer('table',tableImage);
    setVisibility('table',1);
  }


  function buildColumns(type,categorie) {
    if(confTrackingEnabled) {
      trackingUrl = mfUrl + "/modelfinder_" + type + "_" + models[type][categorie].replace(/\s/g, "_").toLowerCase() + ".html";
      trackAbsolute(trackingUrl,document.title);
    }
    relevantModels  = new Array();
    relevantModels  = getModels(type,categorie);
    preLoadArray[2] = new Array();
    if(relevantModels.length <= 3) {
      loops = 3;
      tdwidth = 231;
      spacer = 48;
      imageId = 9;
      imageWidth = 231
      imageHeight = 96;
    }
    else if (relevantModels.length == 4) {
      loops = 4;
      tdwidth = 192;
      spacer = 8;
      imageId = 8;
      imageWidth = 192;
      imageHeight = 88;
    }
    else if (relevantModels.length >= 5) {
      loops = 5;
      if (relevantModels.length > 5) {
        loops = 10;
      }
      if (relevantModels.length > 10) {
        loops = 15;
      }
      tdwidth = 153;
      spacer = 8;
      imageId = 7;
      imageWidth = 153;
      imageHeight = 88;
    }

    content6 = '<span id="vSpace" style="padding-bottom:1px;"></span><table cellspacing="0" cellpadding="0" border="0">';
    for(i=0;i<loops;i++) {
      if(i==0) {
        content6 += '<tr>';
      }
      if((i==5)||(i==10)) {
        content6 += '</tr><tr>';
      }

      content6 += '<td width="' + tdwidth + '" valign="top">';
      if(typeof models[relevantModels[i]] == "object") {
        content6 += '<div class="mfheadline"><h4>' + models[relevantModels[i]][3] + '</h4></div>';
        content6 += '<img src="' + models[relevantModels[i]][imageId] + '" width="' + imageWidth + '" height="' + imageHeight + '">';
        if(loops > 3) {
          content6 += '<div style="height:8px; overflow:hidden;"></div>';
        }
        if(models[relevantModels[i]][imageId]) {preLoadArray[2].push(models[relevantModels[i]][imageId]);}
        content6 += '<div style="height:6px; -height:6px; overflow:hidden;"></div>';
        content6 += models[relevantModels[i]][5] + '<br><br>';
        for(k=11;k<25;k++) {
          if(models[relevantModels[i]][k] && models[relevantModels[i]][k+2]) {
            target = '';
            if(models[relevantModels[i]][k+1]) {
              target = ' target="' + models[relevantModels[i]][k+1] + '"';
            }
            content6 += '<a href="' + models[relevantModels[i]][k] + '"' + target + '  class="arrow"><img src="' + transGif + '">' + models[relevantModels[i]][k+2] + '</a><div style="height:4px; -height:3px; overflow:hidden;"></div>';
            k+=2;
          }
        }
      }
      content6 += '</td>';
      if(i == loops-1 || i == 4) {
        content6 += '</tr>';
        if(loops == 10 && i ==4) {
          content6 += '<tr><td colspan="9" height="13">&nbsp;</td></tr>';
        }
      }
      if(i == loops-1) {
        content6 += '<tr><td colspan="9" height="13">&nbsp;</td></tr>';
        content6 += '</table>';
      }
      else {
        content6 += '<td width="' + spacer + '"></td>';
      }
    }
    if(preLoadArray[2].length > 0) {
      setVisibility('preloader3',1);
      preloader(2);
      writeIntoLayer('table',content6);
      setVisibility('image',0);
      setVisibility('table',1);
    }
    else {
      alert("Sorry, no models available or images are missing!");
    }
  }


  function dropHighlights() {
    links=new Array(document.getElementsByTagName('a').length);
    for (var i = 0; i < document.getElementsByTagName('a').length; i++){
      links[i]=document.getElementsByTagName('a')[i];
    }
    for(p=0;p<links.length;p++) {
      if(links[p].className == "arrow linkHighlight") {
        setClassName(links[p],"arrow");
      }
      else if(links[p].className == "menu linkHighlight") {
        setClassName(links[p],"menu");
      }
    }
  }