﻿function loginfocus()
{
	var o = document.getElementById("user");
	if (o) {
	    if (o.value != '') {
	        var o2 = document.getElementById("pass");
	        try { o2.focus(); } catch (e) { }
	    }
	    else {
	        try {
	            o.focus();
	        } catch (e) { }
	    }
	}
}

function returntoopenerwin()
{
	try {
	// prevent login prompts in popup windows
	// hide crossdomain scripting errors
	if (window.opener) {
		window.opener.location.reload(true);
		window.opener.focus();
		window.close();
	}
	} catch (e) { }
}

var _lang;
function setlang0(l)
{
	_lang = l;
}
function setlang(l)
{
	var o = document.getElementById('f_lang');
	o.value = l;
	_lang = l;

	var texts = _texts[l];
	var spans = document.getElementsByTagName('span');
	
	var i;
	for (i = 0; i < spans.length; i++) {
	    if (spans[i].id && spans[i].id.match(/^txt_|ERR_/)) {
	        var span = spans[i];
	        span.innerHTML = gettext(span.id, l);
	    }
	}
	
	var i;
	var aa = document.getElementsByTagName('a');
	for (i in aa)
	{
	    o = aa[i];
	    if (o.id && o.id.substring(0, 5) == 'lang_')
	    {
	        if (o.id == 'lang_' + l)
	            o.className = 'selected';
	        else
	            o.className = '';
	    }
	}
	
	var obc = document.getElementById('boxcontainer');
	if (obc)
	    obc.innerHTML = generateboxes();
}

function writetext(id, l)
{
    document.write(gettext(id, l));
}

function fixparam(p, l) {
    if (typeof p[l] != 'undefined')
        return p[l];
    if (typeof p['*'] != 'undefined')
        return p['*'];
    return p;
}

var _textparams = {};
function writespan(id, p1, p2)
{
    var texts = _texts[_lang];
    var tmp = '';
    
    if (texts && texts[id])
        tmp = texts[id];

    if (typeof p1 != 'undefined')
    {
        _textparams[id + '/p1'] = p1;
        tmp = tmp.replace(/\@1/g, fixparam(p1, _lang));
    }
    if (typeof p2 != 'undefined')
    {
        _textparams[id + '/p2'] = p2;
        tmp = tmp.replace(/\@2/g, fixparam(p2, _lang));
    }
        
    document.write('<span id="' + id + '">' + tmp + '</span>');
}

function gettext(id, l)
{
    if (typeof l == 'undefined')
        l = _lang;
        
    var texts = _texts[l];
    var tmp = id;
    if (texts && typeof texts[id] != 'undefined')
        tmp = texts[id];
    
    var p1 = _textparams[id + '/p1'];
    var p2 = _textparams[id + '/p2'];
    if (typeof p1 != 'undefined')
    {
        tmp = tmp.replace(/\@1/g, fixparam(p1, l));
    }
    if (typeof p2 != 'undefined')
    {
        tmp = tmp.replace(/\@2/g, fixparam(p2, l));
    }
    
    return tmp;
}

function transerr(l, err)
{
	var texts = _texts[l];
	if (texts[err])
	    return texts[err];
	else
	    return err;
}

function renderlanguagelist(curr)
{
    document.write('<table class="langbox" cellspacing="1"><col width="4%" /><col width="48%" /><col width="48%" />');
    var first, k;
    first = false;
    for (k in _texts)
    {
        first = !first;
        if (first)
            document.write('<tr><td></td>');
        document.write('<td><a id="lang_' + k + '" href="javascript:setlang(\'' + k + '\');">' + _texts[k]['_'] + '</a></td>');
        if (!first)
            document.write('</tr>');
    }
    if (first)
        document.write('<td>&#160;</td></tr>');
    document.write('</table>');
}

function chglogintxt()
{
    var o = document.getElementById('user');
    if (!o || o.value == '')
    {
        alert(gettext('ERR_NOUSERNAME'));
        return false;
    }
    var o = document.getElementById('pass');
    if (!o || o.value == '')
    {
        alert(gettext('ERR_NOPASS'));
        return false;
    }
    var o = document.getElementById('txt_loginbutton');
    o.innerHTML = gettext('txt_loginprogress');
    o.style.fontSize = '9px';
    o.parentNode.href = '#';
    return true;
}

function generateboxes()
{
    var l = _lang;
    var texts = _texts[l]; 
    
    if (typeof texts == 'undefined')
        return '';
 
    var i;
    var s = '<table class="boxhead3" width="100%" cellspacing="10" cellpadding="3">';
    
    var cols = 1;
    
    for (i = 0; i < cols; i++)
        s += '<col width="' + Math.round(100 / cols) + '%" />';
    
    for (i = 0; typeof texts['txt_boxheader' + (i + 1)] != 'undefined' && texts['txt_boxheader' + (i + 1)] != ''; i++)
    {
        var h = texts['txt_boxheader' + (i + 1)];
        var b = texts['txt_box' + (i + 1)];
        
        if (i == 0)
            s += '<tr>'
        else if (i % cols == 0)
            s += '</tr><tr>';
            
        s += '<td valign="top"><div class="main_boxheader">' + h + '</div><div class="main_box">' + b + '</div></td>';
    }
    s += '</tr>';
    
    s += '</table>';
    
    return s;
}
