document.writeln("<link href='http://www.webforditas.hu/boxes/imports/box_styles.css' rel='stylesheet' type='text/css'>");
var activetab_bak = '';

var version = 2;

function SetTab(to)
{
    if (activetab == to) return;
    if (!document.getElementById) return;
    if (activetab_bak != '') return;

    if (VirtualKeyboard.isOpen()) VirtualKeyboard.hide();

    var input = '';
    var changeinput = false;

    if ((activetab != '') && document.getElementById(activetab))
    {
      changeinput = true;
      if (document.getElementById(activetab+'Label'))
      {
        document.getElementById(activetab+'Label').className = "";
        var abox = document.getElementById(activetab.replace('Tab','Box'));
        if (abox) if (abox.value != eval(activetab+'Value')) input = abox.value;
      }
      document.getElementById(activetab).style.display = 'none';
      Change_Class('.mlproduct_'+activetab,'display','none');
    }

    if ((to != '') && document.getElementById(to))
    {
      document.getElementById(to+'Label').className = 'selected';

      var tbox = document.getElementById(to.replace('Tab','Box'));
      if ((input=='') && eval(to+'Value')) input = eval(to+'Value');
      if (tbox && changeinput) tbox.value = input;

      document.getElementById(to).style.display = 'block';
      Change_Class('.mlproduct_'+to,'display','block');
      Change_Class('.errorBox','display','none');
      if (tbox) { tbox.focus(); tbox.select(); }
    }
    activetab = to;
}

function HideActiveTab()
{
    if (activetab_bak != '') return;
    var oldtab = activetab;
    SetTab('hiddenTab');
    activetab_bak = oldtab;
}

function ShowActiveTab()
{
    if (activetab_bak == '') return;
    var oldtab = activetab_bak;
    activetab_bak = '';
    SetTab(oldtab);
}

function JumpTab(to)
{
    if (activetab == to) return;
    if (!document.getElementById) return;
    if (activetab_bak != '') return;

    var input = '';

    if (activetab != '')
    {
      var abox = document.getElementById(activetab.replace('Tab','Box'));
      if (abox) /*if (abox.value != eval(activetab+'Value'))*/ input = abox.value;
    }

    if ((to != '') && (input != ''))
    {
      var link  = document.getElementById(to+'LabelLink');
      link.href = link.href + ((link.href.search(/\?/) == -1) ? '?' : '&') + 't=' + escape(utf8_encode(input));
    }
}

function OpenWindow(url)
{
    window.open(url, "", "menubar=1,toolbar=1,resizable=1,location=1,status=1,scrollbars=1");
}

function OpenPopup(url, title)
{
  var left  = window.screenLeft != undefined ? window.screenLeft : window.screenX;
  var width = window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : 1024;
  var top   = window.screenTop != undefined ? window.screenTop : window.screenY;

  left += (width>740) ? Math.floor((width-740)/2) : 0;
  top  += 150;

  var win = window.open(url, "wf_popup", "menubar=0,toolbar=0,resizable=0,location=0,status=0,scrollbars=1,width=740,height=340,left="+left+",top="+top);
  win.focus();
}

function GetSourceLang(obj_id)
{
    var lang  = document.getElementById(obj_id).value.split(',');
    if ((lang.length != 3) || (lang[2] == 'f')) lang = lang[0]; else lang=lang[1];
    return lang;
}

function GetTargetLang(obj_id)
{
    var lang  = document.getElementById(obj_id).value.split(',');
    if ((lang.length != 3) || (lang[2] == 'f')) lang = lang[1]; else lang=lang[0];
    return lang;
}

function GetLangPair(obj_id)
{
    var lang  = document.getElementById(obj_id).value.split(',');
    if (lang.length != 3) return lang[0];
    if (lang[2] == 'f') return lang[0]+'-'+lang[1]; 
    return lang[1]+'-'+lang[0];
}

function ChangeTrDirection(prefix)
{
    if (!document.getElementById) return;

    var lang = document.getElementById(prefix+'Lang').value.split(',');
    lang[2]  = (lang[2] == 'b') ? 'f' : 'b';
    document.getElementById(prefix+'Lang').value = lang.join(',');

    var tmp = document.getElementById(prefix+'ASelector');
    document.getElementById(prefix+'BSelector').id = prefix+'ASelector';
    tmp.id  = prefix+'BSelector';

    UpdateLanguage(prefix);
}

