var bbpropelements = new Array(
    "talign=center", "width=100", "height=100", "cellwidth=100",
    "border=1", "border-left=1", "border-right=1", "border-top:1",
    "border-bottom=1", "cellborder=1", "valign=top", "align=center",
    "background=white", "color=green", "padding=5", "padding-left=5",
    "padding-right=5", "padding-top=5", "padding-bottom=5",
    "colspan=2", "rowspan=2"
);

var lbracketpos = -1;
var rbracketpos = -1;
var tagname = "";

function resetInsertProp()
{
    lbracketpos = -1;
    rbracketpos = -1;
    tagname = "";
}

function commentStarHover( stars )
{
    for( i = 1; i <= stars; i++ ) {
        star = document.getElementById( 'star' + i );
        if ( !star ) continue;
        star.src = './themes/default/star_form_hover.png';
    }
}

function commentStarClick( stars )
{
    for( i = 1; i <= 5; i++ ) {
        star = document.getElementById( 'star' + i );
        if ( !star ) continue;
        if ( i <= stars ) {
            star.src = './themes/default/star_form_hover.png';
            star.className = 'on';
        }
        else {
            star.src = './themes/default/star_form.png';
            star.className = 'off';
        }
    }

    form = document.getElementById( 'screenshot_vote_form' );
    if ( !form ) return;
    form.screenshot_vote.value = stars;
}

function commentStarOut( stars )
{
    for( i = 1; i <= stars; i++ ) {
        star = document.getElementById( 'star' + i );
        if ( !star ) continue;
        if ( star.className == 'off' )
            star.src = './themes/default/star_form.png';
    }
}

function quoteComment( id, autor, textarea )
{
    d = document.getElementById( 'commentsdiv' );
    if ( !d ) return;

    c = d.getElementsByTagName( 'div' );
    for( i = 0; i < c.length; i++ ) {
        if ( c[i].className != 'commentitem' + id )
            continue;

        spans = c[i].getElementsByTagName( 'div' );
        for( j = 0; j < spans.length; j++ ) {
            if ( spans[j].className != 'content' )
                continue;

            if ( spans[j].textContent )
                a = spans[j].textContent.split("\n");
            else if ( spans[j].innerText )
                a = spans[j].innerText.split("\n");
            else
                break;

            p = new Array();
            p.push('[quote id=' + id + ']');

            for( k = 0; k < a.length; k++ ) {
                p.push( a[k] );
            }
            p.push( '[/quote]' );
            textarea.value += p.join("\n") + "\n\n";
            break;
        }

        break;
    }

    textarea.focus();

    return false;
}


