

//function ge(pn){
//  return document.getElementById(pn);
//}

var bwdgt_hide = true;

function after_init() {
  //lng tweaks
  try {  
    if (glng == 'fr' || glng == 'be'){
      keymap[65] = 1; //a
      keymap[90] = 2; //z
	  keymap[69] = 3; //e 	  
      keymap[81] = 4; //q
      keymap[83] = 5; //s
      keymap[68] = 6; //d
      keymap[87] = 7; //w	  
      keymap[88] = 8; //x
      keymap[67] = 9; //c
	}
  }  catch(err) { todo='nothing'; }


  try { addCss(scss); }  catch(err)  { scss = "";  }
  try { sl = gmods; }  catch(err)  { sl="";  }

  try  { sl = sl + location.href.substr(location.href.indexOf('?'),2000); }
  catch(err)  { sl = sl;}
  

  //build nav bar
  il = sl.toLowerCase().indexOf("navl");
  if ( il > -1){
    sp = "";
    for (i=1; i<=9 ; i++ ) {
      sp += '<div id="div_nav_'+i+'" class="div_nav_btn div_nav_mod"><button id="btn_'+i+'"></button></div>';
    }
    $("#div_nav").html(sp);

    for (i=1; i<=9 ; i++ ) {
      src_link = $("#link_" + i);
      src_div = $("#div_" + i);
      trg_div = $("#div_nav_" + i);
      trg_btn = $("#btn_" + i);
      if (src_link.hasClass("a_drilldown")){
        trg_div.css('display',src_div.css('display'));
        trg_btn.html(src_link.html());
        //trg_btn.onclick = new Function(src_link.href.replace('t:','t:cur_level = 1;').replace('javascript:',''));
		trg_btn.click(function(){
		  var code = $(this).attr('id').replace('btn_','init(link')+');'; // btn_1 //init(link1);
		  cur_level = 1;
		  eval(code);
		})
        trg_btn.css('background-image',src_link.css('background-image')); //.replace(")","&size=40)");
		//alert('tesT');
      } else {
        trg_div.hide();
      }
    }

    //auto open folder
    il = sl.toLowerCase().indexOf("aopen");
    if ( il > -1){
      sf = sl.substr(il+5,1);
      isf = parseInt(sf);
      if (isf > 0 && isf < 10){
        //alert("Found=" + sf);
        eval("init(link" + sf + ");");
      }
    }
  }

  //remote key support
  il = sl.toLowerCase().indexOf("remotekeymap");
  if ( il > -1){
    keymap[97]  = 1; //7
    keymap[98]  = 2; //8
    keymap[99]  = 3; //9
    keymap[100] = 4; //4
    keymap[101] = 5; //5
    keymap[102] = 6; //6
    keymap[103] = 7; //1
    keymap[104] = 8; //2
    keymap[105] = 9; //3
  }
  
  //hide fonts
  il = sl.toLowerCase().indexOf("hidecap");
  if ( il > -1){
    for (i=1; i<=9 ; i++ ) {
      $("#link_" + i).css('font-size','0px');
    }
  }

  try
  { il2 = mod_showlinks; }
  catch(err)
  { il2= 0;  }

  //hide navbar
  il = sl.toLowerCase().indexOf("hidelinks");
  if ( il > -1 && il2 < 1 && is_public){
    //$("#div_a").hide();
	$("#div_header").attr('mod_hidden','y');
	$("#div_header").hide();
  } else {
    //$("#div_a").show(); //not needed?
  }

  //hide breadcrumps
  il = sl.toLowerCase().indexOf("hidebc");
  if ( il > -1){
    $("#div_bc_id").hide();
  } else {
    $("#div_bc_id").show();
  }

  //Swipe
  il = sl.toLowerCase().indexOf("swipe");
  if ( il > -1){
    for (i=1; i<=9 ; i++ ) {
      src_link = $("#link_" + i);
      src_link.mousedown(function(){
        giCld=1;
        gsMOL = this.id.substr(5,6);
        window.setTimeout("confirmit('"+gsMOL+"')", iWait/2);
        window.setTimeout("confirmit('"+gsMOL+"')", iWait*1.5);
        window.setTimeout("confirmit('"+gsMOL+"')", iWait*2.5);
        return false;
      });

      src_link.mouseout( function(){
        if(giCld==1){
          gsMOL = "";
        }
      });

      src_link.mouseup(function(){
        if(giCld==1){
          $("#link_" + gsMOL ).click();
          giCld=0;
          gsMOL="";
        }
      });

      src_link.mouseover(function(){
        if(giCld==1){
          gsMOL = this.id.substr(5,6);
          window.setTimeout("confirmit('"+gsMOL+"')", iWait);
        }
      });
    }
  }

  // WGDT SUPPORT
  try{
    il = gmods.toLowerCase().indexOf("+wdgt_active");
	il2 = gmods.toLowerCase().indexOf("+wdgt_hide");
  } catch (e){il=-1;}
  if ( il > -1){
    if (il2 > -1) {
	  $('#div_wdgt_right, #div_wdgt_left').mouseover(function(){
	     if (bwdgt_hide){
		   bwdgt_hide = false;
	       load_wdgts();	   
		 }
	  });
	} else {
      setTimeout('load_wdgts();',2000);
	}


  } else {
    $('#div_wdgt_right, #div_wdgt_left').remove();
  }
  

} //after_init