function SetLanguage(prefix, langdef)
{
    if (!document.getElementById) return;

    var lang      = langdef.split(',');
    var lang_orig = document.getElementById(prefix+'Lang').value.split(',');

    if (lang.length == 3)
    {
      if (lang[2] == 3)
      {
          document.getElementById(prefix+'TrDir').href = 'javascript:ChangeTrDirection("'+prefix+'")';
          lang[2] = lang_orig[2];
      }
      else
      {
          document.getElementById(prefix+'TrDir').href = 'javascript:document.getElementById';
          lang[2] = (directions == 1) ? 'f' : 'b';
      }
    }

    document.getElementById(prefix+'Lang').value    = lang.join(',');
    UpdateLanguage(prefix);
}

function UpdateLanguage(prefix)
{
    if (!document.getElementById) return;

    var lang = document.getElementById(prefix+'Lang').value.split(',');

    if (lang.length == 3)
    {
      if (lang[2] == 'f')
      {
        document.getElementById(prefix+'SLang').value     = lang[0];
        document.getElementById(prefix+'SLang').innerHTML = lang_locales[lang[0]];
        document.getElementById(prefix+'TLang').value     = lang[1];
        document.getElementById(prefix+'TLang').innerHTML = lang_locales[lang[1]];
      }
      else
      {
        document.getElementById(prefix+'SLang').value     = lang[1];
        document.getElementById(prefix+'SLang').innerHTML = lang_locales[lang[1]];
        document.getElementById(prefix+'TLang').value     = lang[0];
        document.getElementById(prefix+'TLang').innerHTML = lang_locales[lang[0]];
      }

      //copyright
      var c = document.getElementById(prefix+'Copyright');
      if (c)
      {
        var cid = (lang[2]=='f') ? (lang[0]+','+lang[1]) : (lang[1]+','+lang[0]);
        c.innerHTML = eval( prefix + '_copyright[cid] ? ' +  prefix + '_copyright[cid] : "&nbsp;"' );
      }
    }
    else
    {
      document.getElementById(prefix+'SLang').value     = lang[0];
      document.getElementById(prefix+'SLang').innerHTML = lang_locales[lang[0]];

      //copyright
      var c = document.getElementById(prefix+'Copyright');
      if (c)
      {
        var cid = lang[0];
        c.innerHTML = eval( prefix + '_copyright[cid] ? ' +  prefix + '_copyright[cid] : "&nbsp;"' );
      }
    }

    //sorry
    if (prefix == "dictBox")
        dictBox_UpdateLanguage();
    if (prefix == "skinBox")
        settings_module.change_config(lang[0]);

    if (typeof(spa_update) == 'function') spa_update(prefix);
    if (typeof(sga_update) == 'function') sga_update(prefix);
    if (typeof(sa_update)  == 'function') sa_update(prefix);
}

function SubmitForm()
{
    if (VirtualKeyboard.isOpen()) VirtualKeyboard.hide();
    var stab = (activetab_bak == '') ? activetab : activetab_bak;

    var abox = document.getElementById(stab.replace('Tab','Box'));
    if (abox && (abox.value == ""))
    {
      document.forms[stab+'Form'].onsubmit = function() { return false; }
      return;
    }

    if (typeof(document.forms[stab+'Form'].process) != 'object')
      document.forms[stab+'Form'].submit();
    else
    {
      eval(document.forms[stab+'Form'].process.value);
      document.forms[stab+'Form'].onsubmit = function() { return false; }
    }
}

function OnEnterSubmit(textObjId)
{
    if (!document.getElementById) return;
    document.getElementById(textObjId).onkeypress = CheckSubmit;
}

function OnShiftEnterSubmit(textObjId)
{
    if (!document.getElementById) return;
    document.getElementById(textObjId).onkeypress = CheckSubmit2;
}

function CheckEnter(e,spec)
{
    if (!e) e = window.event;
    var keyCode = e.keyCode ? e.keyCode : (e.which ? e.which : 0);
    var mod     = e.shiftKey || e.ctrlKey;
    return ((keyCode == 13) && (!spec || mod));
}

