/* util.js */ function hasAttribute(element, attribute_name) { try { str = "element." + attribute_name; if (eval(str) != undefined) return true; } catch (e) { } return false; } function show_element(element, display_method) { if (!display_method) { display_method = 'block'; } element = $(element); element.style.display = display_method; } function hide_element(element) { element = $(element); element.style.display = 'none'; } function $(element) { if (!hasAttribute(element, "id")) { try { element = document.getElementById(element); } catch (e) { } } return element; } function is_visible(element) { element = $(element); return element.style.display != 'none'; } function two_digits(param) { param = "" + param; while (param.length < 2) { param = "0" + param; } return param; } function is_type_text(element) { return element.type == "text"; } function is_type_checkbox(element) { return element.type == "checkbox"; } function is_type_select_one(element) { return element.type == "select-one"; } function is_type_radio(element) { return element.type == "radio"; } function is_type_radio_group(element) { return element.length && is_type_radio(element[0]); } function is_type_label(element) { return element.tagName.toLowerCase() == "label"; } function asbool(value) { value = trim(String(value).toLowerCase()); switch (value) { case "true": case "1": case "yes": case "on": return true; case "false": case "0": case "no": case "off": return false; } throw "Not a boolean value - " + value; } function trim(str) { return str.replace(/^\s+|\s+$/g, ''); } var strip = trim; function group_set_property(elements_ids, property, value) { for (i in elements_ids) { eval("document.getElementById('" + elements_ids[i] + "')." + property + " = " + value); } } function group_set_checked(elements_ids, checked) { group_set_property(elements_ids, "checked", checked); } function group_conjunct_property(elements_ids, property) { result = true; for (i in elements_ids) { eval("result = result && document.getElementById('" + elements_ids[i] + "')." + property); if (!result) { break; } } return result; } function get_radio_value(radio_element) { for (var i = 0; i < radio_element.length; i++) { if (radio_element[i].checked) { return radio_element[i].value } } return null; } /* end util.js */ /* promua.js */ function collapse_change_state(collapsed_id) { var current_state = 1; // 0 means hidden if (!($$('#'+collapsed_id).attr('style') == 'display: block;')) { current_state = 0; } if (current_state == 0) { $$('#'+collapsed_id).attr('style', 'display: block;'); $$('#'+collapsed_id+'_img').attr('style', 'background: no-repeat url("/image/new_design/images/menu_collapse.png");'); } else { $$('#'+collapsed_id).attr('style', 'display: none;'); $$('#'+collapsed_id+'_img').attr('style', 'background: no-repeat url("/image/new_design/images/menu_expand.png");'); } } function collapse_change_state_horisontal(collapsed_id, link, expand_text, collapse_text) { var $a = $$(link); var $collapsed_block = $$("#"+collapsed_id); $collapsed_block.toggle(); if ($collapsed_block.is(":visible")) { $a.find("span.collapse-text").text(collapse_text); $a.find("span.collapse-img").removeClass("collapsed"); } else { $a.find("span.collapse-text").text(expand_text); $a.find("span.collapse-img").addClass("collapsed"); } } /* end promua.js */ //var YA = YAHOO.util.Anim; function $(id) { return document.getElementById(id); } /**namespace for page globals**/ var Page = {} Page.richEditors = {} /** SW is a holder for SmartWeb developed custom scripts **/ var SW = { bind: function(func, obj) { var slice = Array.prototype.slice; var args = slice.call(arguments, 2); return function() { return func.apply(obj || {}, args.concat(slice.call(arguments))); }; }, clearErrors: function(form_elem) { if (form_elem === undefined) $$("span.error, span.error-icon").addClass("hidden"); else $$(form_elem).find("span.error, span.error-icon").addClass("hidden");; }, renderErrors: function (json_data, form_elem) { var result = {}; if (typeof(json_data) == 'string') { eval('result = ' + json_data); } else { result = json_data; } var form = form_elem ? $$(form_elem) : $$; var BIG = 100000; var minTop = BIG; var wTop = $$(window).scrollTop(); var wHeight = $$(window).height(); var wBottom = wTop + wHeight; for (var key in result) { var $error_div = form.find('#' + key + '_error'); if ($error_div.length === 0) { alert('No error container defined for: ' + key); continue; } var errors = result[key]; if (errors instanceof Array) errors = errors.join("
"); $error_div.html(errors).removeClass("hidden"); var $error_icon_div = form.find('#' + key + '_error_icon'); $error_icon_div.removeClass("hidden"); var top = $error_div.offset().top; if ((top < wTop || top > wBottom) && minTop > top) { minTop = top; } } if (minTop != BIG) return minTop; return null; }, asyncFormSubmit: function(form, button, config) { button.set('disabled', true); window.setTimeout(function(){ button.set('disabled', false); }, 20 * 1000); var config = YL.merge({ validationSuccess: null, validationError: function(o) { var minTop = SW.renderErrors(o.responseText, form); if (minTop) window.scrollTo(0, minTop - 100); }, validationFailure: function(o) { button.set('disabled', false); //alert('Error during validation') //DO NOTHIND, TODO log somehting in debug }, handler: { success: function(o) { SW.clearErrors(); button.set('disabled', false); if (o.responseText == "OK") { config.validationSuccess(o); } else { config.validationError(o); } }, failure: config.validationFailure }, method: 'POST', url: form.action }, config == null ? {} : config); SW.refreshRichTexts(); YC.setForm(form); YC.asyncRequest(config.method, config.url, config.handler); return false; }, validateSubmit: function(button, formSchema, protocol) { var htmlButton = button.getForm ? button._button : button; var form = htmlButton.form; if (!protocol) { protocol = document.location.protocol; } if (!protocol.match(/:$/)) { protocol += ':'; } host = document.location.host; if (!host.match(/.*:\d+/)) { host += ':' + document.location.port ? document.location.port : ''; } var url = protocol + '//' + host + '/validation/index/' + formSchema; if (form.validated) { return true; } this.asyncFormSubmit(form, button, { url: url, validationSuccess: function(o) { form.validated = true; button.set('disabled', false); htmlButton.click() button.set('disabled', true); } }); return false; }, submitInline: function(button, validationSuccess) { this.asyncFormSubmit(button.getForm(), button, { validationSuccess: validationSuccess }); return false; }, validateSubmitForm: function(o) { function disableButtons($form) { if($button.hasClass('ui-button') && !$button.button('option', 'disabled')) $form.find(":submit").button('disable'); else $form.find(":submit").attr('disabled', 'disabled'); } function enableButtons($form) { if($button.hasClass('ui-button') && $button.button('option', 'disabled')) $form.find(":submit").button('enable'); else $form.find(":submit").removeAttr('disabled'); } var $form, $button; if (o.button) { $button = $$(o.button); $form = $$(o.button.form); } else if (o.form) { $form = $$(o.form); $button = $form.find(":submit").first(); } else { alert("You must specify button or form option."); } if($form.data('validated')) return true; disableButtons($form); var config = $$.extend({ button: null, url: $form.attr('action') || document.location.href, method: 'POST', validationSuccess: function (json, textStatus, xhr) { if ($form.find("[name='save_']").length == 0) { $form.data('validated', true); enableButtons($form); //$button.click(); // does'n work in firefox, i don't know why??? setTimeout(function () { $button.click(); }, 100); } else if ($form.data('callback')) { $form.data('callback')(json); } }, validationError: function (json, textStatus, xhr) { SW.clearErrors($form); var minTop = SW.renderErrors(json, $form); if (minTop) window.scrollTo(0, minTop - 100); enableButtons($form); } }, o || {}); $$.ajax({ type: config.method, url: config.url, data: $form.serialize(), dataType: 'text', success: function (data, textStatus, xhr) { try { // suggest response is json var json = $$.parseJSON(data); if (json.status && json.status.toLowerCase() == "ok") config.validationSuccess(json, textStatus, xhr); else config.validationError(json, textStatus, xhr); } catch (e) { // response is html if(data.toLowerCase() == "ok") config.validationSuccess(data, textStatus, xhr); //else // config.validationError({}, textStatus, xhr); } }, error: function (xhr, status, e) { if(config.error) config.error(xhr, status, e); enableButtons($form); }, complete: function (xhr, status) { if(config.complete) config.complete(xhr, status); enableButtons($form); } }); return false; }, /** Common overlay manager used to show only one help menu on the page initialize lazily**/ overlayManager: null, registerHelpPanel: function (el, header, body) { $$('#'+el).click(function() { var position = $$(this).offset(); var height = $$(this).height(); var shadowWidth = 10; var left = position.left - $$(document).scrollLeft() - shadowWidth; var top = position.top - $$(document).scrollTop() + height; var dlg_id = el + "_dialog", $dlg; if(!$$("#" + dlg_id).length){ var dialog = $$("
", {id: el + "_dialog"}).append($$("

").html(body)); $dlg = $$(dialog).dialog({ autoOpen: false, draggable: false, resizable: false, minHeight: 0, title: header, dialogClass: "preview_panel", position: [left, top] }).css({"background-color": "#F2F2F2"}); } else $dlg = $$("#" + dlg_id); if(left + $dlg.dialog("option", "width") > $$(document).width()) left = $$(document).width() - $dlg.dialog("option", "width") - shadowWidth; $dlg.dialog("option", "position", [left, top]).dialog("open"); }); }, nicEditorButtons: ['fontFormat','bold','italic','underline','strikeThrough','undo', 'redo', 'left','center','right','ol','ul','indent','unindent','hr','link'], maxLength: function(objId, maxLength, monitorId) { var $this = $$("#" + objId); // if tag is textarea and textarea has attribute maxLength, then lets use it if (0 !== $this.attr('maxlength') && -1 !== $this.attr('maxlength') && undefined !== $this.attr('maxlength')) { maxLength = $this.attr('maxlength'); } $this.bind("change keyup", function (e) { var $this = $$(this); var len = $this.val().length; var $monitor = $$("#" + monitorId) if (len > maxLength) $this.val($this.val().substring(0, maxLength)); // set initial value to counter $monitor.html(maxLength - $this.val().length); }).change(); }, limitExecByInterval: function(fn, time) { var lock, execOnUnlock, args; return function() { args = arguments; if (!lock) { lock = true; var scope = this; setTimeout(function(){ lock = false; if (execOnUnlock) { args.callee.apply(scope, args); execOnUnlock = false; } }, time); return fn.apply(this, args); } else execOnUnlock = true; } }, loadScript: function(url, elementId) { var oScript = document.createElement("script"); oScript.type = "text/javascript" oScript.src = url; if (elementId != null) { oScript.id = elementId; } document.body.appendChild(oScript); }, richEditorForTextarea: function(nodeId) { Page.richEditors[nodeId] = new nicEditor({buttonList : SW.nicEditorButtons}).panelInstance(nodeId); }, refreshRichTexts: function() { for (key in Page.richEditors) { // alert(Page.richEditors) // alert(Page.richEditors[key].nicInstances[0].getContent()) YD.get(key).value = Page.richEditors[key].nicInstances[0].getContent() } }, ButtonCodeViewer: function(codeAreaId){ var codeAreaObj = document.getElementById(codeAreaId); var buttonsRegister = new Array(); this.isRegisteredButton = function(buttonObj){ for (var i = 0; i < buttonsRegister.length; i ++) { if (buttonsRegister[i] == buttonObj) { return true; } } return false; } this.click = function(buttonObj){ for (var i = 0; i < buttonsRegister.length; i ++) { buttonsRegister[i].className = buttonObj.defaultClass; buttonsRegister[i].selected = false; } if (!this.isRegisteredButton(buttonObj)) { buttonsRegister[buttonsRegister.length] = buttonObj; } buttonObj.className = 'promo-button-wrapper-selected'; buttonObj.selected = true; codeAreaObj.value = buttonObj.innerHTML; return false; } this.over = function(buttonObj){ if (buttonObj.defaultClass == null) { buttonObj.defaultClass = buttonObj.className; } buttonObj.className = 'promo-button-wrapper-selected'; } this.out = function(buttonObj){ if (!buttonObj.selected) { buttonObj.className = buttonObj.defaultClass; } } }, expandCollapseFacetList: function (listContainerId, expandButtonObj, collapsedItemNumber, moreCaption, collapceCaption){ if (expandButtonObj.parentNode.isExpanded == null || expandButtonObj.parentNode.isExpanded == false){ var groupsContainer = document.getElementById(listContainerId); groupsContainer.style.height = (groupsContainer.offsetHeight - 6) + 'px'; expandButtonObj.parentNode.className = 'search-facet-items search-facet-items-expanded'; var listItems = expandButtonObj.parentNode.getElementsByTagName('li'); for (var i = collapsedItemNumber + 1; i < listItems.length; i ++){ if (expandButtonObj != listItems[i]){ listItems[i].className = ''; } } expandButtonObj.style.listStyleImage = 'url(/image/icon/minus.gif)'; expandButtonObj.innerHTML = '' + collapceCaption + ''; expandButtonObj.parentNode.isExpanded = true; } else { expandButtonObj.parentNode.className = 'search-facet-items'; var listItems = expandButtonObj.parentNode.getElementsByTagName('li'); for (var i = 0; i < listItems.length; i ++){ if (i > collapsedItemNumber && i < listItems.length - 1){ listItems[i].className = 'item-collapsed'; } } expandButtonObj.style.listStyleImage = 'url(/image/icon/plus.gif)'; expandButtonObj.innerHTML = '' + moreCaption + ''; expandButtonObj.parentNode.isExpanded = false; } }, expandCategoryList: function (listContainerId, expandButtonObj){ expandButtonObj.style.display = 'none'; var catagoryContainer = document.getElementById(listContainerId); var categoryItems = catagoryContainer.getElementsByTagName("span"); for (var i = 0; i < categoryItems.length; i++){ categoryItems[i].className = categoryItems[i].className.replace("category-collapsed", ""); } return false; }, hideSearchEngineRegisterLabel: function (containerId, domainName){ document.getElementById(containerId).style.display = 'none'; YAHOO.util.Cookie.set("show_se_label", "False", { path: "/", domain: domainName, expires: new Date(new Date().getTime() + 1000 * 3600 * 24 * 356 * 10) }); }, hideImportantMessage: function (containerId, domainName){ document.getElementById(containerId).style.display = 'none'; YAHOO.util.Cookie.set("show_important_message", "False", { path: "/", domain: domainName, expires: new Date(new Date().getTime() + 1000 * 3600 * 24) }); }, expnadCollapseNode: function (nodeId){ var node = document.getElementById(nodeId); if (node.style.display == 'block'){ node.style.display = 'none'; } else { node.style.display = 'block'; } }, ColorSchemaToggle: function (){ var containerRegister = new Array(); this.isRegisteredContainer = function(containerObj){ for (var i = 0; i < containerRegister.length; i ++) { if (containerRegister[i] == containerObj) { return true; } } return false; } this.click = function(containerNodeId){ var containerNode = document.getElementById(containerNodeId); for (var i = 0; i < containerRegister.length; i ++) { containerRegister[i].className = "color-schema-wrapper"; } containerNode.className = containerNode.className + " color-schema-wrapper-active"; if (!this.isRegisteredContainer(containerNode)){ containerRegister[containerRegister.length] = containerNode; } } } // toglePromoBlock: function(domainName) { // function setCookie(value, domainName) { // $$.cookie("show_promo_block", value, { // path: "/", // domain: domainName, // expires: new Date(new Date().getTime() + 1000 * 3600 * 24 * 356 * 10) // }); // } // var promoContainer = $$('#promo-header-container'); // var collapsedRegisterBlockContainer = $$('#collapsed-promo-block-register-container'); // if ($$.cookie("show_promo_block") == "False") { // promoContainer.attr('class', 'promo-header-expanded-wrapper'); // if (collapsedRegisterBlockContainer){ // collapsedRegisterBlockContainer.html(''); // } // $$('#close_label_div').onmouseover = function() { }; // $$('#close_label_div').onmouseout = function() { }; // $$('#close_label_div').attr('style', 'backgroundColor: transparent;'); // setCookie("True", domainName); // } else { // promoContainer.attr('class', 'promo-header-collapsed-wrapper') // if (collapsedRegisterBlockContainer){ // collapsedRegisterBlockContainer.html($$('#register-button-container').html()); // } // $$('#close_label_div').onmouseover = function() { SW.anim.animate(); }; // $$('#close_label_div').onmouseout = function() { SW.anim_out.animate(); }; // setCookie("False", domainName); // } // } } SW.c = new Object(); WTF = { TextField: { Clear: function(container_selector, name) { $$(container_selector+" input[name="+name+"]").val(""); }, Populate: function(container_selector, name, val) { $$(container_selector+" input[name="+name+"]").val(val); } }, TextAreaField: { Clear: function(container_selector, name) { $$(container_selector+" textarea[name="+name+"]").val(""); }, Populate: function(container_selector, name, val) { $$(container_selector+" textarea[name="+name+"]").val(val); } }, PriceField: { Clear: function(container_selector, name) { $$(container_selector+" input[name="+name+"]").val(""); }, Populate: function(container_selector, name, val) { $$(container_selector+" input[name="+name+"]").val(val); } }, HiddenField: { Clear: function(container_selector, name) { $$(container_selector+" input[name="+name+"]").val(""); }, Populate: function(container_selector, name, val) { $$(container_selector+" input[name="+name+"]").val(val); } } } function incr_element_value(element, value) { element = document.getElementById(element); element.innerHTML = Number(element.innerHTML) + value; } function update_functionality_price(check_box_element, price_show_element, comulative_price_element, price) { YAHOO.util.Event.on(check_box_element, "change", function(e) { if (e.target.checked) { YAHOO.util.Dom.get(price_show_element).innerHTML = price; incr_element_value(comulative_price_element, price); } else { YAHOO.util.Dom.get(price_show_element).innerHTML = 0; incr_element_value(comulative_price_element, -1*price); } }); } var FormTemplate = { create: function(form_name, menu_container_id, menu_toggle_id) { var oMenu = new YAHOO.widget.Menu(menu_container_id + "_basicmenu"); var transaction = YAHOO.util.Connect.asyncRequest( "POST", "/user_settings/list_form_templates", { success: function(o) { if (o.status == 200) { document.getElementById(menu_container_id).innerHTML = ""; var response; eval("response = " + o.responseText); response = response.response; var items = []; for (i in response) { var template_name = response[i]; items.push({ text: template_name, onclick: { fn: (function (template_name) { return function () { FormTemplate.load("" + form_name, "" + template_name); } })(template_name) } }); } oMenu.addItems([ [ { text: "Сохранить текущую форму", onclick: { fn: function () { FormTemplate.save(form_name, menu_container_id, menu_toggle_id); } } }, { text: "Редактировать сохраненные", url: "/user_settings/manage_form_templates?_form_name=" + encodeURIComponent(form_name) } ], items ]); oMenu.setItemGroupTitle("Общие опции", 0); oMenu.setItemGroupTitle("Сохраненные шаблоны", 1); oMenu.render(menu_container_id); YAHOO.util.Event.addListener(menu_toggle_id, "click", oMenu.show, null, oMenu); } else { } }, failure: function(o) { }, argument: null }, "_form_name=" + encodeURIComponent(form_name) ); }, save: function (form_name, menu_container_id, menu_toggle_id) { template_name = prompt("Enter template name"); if (template_name) { YAHOO.util.Connect.setForm(document.forms[form_name]); var transaction = YAHOO.util.Connect.asyncRequest( "POST", "/user_settings/save_form_template", { success: function(o) { if (o.status == 200) { alert("Ok"); //FormTemplate.create(form_name, menu_container_id, menu_toggle_id); } else { alert("Error"); } }, failure: function(o) { }, argument: null }, "_form_name=" + encodeURIComponent(form_name) + "&_template_name=" + encodeURIComponent(template_name) ); } }, load: function (form_name, template_name) { if (template_name) { var transaction = YAHOO.util.Connect.asyncRequest( "POST", "/user_settings/get_form_template", { success: function(o) { if (o.status == 200) { var response; eval("response = " + o.responseText); response = response.response; var s = []; for (i in response) { s.push(i + "=" + response[i]); FormTemplate.set_element_value(form_name, i, response[i]); } //alert(s.join(", ")); alert("Loaded"); } else { alert("Error"); } }, failure: function(o) { }, argument: null }, "_form_name=" + encodeURIComponent(form_name) + "&_template_name=" + encodeURIComponent(template_name) ); } }, set_element_value: function (form_name, element_name, value) { element = document.forms[form_name][element_name]; /* if (element_name == "period") { var s = []; for (i in element) { s.push(i + "=" + element[i].type); } alert(s.join(", ")); } */ //element = document.getElementById(element_id); if (element) { if (is_type_checkbox(element) && asbool(value) && !element.checked) { element.checked = true; if (element.onchange) { element.onchange(); } } else if (is_type_radio_group(element)) { for (i in element) { radio = element[i]; if (radio.value == value && !radio.checked) { radio.checked = true; if (radio.onchange) { radio.onchange(); } break; } } } else if (is_type_text(element)) { element.value = value; if (element.onchange) { element.onchange(); } } else if (is_type_select_one(element)) { var s = []; for (i in element.options) { if (element.options[i].value == value) { element.options[i].selected = true; if (element.options[i].onchange) { element.options[i].onchange(); } break; } s.push(i + "=" + element.options[i].value); } //alert("VALUE=" + value + " | " + s.join(", ")); } } } }; collapse_table_rows = function(selector) { var $elem = $$(selector); if ($elem.hasClass("collapsed-rows")) { $elem.removeClass("collapsed-rows"); } else { $elem.addClass("collapsed-rows"); } }; function get_attributes(img, value){ if (img.height > img.width && value > img.height) { return {height: value, marginLeft:(value-img.width/img.height*value)/2}; } else if(img.height > img.width && value < img.height) { return {height: value, marginLeft:(value-img.width/img.height*value)/2}; } else if (img.height < img.width) { return {width: value}; } else{ return {width: value, height: value}; } } incrise_image = function(self, image_link, width, height) { function do_incrise(){ if (incrise_image.incrise_object == self || image_link == '') { return; } var big_img = new Image(); big_img.src = image_link; incrise_image.incrise_object = self; var divs = self.parentNode.parentNode.getElementsByTagName('div'); for (i = 0; i < divs.length; i++) { divs[i].style.overflow = 'visible'; } var img = self.getElementsByTagName('img')[0]; big_img.onload = function(){img.src = this.src;}; self.parentNode.parentNode.style.position = 'relative'; self.parentNode.parentNode.style.zIndex = 2; var attributes = get_attributes(img, width); self.style.zIndex = 1; incrise_image.anim = $$(img).animate(attributes, width, function(){ self.style.backgroundColor = "#ffffff"; self.children[0].className = ""; self.children[1].style.display = "block"; self.style.border = "1px solid #e2e2e2"; self.style.padding = "5px"; self.style.width = Math.max(img.width, width) + 2 + "px"; img.parentNode.parentNode.style.textAlign = "left"; img.src = big_img.src; }); incrise_image.anim.animate(); } self.timeoutID = setTimeout(do_incrise, 300); } incrise_image.incrise_object = null; incrise_image.anim = null; decrise_image = function(self, image_link, event, width, height) { if (self.timeoutID) { clearTimeout(self.timeoutID); } var elem=event.toElement || event.relatedTarget; while(elem.parentNode != null){ if (elem == self) { return; } elem = elem.parentNode; } if (incrise_image.incrise_object != self) { return; } incrise_image.incrise_object = null; incrise_image.anim.stop(); self.children[1].style.display = "none"; var img = self.getElementsByTagName("img")[0]; //img.parentNode.parentNode.style.textAlign = "center"; var attributes = get_attributes(img, width); incrise_image.anim = $$(img).animate(attributes, 200, function(){}); self.children[0].className = "grey-frame-" + width; img.src = image_link; self.style.width = width + "px"; self.style.margin = "-5px"; self.style.border = "none"; self.style.zIndex = 0; self.parentNode.parentNode.style.position = 'static'; } function getOffset(el, which) { var amount = el["offset" + which] el = el.offsetParent while (el != null) { amount += el["offset" + which] el = el.offsetParent } return amount } function getElementsByNameIE(tag, name) { var elem = document.getElementsByTagName(tag); var arr = new Array(); for(i = 0,iarr = 0; i < elem.length; i++) { att = elem[i].getAttribute("name"); if(att == name) { arr[iarr] = elem[i]; iarr++; } } return arr; } opinion_popup = function(elem, opinion_ajax_url){ var $target = elem; $target.css('position', 'relative'); var $target_comics = $target.children('.comics-wrap'); if (opinion_popup.ajax_executing) return; //$target.ajax_executing = false; if (!$target_comics.is('div')) { opinion_popup.ajax_executing = true; $$.ajax({ url: opinion_ajax_url, type: "POST", dataType: "html", success: function(data){ opinion_popup.ajax_executing = false; $target.has_comics_content = true; var $comics_box = $$(data); $target.append($comics_box); $target.mouseleave(function(event){ $comics_box.css({'display':'none'}); $target.css('position', 'static'); }); }, error: function() { opinion_popup.ajax_executing = false; console.log("ajax error"); } }) } else { $target_comics.css({'display':'block'}); } } popup_help = function(elem, header_text, descr_text) { if (elem.popup_box == null) { var elem_x = getOffset(elem, 'Left'); var elem_y = getOffset(elem, 'Top'); var content_div = document.createElement('div'); var elem_comics_class = elem.className ? " "+elem.className+'-comics' : "" content_div.className = "content"; if (header_text || descr_text) { elem.popup_box = document.createElement('div'); elem.popup_box.className = "comics" + elem_comics_class; elem.popup_box.innerHTML = '
\
\
\
\
' elem.popup_box.appendChild(content_div); elem.popup_box.setAttribute('name', 'popup'); elem.popup_box.style.position = 'absolute'; elem.popup_box.style.left = elem_x - 73 + 'px'; elem.popup_box.style.top = elem_y + 25 + 'px'; document.body.appendChild(elem.popup_box); if (header_text) { var header = document.createElement('strong'); header.style.display = "block"; header.innerHTML = header_text; content_div.appendChild(header); } if (descr_text) { var descr = document.createElement('span'); descr.innerHTML = descr_text; content_div.appendChild(descr); elem.popup_box.appendChild(content_div); } } elem.popup_box.style.display = 'block'; // elem.popup_box.onmouseout = function() { // this.style.display = 'none'; // } document.body.onclick = function(e){ if (!e) var e = window.event; var target = e.target || e.srcElement; var boxes = document.getElementsByName('popup'); if (!boxes[0]) boxes = getElementsByNameIE('div', 'popup'); for (var i =0; i < boxes.length; i ++){ if (target.popup_box == null || target.popup_box != boxes[i]) { boxes[i].style.display = 'none'; } } }; } else { elem.popup_box.style.display = 'block'; } } //(function ($) { jQuery.fn.popup = function (link, o, close_elem) { var $link = jQuery(link); var $close_elem = jQuery('.'+close_elem); var $dlg = this; o = jQuery.extend({ resizable: false, autoOpen: false, minHeight: 0, minWidth: 0 }, o || {}); $dlg.dialog(o) .parent().addClass("ui-popup") .css("padding", 0) .mousedown(function (event) { event.stopPropagation();}); $dlg.siblings(".ui-dialog-titlebar").hide(); $link.live("click", function (event) { var x = jQuery(this).offset().left, y = jQuery(this).offset().top; var scrollLeft = jQuery(document).scrollLeft(),scrollTop = jQuery(document).scrollTop(); $dlg.dialog("option", "position", [x-scrollLeft, y-scrollTop]).dialog("open"); jQuery(document.body).add($close_elem).mousedown(function () { if(!$dlg.data("busy")) $dlg.dialog("close"); }); event.preventDefault(); event.stopPropagation(); }).mousedown(function (event) { event.stopPropagation(); }); //$("body").click(function () { console.log(1); }); return this; } /* this function is used for block pagination on the new dashboard */ function refreshBlock(page_number, main_container_id) { $$('#'+main_container_id).find(".dashboard-block-body:first") .html($$('#'+main_container_id).find('#page-choose-'+page_number+'-content').find('.dashboard-block-body').html()); $$('#'+main_container_id).find(".dashboard-block-header:first").html($$('#'+main_container_id).find('#page-choose-'+page_number+'-content').find('.dashboard-block-header').html()); $$("#"+main_container_id).data("crnt_page", page_number); } function periodicalRotateBlock(pages_number, main_container_id, toggler) { if ($$("#"+main_container_id).data("crnt_page") >= pages_number-1) { var next_page = 0; } else { var next_page = $$("#"+main_container_id).data("crnt_page")+1; } SW.c[toggler].click(main_container_id+'-page-choose-'+next_page+'-container'); refreshBlock(next_page, main_container_id) } //})(jQuery); function on_hide_dashboard_block_click(clicked_elem, request_url) { var block = jQuery(clicked_elem).closest('.hideable-dashboard-block'); var block_id = block[0].id; block.trigger('hidden'); block.remove(); jQuery.post(request_url, {block_id: block_id}); } jQuery.fn.ForceNumericOnly = function() { return this.each(function() { jQuery(this).keyup(function(e) { if (this.value | -1 === -1) { var filtered = this.value.replace(/[^0-9]/g, ''); if (filtered != this.value) this.value = filtered; } }).keydown(function (e) { var key = e.charCode || e.keyCode || 0; // allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY return ( key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)); }) }) }; var in_ = function(elem, arr) { for (var i=0; i < arr.length; i++) { if (elem == arr[i]) return true; } return false; }