function load_wdgts(){
	$('#div_wdgt_right_html').load('/private_widget?part=r&set='+link_set+'&open='+open_id,function(){
	  $('#div_wdgt_right').show();
	  $('#div_wdgt_right_html').show();
	});
	$('#div_wdgt_left_html').load('/private_widget?part=l&set='+link_set+'&open='+open_id,function(){
	  $('#div_wdgt_left').show();
	  $('#div_wdgt_left_html').show();
	});
}


//swipe
giCld = 0;
gsMOL = "";
iWait = 500;

function confirmit(id){
  if (id == gsMOL && giCld == 1){
    $("#link_" + id ).click();
  }
}


function addCss(cssCode) {
var styleElement = document.createElement("style");
  styleElement.type = "text/css";
  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText = cssCode;
  } else {
    styleElement.appendChild(document.createTextNode(cssCode));
  }
  document.getElementsByTagName("head")[0].appendChild(styleElement);
}

document.onmouseup = function(){giCld=0;gsMOL="";}
  // 0 = Display
  // 1 = Edit
  iModus = 0;

  try { ikey = ikeyuse; } catch(err) { ikey=1; }
  try { iimg = iimguse; } catch(err) { iimg=1; }
  try { ioff = ioffuse; } catch(err) { ioff=0; }
  try { ilocimage = locimg} catch(err) { ilocimage = false; }
  try { ihtml5 = html5} catch(err) { ihtml5 = false; }

   //map keys to links
  var keymap = new Array();
  //keymap[13] = 0; //Enter
  keymap[96] = 0; //0
  keymap[32] = 0; //Space
  keymap[77] = 0; //m

  //cursors
  keymap[38] = 2; //up
  keymap[37] = 4; //left
  keymap[39] = 6; //right
  keymap[40] = 8;  //down

  //awsd
  keymap[81] = 1; //q
  keymap[87] = 2; //w
  keymap[69] = 3; //e
  keymap[65] = 4; //a
  keymap[83] = 5; //s
  keymap[68] = 6; //d
  keymap[89] = 7; //y (german)
  keymap[90] = 7; //z (english)
  keymap[88] = 8; //x
  keymap[67] = 9; //c


  //extention for laptops
  keymap[55] = 1; //7
  keymap[56] = 2; //8
  keymap[57] = 3; //9
  keymap[85] = 4; //u
  keymap[73] = 5; //i
  keymap[79] = 6; //o
  keymap[74] = 7; //j
  keymap[75] = 8; //k
  keymap[76] = 9; //l


  //number pad
  keymap[97]  = 7; //7
  keymap[98]  = 8; //8
  keymap[99]  = 9; //9
  keymap[100] = 4; //4
  keymap[101] = 5; //5
  keymap[102] = 6; //6
  keymap[103] = 1; //1
  keymap[104] = 2; //2
  keymap[105] = 3; //3

  //extention for 1...9 default keys
  keymap[49] = -11; //1
  keymap[50] = -12; //2
  keymap[51] = -13; //3
  keymap[52] = -14; //4
  keymap[53] = -15; //5
  keymap[54] = -16; //6

  //fast nav keys
  keymap[111] = -1; // /
  keymap[106] = -2; // *
  keymap[109] = -3; // -

  //Internal Navigation Mapping
  var aIntNav = new Array();
  aIntNav[11] = "div_opt_options";
  aIntNav[12] = "div_opt_img";
  aIntNav[13] = "div_opt_synonym";
  aIntNav[14] = "div_opt_contact";
  aIntNav[15] = "div_opt_admin";

  