function CheckSubmit(keyObj)
{
    if (CheckEnter(keyObj,false)) SubmitForm();
}

function CheckSubmit2(keyObj)
{
    if (CheckEnter(keyObj,true)) SubmitForm();
}

function VK_Toggle(prefix)
{
    var input_obj = document.getElementById(prefix);
    if (!input_obj) return;

    VK_Init();

    if (!VirtualKeyboard.isOpen())
    {
        input_obj.focus();
        VirtualKeyboard.switchLayout(VK_LangCode[GetSourceLang(prefix+'Lang')]);
    }

    var vk_div    = document.getElementById('vk_div');

    vk_div.style.top  = (GetYPos(input_obj) + input_obj.offsetHeight + 25) + 'px';
    vk_div.style.left = GetXPos(input_obj) + 'px';

    VirtualKeyboard.toggle(prefix,'vk_div');

    if (!document.getElementById('kb_closebutton'))
    {
      var close = document.createElement('div');
      close.id        = "kb_closebutton";
      close.innerHTML = "<b><center style='font-size:13px;cursor:pointer;'>X</center></b>";
      close.style.border          = "1px solid black";
      close.style.bottom          = "4px";
      close.style.right           = "4px";
      close.style.width           = "16px";
      close.style.position        = "absolute";
      close.onclick   = function () { VirtualKeyboard.toggle(prefix,'vk_div'); }
      document.getElementById('virtualKeyboard').appendChild(close);
    }
}

function Feedback(product, description)
{
    var fb = feedbackTempl;
    fb = fb.replace('<product>', product);
    fb = fb.replace('<description>', description.replace(/&pc;/g,'%'));
    window.open(fb, "wf_feedback", "menubar=1,toolbar=1,resizable-1,location=1,status=1,scrollbars=1");
}

function GetXPos(obj)
{
    var X = 0;
    do { X += obj.offsetLeft; obj = obj.offsetParent; } while (obj);
    return X;
}

function GetYPos(obj)
{
    var Y = 0;
    do { Y += obj.offsetTop; obj = obj.offsetParent; } while (obj);
    return Y;
}

var tt;
var so;
var tt_offsetX  = 0;
var tt_offsetY  = 0;
var tt_hideDist = 20;
var tt_under    = true;

function SetTooltipPos(x, y, hide_dist)
{ tt_offsetX = x; tt_offsetY = y; tt_hideDist = hide_dist; }

function ShowTooltip(obj_under_mouse, div_id, show_under_mouse)
{
    if (!document.getElementById) return;

    //Hide active tooltip
    if (tt) tt.style.display = 'none';


    //Set new tooltip
    tt = document.getElementById(div_id);
    if (!tt) return;
    if (show_under_mouse)
    {
        tt.style.visibility = 'hidden'; tt.style.display = 'block';
        var objx = GetXPos(obj_under_mouse) + tt_offsetX;
        var objy = GetYPos(obj_under_mouse) + tt_offsetY;
        var screenx = window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : 1024;
        //var screeny = window.innerHeight != null ? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null ? document.body.clientHeight : 768;

        if (objx < screenx/2)
            tt.style.left   = objx + 'px';
        else
            tt.style.left   = (objx + obj_under_mouse.offsetWidth - tt.offsetWidth) + 'px';

        if (tt_under)
            tt.style.top    = (objy + obj_under_mouse.offsetHeight) + 'px';
        else
            tt.style.top    = (objy - tt.offsetHeight) + 'px';

        so = tt;
        tt_under = true;
        tt.style.visibility = 'visible';
    }
    else
    {
        so = obj_under_mouse;
        tt.style.display = 'block';
    }


    //Check for need
    if (so && (tt_hideDist > 0)) document.onmousemove=CheckTooltip; else
    { tt = false; SetTooltipPos(0, 0, 20); }
}

function CheckTooltip(e)
{
    if (!so || !tt) return;

    var allowx1 = GetXPos(so) - tt_hideDist;
    var allowx2 = allowx1 + so.offsetWidth + 2*tt_hideDist;
    var allowy1 = GetYPos(so) - tt_hideDist;
    var allowy2 = allowy1 + so.offsetHeight + 2*tt_hideDist;

    var x = GetScreenXPosition(e);
    var y = GetScreenYPosition(e);

    if ( (x<allowx1) || (x>allowx2) || (y<allowy1) || (y>allowy2) )
        tt.style.display = 'none';
}