function surroundText(text1, text2, textarea)
{
    // Can a text range be created?
    if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
    {
        var caretPos = textarea.caretPos, temp_length = caretPos.text.length;

        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;

        if (temp_length == 0)
        {
            caretPos.moveStart("character", -text2.length);
            caretPos.moveEnd("character", -text2.length);
            caretPos.select();
        }
        else
            textarea.focus(caretPos);
    }
    // Mozilla text range wrap.
    else if (typeof(textarea.selectionStart) != "undefined")
    {
        var begin = textarea.value.substr(0, textarea.selectionStart);
        var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
        var end = textarea.value.substr(textarea.selectionEnd);
        var newCursorPos = textarea.selectionStart;
        var scrollPos = textarea.scrollTop;

        textarea.value = begin + text1 + selection + text2 + end;

        if (textarea.setSelectionRange)
        {
            if (selection.length == 0)
                textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
            else
                textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
            textarea.focus();
        }
        textarea.scrollTop = scrollPos;
    }
    // Just put them on the end, then.
    else
    {
        textarea.value += text1 + text2;
        textarea.focus(textarea.value.length - 1);
    }
}
function storeCaret(text)
{
    if (typeof(text.createTextRange) != "undefined")
    text.caretPos = document.selection.createRange().duplicate();

    prepareInsertProp(text);

    sel = document.getElementById('bbtableselect');
    if ( !sel ) return;

    sel.options.length = 1;
    sel.disabled = true;

    if (tagname == "")
        return;

    if (tagname == "table") {
        sel.options[1] = new Option("Zarovnani tabulky", 1);
        sel.options[2] = new Option("Sirka", 2);
        sel.options[3] = new Option("Vyska", 3);
        sel.options[4] = new Option("Sirka bunek", 4);
        sel.options[5] = new Option("Okraj", 5);
        sel.options[6] = new Option("Levy okraj", 6);
        sel.options[7] = new Option("Pravy okraj", 7);
        sel.options[8] = new Option("Horni okraj", 8);
        sel.options[9] = new Option("Dolni okraj", 9);
        sel.options[10] = new Option("Okraj bunek", 10);
        sel.options[11] = new Option("Vert. zarovnani bunek", 11);
        sel.options[12] = new Option("Horiz. zarovnani bunek", 12);
        sel.options[13] = new Option("Farba pozadi", 13);
        sel.options[14] = new Option("Farba pisma", 14);
        sel.options[15] = new Option("Odsazeni bunek", 15);
        sel.options[16] = new Option("Odsazeni bunek z leva", 16);
        sel.options[17] = new Option("Odsazeni bunek z prava", 17);
        sel.options[18] = new Option("Odsazeni bunek z hora", 18);
        sel.options[19] = new Option("Odsazeni bunek z dola", 19);
    }
    else if (tagname == "tr") {
        sel.options[1] = new Option("Sirka bunek", 2);
        sel.options[2] = new Option("Vyska bunek", 3);
        sel.options[3] = new Option("Okraj", 5);
        sel.options[4] = new Option("Levy okraj", 6);
        sel.options[5] = new Option("Pravy okraj", 7);
        sel.options[6] = new Option("Horni okraj", 8);
        sel.options[7] = new Option("Dolni okraj", 9);
        sel.options[8] = new Option("Vert. zarovnani bunek", 11);
        sel.options[9] = new Option("Horiz. zarovnani bunek", 12);
        sel.options[10] = new Option("Farba pozadi", 13);
        sel.options[11] = new Option("Farba pisma", 14);
        sel.options[12] = new Option("Odsazeni bunek", 15);
        sel.options[13] = new Option("Odsazeni bunek z leva", 16);
        sel.options[14] = new Option("Odsazeni bunek z prava", 17);
        sel.options[15] = new Option("Odsazeni bunek z hora", 18);
        sel.options[16] = new Option("Odsazeni bunek z dola", 19);
    }
    else {
        sel.options[1] = new Option("Sirka bunek", 2);
        sel.options[2] = new Option("Vyska bunek", 3);
        sel.options[3] = new Option("Okraj", 5);
        sel.options[4] = new Option("Levy okraj", 6);
        sel.options[5] = new Option("Pravy okraj", 7);
        sel.options[6] = new Option("Horni okraj", 8);
        sel.options[7] = new Option("Dolni okraj", 9);
        sel.options[8] = new Option("Vert. zarovnani bunek", 11);
        sel.options[9] = new Option("Horiz. zarovnani bunek", 12);
        sel.options[10] = new Option("Farba pozadi", 13);
        sel.options[11] = new Option("Farba pisma", 14);
        sel.options[12] = new Option("Odsazeni bunek", 15);
        sel.options[13] = new Option("Odsazeni bunek z leva", 16);
        sel.options[14] = new Option("Odsazeni bunek z prava", 17);
        sel.options[15] = new Option("Odsazeni bunek z hora", 18);
        sel.options[16] = new Option("Odsazeni bunek z dola", 19);
        sel.options[17] = new Option("Horizontalni rozsah", 20);
        sel.options[18] = new Option("Vertikalni rozsah", 21);
    }

    sel.disabled = false;
}

function prepareInsertProp(textarea)
{
    caret = getCaretPosition(textarea);
    txt = textarea.value;

    begin = txt.substring(0, caret.start);
    end = txt.substring(caret.start);
    if (begin.length > 0 && end.length > 0) {
        lbracketpos = begin.lastIndexOf('[');
        testpos = begin.lastIndexOf(']');
        tmp = end.indexOf(']');

        if (lbracketpos > testpos && tmp > -1) {
            rbracketpos = lbracketpos + txt.substring(lbracketpos).indexOf(']');
            tagcontent = txt.substring(lbracketpos+1, rbracketpos);
            isEndTag = 0;
            if (tagcontent.charAt(0) == '/') { tagpart = tagcontent.substring(1,3); isEndTag = 1; }
            else tagpart = tagcontent.substring(0,2);
            tagname = tagpart == "ta" ? "table" : tagpart;
            if (tagname == "table" || tagname == "tr" || tagname == "td") {
                if (isEndTag == 1) {
                    pos1 = begin.lastIndexOf('[' + tagname);
                    rbracketpos = pos1 + txt.substring(pos1).indexOf(']');
                }

                return;
            }
        }
    }

    resetInsertProp();
}