// IMAGE SERVER //

function cImageDB () {
    this.images = {};
	this.timeoffset = 0;
}

cImageDB.prototype.refreshImages = function() {
   localStorage.clear();
   location.reload();
};  
  
cImageDB.prototype.getImage = function(id) {
   data = localStorage.getItem(imageDB.toID(id));
   //alert(data != null);
   if (data !== null){
     $('.'+imageDB.toID(id)).css('background-image',data);
   } else {
     this.requestImage(id);
   }
};  

cImageDB.prototype.requestImage = function(id) {
  setTimeout('imageDB.postrequestImage("'+id+'");',this.timeoffset++*100);
};

cImageDB.prototype.postrequestImage = function(id) {
  //alert($('.'+imageDB.toID(id)).attr('img_id'));
  var temp = $.ajax({
    url: "/imgbase?n="+id+'&imgkey='+imageDB.toID(id),
    context: $('.'+imageDB.toID(id)),
    success: function(data){
	  adata = data.split('|||');
	  img_id = adata[0];
	  img_data = adata[1];
	  img_default = 'n';
	  try{
	    img_default = adata[2];
	  } catch(e){}
	  if ( img_default == 'n'){
	    localStorage.setItem(img_id,img_data);
	  }
	  //alert($(this).attr('img_id') +' - '+ img_id);
	  if ($(this).attr('img_id') == img_id){
        $(this).css('background-image',img_data);
	  }
    }
  });
};  
  
cImageDB.prototype.toID = function(id) {
   nid = id;
   nid = nid.replace(/&/g,'-amp-');
   nid = nid.replace(/\./g,'-point-');
   nid = nid.replace(/=/g,'-and-');
   nid = nid.replace(/:/g,'-dp-');
   nid = nid.replace(/@/g,'-at-');
   return nid;
};  
  
var imageDB = new cImageDB();

  
var a_links;

