/* 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;
}