Your IP : 3.135.234.164
if(!DragNDrop)
{
in_array = function (ar, str)
{
var i;
for(i=0; i<ar.length; i++)
if(ar[i]===str)
return true;
return false;
}
function CreateActivity(oActivity)
{
if(!oActivity.Type)
oActivity = {'Type': oActivity};
var t = oActivity.Type, a;
if(arAllActivities[t.toLowerCase()] && arAllActivities[t.toLowerCase()]['JSCLASS'])
{
a = eval("new "+arAllActivities[t.toLowerCase()]['JSCLASS']+"()");
if(!oActivity.Properties)
oActivity.Properties = {};
else if (oActivity.Properties instanceof Array)
{
var k, properties = BX.clone(oActivity.Properties);
oActivity.Properties = {};
for (k in properties)
if (properties.hasOwnProperty(k))
oActivity.Properties[k] = properties[k];
}
if(!oActivity.Properties['Title'])
oActivity.Properties['Title'] = arAllActivities[t.toLowerCase()]['NAME'];
if(!oActivity.Icon && arAllActivities[t.toLowerCase()]['ICON'])
oActivity.Icon = arAllActivities[t.toLowerCase()]['ICON'];
}
else if (typeof window[t] !== 'undefined')
a = eval("new " + t + "()");
else
a = new UnknownBizProcActivity();
a.Init(oActivity);
return a;
}
function JSToPHPHidd(v, ob, varname)
{
if (typeof BPDesignerUseJson !== 'undefined' && BPDesignerUseJson)
{
v[varname] = JSON.stringify(ob, function (i, v)
{
if (typeof(v) == 'boolean')
{
return v ? '1' : '0';
}
return v;
});
return true;
}
var res, i, key;
if(typeof(ob)=='object')
{
res = [];
var isSimpleArray = false;
if(ob instanceof Array)
{
isSimpleArray = true;
for(i in ob)
{
if(parseInt(i)!=i)
{
isSimpleArray = false;
break;
}
}
}
if(isSimpleArray)
{
for(i=0; i<ob.length; i++)
JSToPHPHidd(v, ob[i], varname+'['+i+']');
}
else
{
for(key in ob)
JSToPHPHidd(v, ob[key], varname+'['+key+']');
}
return true;
}
if(typeof(ob)=='boolean')
{
if(ob)
v[varname] = "1";
else
v[varname] = "0";
return true;
}
v[varname] = ob;
return true;
}
function JSToPHP(ob, varname)
{
if (typeof BPDesignerUseJson !== 'undefined' && BPDesignerUseJson)
{
return varname + '=' + encodeURIComponent(JSON.stringify(ob, function (i, v)
{
if (typeof(v) == 'boolean')
{
return v ? '1' : '0';
}
return v;
}));
}
var res, i, key;
if(typeof(ob)=='object')
{
res = [];
var isSimpleArray = false;
if(ob instanceof Array)
{
isSimpleArray = true;
for(i in ob)
{
if(parseInt(i)!=i)
{
isSimpleArray = false;
break;
}
}
}
if(isSimpleArray)
{
for(i=0; i<ob.length; i++)
res.push(JSToPHP(ob[i], varname+'['+i+']'));
}
else
{
for(key in ob)
res.push(JSToPHP(ob[key], varname+'['+key+']'));
}
return res.join("&", res);
}
if(typeof(ob)=='boolean')
{
if(ob)
return varname + '=1';
return varname + "=0";
}
return varname + '=' + encodeURIComponent(ob);
}
function ActGetRealPos(el)
{
if(!el || !el.offsetParent)
return false;
return BX.pos(el, true);
}
function XMLEncode(str)
{
if(!(typeof(str) == "string" || str instanceof String))
return str;
str = str.replace(/&/g, '&');
str = str.replace(/"/g, '"');
str = str.replace(/'/g, ''');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
return str;
}
function HTMLEncode(str)
{
if(!(typeof(str) == "string" || str instanceof String))
return str;
str = str.replace(/&/g, '&');
str = str.replace(/"/g, '"');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
return str;
}
function GenUniqId()
{
return parseInt(Math.random()*100000)+'_'+parseInt(Math.random()*100000)+'_'+parseInt(Math.random()*100000)+'_'+parseInt(Math.random()*100000);
}
function FindActivityById(template, id)
{
if(template.Name == id)
return template;
var ar = false;
if(template.Children)
{
for(var i=0; i<template.Children.length; i++)
{
ar = FindActivityById(template.Children[i], id);
if(ar)
return ar;
}
}
return ar;
}
function _crt(r, c)
{
r = r || 1;
c = c || 1;
var i, j, row, cell, t = document.createElement('TABLE');
t.width = '100%';
t.cellSpacing = '0';
t.cellPadding = '0';
t.border = '0';
for (i = 0; i < r; i++)
{
row = t.insertRow(-1);
for (j = 0; j < c; j++)
{
cell = row.insertCell(-1);
cell.align = 'center';
cell.vAlign = 'center';
}
}
return t;
}
///////////////////////////////////////////////////////////////////////////////////////
// BizProcActivity
///////////////////////////////////////////////////////////////////////////////////////
BizProcActivity = function()
{
var ob = this;
ob.childActivities = [];
ob.parentActivity = null;
ob.Name = 'A'+ GenUniqId();
ob.Type = 'Activity';
ob.Properties = {'Title': ''};
arAllId[ob.Name] = true;
this.Init = function(oActivity)
{
if(oActivity.Name)
{
if(!arAllId[oActivity.Name])
{
delete arAllId[this.Name];
this.Name = oActivity.Name;
arAllId[this.Name] = true;
}
}
if(oActivity['Properties'])
this.Properties = BX.clone(oActivity['Properties']);
if(oActivity['Icon'])
this.Icon = oActivity['Icon'];
if(oActivity.Type)
this.Type = oActivity.Type;
this.height = 0;
this.width = 0;
var activity;
this.childActivities = [];
if(!oActivity.Children && oActivity.childActivities)
oActivity.Children = oActivity.childActivities;
for(var i in oActivity.Children)
{
if (!oActivity.Children.hasOwnProperty(i))
continue;
activity = CreateActivity(oActivity.Children[i]);
activity.parentActivity = this;
this.childActivities[this.childActivities.length] = activity;
}
};
ob.SerializeToXML = function (e)
{
if(ob.childActivities)
{
var s = '<activity class="'+XMLEncode(ob.Type)+'" name="'+XMLEncode(ob['Properties'].Title)+'" id="'+XMLEncode(ob.Name)+'" params="" >';
for(var i = 0; i < ob.childActivities.length; i++)
s = s + ob.childActivities[i].SerializeToXML();
return s + '</activity>';
}
else
return '<activity class="'+XMLEncode(ob.Type)+'" name="'+XMLEncode(ob['Properties'].Title)+'" id="'+XMLEncode(ob.Name)+'" params="" />';
};
ob.Serialize = function ()
{
var s = {'Type': ob.Type, 'Name': ob.Name, 'Properties': ob.Properties, 'Children': []};
if(ob.childActivities)
{
for(var i = 0; i < ob.childActivities.length; i++)
s['Children'].push(ob.childActivities[i].Serialize());
}
return s;
};
ob.OnRemoveClick = function (e)
{
ob.parentActivity.RemoveChild(ob);
};
ob.OnSettingsClick = function (e)
{
ob.Settings();
};
ob.Settings = function (e)
{
(new BX.CDialog({
'content_url': "/bitrix/admin/"+MODULE_ID+"_bizproc_activity_settings.php?mode=public&bxpublic=Y&lang="+BX.message('LANGUAGE_ID')+"&entity="+ENTITY,
'content_post': 'id='+encodeURIComponent(ob.Name)+ '&' +
'decode=Y&' +
'document_type=' + encodeURIComponent(document_type) + '&' +
'activity='+encodeURIComponent(ob.Type)+ '&' +
JSToPHP(arWorkflowParameters, 'arWorkflowParameters') + '&' +
JSToPHP(arWorkflowVariables, 'arWorkflowVariables') + '&' +
JSToPHP(Array(rootActivity.Serialize()), 'arWorkflowTemplate') + '&' +
'current_site_id=' + encodeURIComponent(CURRENT_SITE_ID) + '&' +
'sessid=' + BX.bitrix_sessid(),
'height': 500,
'width': 800
})).Show();
};
ob.RemoveResources = function (self)
{
if(ob.div && ob.div.parentNode)
{
ob.div.parentNode.removeChild(ob.div);
ob.div = null;
}
};
ob.RemoveChild = function (ch)
{
var i, j;
for(i = 0; i<ob.childActivities.length; i++)
{
if(ob.childActivities[i].Name == ch.Name)
{
while(ch.childActivities.length > 0)
{
ch.childActivities[0].parentActivity.RemoveChild(ch.childActivities[0]);
}
ch.childActivities = [];
ch.RemoveResources();
ob.childActivities[i].parentActivity = null;
delete ob.childActivities[i];
for(j = i; j<ob.childActivities.length - 1; j++)
ob.childActivities[j] = ob.childActivities[j+1];
ob.childActivities.pop();
delete arAllId[ch.Name];
break;
}
}
BPTemplateIsModified = true;
};
ob.SetError = function (s, setFocus)
{
if (!ob.div)
{
return false;
}
if(s===false)
ob.div.className = 'activity';
else
ob.div.className = 'activityerr';
if (setFocus === true && s !== false)
{
BX.scrollToNode(ob.div);
}
};
ob.Draw = function (divC)
{
ob.div = divC.appendChild(document.createElement('DIV'));
ob.div.className = 'activity';
var d1 = ob.div.appendChild(document.createElement('DIV'));
d1.className = 'activityhead';
var d11 = d1.appendChild(document.createElement('DIV'));
d11.className = 'activityheadr';
var d111 = d11.appendChild(document.createElement('DIV'));
d111.className = 'activityheadl';
var a1 = d111.appendChild(document.createElement('A'));
a1.className = 'activitydel';
a1.onclick = this.OnRemoveClick;// this!
var a2 = d111.appendChild(document.createElement('A'));
a2.className = 'activityset';
a2.onclick = this.OnSettingsClick;// this!
if(this.OnHideClick)
{
var a3 = d111.appendChild(document.createElement('A'));
a3.className = 'activitymin';
a3.onclick = this.OnHideClick;// this!
}
var sp = d111.appendChild(document.createElement('DIV'));
//sp.innerHTML = HTMLEncode(ob['Properties']['Title']);
sp.style.padding = '5px';
sp.style.cursor = 'move';
sp.onmousedown = function (e)
{
if(!e)
e = window.event;
var div = DragNDrop.StartDrag(e, ob);
div.innerHTML = this.parentNode.parentNode.parentNode.parentNode.parentNode.innerHTML;
div.style.width = this.parentNode.parentNode.parentNode.parentNode.offsetWidth + 'px';
}
//d111.style.height = '10px';
var d2 = ob.div.appendChild(document.createElement('DIV'));
d2.style.backgroundColor = '#ffffff';
d2.style.borderLeft = '2px #bebabb solid';
d2.style.borderRight = '2px #bebabb solid';
d2.style.overflowX = 'hidden';
d2.style.overflowY = 'hidden';
d2.style.height = (ob.activityHeight ? ob.activityHeight : '30px');
d2.ondblclick = ob.OnSettingsClick;
if(ob.activityContent)
{
d2.appendChild(ob.activityContent);
}
else
{
var act = d2.appendChild(document.createElement('DIV'));
if(ob.Icon)
act.style.background = 'url('+ob.Icon+') left center no-repeat';
else
act.style.background = 'url(/bitrix/images/bizproc/act_icon.gif) left center no-repeat';
act.style.height = '30px';
act.style.margin = '2px';
act.style.paddingLeft = '24px';
act.style.textAlign = 'left';
act.innerHTML = HTMLEncode(ob['Properties']['Title']);
act.setAttribute('title', ob['Properties']['Title']);
}
var d3 = ob.div.appendChild(document.createElement('DIV'));
d3.style.background = 'url(/bitrix/images/bizproc/act_b.gif)';
d3.style.height = '4px';
d3.style.overflowY = 'hidden';
var d33 = d3.appendChild(document.createElement('DIV'));
d33.style.background = 'url(/bitrix/images/bizproc/act_br.gif) right top no-repeat';
var d333 = d33.appendChild(document.createElement('DIV'));
d333.style.background = 'url(/bitrix/images/bizproc/act_bl.gif) left top no-repeat';
d333.style.height = '4px';
ob.div.style.margin = '0 auto';
ob.div.style.width = (ob.activityWidth ? ob.activityWidth : '170px');
if(ob.CheckFields && ob.CheckFields()===false)
ob.SetError(true);
};
this.SetHeight = function (iHeight)
{
this.height = iHeight;
};
ob.findChildById = function (id)
{
if(ob.childActivities)
{
for(var i = 0; i < ob.childActivities.length; i++)
{
if (id === ob.childActivities[i]['Name'])
{
return ob.childActivities[i];
}
else
{
var found = ob.childActivities[i].findChildById(id);
if (found)
{
return found;
}
}
}
}
return null;
}
};
function _DragNDrop()
{
var ob = this;
var drdrop, antiselect;
var dragging = true;
ob.GetDrDr = function()
{
if(ob.drdrop)
return;
ob.drdrop = document.body.appendChild(document.createElement('DIV'));
ob.drdrop.style.display = 'none';
ob.drdrop.style.position = 'absolute';
ob.drdrop.style.zIndex = '50000';
ob.drdrop.style.MozOpacity = 0.60;
ob.drdrop.style.opacity = 0.60;
ob.drdrop.style.filter = 'gray() alpha(opacity=60)';
ob.drdrop.style.border = '1px solid #CCCCCC';
ob.drdrop.style.fontSize = '12px';
ob.antiselect = document.body.appendChild(document.createElement('DIV'));
ob.antiselect.id = "antiselect";
//ob.antiselect.style.height = '100%';
//ob.antiselect.style.width = '100%';
ob.antiselect.style.left = '0';
ob.antiselect.style.top = '0';
ob.antiselect.style.position = 'absolute';
ob.antiselect.style.MozUserSelect = 'none !important';
ob.antiselect.style.display = 'none';
ob.antiselect.style.backgroundColor = '#FFFFFF';
ob.antiselect.style.MozOpacity = 0.01;
ob.antiselect.style.zIndex = '100000';
jsUtils.addEvent(document.body, "mousemove", ob.Dragging);
jsUtils.addEvent(document.body, "mouseup", ob.Drop);
}
ob.obj = null;
ob.StartDrag = function (e, obj)
{
ob.obj = obj;
ob.GetDrDr();
if(!e)
e = window.event;
ob.antiselect.style.display = 'block';
var windowSize = jsUtils.GetWindowScrollSize();
ob.antiselect.style.width = windowSize.scrollWidth + "px";
ob.antiselect.style.height = windowSize.scrollHeight + "px";
ob.antiselect.style.opacity = 0.01;
ob.antiselect.style.filter = 'gray() alpha(opacity=01)';
ob.dragging = true;
ob.drdrop.style.display = 'block';
ob.scrollPos = jsUtils.GetWindowScrollPos();
ob.drdrop.style.top = e.clientY + ob.scrollPos.scrollTop + 1 +'px';
ob.drdrop.style.left = e.clientX + ob.scrollPos.scrollLeft + 1 + 'px';
return ob.drdrop;
}
ob.Handlers = {};
ob.AddHandler = function (eventName, func)
{
ob.Handlers[eventName] = ob.Handlers[eventName] || [];
var i = 'i' + Math.random();
ob.Handlers[eventName][i] = func;
return i;
}
ob.RemoveHandler = function (eventName, i)
{
if(ob.Handlers[eventName][i])
delete ob.Handlers[eventName][i];
}
ob.Dragging = function (e)
{
if(!ob.dragging)
return;
if(!e)
e = window.event;
BX.fixEventPageXY(e);
var X = e.pageX;
var Y = e.pageY;
ob.drdrop.style.left = X + 1 + 'px';
ob.drdrop.style.top = Y + 1 + 'px';
var scrollSize = BX.GetWindowInnerSize();
var scrollPos = BX.GetWindowScrollPos();
if((scrollSize.innerHeight - 30) < e.clientY)
window.scrollBy(0, 20);
if((scrollSize.innerWidth - 30) < e.clientX)
window.scrollBy(20, 0);
if(scrollPos.scrollTop>0 && e.clientY<30)
window.scrollBy(0, -20);
if(scrollPos.scrollLeft>0 && e.clientX<30)
window.scrollBy(-20, 0);
if(document.selection && document.selection.empty)
document.selection.empty();
else
window.getSelection().removeAllRanges();
for(var i in ob.Handlers['ondragging'])
{
if (!ob.Handlers['ondragging'].hasOwnProperty(i))
continue;
if (ob.Handlers['ondragging'][i])
ob.Handlers['ondragging'][i](e, X, Y);
}
}
ob._UnS = function ()
{
if(ob.antiselect)
ob.antiselect.style.display = 'none';
}
ob.Drop = function (e)
{
if(!ob.dragging)
return;
if(!e)
e = window.event;
var scrollPos = jsUtils.GetWindowScrollPos();
var X = e.clientX + scrollPos.scrollLeft + 1 + 'px';
var Y = e.clientY + scrollPos.scrollTop + 1 +'px';
for(var i in ob.Handlers['ondrop'])
{
if (!ob.Handlers['ondrop'].hasOwnProperty(i))
continue;
if (ob.Handlers['ondrop'][i])
ob.Handlers['ondrop'][i](X, Y, e);
}
ob.dragging = false;
ob.drdrop.style.display = 'none';
setTimeout(ob._UnS, 0);
}
}
UnknownBizProcActivity = function()
{
var ob = new BizProcActivity();
ob.Draw = function (divC)
{
ob.div = divC.appendChild(document.createElement('DIV'));
ob.div.className = 'activityerr';
var d1 = ob.div.appendChild(document.createElement('DIV'));
d1.className = 'activityhead';
var d11 = d1.appendChild(document.createElement('DIV'));
d11.className = 'activityheadr';
var d111 = d11.appendChild(document.createElement('DIV'));
d111.className = 'activityheadl';
var a1 = d111.appendChild(document.createElement('A'));
a1.className = 'activitydel';
a1.onclick = this.OnRemoveClick;// this!
var sp = d111.appendChild(document.createElement('DIV'));
//sp.innerHTML = HTMLEncode(ob['Properties']['Title']);
sp.style.padding = '5px';
sp.style.cursor = 'not-allowed';
var d2 = ob.div.appendChild(document.createElement('DIV'));
d2.style.backgroundColor = '#E6E6E6';
d2.style.borderLeft = '2px #bebabb solid';
d2.style.borderRight = '2px #bebabb solid';
d2.style.overflowX = 'hidden';
d2.style.overflowY = 'hidden';
d2.style.height = (ob.activityHeight ? ob.activityHeight : '30px');
var act = d2.appendChild(document.createElement('DIV'));
act.style.background = 'url(/bitrix/images/bizproc/act_icon.gif) left center no-repeat';
act.style.height = '30px';
act.style.margin = '2px';
act.style.paddingLeft = '24px';
act.style.textAlign = 'left';
act.innerHTML = HTMLEncode(ob['Properties']['Title']);
act.setAttribute('title', ob['Properties']['Title']);
var d3 = ob.div.appendChild(document.createElement('DIV'));
d3.style.background = 'url(/bitrix/images/bizproc/act_bt.gif)';
d3.style.backgroundColor = '#E6E6E6';
d3.style.height = '4px';
d3.style.overflowY = 'hidden';
var d33 = d3.appendChild(document.createElement('DIV'));
d33.style.background = 'url(/bitrix/images/bizproc/act_br.gif) right top no-repeat';
var d333 = d33.appendChild(document.createElement('DIV'));
d333.style.background = 'url(/bitrix/images/bizproc/act_bl.gif) left top no-repeat';
d333.style.height = '4px';
ob.div.style.margin = '0 auto';
ob.div.style.width = (ob.activityWidth ? ob.activityWidth : '170px');
};
return ob;
};
BX.namespace('BX.Bizproc');
BX.Bizproc.cloneTypeControl = function(tableID)
{
var tbl = document.getElementById(tableID);
var cnt = tbl.rows.length;
var oRow = tbl.insertRow(cnt);
var oCell = oRow.insertCell(0);
var sHTML = tbl.rows[cnt - 1].cells[0].innerHTML;
var p = 0, s, e, n;
while (true)
{
s = sHTML.indexOf('[n', p);
if (s < 0)
break;
e = sHTML.indexOf(']', s);
if (e < 0)
break;
n = parseInt(sHTML.substr(s + 2, e - s));
sHTML = sHTML.substr(0, s) + '[n' + (++n) + ']' + sHTML.substr(e + 1);
p = s + 1;
}
p = 0;
while (true)
{
s = sHTML.indexOf('__n', p);
if (s < 0)
break;
e = sHTML.indexOf('_', s + 2);
if (e < 0)
break;
n = parseInt(sHTML.substr(s + 3, e - s));
sHTML = sHTML.substr(0, s) + '__n' + (++n) + '_' + sHTML.substr(e + 1);
p = e + 1;
}
oCell.innerHTML = sHTML;
var pattern = new RegExp('<' + 'script' + '>[^\000]*?<' + '\/' + 'script' + '>', 'ig');
var code = sHTML.match(pattern);
if (code)
{
for (var i = 0; i < code.length; i++)
{
if (code[i] != '')
{
s = code[i].substring(8, code[i].length - 9);
jsUtils.EvalGlobal(s);
}
}
}
};
BX.Bizproc.cloneTypeControlHtml = function(tableID, wrapperId)
{
var tbl = document.getElementById(tableID);
var cnt = tbl.rows.length;
var oRow = tbl.insertRow(cnt);
var oCell = oRow.insertCell(0);
var sHTML = tbl.rows[cnt - 1].cells[0].innerHTML;
var p = 0, s, e, n = 0;
s = sHTML.indexOf('[n', p);
if (s > -1)
{
e = sHTML.indexOf(']', s);
if (e > -1)
{
n = parseInt(sHTML.substr(s + 2, e - s));
++n;
}
}
BX.ajax({
method: 'GET',
dataType: 'html',
url: '/bitrix/tools/bizproc_get_html_editor.php?site_id='
+BX.message('SITE_ID')+'&editor_id='+ wrapperId+'__n'
+n+'_&field_name='+wrapperId+'[n'+n+']',
onsuccess: function (HTML)
{
oCell.innerHTML = HTML;
}
});
};
var DragNDrop = new _DragNDrop();
}