function initLink(a_link,level) {

//if (a_link = "undefined") {
//  alert("array is empty");
//}
 obj_id = "link_" + a_link[0].charAt(a_link[0].length - 1);
 obj = document.getElementById(obj_id); //take last character
 if (!obj){alert('object:'+obj_id+'not found!')}
 obj.target="_self";

 if (a_link[2] != "#") {
  obj.style.display = "block";
  //if link or drilldown
  if (a_link[2] !== "") {
    obj.href = a_link[2];
    obj.className  = "a_link";
    is_dd = "";
    //try set option for opn links in new tab
    try {
      if (opt_new_tab || is_chrome){
        obj.target="_blank";
      }
    } catch (e) {}
  }
  else {
    obj.href = "javascript:init(link" + a_link[0] + ");";
    obj.className  = "a_drilldown";
    is_dd = "&dd=y";
  }
  obj.innerHTML = a_link[1];
  try {
    obj.title = a_link[4];
  } catch (e) {}

  //embed images support
  var imgprefix = "";
  try {
    var uri = document.location.href;
    var inappspot = uri.indexOf("3x3links.appspot.com") > -1;
    var indomain = uri.indexOf("www.3x3links.com")  > -1;
    if (!inappspot && !indomain){
      if (uri.indexOf("localhost:8080") > -1){
        imgprefix ='http://localhost:8080/';
	  } else {
	    imgprefix ='https://3x3links.appspot.com/';
  	  }
    }
  } catch (e) {}
  
  obj.style.backgroundImage = "none";
  if (a_link[3] !== "" && iimg == 1 ){
    if (ioff == 0){

      if (!(ihtml5 && ilocimage)){
	    obj.style.backgroundImage = "url("+imgprefix+"img?n=" + a_link[3] + is_dd + ")";
	  } else {
	    img_id = a_link[3] + is_dd;
	    $('#'+obj_id).addClass(imageDB.toID(img_id));
	    $('#'+obj_id).attr('img_id',imageDB.toID(img_id));
	    imageDB.getImage(img_id);
	  }
	  
    } else { //offline version
      imgvar = a_link[3];
      //if ( a_link[0] == "5" ){alert(imgvar);}
      if ((is_dd == "&dd=y" && imgvar.substr(0,5) != "pimg_") || imgvar == "home.jpg&dd=y") {
        //alert(imgvar.substr(0,5) + '||' + imgvar + '||'+ aaimgs[imgvar]);
        imgvar = 'dd_' + imgvar.replace("&dd=y","");
      }

      obj.style.backgroundImage = aaimgs[imgvar];
    }
  }



 } else {
  //if # then not required.

  if ( a_link[0] == "5" && show_home){
    initLink(new Array("5","Home","javascript:init(" + last_drilldown + ");","home.jpg&dd=y"),level);
    obj.className  = "a_drilldown "+obj.className.split(' ')[1];
    obj.target="_self";
    obj.title = "";
  } else {
    obj.style.display = "none";
    obj.href = "#";
  }

 }
}


function clearLinks(){
 for (var j = 1; j<=9; j++){
  //alert("Empty: " + j);
  initLink(new Array(j+"","","#",""),1);
 }
}

function init(cur_link){
  if (cur_link == link_init){
    show_home = false;
  } else {
    show_home = true;
  }

  clearLinks();
  if (document.title === ""){
    document.title = cur_link[1];
  }
  level = set_level(cur_link);
  if (cur_link[2] === ""){
   try {
     eval("a_links = link" + cur_link[0] + "0;");
   } catch (e) {
      //do nothing
     eval("a_links = Array();");
   }
  }

  for (var i = 0; i<a_links.length; i++){
    //alert(i);
	//reset image load delay count
	if (ihtml5 && ilocimage){imageDB.timeoffset=1;}
    initLink(a_links[i],level);
  }
  //alert(document.getElementById("link_5").href + " - " + link5[2]);
}

//simulate Click Event
function fireEvent(obj,evt){

        var fireOnThis = obj;
        if( document.createEvent ) {
          var evObj = document.createEvent('MouseEvents');
          evObj.initEvent( evt, true, false );
          fireOnThis.dispatchEvent(evObj);
        } else if( document.createEventObject ) {
          fireOnThis.fireEvent('on'+evt);
        }


}

last_drilldown = "link_init";
var show_home = false;
last_focus = ""; //stores in edit mode which element was focused last
last_key = 0; //remembers last pressed key to disable space in edit mode

editing = 0; //if editing, browse should be inactiv

try {
  if (link_set == "0"){
    link_set = link_set;
  }
} catch (e) {
  link_set = "";
}


function seted(pstatus){
 if (pstatus === 0){
   editing = 0;
 } else {
   editing = 1;
 }
}

var bBrowsed = false; //if browsed, set this flag