function HideTooltip(e)
{
    if (tt) tt.style.display = 'none';

    tt_offsetX  = 0;
    tt_offsetY  = 0;
    tt_hideDist = 20;
}

function ButtonTooltip(obj, text)
{
  var t = document.getElementById('button_tooltip');
  t.innerHTML = text;
  setTimeout( function()
  { if (t.innerHTML != text) return;
    tt_under = false; SetTooltipPos(0, -3, 0);
    ShowTooltip(obj,'button_tooltip',true); }, 200 );

  obj.onmouseout = function()
  { if (t.innerHTML != text) return;
    t.style.display='none'; t.innerHTML = ''; }
}

var active_icontent = '';
function SwitchIContent(ic)
{
  if (!document.getElementById) return;
  var item=document.getElementById(ic);
  if (item)
  {
    if (item.style.display == 'none')
    {
      if (active_icontent != '') document.getElementById(active_icontent).style.display = 'none';
      item.style.display = 'block';
      active_icontent    = ic;
    }
    else
    {
      item.style.display = 'none';
      active_icontent = '';
    }
  }
}

function utf8_encode(string)
{
    string = string.replace(/\r\n/g,"\n");
    var utftext = "";

    for (var n = 0; n < string.length; n++) {

        var c = string.charCodeAt(n);

        if (c < 128) {
            utftext += String.fromCharCode(c);
        }
        else if((c > 127) && (c < 2048)) {
            utftext += String.fromCharCode((c >> 6) | 192);
            utftext += String.fromCharCode((c & 63) | 128);
        }
        else {
            utftext += String.fromCharCode((c >> 12) | 224);
            utftext += String.fromCharCode(((c >> 6) & 63) | 128);
            utftext += String.fromCharCode((c & 63) | 128);
        }

    }

    return utftext;
}

function utf8_decode(utftext)
{
    var string = "";
    var i = 0;
    var c = c1 = c2 = 0;

    while ( i < utftext.length ) {

        c = utftext.charCodeAt(i);

        if (c < 128) {
            string += String.fromCharCode(c);
            i++;
        }
        else if((c > 191) && (c < 224)) {
            c2 = utftext.charCodeAt(i+1);
            string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
            i += 2;
        }
        else {
            c2 = utftext.charCodeAt(i+1);
            c3 = utftext.charCodeAt(i+2);
            string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }

    }

    return string;
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function AddEvent(obj, event, func)
{ if (obj.addEventListener) obj.addEventListener(event, func, false);
  else obj.attachEvent('on' + event, func); }

function DelEvent(obj, event, func)
{ if (obj.removeEventListener) obj.removeEventListener(event, func, false);
  else obj.detachEvent('on' + event, func); }

function CheckAdFrame(obj_id, orig_id)
{
  var obj = document.getElementById(obj_id);
  var obj2 = document.getElementById(orig_id);
  if (obj) AddEvent(window, 'load', function()
   { setTimeout(function(){if (obj2.innerHTML.length > 60) obj.style.display = 'block'; },1000);} );
}

function ReplaceAd(obj_id, orig_id, alt_id)
{

  var obj  = document.getElementById(obj_id);
  var obj2 = document.getElementById(orig_id);
  if (obj && obj2) AddEvent(window, 'load', function()
   { setTimeout(function(){if (obj2.innerHTML.length > 60) 
     { /*obj2.style.width='auto';obj2.style.height='auto';*/
       document.getElementById(alt_id).style.display = 'none';
       obj.style.display = 'block'; }
     else
     { obj2.style.display = 'none';
       document.getElementById(alt_id).style.display = 'block';
       obj.style.display = 'block'; } 
   },1000);});
}

function ListUpdate(list,item,added,delim)
{ var l = list.length ? list.split(delim) : new Array();
  for (var n=0;n<l.length;++n) if (l[n]==item)
  { if (added) return list;
    l.splice(n,1); return l.join(delim); }
  if (!added) return list;
  l[l.length] = item; return l.join(delim); }
