function LengthTest(source, args) {
    var result = true;
    if (args.Value.length < 3)
        result = false;
    args.IsValid = result;
}

function IsEmail(source, args) {
    var result = false;
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(args.Value))
        result = true;
    args.IsValid = result;
}


function OpenWnd(strURL) {
    var objWnd = window.open(strURL, "InfoDetail", "scrollbars=no,height=500,width=400,left=10,top=10");
    objWnd.focus();
}

function SetCommand(Key, Value) {
    document.getElementById('__cmdVal').value = Value;
    document.getElementById('__cmdKey').value = Key;
}


function getObj(name) { // zjisti dostupný objekt pro práci se stylem dokumentu
    if (document.getElementById)
        return document.getElementById(name).style;
    else
        if (document.all)
        return document.all[name].style;
    else
        if (document.layers)
        return document.layers[name];
}
function BlikFunction() {
    BlikOk = true;
    if (BlikCount == 0 && BlikOk == true) {
        BlikObj.visibility = "hidden"; BlikOk = false; BlikCount = 1
    }
    if (BlikCount == 1 && BlikOk == true) {
        BlikObj.visibility = "visible"; BlikOk = false; BlikCount = 0;
    }
    setTimeout('BlikFunction()', 700);

}


function AcceptTermsCheckBoxValidation(source, args) {
    var theCheckBox = document.getElementById('agree_terms').getElementsByTagName('input');
    args.IsValid = document.getElementById(theCheckBox[0].id).checked;
}

function ValidateSearch(defaulttext) {
    if (document.forms[0].SrchTxt.value == defaulttext) {
        document.forms[0].SrchTxt.focus();
        alert('Zadejte hledany vyraz'); return false;
    }
    if (document.forms[0].SrchTxt.value.length == 0) {
        document.forms[0].SrchTxt.focus();
        document.forms[0].SrchTxt.value = defaulttext;
        alert('Zadejte hledany vyraz'); return false;
    }
    else if (document.forms[0].SrchTxt.value.length < 3) {
        document.forms[0].SrchTxt.focus();
        alert('Delka hledaneho slova musi byt vetsi nez 2 znaky'); return false;
    }
    else
        return true;

}

function onFocus(obj, defaulttext) {

    if (obj.value.length == defaulttext.length) //primy porovnani nefunguje
    {
        obj.value = '';
    }
}

function onLostFocus(defaulttext, obj) {
    if (obj.value.length == 0) {
        obj.value = defaulttext;

    }
}

//really not important (the first two should be small for Opera's sake)
PositionX = 10;
PositionY = 10;
defaultWidth = 600;
defaultHeight = 400;

//kinda important
var AutoClose = true;

//don't touch
function popImage(imageURL, imageTitle) {
    var imgWin = window.open('', '_blank', 'scrollbars=no,resizable=1,width=' + defaultWidth + ',height=' + defaultHeight + ',left=' + PositionX + ',top=' + PositionY);
    if (!imgWin) { return true; } //popup blockers should not cause errors
    imgWin.document.write('<html><head><title>' + imageTitle + '<\/title><script type="text\/javascript">\n' +
    'function resizeWinTo() {\n' +
    'if( !document.images.length ) { document.images[0] = document.layers[0].images[0]; }' +
    'var oH = document.images[0].height, oW = document.images[0].width;\n' +
    'if( !oH || window.doneAlready ) { return; }\n' + //in case images are disabled
    'window.doneAlready = true;\n' + //for Safari and Opera
    'var x = window; x.resizeTo( oW + 200, oH + 200 );\n' +
    'var myW = 0, myH = 0, d = x.document.documentElement, b = x.document.body;\n' +
    'if( x.innerWidth ) { myW = x.innerWidth; myH = x.innerHeight; }\n' +
    'else if( d && d.clientWidth ) { myW = d.clientWidth; myH = d.clientHeight; }\n' +
    'else if( b && b.clientWidth ) { myW = b.clientWidth; myH = b.clientHeight; }\n' +
    'if( window.opera && !document.childNodes ) { myW += 16; }\n' +
    'x.resizeTo( oW = oW + ( ( oW + 200 ) - myW ), oH = oH + ( (oH + 200 ) - myH ) );\n' +
    'var scW = screen.availWidth ? screen.availWidth : screen.width;\n' +
    'var scH = screen.availHeight ? screen.availHeight : screen.height;\n' +
    'if( !window.opera ) { x.moveTo(Math.round((scW-oW)/2),Math.round((scH-oH)/2)); }\n' +
    '}\n' +
    '<\/script>' +
    '<\/head><body onload="resizeWinTo();"' + (AutoClose ? ' onblur="self.close();"' : '') + '>' +
    (document.layers ? ('<layer left="0" top="0">') : ('<div style="position:absolute;left:0px;top:0px;display:table;">')) +
    '<img src="' + imageURL + '" alt="Loading image ..." title="" onload="resizeWinTo();">' +
    (document.layers ? '<\/layer>' : '<\/div>') + '<\/body><\/html>');
    imgWin.document.close();
    if (imgWin.focus) { imgWin.focus(); }
    return false;
}