function browse(id){
  bBrowsed = true;
  //Display Mode
  if (document.getElementById("link_" + id)) {
    var uri_dest = document.getElementById("link_" + id).href;
    //alert ("IndexOf=" + uri_dest.indexOf("javascript:init"));
    if (uri_dest.indexOf("javascript:init") > -1) {
      //alert(uri_dest.length);
      if (uri_dest.length ==  24){
       last_drilldown  = uri_dest.slice(16,21);
       //alert("Test:"  + last_drilldown);
      } else {
       last_drilldown = "link_init";
      }
    }
    //open in new tab with keyboard shortcuts (experimental)
    try {
      if ((opt_new_tab || is_chrome) && uri_dest.indexOf("javascript:init") == -1){
        window.open(uri_dest,'_blank');
      } else {
        document.location.href = uri_dest;
      }
    } catch (e) {
      document.location.href = uri_dest;
    }


  } else {

  if (editing === 0) {
    //alert('ID = '+id);
    if (id === 0){
      if (iModus === 0){
        init(link_init);
      } else {
        if (last_key != 32) {
          var uri = document.location.href;
          if (uri.indexOf("id2=0") > -1 || uri.indexOf("id2=") == -1) {
            document.location.href = "/edit?tmpl=grid&set=" + link_set;
          }
          if (uri.search(/id2=[1-9]/) > -1) {
                   document.location.href = uri.replace(/id2=[1-9]/,"id2=0");
          }
          last_key = 0;
        }
        //last key not 32
      }
      //Else: go one level up
    }
    //Edit Mode
    //
    //keyboard shortcuts for internal navigation
    if (id < 0){
      if (document.getElementById("keyshortcut" + id)){
        document.location.href = document.getElementById("keyshortcut" + id).href;
      }
    }
    if (id < -10){
      objid = aIntNav[id*-1];
      if (document.getElementById(objid)){
        document.location.href = document.getElementById(objid).href;
      }
    }

    //Edit Mode - Focus Items Edit Button
    if (document.getElementById("focus-" + id)){
      //don't focus on other during displaying
      if (slast === ""){
        if (last_focus == id) {
          fireEvent(document.getElementById("focus-" + id + "-drill"),'click');
          last_focus = "";
        } else {
          document.getElementById("focus-" + id).focus();
          last_focus = id;
        }
      }
    }
    //Edit Mode - Focus New Slots
    if (document.getElementById("div_" + id + "_display")){
      if (slast === ""){

        fireEvent(document.getElementById("div_" + id + "_display"),'click');
        setTimeout ("document.getElementById('form_" + id + "').reset();",100);

        last_focus = "";
      }
    }

  } //editing
  } //edit mode
}





function showHints(hint){
 for (var j = 1; j<=9; j++){
 obj_td = document.getElementById("div_" + j);
 obj_link = document.getElementById("link_" + j);
   if (hint == 'on'){
     obj_td.style.backgroundColor = "#FFFFFF";
     obj_td.style.backgroundImage = "url(html/img/" + j + ".jpg)";
     obj_link.style.visibility = "hidden";

   } else {
     obj_td.style.backgroundImage = "none";
     obj_td.style.backgroundColor = "";
     obj_link.style.visibility = "visible";
   }
 }
}



rem_keypressed = "";

function cursor(event)
{
  //alert(event.keyCode); //Debug only
  if (ikey == 1){
    keypressed = event.keyCode;
    last_key = event.keyCode;
    if (keypressed == 37 || keypressed == 38 || keypressed == 39 || keypressed == 40) {
     kup = 38;
     kleft = 37;
     kright = 39;
     kdown = 40;
     if (rem_keypressed === "") {
       rem_keypressed = keypressed;
       window.setTimeout("check_cursor()", 300); //milliseconds
     } else {
       //a key was pressed before
       if (rem_keypressed == kleft && keypressed == kup) {target_key=1;}
       if (rem_keypressed == kleft && keypressed == kdown) {target_key=7;}
       if (rem_keypressed == kleft && keypressed == kright) {target_key=5;}
       if (rem_keypressed == kright && keypressed == kup) {target_key=3;}
       if (rem_keypressed == kright && keypressed == kdown) {target_key=9;}
       if (rem_keypressed == kright && keypressed == kleft) {target_key=5;}
       if (rem_keypressed == kup && keypressed == kright) {target_key=3;}
       if (rem_keypressed == kup && keypressed == kleft) {target_key=1;}
       if (rem_keypressed == kup && keypressed == kdown) {target_key=5;}
       if (rem_keypressed == kdown && keypressed == kup) {target_key=5;}
       if (rem_keypressed == kdown && keypressed == kright) {target_key=9;}
       if (rem_keypressed == kdown && keypressed == kleft) {target_key=7;}

       rem_keypressed = "";
       //alert("Before")
       browse(target_key);
     }
     //alert('arrow keys')
     //
    } else {
      browse(keymap[keypressed]);
    }
  }
}

