/*ajax function*/
function Core_send_c_ajax(delegate, method, url, content, headers,var2,type) 
{ 
       
        var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false)); 
        if (!xmlhttp) { 
          return false; 
        } 
        today=new Date();        
        xmlhttp.open(method, url + '&ajaxtemp=' + today.getTime());
        xmlhttp.onreadystatechange = function() 
        { 
          delegate(xmlhttp,var2,type); 
        }
        if (headers) { 
            for (var key in headers) { 
              xmlhttp.setRequestHeader(key, headers[key]); 
            } 
        }       
        xmlhttp.send(content); 
        return true; 
}

function SetCommand(Key, Value){
    document.getElementById('__cmdVal').value=Value;
    document.getElementById('__cmdKey').value=Key;
}
function Core_SendCommand(key, val) {
    document.getElementById('__cmdVal').value = val;
    document.getElementById('__cmdKey').value = key;
    __sendPost('', '')
}


/*Funkce sloužící pro výpis produktů*/

//Nastavi způsob vypisu, povolené parametry jsu 'box', 'table'
function Core_SetProductsViewType(Value)
{
   document.getElementById('__cmdVal').value=Value;
   document.getElementById('__cmdKey').value='ProductView'; 
    __sendPost('','')

}
//Nastaví třídění podle daného typu
function Core_SetProductsSort(sortType)
{
    document.getElementById('__cmdVal').value=sortType;
    document.getElementById('__cmdKey').value='ProductSort'; 
   __sendPost('','')
}
//Nastavi tříděni na SC / DESC
function Core_SetProductsSortType(type)
{
    document.getElementById('__cmdVal').value=type;
    document.getElementById('__cmdKey').value='ProductSortType'; 
   __sendPost('','')
}

function Core_SetManufacturer(sel, controlChecked)
{

    var state = Array();
    var obj = document.getElementsByName('chcManufac');
    
    if(controlChecked==1)
    {
       
            //state[x] = obj[x].checked;
             for( var y = 0;y<obj.length;y++)
            {
                if(obj[y].value == sel){obj[y].checked = !obj[y].checked; break;}
            }
    }
    
    var isCheckedAll = false;
    var onlyOne = false;
    for( var x = 0;x<obj.length;x++)
    {
        //state[x] = obj[x].checked;
        if(obj[x].value == "0"){isCheckedAll = true;}
        if(obj[x].checked==true){onlyOne = true;}
    }
 
    if(sel != 0 && isCheckedAll==true)
    {
        setCheckedManufacturer(0,false);
    }
    if(onlyOne==false)
    {
        setCheckedManufacturer(0,true);
    }
    if(sel == 0)
    {
        
        //odškrtnu všechny ostatni
        for( var y = 0;y<obj.length;y++)
        {
            if(obj[y].value != 0){obj[y].checked = false;}
        }
         setCheckedManufacturer(0,true);
    }
    
      var outputString = "";
      for( var y = 0;y<obj.length;y++)
      {
            if(obj[y].checked == true)
            {
               outputString = outputString + obj[y].value + ",";
            }
     }
     document.getElementById("__manufact").value = outputString;
     document.getElementById('__cmdVal').value="1";
     document.getElementById('__cmdKey').value='ProductChangeManufacturer'; 
     __sendPost('','')
        
}
function setCheckedManufacturer(changeID, checkStatus)
{
    var obj = document.getElementsByName('chcManufac');
    for( var x = 0;x<obj.length;x++)
    {
        if(obj[x].value == changeID){obj[x].checked = checkStatus; break;}
    }
}

function setCheckedObjectInvert(changeID, object)
{
    var obj = document.getElementsByName(object);
    for( var x = 0;x<obj.length;x++)
    {
        if(obj[x].value == changeID){obj[x].checked = !obj[x].checked; break;}
    }
}

function Core_AddBasketEnter(product,obj,event)
{
    if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) 
    {
        Core_AddBasket(product,obj.value);
        return false;
    }  else return true;
    
}
function Core_AddBasket(product, count)
{
    document.getElementById('__cmdVal').value=product + "|" + count;
    document.getElementById('__cmdKey').value = 'ProductAddBasket';    
   __sendPost('','')   
}



function Core_UpdateBasket(product, count)
{
    document.getElementById('__cmdVal').value=product + "|" + count;
    document.getElementById('__cmdKey').value='ProductUpdateBasket'; 
   __sendPost('','')   
}
function Core_UpdateBasketEnter(product,obj,event)
{
    if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) 
    {
        Core_UpdateBasket(product,obj.value);
        return false;
    }  else return true;
    
}

function Core_DellBasket(product, count)
{
    document.getElementById('__cmdVal').value=product + "|" + count;
    document.getElementById('__cmdKey').value='ProductDelBasket'; 
   __sendPost('','')   
}