function insertProp(opt, textarea)
{
    proptype = parseInt(opt);
    if (proptype < 1)
        return;

    if (tagname == "")
        return;

    if (!bbpropelements[proptype-1])
        return;

    if (lbracketpos == -1 || rbracketpos == -1)
        return;

    caret = getCaretPosition(textarea);
    txt = textarea.value;

    var scrollPos = textarea.scrollTop ? textarea.scrollTop : -1;

    begin = txt.substring(0, caret.start);
    end = txt.substring(caret.start);
    if (begin.length > 0 && end.length > 0) {
        one = txt.substring(0, rbracketpos);
        two = txt.substring(rbracketpos);

        append = " " + bbpropelements[proptype-1];

        textarea.value = one + append + two;

        if (textarea.setSelectionRange) {
            textarea.setSelectionRange(rbracketpos + append.length, rbracketpos + append.length);
            textarea.focus();
            textarea.scrollTop = scrollPos;
        }

        return;
    }
}

function caretPosition()
{
    var start = null;
    var end = null;
}


/**
* Get the caret position in an textarea
*/
function getCaretPosition(txtarea)
{
    var caretPos = new caretPosition();

    // simple Gecko/Opera way
    if(txtarea.selectionStart || txtarea.selectionStart == 0)
    {
        caretPos.start = txtarea.selectionStart;
        caretPos.end = txtarea.selectionEnd;
    }
    // dirty and slow IE way
    else if(document.selection)
    {
        // get current selection
        var range = txtarea.caretPos;

        // a new selection of the whole textarea
        var range_all = document.body.createTextRange();
        range_all.moveToElementText(txtarea);

        // calculate selection start point by moving beginning of range_all to beginning of range
        range.setEndPoint('StartToStart', range_all);

        txtarea.sel_start = range.text.length;

        // we ignore the end value for IE, this is already dirty enough and we don't need it
        caretPos.start = txtarea.sel_start;
        caretPos.end = txtarea.sel_start;

    }

    return caretPos;
}

function external() {
 if (document.getElementsByTagName) {
  var i, a;
  a = document.getElementsByTagName('a');
  for (i in a) {
   if (a[i].href &&
       a[i].rel && a[i].rel == 'external') a[i].target = '_blank';
  }

  a = document.getElementById('cse-search-box');
  if ( !a ) return;
  a.target = '_blank';
 }
}

function novinka(text)
{
document.getElementById( 'variabilni_obsah' ).style.display = "block";
document.getElementById( 'variabilni_obsah' ).innerHTML = text;
}

function vip_kontrola()
{
	//alert(document.vip.zeme.value);
	
	if(document.vip.zeme.value == "CR")
	{
		if (document.all) {
		  var arg1=document.vip.zpusob.length;
		  var arg2=0;
		}else{
		  var arg1=null;
		  var arg2="document.vip.zpusob.options[0]";
		}
		var no = new Option();
		no.value = "Slozenka_na_adresu";
		no.text = "Slozenkou na adresu (jen CZ)";
		document.vip.zpusob.add(no,arg1);

		var no = new Option();
		no.value = "Obalka";
		no.text = "Obalkou (jen CZ)";
		document.vip.zpusob.add(no,arg1);
		
	}
	else
	{
		
		document.vip.zpusob.remove(3);
		document.vip.zpusob.remove(4);
		document.vip.zpusob.remove(5);
		document.vip.zpusob.remove(6);
		document.vip.zpusob.remove(7);
		document.vip.zpusob.remove(8);
		document.vip.zpusob.remove(9);
		document.vip.zpusob.remove(10);
		document.vip.zpusob.remove(11);
		document.vip.zpusob.remove(12);
		document.vip.zpusob.remove(13);
		document.vip.zpusob.remove(14);
		document.vip.zpusob.remove(15);
	}
}

function rozbalit()
{
   document.getElementById( 'skryte_menu' ).style.display = "block";
   document.getElementById( 'menu_rozbalit' ).style.display = "none";
}
