var SRL = {}; SRL.ajax = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); SRL.id = 0; SRL.relatedLeft = new Array(); SRL.relatedRight = new Array(); SRL.baseUrl = '../wp-content/plugins/simple-related-links/simple-related-links-backend.php'; SRL.pageIndex = 1; SRL.loadArchive = function (category, page, base) { try { WPOL.q('srl_archive_loading').style.display = 'block'; var url = base + '/wp-content/plugins/simple-related-links/simple-related-links-backend.php?action=get_archive&category=' + category + "&page=" + page; WPOL.send('GET', url, null, function() { if(WPOL.ajax.readyState == 4) { var result = JSON.parse(WPOL.ajax.responseText); var category = WPOL.q('srl_archive'); category.innerHTML = ''; var items = ''; var total = 0; for (var item in result) { if (result[item].url != undefined) { items += "
Nebyl nalezen žádný obsah.
'; if (WPOL.ajax.responseText != '[]') { output = SRL.renderSearchResult(JSON.parse(WPOL.ajax.responseText)); } WPOL.q('srl_search_results').innerHTML = output; WPOL.loading(false); } }); } catch (e) { WPOL.debug(e); WPOL.loading(false); } }; SRL.render = function (side) { if (side == 1) { WPOL.q('srl_panel_body_left').innerHTML = SRL.renderList(1, SRL.relatedLeft);; } else if (side == 2) { WPOL.q('srl_panel_body_right').innerHTML = SRL.renderList(2, SRL.relatedRight); } }; SRL.add = function (side, postID, title) { var category = WPOL.q('srl_id'); if (SRL.id > 0 || category.selectedIndex > 0) { var val = null; if (title == 'break') { var count = (side == 1) ? SRL.relatedLeft.length : SRL.relatedRight.length; val = (count + 1) + '|' + title; } else { val = postID + '|' + title; } if (side == 1) { if (!WPOL.searchArray(val, SRL.relatedLeft)) { SRL.relatedLeft.push(val); SRL.render(side); } else { alert('Tento odkaz je již přidán!'); } } else if (side == 2) { if (!WPOL.searchArray(val, SRL.relatedRight)) { SRL.relatedRight.push(val); SRL.render(side); } else { alert('Tento odkaz je již přidán!'); } } } else { alert('Zvolte rubriku, se kterou chcete pracovat.'); category.focus(); } }; SRL.removeLink = function (side, postID, title) { if (confirm('Opravdu si přejete odstranit tento odkaz?')) { var val = postID + '|' + title; if (side == 1) { if (WPOL.searchArray(val, SRL.relatedLeft)) { SRL.relatedLeft = WPOL.removeFromArray(val, SRL.relatedLeft); SRL.render(side); } } else if (side == 2) { if (WPOL.searchArray(val, SRL.relatedRight)) { SRL.relatedRight = WPOL.removeFromArray(val, SRL.relatedRight); SRL.render(side); } } } return false; }; SRL.removeBreak = function (side, index) { if (confirm('Opravdu si přejete odstranit tuto mezeru?')) { var val = index + '|break'; if (side == 1) { if (WPOL.searchArray(val, SRL.relatedLeft)) { SRL.relatedLeft = WPOL.removeFromArray(val, SRL.relatedLeft); SRL.render(side); } } else if (side == 2) { if (WPOL.searchArray(val, SRL.relatedRight)) { SRL.relatedRight = WPOL.removeFromArray(val, SRL.relatedRight); SRL.render(side); } } } return false; }; SRL.validateSave = function() { var category = WPOL.q('srl_id'); var retVal = true; if (category.selectedIndex <= 0 || SRL.id == 0) { alert('Zvolte rubriku, ve které se má obsah zobrazovat.'); category.focus(); retVal = false; } else { SRL.id = category.options[category.selectedIndex].value; } return retVal; }; SRL.save = function(type) { try { if (SRL.validateSave()) { WPOL.loading(true); // serialize to JSON var data = JSON.stringify(SRL.relatedLeft) + '^' + JSON.stringify(SRL.relatedRight); var action = (type == 1) ? 'add_category' : 'add_post'; var url = SRL.baseUrl + '?action=' + action + '&id=' + SRL.id; WPOL.send('POST', url, 'data=' + data, function() { if(WPOL.ajax.readyState == 4) { var result = WPOL.ajax.responseText; if (result == 'updated') { SRL.load(type); alert('Související/témata byla úspěšně uložena.'); } WPOL.loading(false); } }); } } catch (e) { WPOL.debug(e); WPOL.loading(false); } }; SRL.catchEnter = function (e) { if (!e) var e = window.event if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; if(code == 13) { SRL.search(); e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return false; } else { return true; } }; // helpers SRL.renderList = function (type, data) { var list = '
';
list += '
';
list += ' ' + item.title + '';
list += '