function ValidateSize(Val) {
    if (Val === null)
        return true;
    if (Val.value == 0) {
        alert("Zadejte prosim velikost!");
        return false;
    }
    return true;
}
function AppendBasketParam(key, param) {

    if (param === null)
        return
    document.getElementById('__BasketParams').value += key + param.value;
}

function restore(url, defaulttext) {
    if (ValidateSearch(defaulttext)) { document.forms[0].action = url; document.forms[0].submit(); }

}

function submit_form(url) {

    if (window.event.keyCode == 13) {
        event.returnValue = false;

        event.cancel = true;

        var form = document.getElementById('aspnetForm');
        if (ValidateSearch()) { form.action = '' + url + ''; form.submit(); }

    }
}

var http_request = false;
var _value;
var _key;
var _catid;
function invokeAjax(key, value,catid) {
    _key = key;
    _value = value;
    _catid = catid;
  
    makeRequest(key, value);
}

function makeRequest(key,value) {

    var url = '/ajaxrequests.aspx?remap=1&value=' + value + '&action=' + key
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }
    http_request.onreadystatechange = alertContents;
    http_request.open('GET', url, true);
    http_request.send(null);
}

function alertContents() {
    var OptId;

    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            var cid2;
            var xmldoc = http_request.responseXML;
            var root = xmldoc.getElementsByTagName('root').item(0);
            OptId = _catid

            removeElem(0);
            if (root.childNodes.length == 0) {
                removeElem(1);
                return;
            }
            else
                removeElem(0);
            

            if (document.getElementById(OptId) == null) {
                cid2 = document.createElement('select');
                cid2.id = OptId;
                cid2.onchange = function() {

                    invokeAjax('subcat', document.getElementById(OptId).options[document.getElementById(OptId).selectedIndex].value, root.attributes[0].value);
                };
                document.getElementById('sub').appendChild(cid2);
            }
            else {
                cid2 = document.getElementById(OptId);
                cid2.options.length = 0;
            }



            for (var iNode = 0; iNode < root.childNodes.length; iNode++) {

                var node = root.childNodes.item(iNode);
                var elOptNew;
                if (cid2.options.length == 0) {
                    elOptNew = document.createElement('option');
                    elOptNew.text = (node.attributes[2].value == '' ? '--- vyberte ---' : '--- ' + node.attributes[2].value + ' ---');
                    elOptNew.value = 0;
                    try {
                        cid2.add(elOptNew, null); // standards compliant; doesn't work in IE
                    }
                    catch (ex) {
                        cid2.add(elOptNew); // IE only
                    }
                }
                
                elOptNew = document.createElement('option');
                elOptNew.text = node.attributes[0].value;
                elOptNew.value = node.attributes[1].value;

                try {
                    cid2.add(elOptNew, null); // standards compliant; doesn't work in IE
                }
                catch (ex) {
                    cid2.add(elOptNew); // IE only
                }

               
            }
        } 
    }
}

function removeElem(Increm) {

    var test = document.getElementById('sub');

    for (var subchild = 0; subchild < test.childNodes.length; subchild++) {
        if (!isNaN(test.childNodes.item(subchild).id)) {

            if (parseInt(test.childNodes.item(subchild).id) + Increm > _catid) {
                test.removeChild(test.childNodes.item(subchild));
                subchild--;
            }

        }
    }
}

function NavigateToUrl() {

    if (_catid != undefined) {
        if (_catid != 2)
            window.location.href = '/_c' + document.getElementById(_catid - 1).options[document.getElementById(_catid - 1).selectedIndex].value + '_l2_/default.aspx';
        else
            alert('Vyberte prosím jednu z možností.');
    }

} 