function Core_ChangeDeliveryType(delType)
{
    document.getElementById('__cmdVal').value=delType;
    document.getElementById('__cmdKey').value='ChangeDeliveryType'; 
   __sendPost('','') 
}
function Core_ChangePaymentType(payType)
{
    document.getElementById('__cmdVal').value=payType;
    document.getElementById('__cmdKey').value='ChangePaymentType'; 
   __sendPost('','')
}

function Core_ChangeDeliverySubType(delType)
{
    document.getElementById('__cmdVal').value=delType;
    document.getElementById('__cmdKey').value='ChangeDeliverySubType'; 
   __sendPost('','')
}

function Core_AddVoucher(voucherCode) {
    document.getElementById('__cmdVal').value = voucherCode;
    document.getElementById('__cmdKey').value = 'AddVoucherOrder';
    __sendPost('', '')
}
function Core_RemoveVoucher(voucherCode) {
    document.getElementById('__cmdVal').value = voucherCode;
    document.getElementById('__cmdKey').value = 'RemoveVoucherOrder';
    __sendPost('', '')
}

function Core_AddVoucherEnter(obj, event) {
    if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {
        Core_AddVoucher(obj.value);
        return false;
    } else return true;
}



function __sendPost()
{
  document.aspnetForm.submit();
}

function Core_SubmitOrder()
{
    /*volá klientskou implementaci funkce*/
    var ret = true;
    if(window.ConfirmSubmitOrder)
    {
        ret = ConfirmSubmitOrder();
    }
    if(ret == true){
        document.getElementById('__cmdVal').value='1';
        document.getElementById('__cmdKey').value='SendConfirmOrder'; 
        __sendPost('','')
        return false;
    }
    return false;
}

function Core_OrderNextStepRedir(url) 
{
    document.getElementById('__cmdVal').value = url;
    document.getElementById('__cmdKey').value = 'OrderNextStepRedirect';
    __sendPost('', '')
    return false;
 }


/*Zobrazí modální okno*/
function Core_ModalShow(divID)
{
    window.onscroll = function () { document.getElementById(divID).style.top = document.body.scrollTop; };
    document.getElementById(divID).style.display = "block";
    document.getElementById(divID).style.top = document.body.scrollTop;
}
/*Skryje modální okno*/
function Core_ModalHide()
{
    document.getElementById(divLastModal).style.display = "none";
}

/*Funkce vyvolá modal okno, podle typu*/
var divContent = '';
var divLastModal = '';
function Core_ModalOpen(type, divID, param1)
{
   
   divContent = divID + 'BodyContent';
   Core_ModalShow(divID);
   document.getElementById(divContent).innerHTML=" ... načítám...";
   //odešlu požadavek ajaxu
   if (!Core_send_c_ajax(Core_ModalOpenReturn, 'POST', core_hUrl + 'request.aspx?type=' + type + '&param1=' + encodeURIComponent(param1) ,'','','',type)) 
   {
       alert(resLang['Core_ModalOpen']);
       return false; 
   }
   divLastModal = divID;
   
}

//otevře univerzální popup okno
function Core_ModalOpenReturn(xmlhttp,var1,type)
{
    if (xmlhttp.readyState == 4) 
    { 
       //document.getElementById("wait-box").style.display='none';
       document.getElementById(divContent).innerHTML = xmlhttp.responseText;                                         
       if(type=='modalSendEmail')
       {//pokud existuje email nastavim focus
        var obj = document.getElementById('sendEmailLink');
        if(obj) obj.focus();
       }
       
    }    
}

//odešle email na zpracování
function Core_SendEmailLinkToProduct()
{
    document.getElementById('__cmdVal').value='1';
    document.getElementById('__cmdKey').value='emailLink'; 
   __sendPost('','')
}