function check_cursor(){
 if (rem_keypressed !== "") {
   browse(keymap[rem_keypressed]);
   rem_keypressed = "";
 }
}

var cur_level = 1;
var ref_level_2;
var level_1 = 0;
var level_2 = 0;

function set_level(link){
  div_bc1 = document.getElementById("div_bc1_tag");
  div_bc2 = document.getElementById("div_bc2_tag");
  div_bc2_a = document.getElementById("div_bc2_tag_a");
  div_bc_title = document.getElementById("div_title_tag");
  //a_cust = document.getElementById("keyshortcut-1"); //formely a_customize
  a_cust = $('#keyshortcut-1');
  a_customize_def = "edit?tmpl=grid&set=" + link_set;
  if (div_bc1 !== null) {
    if (link == link_init) {
      div_bc1.style.display = "none";
      div_bc2.style.display = "none";
      cur_level = 1;
      ref_level_2 = null;
      a_cust.attr('href',a_customize_def);
    } else {
      cur_level = cur_level + 1;
    }

    if (link == ref_level_2){
      cur_level = 2;
    }

    if (cur_level == 2){
      div_bc1.style.display = "";
      div_bc2.style.display = "none";
      ref_level_2 = link;
      a_cust.attr('href',a_customize_def + "&id=" + link[0]);
      level_1 = link[0];
    }

    if (cur_level == 3){
      div_bc1.style.display = "";
      div_bc2.style.display = "";
      div_bc2_a.innerHTML = ref_level_2[1];
      div_bc2_a.href = "javascript:init(link" + ref_level_2[0] + ");";
      a_cust.attr('href',a_customize_def + "&id=" + link[0].charAt(0) + "&id2=" + link[0].charAt(1));
      level_1 = link[0].charAt(0);
      level_2 = link[0].charAt(1);
    }

    //set current view title
    if (link == link_init) {
      div_bc_title.innerHTML =  "Home";
    } else {
      div_bc_title.innerHTML =  link[1];
    }
    div_bc_title.className = "div_bc div_bc_active div_bc" + cur_level;
	calcPositions();

  }
  return cur_level;
}

//make sure logout hint is not always displayed.
div_f_o = document.getElementById("div_footer_open");
if (div_f_o !== null) {
  if ((document.referrer.indexOf('3x3links') > -1 || document.referrer.indexOf('localhost') > -1) && link_set === '')
  {
    div_f_o.style.display = "";
  } else {
    div_f_o.style.display = "none";
  }
}

//init if file is directly included
$(function() {
  //global ajay options
  $.ajaxSetup({
    cache: false
  });  
  
  //show pages (for other pages then 3x3Links)
  $('#a_nav_pages').mouseover(function(){
    if (localStorage.getItem('get_pages')){
	  $('#div_get_pages').html(localStorage.getItem('get_pages'));
	}
	$.get('/get_pages?show_shared=y', function(d) {
      $('#div_get_pages').html(d);
	  localStorage.setItem('get_pages',d);
	  $('#a_nav_pages').off()
    });
    

  });
  
  //positioning
  calcPositions();
  $(window).resize(function() {
    calcPositions();
  });
});



//ajust positioning
var tile_h_max = 200;
var tile_w_max = 280;
var tile_space_max = 10;
var offset_top_min = 90;
var offset_left_min = 10;
var bar_height = 30;
var bc_h_max = 45;
var bc_h_min = 30;
var tile_move_down = 0;
var embeded = ($('#xlinks').length > 0);

if(typeof is_mobile === 'undefined'){
  var is_mobile = false;
}

if(typeof is_chrome === 'undefined'){
  var is_chrome = false;
}



