Показать сообщение отдельно
Старый 04.08.2009, 17:23   #1  
Alberto Farinacci is offline
Alberto Farinacci
Участник
 
26 / 14 (1) ++
Регистрация: 06.07.2009
Объединение двух скриптов на одном событие OnLoad
Коллеги, всем доброго вечера!

Возникла необходимость помещения 2 скриптов на одно событие OnLoad. Ни как не получается объединить их. Доэтого ни разу не программировал на Java, пользуюсь готовыми скриптами.

Ниже приведены сами скрипты.


Первый скрипт (скрипт открытия фалового менеджера в окне iFrame):

// JavaScript File
function OnCrmPageLoad() {
//Измените название поля на Ваше
var networkPath = new NetworkPath("new_docs");
//Пример добавления параметра к строке запроса
networkPath.Params.Add("test","1");
//Пример удаления параметра из строки запроса
networkPath.Params.Remove("test");
//Пример изменения дефолтного стиля
networkPath.Style.Add("color","red");
//Преобразование текстового поля в ссылку
networkPath.Transform();
}

function NetworkPath(baseControlId) {
nk = this;
nk.ID = baseControlId;
nk.Control = document.all[nk.ID];
/* Путь по умолчанию */
nk.Path = "\\\\server\\documents"; //default path
nk.Window = null;
/* Свойства File Explorer (window.open)*/
nk.Features = new Dictionary(",","=");
/* Если Вы хоите то можете расширить Explorer.aspx и добавить больше парметров строки запроса */
nk.Params = new Dictionary("&","=");
/* Дополнительные стилевые правила */
nk.Style = new Dictionary(";",":");

nk.Transform = function() {
if (nk.Control) {
/* Назначает дефлотный путь если поле с сетевым адресом пустое */
if (nk.Control.DataValue == null) {
nk.Control.DataValue = nk.Path;
}

nk.Control.title = "Дважды щелкните чтобы открыть Network Explorer";
/* Параметры окна по умолчанию */
if (!nk.Features.Exist("width")) {
nk.Features.Add("width",700);
}
if (!nk.Features.Exist("height")) {
nk.Features.Add("height",400);
}
if (!nk.Features.Exist("resize")) {
nk.Features.Add("resize","yes");
}
if (!nk.Features.Exist("toolbar")) {
nk.Features.Add("toolbar","no");
}
if (!nk.Features.Exist("menubar")) {
nk.Features.Add("menubar","no");
}
if (!nk.Features.Exist("titlebar")) {
nk.Features.Add("titlebar","no");
}
/* Прикрепление проверки на события изменения и сохраниения */
nk.Control.attachEvent( "onchange" , nk.Validate );
crmForm.attachEvent( "onsave" , nk.Validate );

/* Задаем стиль поля */
nk.Style.Add("text-decoration","underline");
if (!nk.Style.Exist("color")) {
nk.Style.Add("color","blue");
}
nk.Style.Add("cursor","hand");
nk.Control.style.cssText += ";" + nk.Style.ToString();

/* Обрабатываем двойной щелчок */
nk.Control.ondblclick = nk.Open;
}
}

nk.Validate = function() {
if (nk.Control.DataValue == null) {
return true;
}

/* Проверка \\ UNC пути или сетевого диска */
var regex = new RegExp("^(\\\\|[a-zA-Z]");
if (!regex.exec(nk.Control.DataValue)) {
alert("Не корректный сетевой адрес или диск");
return (event.returnValue = false);
}

return true;
}

nk.Open = function() {
if (nk.Control.DataValue != null) {
nk.Window = window.open( SERVER_URL + "/isv/explorer.aspx?path=" + nk.Control.DataValue + nk.Params.ToString() , "" , nk.Features.ToString());
}
}

nk.Close = function() {
nk.Window.close();
}

/* Пары ключ, значение */
function Dictionary(sep,delim) {
this.list = [];
this.Seperator = sep;
this.Delimiter = delim

this.Add = function(key , value) {
this.list[key] = value;
}

this.Remove = function(key) {
this.list[key] = "";
}

this.Exist = function(key) {
return this.list[key] != null && this.list[key] != "";
}

this.ToString = function() {
var result = new StringBuilder();
result.Append(this.Seperator);
for(var key in this.list) {
if (this.list[key]!="") {
result.Append(key).Append(this.Delimiter);
result.Append(this.list[key]).Append(this.Seperator);
}
}
var tmp = result.ToString();
return tmp.substring(0,tmp.length-1);
}
}

function StringBuilder() {
this.data = [];

this.Append = function(text) {
this.data[this.data.length] = text;
return this;
}

this.Reset = function() {
this.data = [];
}

this.ToString = function() {
return this.data.join("");
}
}
}

OnCrmPageLoad();


Второй скрипт (доработка компании которая нам внедряла проект CRM)

//SN.BEGIN.TEMP!!!!!!!!!!!

document.all.navItemPlan.onclick = function redir()
{
openIsvWin('about:blank', false, -1, ''); document.all.navItemPlanAreaFrame.src='/AdvancedFind/AdvFind_JobPlan.aspx';
}

document.all.navItemFact.onclick = function redir()
{
openIsvWin('about:blank', false, -1, ''); document.all.navItemFactAreaFrame.src='/AdvancedFind/AdvFind_JobFact.aspx';
}

document.all.navItemComp.onclick = function redir()
{
openIsvWin('about:blank', false, -1, ''); document.all.navItemCompAreaFrame.src='/AdvancedFind/AdvFind_Competitor.aspx';
}
//SN.END.TEMP!!!!!!!!!!!!


try { document.all.navQuotes.style.display = 'none';}catch (e) {}
try { document.all.navOrders.style.display = 'none';}catch (e) {}
try { document.all.navInvoices.style.display = 'none';}catch (e) {}
try { document.all.navProducts.style.display = 'none';}catch (e) {}
try { document.all.nav_new_opportunity_opportunity.childNodes[1].innerText = 'Дочерние проекты';}catch (e) {}
try { document.all._NA_SFA.parentNode.style.display = 'none';}catch (e) {}



if (crmForm.all.new_salestatus.DataValue == 1)
{
for (var i=0; i< document.all.tab0.all.length; i++)
{
document.all.tab0.all[i].disabled = true;
}
}
//else
//{
//for (var i=0; i< document.all.tab1.all.length; i++)
//{
// document.all.tab1.all[i].disabled = true;
//}

//}

//try {document.getElementById('{abcd867b-8348-4483-8345-c4decb74d2c2}').style.display = 'none';} catch (e) {}

crmForm.all.new_integratorid.lookupbrowse = 1;
crmForm.all.new_integratorid.AddParam("search", "<fetch mapping='logical'><entity name='account'><all-attributes/><link-entity name='new_accountstatus' from='new_accountid' to='accountid' link-type='inner'><filter type='and'><condition attribute='new_statusname' operator='eq' value='Интегратор'/></filter></link-entity></entity></fetch>");

if (crmForm.FormType == 1)
{
var lookupData = new Array();
var lookupItem= new Object();
lookupItem.id = '{749DE47F-7A2F-DE11-BC01-000C294B775D}';
lookupItem.typename = 'transactioncurrency';
lookupItem.name = 'рубль';
lookupData[0] = lookupItem;
crmForm.all.new_transactioncurrencyid.DataValue = lookupData;
}