function Core_ProductVote(pkProducts, value)
{
  document.getElementById('__cmdVal').value= value + '|' + pkProducts;
  document.getElementById('__cmdKey').value='ProductVote'; 
  __sendPost('','')
}
function Core_Nav(url) {document.location = url; }
function Core_SendSearchOnEnter(e,searchValue) {

    var keynum = 0;
    if (window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if (e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }


    if ((keynum == 13)) 
    {
       Core_Search(searchValue,'');
       return false;
    }  else return true;
}
var CoreSearchInputId = 'searchInput';
function Core_Search(searchValue,type, noneText)
{

    if (searchValue == '' || searchValue == noneText) {
        alert(resLang['Core_InsertSearchText']);
        if (document.getElementById(CoreSearchInputId) != null) {
            document.getElementById(CoreSearchInputId).value = '';
            document.getElementById(CoreSearchInputId).focus();
        }
    return false; }
    document.location=core_hUrl + "search.aspx?st=" +  encodeURIComponent(searchValue) + "&ftype=" + type;
    return false;

}

function Core_DeleteDog(product) {
    document.getElementById('__cmdVal').value = product;
    document.getElementById('__cmdKey').value = 'DogDeleteItem';
    __sendPost('', '')
}
function Core_ChangeDog(product, price) {
    document.getElementById('__cmdVal').value = product + '|' + price;
    document.getElementById('__cmdKey').value = 'DogChangeItem';
    __sendPost('', '')
}
function DogAddItem(product) {
    document.getElementById('__cmdVal').value = product;
    document.getElementById('__cmdKey').value = 'DogAddItem';
    __sendPost('', '')
}


/*Client Form Send*/
var Core_SendFormAlertOK = function(res) { alert(res); }
var Core_SendFormAlertERR = function(status) { alert(resLang['Core_SendFormAlertERRDefault'] + ' ' + status); }
function Core_makeFormPOSTRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
           http_request.overrideMimeType('text/html');
        }
    } 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 = Core_SendFormContents;
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "text/html; charset=utf-8");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
}
function Core_SendFormContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            result = http_request.responseText;
            Core_SendFormAlertOK(result);
        } else {
            Core_SendFormAlertERR(http_request.status);
        }
    }
}
//Funkce odešle klientský formulář, stupem je kod formuláře a pole ID prvků, které se budou posílat
function Core_SendForm(code, cList) {
    var output = '';
    var getstr = "formCode=" + encodeURI(code) + "&";
    for (i = 0; i < cList.length; i++) {
        var obj = document.getElementById(cList[i]);
        if (obj != undefined && obj.name != '') {
            if (obj.tagName == "INPUT") {

                if (obj.type == "text" || obj.type == "hidden") {
                    getstr += obj.name + "=" + encodeURI(obj.value) + "&";
                } else if (obj.type == "checkbox") {
                    if (obj.checked) {
                        getstr += obj.name + "=" + encodeURI(obj.value) + "&";
                    } else {
                        getstr += obj.name + "=&";
                    }
                } else if (obj.type == "radio") {
                    if (obj.checked) {
                        getstr += obj.name + "=" + encodeURI(obj.value) + "&";
                    }
                } 
            }
            if (obj.tagName == "SELECT") {
                var sel = obj;
                getstr += sel.name + "=" + encodeURI(sel.options[sel.selectedIndex].value) + "&";
            }
            if (obj.tagName == "TEXTAREA") {
                getstr += obj.name + "=" + encodeURI(obj.value) + "&";
            }
           
        }
    }
    Core_makeFormPOSTRequest(core_hUrl + 'FormRequest.aspx', getstr);
} 
//Nastavi tříděni na SC / DESC
function Core_SetProductFavorites(product, elId) {
    //odešlu požadavek ajaxu
    if (!Core_send_c_ajax(Core_ProductFavoritesReturn, 'POST', core_hUrl + 'request.aspx?type=prfav&param1=' + encodeURIComponent(product), '', '', elId, 'prfav')) {
        alert(resLang['Core_send_c_ajax']);        
        return false;
    }    
}
function Core_ProductFavoritesReturn(xmlhttp, var1, type) {

        if (xmlhttp.readyState == 4) {
            //document.getElementById("wait-box").style.display='none';

            if (type == 'prfav' && var1 != '') {//pokud existuje email nastavim focus
                var css = document.getElementById(var1).className;
                css = css.replace('-fav-on', '').replace('-fav-off', '');
                if (xmlhttp.responseText == '1') {
                    css = css + '-fav-on';
                } else { css = css + '-fav-off'; }
                document.getElementById(var1).className = css;
            }

        }
}
function Core_Nav(url) { document.location = url; }


function Core_AddBasketAjax(product, count, innerObject) {

    if (!Core_send_c_ajax(Core_AddBasketAjaxReturn, 'POST', core_hUrl + 'request.aspx?type=addbasket&param2=' + encodeURIComponent(product + "|" + count), '', '', innerObject, 'prfav')) {
        alert(resLang['Core_send_c_ajax']);
        return false;
    }
}
var Core_AddBasketAjaxReturnFn = null;
function Core_AddBasketAjaxReturn(xmlhttp, var1, type) {

    if (xmlhttp.readyState == 4 && xmlhttp.responseText != '') {
        var data = eval('(' + xmlhttp.responseText + ')');
        document.getElementById(var1).innerHTML = data.Html;
        if (Core_AddBasketAjaxReturnFn) { Core_AddBasketAjaxReturnFn(data); }      
    }
}
function Core_AddBasketEnterAjax(product, obj, event, innerObject) {
    if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {
        Core_AddBasketAjax(product, obj.value, innerObject);
        return false;
    } else return true;
}