//div_grid_pos_1

// WGDT SUPPORT
try{
  il = gmods.toLowerCase().indexOf("+wdgt_active");
  if ( il > -1 &&  $(window).width() <= 1280 && !is_mobile && !embeded){
    tile_h_max = 160;
    tile_w_max = 240;
  }
} catch(e){}


//mobile
if (is_mobile && !embeded){
   tile_h_max = 250;
   offset_top_min = 30;
   tile_move_down = 20;
   $('.div_footer, #div_subtitle').hide();
} 

function calcPositions(){
if (is_chrome){return false; }

if (embeded){
  var w = $('#xlinks').width();
  var h = $('#xlinks').height();
} else {
  var w = $(window).width();
  var h = $(window).height();
}
var offset_left = (w-(tile_w_max*3+tile_space_max*2))/2;
var offset_top = (h-(tile_h_max*3+tile_space_max*2))/2;
var bc_h = bc_h_max;


if (offset_left < 0 ){
  //make tiles smaller
   offset_left = offset_left_min;
   tile_space_w = (w-offset_left_min*2)/100*2;
   tile_w = (w-offset_left_min*2)/100*32; //TODO
   
}else{
  tile_w = tile_w_max;
  tile_space_w = tile_space_max;
}


if ((offset_top - (offset_top_min)) < 0){
  //make tiles smaller
  offset_top = offset_top_min;
  tile_space_h = (h-offset_top_min*2)/100*2;
  tile_h = (h-offset_top_min*2)/100*32; //TODO 
  bc_h = bc_h_max*(tile_h/tile_h_max);
  bc_top = offset_top-bc_h-tile_space_h;
  
}else{
  tile_h = tile_h_max;
  tile_space_h = tile_space_max;
  bc_top = offset_top-bc_h-tile_space_h;
}

if (is_mobile){ //corrent bc
  bc_top = tile_space_h;
  bc_h = offset_top+tile_move_down-tile_space_h-tile_space_h;
}


var n ='.div_grid_pos_';
$(n+'1, '+n+'4, '+n+'7, .div_bc1').css('left',offset_left);
$(n+'2, '+n+'5, '+n+'8, .div_bc2').css('left',offset_left+tile_w+tile_space_w);
$(n+'3, '+n+'6, '+n+'9, .div_bc3').css('left',offset_left+(tile_w+tile_space_w)*2);

$(n+'1, '+n+'2, '+n+'3').css('top',offset_top+tile_move_down);
$(n+'4, '+n+'5, '+n+'6').css('top',offset_top+tile_move_down+tile_h+tile_space_h);
$(n+'7, '+n+'8, '+n+'9').css('top',offset_top+tile_move_down+(tile_h+tile_space_h)*2);
//size
$('.tbl_main div').css('height',tile_h);
$('.tbl_main div, .div_bc1, .div_bc2, .div_bc3').css('width',tile_w);
//breadcrumbs
$('.div_bc1, .div_bc2, .div_bc3').css('height',bc_h).css('line-height',bc_h+'px');
$('.div_bc1, .div_bc2, .div_bc3').css('top',bc_top+'px');
//subtitle
$('.div_subtitle').css('bottom',offset_top-40);
$('.div_subtitle').css('left',offset_left);
$('.div_subtitle').css('width',w-(offset_left*2));
//additional left menu
$('.div_nav_mod').css('width',offset_left-tile_space_h);
//mobile support
if (is_mobile){
  if (h > w){
    $('.tbl_main a').css('background-size','100%');
  } else {
    $('.tbl_main a').css('background-size','auto 100%');
  }
}
//wdgt support
if (offset_left > 150 && !is_mobile){
  wsize = offset_left-50;
  if (wsize>250){wsize=250;}
  $('#div_wdgt_right, #div_wdgt_left').css('width',wsize);
  $('#div_wdgt_right, #div_wdgt_left').css('height',h-bar_height);
  $('#div_wdgt_right, #div_wdgt_left').show();
} else {
  $('#div_wdgt_right, #div_wdgt_left').hide();
}

//END 
}



