1var IsMenuShown=false; 2var itemTableDeferred=null; 3var itemTable=null; 4var imageCell=null; 5var onKeyPress=false; 6var downArrowText=null; 7var currentCtx=null; 8var currentEditMenu=null; 9var currentItemID=null; 10var currentItemAppName=null; 11var currentItemProgId=null; 12var currentItemIcon=null; 13var currentItemOpenControl=null; 14var currentItemFileUrl=null; 15var currentItemFSObjType=null; 16var currentItemCheckedOutUserId=null; 17var currentItemCheckoutExpires=null; 18var currentItemModerationStatus=null; 19var currentItemUIString=null; 20var currentItemCheckedoutToLocal=null; 21var bIsCheckout=0; 22var currentItemCanModify=null; 23var currentItemPermMaskH=null; 24var currentItemPermMaskL=null; 25var currentItemIsEventsExcp=null; 26var currentItemIsEventsDeletedExcp=null; 27var UTF8_1ST_OF_2=0xc0 ; 28var UTF8_1ST_OF_3=0xe0 ; 29var UTF8_1ST_OF_4=0xf0 ; 30var UTF8_TRAIL=0x80 ; 31var HIGH_SURROGATE_BITS=0xD800 ; 32var LOW_SURROGATE_BITS=0xDC00 ; 33var SURROGATE_6_BIT=0xFC00 ; 34var SURROGATE_ID_BITS=0xF800 ; 35var SURROGATE_OFFSET=0x10000; 36function escapeProperlyCoreCore(str, bAsUrl, bForFilterQuery, bForCallback) 37{ 38 var strOut=""; 39 var strByte=""; 40 var ix=0; 41 var strEscaped=" \"%<>\'&"; 42 if (typeof(str)=="undefined") 43 return ""; 44 for (ix=0; ix < str.length; ix++) 45 { 46 var charCode=str.charCodeAt(ix); 47 var curChar=str.charAt(ix); 48 if(bAsUrl && (curChar=='#' || curChar=='?') ) 49 { 50 strOut+=str.substr(ix); 51 break; 52 } 53 if (bForFilterQuery && curChar=='&') 54 { 55 strOut+=curChar; 56 continue; 57 } 58 if (charCode <=0x7f) 59 { 60 if (bForCallback) 61 { 62 strOut+=curChar; 63 } 64 else 65 { 66 if ( (charCode >=97 && charCode <=122) || 67 (charCode >
67=65 && charCode <=90) || 68 (charCode >=48 && charCode <=57) || 69 (bAsUrl && (charCode >=32 && charCode <=95) && strEscaped.indexOf(curChar) < 0)) 70 { 71 strOut+=curChar; 72 } 73 else if (charCode <=0x0f) 74 { 75 strOut+="%0"+charCode.toString(16).toUpperCase(); 76 } 77 else if (charCode <=0x7f) 78 { 79 strOut+="%"+charCode.toString(16).toUpperCase(); 80 } 81 } 82 } 83 else if (charCode <=0x07ff) 84 { 85 strByte=UTF8_1ST_OF_2 | (charCode >> 6); 86 strOut+="%"+strByte.toString(16).toUpperCase() ; 87 strByte=UTF8_TRAIL | (charCode & 0x003f); 88 strOut+="%"+strByte.toString(16).toUpperCase(); 89 } 90 else if ((charCode & SURROGATE_6_BIT) !=HIGH_SURROGATE_BITS) 91 { 92 strByte=UTF8_1ST_OF_3 | (charCode >> 12); 93 strOut+="%"+strByte.toString(16).toUpperCase(); 94 strByte=UTF8_TRAIL | ((charCode & 0x0fc0) >> 6); 95 strOut+="%"+strByte.toString(16).toUpperCase(); 96 strByte=UTF8_TRAIL | (charCode & 0x003f); 97 strOut+="%"+strByte.toString(16).toUpperCase(); 98 } 99 else if (ix < str.length - 1) 100 { 101 var charCode=(charCode & 0x03FF) << 10; 102 ix++; 103 var nextCharCode=str.charCodeAt(ix); 104 charCode |=nextCharCode & 0x03FF; 105 charCode+=SURROGATE_OFFSET; 106 strByte=UTF8_1ST_OF_4 | (charCode >> 18); 107 strOut+="%"+strByte.toString(16).toUpperCase(); 108 strByte=UTF8_TRAIL | ((charCode & 0x3f000) >> 12); 109 strOut+="%"+strByte.toString(16).toUpperCase(); 110 strByte=UTF8_TRAIL | ((charCode & 0x0fc0) >> 6); 111 strOut+="%"+strByte.toString(16).toUpperCase(); 112 strByte=UTF8_TRAIL | (charCode & 0x003f); 113 strOut+="%"+strByte.toString(16).toUpperCase(); 114 } 115 } 116 return strOut; 117} 118function escapeProperly(str) 119{ 120 return escapeProperlyCoreCore(str, false, false, false); 121} 122function escapeProperlyCore(str, bAsUrl) 123{ 124 return escapeProperlyCoreCore(str, bAsUrl, false, false); 125} 126function escapeUrlForCallback(str) 127{ 128 var iPound=str.indexOf("#"); 129 var iQues=str.indexOf("?"); 130 if ((iPound > 0) && ((iQues==-1) || (iPound < iQues))) 131 { 132 var strNew=str.substr(0, iPound); 133 if (iQues > 0) 134 { 135 strNew+=str.substr(iQues); 136 } 137 str=strNew; 138 } 139 return escapeProperlyCoreCore(str, true, false, true); 140} 141function PageUrlValidation(url) 142{ 143 if (url.substr(0, 4) !="http" && url.substr(0,1) !="/") 144 { 145 var L_InvalidPageUrl_Text="Invalid page URL: "; 146 alert(L_InvalidPageUrl_Text); 147 return ""; 148 } 149 else 150 return url; 151} 152var g_ExpGroupWPState=new LRUCache(); 153function makeAbsUrl(strUrl) 154{ 155 if (strUrl.length > 0 && "/"==strUrl.substr(0, 1)) 156 { 157 strUrl=window.location.protocol+"//"+window.location.host+strUrl; 158 } 159 return strUrl; 160} 161function FilterNoteField(view, fieldName, fieldValue, keyCode) 162{ 163 if (keyCode !=13) return; 164 event.returnValue=false; 165 var strDocUrl=window.location.href; 166 pagedPart=/&Paged=TRUE&p_[^&]*&PageFirstRow=[^&]*/gi; 167 strDocUrl=strDocUrl.replace(pagedPart, ""); 168 viewGuid=GetUrlKeyValue("View", true); 169 if (viewGuid=="") 170 { 171 strDocUrl=StURLSetVar2(strDocUrl, "View", view); 172 viewGuid=view; 173 } 174 if (view.toUpperCase() !=viewGuid.toUpperCase()) 175 { 176 var encodedView=escapeProperly(view); 177 if (encodedView.toUpperCase() !=viewGuid.toUpperCase()) 178 { 179 var pattern=/\?[^?]*/i; 180 var idxQuery=strDocUrl.indexOf("?"); 181 if (idxQuery !=-1) 182 strDocUrl=strDocUrl.replace(pattern,"?View="+view); 183 else 184 strDocUrl=strDocUrl+"?View="+view; 185 } 186 } 187 var arrayField=strDocUrl.match("FilterField([0-9]+)="+fieldName); 188 if (!arrayField) 189 { 190 var idxQuery=strDocUrl.indexOf("?"); 191 if (idxQuery !=-1) 192 strDocUrl=strDocUrl+"&"; 193 else 194 strDocUrl=strDocUrl+"?"; 195 i=0; 196 do 197 { 198 i++; 199 FilterArray=strDocUrl.match("FilterField"+ i+"=[^&]*"+"&FilterValue"+ i+"=[^&]*"); 200 } while (FilterArray); 201 strDocUrl=strDocUrl+"FilterField"+i+ "="+fieldName+"&FilterValue"+ i+"="+escapeProperly(fieldValue); 202 strDocUrl=strDocUrl.replace("Filter=1&", ""); 203 } 204 else 205 { 206 filterNo=parseInt(arrayField[1]); 207 var arrayValue=strDocUrl.match("&FilterValue"+ filterNo+"=[^&]*"); 208 strTemp="&"+arrayField[0]+arrayValue[0]; 209 strNewFilter="&FilterField"+arrayField[1]+ "="+fieldName+"&FilterValue"+ arrayField[1]+"="+escapeProperly(fieldValue); 210 strDocUrl=strDocUrl.replace(strTemp, strNewFilter); 211 strDocUrl=strDocUrl.replace("Filter=1&", ""); 212 } 213 window.location.href=STSPageUrlValidation(strDocUrl); 214} 215function SelectField(view, selectID) 216{ 217 var strDocUrl=window.location.href; 218 var strHash=window.location.hash; 219 var fViewReplaced=false; 220 var pattern=/\#.*/i; 221 strDocUrl=strDocUrl.replace(pattern, ""); 222 viewGuid=GetUrlKeyValue("View", true); 223 pageView=GetUrlKeyValue("PageView", true);
224 if (view.toUpperCase() !=viewGuid.toUpperCase()) 225 { 226 var encodedView=escapeProperly(view); 227 if (encodedView.toUpperCase() !=viewGuid.toUpperCase()) 228 { 229 var pattern=/\?[^?]*/i; 230 var idxQuery=strDocUrl.indexOf("?"); 231 if (idxQuery !=-1) 232 strDocUrl=strDocUrl.replace(pattern,"?View="+view); 233 else 234 strDocUrl=strDocUrl+"?View="+view; 235 fViewReplaced=true; 236 } 237 } 238 if (!fViewReplaced && (GetUrlKeyValue("SelectedID") !="")) 239 { 240 var selectIDOld=/&SelectedID=[^&]*/gi; 241 strDocUrl=strDocUrl.replace(selectIDOld, ""); 242 selectIDOld=/\?SelectedID=[^&]*&?/; 243 strDocUrl=strDocUrl.replace(selectIDOld, "?"); 244 } 245 strDocUrl=strDocUrl+"&SelectedID="; 246 strDocUrl=strDocUrl+selectID; 247 if (fViewReplaced && (pageView !="")) 248 { 249 strDocUrl=strDocUrl+"&PageView="+pageView; 250 } 251 if (strHash !="") 252 { 253 strDocUrl=strDocUrl+strHash; 254 } 255 SubmitFormPost(strDocUrl); 256} 257function FilterField(view, fieldName, fieldValue, selOption) 258{ 259 return FilterFieldV3(view, fieldName, fieldValue, selOption, false); 260} 261function FilterFieldV3(view, fieldName, fieldValue, selOption, bReturnUrl) 262{ 263 var strDocUrl=CanonicalizeUrlEncodingCase(window.location.href); 264 var arrayField=strDocUrl.match("[&\?]Paged=TRUE[^&]*"); 265 if (arrayField) 266 { 267 var pagedPart=/&p_[^&]*/gi; 268 strDocUrl=strDocUrl.replace(pagedPart, ""); 269 pagedPart=/&PageFirstRow=[^&]*/gi; 270 strDocUrl=strDocUrl.replace(pagedPart, ""); 271 pagedPart=/&PageLastRow=[^&]*/gi; 272 strDocUrl=strDocUrl.replace(pagedPart, ""); 273 pagedPart=/&PagedPrev=TRUE[^&]*/i; 274 strDocUrl=strDocUrl.replace(pagedPart, ""); 275 arrayField=strDocUrl.match("[\?]Paged=TRUE[^&]*"); 276 if (arrayField) 277 { 278 var idxQuery=strDocUrl.substr(arrayField["index"]).indexOf("&"); 279 if (idxQuery !=-1) 280 { 281 strDocUrl=strDocUrl.substr(0, arrayField["index"]+1)+ strDocUrl.substr(idxQuery+arrayField["index"]+1); 282 } 283 else 284 { 285 strDocUrl=strDocUrl.substr(0, arrayField["index"]); 286 } 287 } 288 else 289 { 290 pagedPart=/&Paged=TRUE[^&]*/i; 291 strDocUrl=strDocUrl.replace(pagedPart, ""); 292 } 293 } 294 viewGuid=GetUrlKeyValue("View", true); 295 if (viewGuid=="") 296 { 297 strDocUrl=StURLSetVar2(strDocUrl, "View", view); 298 viewGuid=view; 299 } 300 if (view.toUpperCase() !=viewGuid.toUpperCase()) 301 { 302 var encodedView=escapeProperly(view); 303 if (encodedView.toUpperCase() !=viewGuid.toUpperCase()) 304 { 305 var pattern=/\?[^?]*/i; 306 var idxQuery=strDocUrl.indexOf("?"); 307 if (idxQuery !=-1) 308 strDocUrl=strDocUrl.replace(pattern,"?View="+view); 309 else 310 strDocUrl=strDocUrl+"?View="+view; 311 } 312 } 313 arrayField=strDocUrl.match("FilterField([0-9]+)="+fieldName+"&"); 314 if (!arrayField) 315 { 316 if (0==selOption) 317 { 318 strDocUrl=strDocUrl.replace("Filter=1&", ""); 319 strDocUrl=strDocUrl.replace("?Filter=1", ""); 320 } 321 else 322 { 323 var idxQuery=strDocUrl.indexOf("?"); 324 if (idxQuery !=-1) 325 strDocUrl=strDocUrl+"&"; 326 else 327 strDocUrl=strDocUrl+"?"; 328 i=0; 329 do 330 { 331 i++; 332 FilterArray=strDocUrl.match("FilterField"+i+"=[^&]*"+ "&FilterValue"+i+"=[^&]*"); 333 } while (FilterArray); 334 strDocUrl=strDocUrl+"FilterField"+i+"="+fieldName+ "&FilterValue"+i+"="+escapeProperly(fieldValue); 335 strDocUrl=strDocUrl.replace("Filter=1&", ""); 336 } 337 } 338 else 339 { 340 filterNo=parseInt(arrayField[1]); 341 var arrayValue=strDocUrl.match("FilterValue"+filterNo+"=[^&]*"); 342 var strTemp="&"+arrayField[0]+arrayValue[0]; 343 if (0==selOption) 344 { 345 if (strDocUrl.indexOf(strTemp)==-1) 346 { 347 strTemp=arrayField[0]+arrayValue[0]+"&"; 348 } 349 strDocUrl=strDocUrl.replace(strTemp, ""); 350 j=filterNo+1; 351 FilterArray=strDocUrl.match("FilterField"+ j+"=[^&]*"+"&FilterValue"+ j+"=[^&]*"); 352 for ( i=filterNo ; FilterArray; i++) 353 { 354 strNew="FilterField"+i; 355 strOld="FilterField"+j; 356 strDocUrl=strDocUrl.replace(strOld, strNew); 357 strNew="FilterValue"+i; 358 strOld="FilterValue"+j; 359 strDocUrl=strDocUrl.replace(strOld, strNew); 360 j++; 361 FilterArray=strDocUrl.match("FilterField"+ j+"=[^&]*"+"&FilterValue"+ j+"=[^&]*"); 362 } 363 strDocUrl=strDocUrl.replace("Filter=1&", ""); 364 strDocUrl=strDocUrl.replace("?Filter=1", ""); 365 } 366 else 367 { 368 var strFirstChar; 369 if (strDocUrl.indexOf(strTemp)==-1) 370 { 371 strTemp="?"+arrayField[0]+arrayValue[0] 372 strFirstChar="?"; 373 } 374 else 375 { 376 strFirstChar="&"; 377 } 378 var strNewFilter=strFirstChar+"FilterField"+arrayField[1]+ "="+fieldName+"&FilterValue"+ arrayField[1]+"="+escapeProperly(fieldValue); 379 strDocUrl=strDocUrl.replace(strTemp, strNewFilter); 380 strDocUrl=strDocUrl.replace("Filter=1&", ""); 381 } 382 } 383 arrayField=strDocUrl.match("FilterField([0-9]+)="); 384 if (!arrayField) 385 strDocUrl=strDocUrl+"&FilterClear=1"; 386 else
387 strDocUrl=strDocUrl.replace("&FilterClear=1", ""); 388 if (bReturnUrl) 389 return strDocUrl; 390 else 391 SubmitFormPost(strDocUrl); 392} 393function CanonicalizeUrlEncodingCase(str) 394{ 395 var strOut=""; 396 var ix; 397 for (ix=0; ix < str.length; ix++) 398 { 399 var curChar=str.charAt(ix); 400 if (curChar=='%' && (ix+2) < str.length) 401 { 402 strOut+=curChar; 403 ix++; 404 strOut+=str.charAt(ix).toString().toUpperCase(); 405 ix++; 406 strOut+=str.charAt(ix).toString().toUpperCase(); 407 } 408 else 409 { 410 strOut+=curChar; 411 } 412 } 413 return strOut; 414} 415function SetControlValue(controlId, value) 416{ 417 var control=document.getElementById(controlId); 418 if (control !=null) 419 control.value=value; 420} 421var bValidSearchTerm=false; 422function SetSearchView() 423{ 424 if (typeof(bValidSearchTerm) !="undefined") 425 bValidSearchTerm=true; 426} 427function SubmitFormPost(url, bForceSubmit) 428{ 429 if (typeof(MSOWebPartPageFormName) !="undefined") 430 { 431 var form=document.forms[MSOWebPartPageFormName]; 432 if (null !=form) 433 { 434 if ((bForceSubmit !=undefined && bForceSubmit==true) 435 || !form.onsubmit || (form.onsubmit() !=false)) 436 { 437 form.action=STSPageUrlValidation(url); 438 form.method="POST"; 439 if (isPortalTemplatePage(url)) 440 form.target="_top"; 441 if (!bValidSearchTerm) 442 ClearSearchTerm(""); 443 form.submit(); 444 } 445 } 446 } 447} 448var g_varSkipRefreshOnFocus=0; 449function RefreshOnFocus() 450{ 451 if (typeof(g_varSkipRefreshOnFocus)=="undefined" || 452 !g_varSkipRefreshOnFocus) 453 { 454 var url=window.location.href; 455 var iPosition=url.indexOf("#") 456 if (iPosition==-1) 457 window.location.href=url; 458 else 459 window.location.href=url.substring(0, iPosition); 460 } 461} 462function DisableRefreshOnFocus() 463{ 464 g_varSkipRefreshOnFocus=1; 465} 466function SetWindowRefreshOnFocus() 467{ 468 window.onbeforeunload=DisableRefreshOnFocus; 469 window.onfocus=RefreshOnFocus; 470} 471function RemoveParametersFromUrl(url) 472{ 473 var paramsBeginPos=url.indexOf('?'); 474 if (paramsBeginPos==-1) 475 return url; 476 else 477 return url.substr(0, paramsBeginPos); 478} 479function GoToPageRelative(url) 480{ 481 if (url.substr(0, 4) !="http" && url.substr(0,1) !="/") 482 { 483 var currentPage=RemoveParametersFromUrl(window.location.href); 484 var pos=currentPage.lastIndexOf("/"); 485 if (pos > 0) 486 url=currentPage.substring(0, pos+1)+url; 487 } 488 GoToPage(url); 489} 490function EnterFolder(url) 491{ 492 var currentPage=RemoveParametersFromUrl(window.location.href); 493 var newPage=RemoveParametersFromUrl(url); 494 if (newPage.toLowerCase() !=currentPage.toLowerCase()) 495 STSNavigate(url); 496 else 497 SubmitFormPost(url); 498} 499function GoToDiscussion(url) 500{ 501 var ch=url.indexOf("?") >=0 ? "&" : "?"; 502 var srcUrl=GetSource(); 503 if (srcUrl !=null && srcUrl !="") 504 url+=ch+"TopicsView="+srcUrl; 505 STSNavigate(url); 506} 507function STSNavigateWithCheckoutAlert(Url, bCheckout, bIsCheckedOutToLocal, strDocument, strhttpRoot, 508 strCurrentUser, strCheckoutUser) 509{ 510 if (typeof(strCurrentUser)=="undefined" || strCurrentUser==null || strCurrentUser=="") 511 strCurrentUser=currentItemCheckedOutUserId; 512 if ((typeof(strCheckoutUser)=="undefined" || strCheckoutUser==null || strCheckoutUser=="") 513 && typeof(ctx) !="undefined") 514 { 515 strCheckoutUser=ctx.CurrentUserId; 516 } 517 if (bIsCheckedOutToLocal=="1") 518 { 519 alert(L_CannotEditPropertyForLocalCopy_Text); 520 return; 521 } 522 if (strCurrentUser !=null && 523 strCurrentUser !="" && 524 strCheckoutUser !=null && 525 strCurrentUser !=strCheckoutUser) 526 { 527 alert(L_CannotEditPropertyCheckout_Text); 528 return; 529 } 530 if (bCheckout=="1" && browseris.ie) 531 { 532 if (confirm(L_ConfirmCheckout_Text)) 533 { 534 if (strDocument.charAt(0)=="/" || strDocument.substr(0,3).toLowerCase()=="%2f") 535 strDocument=document.location.protocol+"//"+document.location.host+strDocument; 536 CheckoutviaXmlhttp(strhttpRoot,strDocument); 537 } 538 else 539 return; 540 } 541 STSNavigate(Url); 542} 543function CheckoutviaXmlhttp(strhttpRoot, strDocument) 544{ 545 var xh=new ActiveXObject("Microsoft.XMLHTTP"); 546 if (xh==null) 547 return false; 548 xh.Open("POST", strhttpRoot+"/_vti_bin/lists.asmx", false); 549 xh.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); 550 xh.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/sharepoint/soap/CheckOutFile"); 551 var soapData='<?xml version="1.0" encoding="utf-8"?>'+ '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" '+ 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+ '<soap:Body>'+ '<CheckOutFile xmlns="http://schemas.microsoft.com/sharepoint/soap/"><pageUrl>'+ strDocument+'</pageUrl></CheckOutFile></soap:Body></soap:Envelope>' 552 xh.Send(soapData); 553 if (xh.status==200 && xh.ResponseText.indexOf("true") !=0) 554 { 555 return true; 556 } 557 else 558 return false; 559} 560var g_ExtensionNotSupportCheckoutToLocal=new Array("ascx","asp", "aspx", "htm", "html","master","odc", "exe", "bat","com", "cmd", "onetoc2"); 561var g_ExtensionDefaultForRead=new Array("jpg", "jpeg","bmp", "png", "gif","onetoc2", "one", "odc"); 562function FSupportCheckoutToLocal(strExtension) 563{ 564 var fRet=true; 565 if (strExtension==null || strExtension=="") 566 return false; 567 strExtension=strExtension.toLowerCase(); 568 var ix=0; 569 for (ix=0; ix < g_ExtensionNotSupportCheckoutToLocal.length; ix++) 570 { 571 if (strExtension==g_ExtensionNotSupportCheckoutToLocal[ix]) 572 return false; 573 } 574 return true; 575} 576function FDefaultOpenForReadOnly(strExtension) 577{ 578 var fRet=false; 579 if (strExtension==null || strExtension=="") 580 return true; 581 strExtension=strExtension.toLowerCase(); 582 var ix=0; 583 for (ix=0; ix < g_ExtensionDefaultForRead.length; ix++) 584 { 585 if (strExtension==g_ExtensionDefaultForRead[ix]) 586 return true; 587 } 588 return false; 589} 590function CheckoutDocument(strhttpRoot, strDocument, strOpenControl) 591{ 592 var stsOpen=null; 593 var fRet=true; 594 var fClientCheckout=false; 595 if (strDocument.charAt(0)=="/" || strDocument.substr(0,3).toLowerCase()=="%2f") 596 strDocument=document.location.protocol+"//"+document.location.host+strDocument; 597 var strextension=SzExtension(unescapeProperly(strDocument)); 598 if (FSupportCheckoutToLocal(strextension) && 599 strOpenControl=="SharePoint.OpenDocuments.3") 600 { 601 stsOpen=StsOpenEnsureEx(strOpenControl); 602 } 603 if (stsOpen !=null) 604 { 605 try 606 { 607 fRet=stsOpen.CheckoutDocumentPrompt(unescapeProperly(strDocument), false, ""); 608 SetWindowRefreshOnFocus(); 609 fClientCheckout=true; 610 return; 611 } 612 catch (e) 613 { 614 } 615 } 616 if (!fClientCheckout) 617 NavigateToCheckinAspx(strhttpRoot, "FileName="+escapeProperly(unescapeProperly(strDocument))+"&Checkout=true"); 618} 619function NewItem(url) 620{ 621 GoToPage(url); 622} 623function EditItem(url) 624{ 625 GoToPage(url); 626} 627function GoToHistoryLink(elm, strVersion) 628{ 629 if (elm.href==null) 630 return; 631 var targetUrl=elm.href; 632 var ch=elm.href.indexOf("?") >=0 ? "&" : "?"; 633 var srcUrl=ch+"VersionNo="+strVersion; 634 var srcSourceUrl=GetSource(); 635 if (srcSourceUrl !=null && srcSourceUrl !="") 636 srcSourceUrl="&"+"Source="+srcSourceUrl; 637 var targetUrl=elm.href+srcUrl+srcSourceUrl; 638 if (isPortalTemplatePage(targetUrl)) 639 window.top.location=STSPageUrlValidation(targetUrl); 640 else
641 window.location=STSPageUrlValidation(targetUrl); 642} 643function GoToLink(elm) 644{ 645 if (elm.href==null) 646 return; 647 var ch=elm.href.indexOf("?") >=0 ? "&" : "?"; 648 var srcUrl=GetSource(); 649 if (srcUrl !=null && srcUrl !="") 650 srcUrl=ch+"Source="+srcUrl; 651 var targetUrl=elm.href+srcUrl; 652 if (isPortalTemplatePage(targetUrl)) 653 window.top.location=STSPageUrlValidation(targetUrl); 654 else 655 window.location=STSPageUrlValidation(targetUrl); 656} 657function GoBack(defViewUrl) 658{ 659 window.location.href=unescapeProperly(GetSource(defViewUrl)); 660} 661function ReplyItem(url, threading, guid, subject) 662{ 663 if(threading.length>=504) 664 { 665 var L_ReplyLimitMsg_Text="Cannot reply to this thread. The reply limit has been reached."; 666 alert(L_ReplyLimitMsg_Text); 667 } else 668 { 669 url+="?Threading="+threading; 670 url+="&Guid="+guid; 671 url+="&Subject="+subject; 672 GoToPage(url); 673 } 674} 675function GoBacktoCurrentIssue(url, issueid) 676{ 677 url+='?ID='+issueid; 678 GoToPage(url); 679} 680function CatchCreateError(strIgnore1, strIgnore2, strIgnore3) 681{ 682 return true; 683} 684function ExportToDatabase(strSiteUrl, strListID, strViewID, fUseExistingDB) 685{ 686 var L_NoWSSClient_Text="To export a list, you must have a Windows SharePoint Services-compatible application and Microsoft Internet Explorer 6.0 or greater."; 687 var L_ExportDBFail_Text="Export to database failed. To export a list, you must have a Windows SharePoint Services-compatible application."; 688 if (browseris.ie5up && browseris.win32) 689 { 690 try 691 { 692 var ExpDatabase; 693 ExpDatabase=new ActiveXObject("SharePoint.ExportDatabase"); 694 if (!ExpDatabase) 695 { 696 alert(L_NoWSSClient_Text); 697 return; 698 } 699 ExpDatabase.SiteUrl=makeAbsUrl(strSiteUrl); 700 ExpDatabase.ListID=strListID; 701 ExpDatabase.ViewID=strViewID; 702 ExpDatabase.DoExport(fUseExistingDB); 703 ExpDatabase=null; 704 } 705 catch(e) 706 { 707 alert(L_ExportDBFail_Text); 708 return; 709 } 710 } 711 else 712 { 713 alert(L_NoWSSClient_Text); 714 } 715} 716function ExportList(using) 717{ 718 var L_ExportListSpreadsheet_Text="To export a list, you must have a Windows SharePoint Services-compatible application."; 719 if ((fSSImporter && SSImporterObj.IqyImportEnabled()) || 720 confirm(L_ExportListSpreadsheet_Text)) 721 { 722 window.location.href=STSPageUrlValidation(makeAbsUrl(using)); 723 } 724} 725function ExportDiagram(weburl,listguid, listid, listname, viewname, viewguid) 726{ 727 try 728 { 729 objDiagramLaunch=new ActiveXObject("DiagramLaunch.DiagramLauncher"); 730 var bstrTemplate=""; 731 var bstrURI=weburl; 732 var bstrViewGUID=viewguid; 733 var bstrListGUID=listguid; 734 var iListID=listid; 735 objDiagramLaunch.CreateDiagram(bstrTemplate, bstrURI, bstrViewGUID, bstrListGUID, listname, viewname, iListID); 736 } 737 catch(e) 738 { 739 var L_DiagramLaunchFail_Text="Unable to create diagram."; 740 alert (L_DiagramLaunchFail_Text); 741 } 742 delete objDiagramLaunch; 743} 744var ListCtrlObj; 745var fListControl=false; 746var fListErrorShown=false; 747var L_EditInGrid_Text="The list cannot be displayed in Datasheet view for one or more of the following reasons: \n\n- A datasheet component compatible with Windows SharePoint Services is not installed.\n- Your Web browser does not support ActiveX controls. \n- Support for ActiveX controls is disabled."; 748function CatchListCreateError(strIgnore1, strIgnore2, strIgnore3) 749{ 750 alert(L_EditInGrid_Text); 751 fListErrorShown=true; 752 return false; 753} 754function EnsureListControl() 755{ 756 if (!fListControl) 757 { 758 fListErrorShown=false; 759 if (browseris.ie5up && browseris.win32) 760 { 761 var functionBody= "try" 762+"{" 763+" ListCtrlObj=new ActiveXObject(\"ListNet.ListNet\");" 764+" if (ListCtrlObj)" 765+" fListControl=true;" 766+"} catch (e)" 767+"{" 768+" fListControl=false;" 769+"};"; 770 var EnsureListControlInner=new Function(functionBody); 771 EnsureListControlInner(); 772 } 773 else 774 { 775 window.onerror=CatchListCreateError; 776 ListCtrlObj=new ActiveXObject("ListNet.ListNet"); 777 if (ListCtrlObj) 778 fListControl=true; 779 } 780 } 781 ListCtrlObj=null; 782 return fListControl; 783} 784var L_NoQuestion_Text="The survey contains no questions."; 785var L_NoVoteAllowed_Text="You are not allowed to respond again to this survey."; 786function IsVoteOK(notAllowed) 787{ 788 if (1==notAllowed) 789 alert(L_NoQuestion_Text); 790 else if (2==notAllowed) 791 alert(L_NoVoteAllowed_Text); 792 else
793 return true; 794} 795function hasHighChar(str) 796{ 797 var ix=0; 798 for (ix=0; ix < str.length; ix++) 799 { 800 if (str.charCodeAt(ix)>127) 801 return true; 802 } 803 return false; 804} 805function RemovePagingArgs(strUrl) 806{ 807 var rePagedFlag=/&*Paged=TRUE/gi; 808 strUrl=strUrl.replace(rePagedFlag, ""); 809 var rePagedPrevFlag=/&*PagedPrev=TRUE/gi; 810 strUrl=strUrl.replace(rePagedPrevFlag, ""); 811 var rePagedArgs=/&p_[^&]*/gi; 812 strUrl=strUrl.replace(rePagedArgs, ""); 813 var rePagedRow=/&PageFirstRow=[^&]*/gi; 814 strUrl=strUrl.replace(rePagedRow, ""); 815 var rePagedLastRow=/&PageLastRow=[^&]*/gi; 816 strUrl=strUrl.replace(rePagedLastRow, ""); 817 var reFilter1=/\?Filter=1&*/gi; 818 strUrl=strUrl.replace(reFilter1, "?"); 819 var reFilter2=/&Filter=1/gi; 820 strUrl=strUrl.replace(reFilter2, ""); 821 var reOrphanedQMark=/\?$/; 822 strUrl=strUrl.replace(reOrphanedQMark, ""); 823 return strUrl; 824} 825function ClearSearchTerm(guidView) 826{ 827 if (typeof(MSOWebPartPageFormName) !="undefined") 828 { 829 var form=document.forms[MSOWebPartPageFormName]; 830 if (null !=form) 831 { 832 if (guidView !=null) 833 { 834 var frmElem=form["SearchString"+guidView]; 835 if (frmElem !=null) 836 frmElem.value=""; 837 } 838 } 839 } 840 bValidSearchTerm=true; 841} 842function SubmitSearchRedirect(strUrl) 843{ 844 var frm=document.forms["frmSiteSearch"]; 845 if (frm==null) 846 { 847 if (typeof(MSOWebPartPageFormName) !="undefined") 848 frm=document.forms[MSOWebPartPageFormName]; 849 } 850 if (frm !=null) 851 { 852 var searchText=frm.elements["SearchString"].value; 853 strUrl=strUrl+"?k="+escapeProperly(searchText); 854 var searchScope=frm.elements["SearchScope"]; 855 if (searchScope !=null) 856 { 857 var searchScopeUrl=searchScope.value; 858 if (searchScopeUrl) 859 { 860 strUrl=strUrl+"&u="+escapeProperly(searchScopeUrl); 861 } 862 } 863 frm.action=strUrl; 864 frm.submit(); 865 } 866} 867function ShowGridUrlInHTML(strUrl) 868{ 869 if (strUrl.indexOf("?") > 0) 870 strUrl=strUrl+"&"; 871 else 872 strUrl=strUrl+"?"; 873 strUrl=strUrl+"ShowInGrid=HTML"; 874 return strUrl; 875} 876function SubmitSearch() 877{ 878 SubmitSearchForView(""); 879} 880function SubmitSearchForView(ViewGuid) 881{ 882 var frm=document.forms[0]; 883 var srchCtlName="SearchString"+ViewGuid; 884 var searchText=frm.elements[srchCtlName].value; 885 if (""==searchText) 886 { 887 var L_Enter_Text="Please enter one or more search words."; 888 alert(L_Enter_Text); 889 frm.elements[srchCtlName].focus(); 890 } 891 else 892 { 893 var strDocUrl; 894 strDocUrl=RemovePagingArgs(frm.action); 895 if (typeof(bGridViewPresent) !="undefined" && bGridViewPresent) 896 strDocUrl=ShowGridUrlInHTML(strDocUrl); 897 frm.action=strDocUrl; 898 frm.submit(); 899 } 900} 901function IsKeyDownSubmit(event) 902{ 903 if (event !=null) 904 { 905 var charCode; 906 var bKeyModifiers; 907 if (browseris.ie) 908 { 909 charCode=event.keyCode; 910 bKeyModifiers=event.altKey || event.ctrlKey; 911 } 912 else 913 { 914 charCode=event.which; 915 bKeyModifiers=event.modifers & 916 (event.ALT_MASK | event.CONTROL_MASK); 917 } 918 if ((charCode==13) && !bKeyModifiers) 919 return true; 920 } 921 return false; 922} 923function SearchViewKeyDown(guidView) 924{ 925 if (IsKeyDownSubmit(event)) 926 SubmitSearchForView(guidView); 927} 928function SearchKeyDown(event, strUrl) 929{ 930 if (IsKeyDownSubmit(event)) 931 { 932 SubmitSearchRedirect(strUrl); 933 return false; 934 } 935 return true; 936} 937function AlertAndSetFocus(msg, fieldName) 938{ 939 fieldName.focus(); 940 fieldName.select(); 941 window.alert(msg); 942} 943function AlertAndSetFocusForDropdown(msg, fieldName) 944{ 945 fieldName.focus(); 946 window.alert(msg); 947} 948function setElementValue(elemName, elemValue) 949{ 950 var elem=document.getElementsByName(elemName).item(0); 951 if (elem==null) 952 return false; 953 elem.value=elemValue; 954 return true; 955} 956function GetMultipleSelectedText(frmElem) { 957 if (frmElem) { 958 var strret; 959 strret=""; 960 for(var i=0; i < frmElem.options.length; i++) 961 { 962 if (frmElem.options[i].selected) 963 strret+=","+frmElem.options[i].text; 964 } 965 if (strret.length > 0) 966 strret=strret.substring(1); 967 return strret; 968 } 969 else 970 return ""; 971} 972function GetCBSelectedValues(frm) { 973 if (frm==null) 974 return; 975 var value=new Object(); 976 value.strList=""; 977 value.fAllChecked=true; 978 for (var i=0;i<frm.elements.length;i++) 979 { 980 var e=frm.elements[i]; 981 if (e.type=="checkbox" && !e.disabled ) 982 { 983 if (e.checked) 984 { 985 if (value.strList !="") 986 value.strList+=","; 987 value.strList+=e.value; 988 } 989 else 990 value.fAllChecked=false; 991 } 992 } 993 return value; 994} 995var fNewDoc=false; 996var fNewDoc2=false; 997var fNewDoc3=false; 998var L_EditDocumentProgIDError_Text="'Edit Document' requires a Windows SharePoint Services-compatible application and Microsoft Internet Explorer 6.0 or greater."; 999var L_EditDocumentRuntimeError_Text="The document could not be opened for editing. A Windows SharePoint Services compatible application could not be found to edit the document."; 1000function editDocumentWithProgID(strDocument, varProgID) 1001{ 1002 if (fNewDoc) 1003 { 1004 if (strDocument.charAt(0)=="/" || strDocument.substr(0,3).toLowerCase()=="%2f") 1005 strDocument=document.location.protocol+"//"+document.location.host+strDocument; 1006 if ((!fNewDoc2) && (!fNewDoc3)) 1007 {
1008 if(!EditDocumentButton.EditDocument(strDocument, varProgID)) 1009 alert(L_EditDocumentRuntimeError_Text); 1010 } 1011 else 1012 { 1013 if(!EditDocumentButton.EditDocument2(window, strDocument, varProgID)) 1014 alert(L_EditDocumentRuntimeError_Text); 1015 } 1016 } 1017 else 1018 { 1019 alert(L_EditDocumentProgIDError_Text); 1020 } 1021} 1022function editDocumentWithProgID2(strDocument, varProgID, varEditor, bCheckout,strhttpRoot, strCheckouttolocal) 1023{ 1024 var errorCode=editDocumentWithProgIDNoUI(strDocument, varProgID, varEditor, bCheckout,strhttpRoot, strCheckouttolocal); 1025 if (errorCode==1) 1026 { 1027 alert(L_EditDocumentRuntimeError_Text); 1028 window.onfocus=RefreshOnNextFocus; 1029 } 1030 else if (errorCode==2) 1031 alert(L_EditDocumentProgIDError_Text); 1032} 1033function editDocumentWithProgIDNoUI(strDocument, varProgID, varEditor, bCheckout,strhttpRoot, strCheckouttolocal) 1034{ 1035 var objEditor; 1036 var fRet; 1037 var fUseLocalCopy=false; 1038 varEditor=varEditor.replace(/(?:\.\d+)$/, ''); 1039 if (strDocument.charAt(0)=="/" || strDocument.substr(0,3).toLowerCase()=="%2f") 1040 strDocument=document.location.protocol+"//"+document.location.host+strDocument; 1041 var strextension=SzExtension(unescapeProperly(strDocument)); 1042 if (FSupportCheckoutToLocal(strextension)) 1043 { 1044 try 1045 { 1046 objEditor=new ActiveXObject(varEditor+".3"); 1047 if (objEditor !=null ) 1048 { 1049 if (bCheckout=="1") 1050 { 1051 if (!objEditor.CheckoutDocumentPrompt(strDocument, true, varProgID)) 1052 return 1; 1053 } 1054 else 1055 { 1056 if (strCheckouttolocal=="1") 1057 fUseLocalCopy=true; 1058 if (!objEditor.EditDocument3(window, strDocument, fUseLocalCopy, varProgID)) 1059 return 1; 1060 } 1061 var fRefreshOnNextFocus=false; 1062 fRefreshOnNextFocus=objEditor.PromptedOnLastOpen(); 1063 if (fRefreshOnNextFocus) 1064 { 1065 window.onfocus=RefreshOnNextFocus; 1066 } 1067 else 1068 { 1069 SetWindowRefreshOnFocus(); 1070 } 1071 return; 1072 } 1073 } 1074 catch(e) 1075 { 1076 } 1077 } 1078 if (bCheckout=="1") 1079 { 1080 if (confirm(L_ConfirmCheckout_Text)) 1081 NavigateToCheckinAspx(strhttpRoot,"FileName="+escapeProperly(unescapeProperly(strDocument))+"&Checkout=true"); 1082 else 1083 return; 1084 } 1085 try 1086 { 1087 objEditor=new ActiveXObject(varEditor+".2"); 1088 if (!objEditor.EditDocument2(window, strDocument, varProgID)) 1089 return 1; 1090 if(varEditor=="SharePoint.OpenXMLDocuments") 1091 { 1092 SetWindowRefreshOnFocus(); 1093 } 1094 else 1095 { 1096 window.onfocus=RefreshOnNextFocus; 1097 } 1098 return; 1099 } 1100 catch (e) 1101 { 1102 } 1103 try 1104 { 1105 objEditor=new ActiveXObject(varEditor+".1"); 1106 window.onfocus=null; 1107 if (SzExtension(strDocument)=="ppt" && varProgID=="") 1108 varProgID="PowerPoint.Slide"; 1109 if (!objEditor.EditDocument(strDocument, varProgID)) 1110 return 1; 1111 SetWindowRefreshOnFocus(); 1112 return; 1113 } 1114 catch (e) 1115 { 1116 return 2; 1117 } 1118} 1119function RefreshOnNextFocus() 1120{ 1121 SetWindowRefreshOnFocus(); 1122} 1123function createNewDocumentWithProgID2(strTemplate, strSaveLocation, strProgID, strProgID2, bXMLForm) 1124{ 1125 if (!createNewDocumentWithProgIDCore(strTemplate, strSaveLocation, strProgID, bXMLForm, false)) 1126 { 1127 createNewDocumentWithProgIDCore(strTemplate, strSaveLocation, strProgID2, bXMLForm, true); 1128 } 1129} 1130function createNewDocumentWithProgID(strTemplate, strSaveLocation, strProgID, bXMLForm) 1131{ 1132 createNewDocumentWithProgIDCore(strTemplate, strSaveLocation, strProgID, bXMLForm, true); 1133} 1134function createNewDocumentWithProgIDCore(strTemplate, strSaveLocation, strProgID, bXMLForm, bWarning) 1135{ 1136 var objEditor; 1137 var L_NewDocumentRuntimeError_Text; 1138 var L_NewDocumentError_Text; 1139 var fRefreshOnNextFocus=false; 1140 if (bXMLForm) 1141 { 1142 var L_NewDocumentRuntimeError_Text=L_NewFormLibTb1_Text; 1143 var L_NewDocumentError_Text=L_NewFormLibTb2_Text; 1144 } 1145 else 1146 { 1147 var L_NewDocumentRuntimeError_Text=L_NewDocLibTb1_Text; 1148 var L_NewDocumentError_Text=L_NewDocLibTb2_Text; 1149 } 1150 try 1151 { 1152 objEditor=new ActiveXObject(strProgID+".2"); 1153 if (!objEditor.CreateNewDocument2(window, strTemplate, strSaveLocation)) 1154 alert(L_NewDocumentRuntimeError_Text); 1155 fRefreshOnNextFocus=objEditor.PromptedOnLastOpen(); 1156 if (fRefreshOnNextFocus) 1157 { 1158 window.onfocus=RefreshOnNextFocus; 1159 } 1160 else 1161 { 1162 SetWindowRefreshOnFocus(); 1163 } 1164 return true; 1165 } 1166 catch (e) 1167 { 1168 } 1169 try 1170 { 1171 objEditor=new ActiveXObject(strProgID+".1"); 1172 window.onfocus=null; 1173 if (!objEditor.CreateNewDocument(strTemplate, strSaveLocation)) 1174 alert(L_NewDocumentRuntimeError_Text); 1175 SetWindowRefreshOnFocus(); 1176 return true; 1177 } 1178 catch (e) 1179 { 1180 if (bWarning) 1181 alert(L_NewDocumentError_Text); 1182 } 1183} 1184function createNewDocumentWithRedirect(strTemplate, strSaveLocation, strProgID, bXMLForm, strRedirectUrl, defaultItemOpen) 1185{ 1186 if (IsClientAppInstalled(strProgID) && defaultItemOpen !=1) 1187 { 1188 var strIndependentProgId=strProgID.replace(/(?:\.\d+)$/, ''); 1189 createNewDocumentWithProgID(strTemplate, strSaveLocation, strIndependentProgId, bXMLForm); 1190 } 1191 else 1192 { 1193 STSNavigate(strRedirectUrl+ "&SaveLocation="+makeAbsUrl(escapeProperly(strSaveLocation))+ "&Source="+GetSource()+ "&DefaultItemOpen="+
1193defaultItemOpen); 1194 } 1195} 1196if (typeof(ExpandBody)=="undefined") 1197{ 1198 function ExpandBody(guid, anchor) 1199 { 1200 var frm=document.forms[MSOWebPartPageFormName]; 1201 frm.CAML_Expand.value=frm.CAML_Expand.value.concat(guid); 1202 frm.action=frm.action.concat("#"+anchor); 1203 frm.submit(); 1204 return false; 1205 } 1206} 1207if (typeof(CollapseBody)=="undefined") 1208{ 1209 function CollapseBody(guid, anchor) 1210 { 1211 var frm=document.forms[MSOWebPartPageFormName]; 1212 var reg=new RegExp("\{", "g"); 1213 guid=guid.replace(reg, "\\\{"); 1214 reg=new RegExp("\}", "g"); 1215 guid=guid.replace(reg, "\\\}"); 1216 reg=new RegExp(guid, "g"); 1217 frm.CAML_Expand.value=frm.CAML_Expand.value.replace(reg, ""); 1218 frm.CAML_ShowOriginalEmailBody.value= frm.CAML_ShowOriginalEmailBody.value.replace(reg, ""); 1219 frm.action=frm.action.concat("#"+anchor); 1220 frm.submit(); 1221 return false; 1222 } 1223} 1224if (typeof(ShowQuotedText)=="undefined") 1225{ 1226 function ShowQuotedText(guid, anchor) 1227 { 1228 var frm=document.forms[MSOWebPartPageFormName]; 1229 frm.CAML_ShowOriginalEmailBody.value= frm.CAML_ShowOriginalEmailBody.value.concat(guid); 1230 if (frm.action.indexOf("#") > 0) 1231 { 1232 frm.action=frm.action.substr(0, frm.action.indexOf("#")); 1233 } 1234 frm.action=frm.action.concat("#"+anchor); 1235 frm.submit(); 1236 return false; 1237 } 1238} 1239if (typeof(HideQuotedText)=="undefined") 1240{ 1241 function HideQuotedText(guid, anchor) 1242 { 1243 var frm=document.forms[MSOWebPartPageFormName]; 1244 var reg=new RegExp("\{", "g"); 1245 guid=guid.replace(reg, "\\\{"); 1246 reg=new RegExp("\}", "g"); 1247 guid=guid.replace(reg, "\\\}"); 1248 reg=new RegExp(guid, "g"); 1249 frm.CAML_ShowOriginalEmailBody.value= frm.CAML_ShowOriginalEmailBody.value.replace(reg, ""); 1250 if (frm.action.indexOf("#") > 0) 1251 { 1252 frm.action=frm.action.substr(0, frm.action.indexOf("#")); 1253 } 1254 frm.action=frm.action.concat("#"+anchor); 1255 frm.submit(); 1256 return false; 1257 } 1258} 1259function LRUCache() 1260{ 1261 this.state=new Array(); 1262 this.ageStack=new Array(); 1263 this.count=0; 1264} 1265function LRUCache_Add(cache, itemName) 1266{ 1267 if (!cache) 1268 { 1269 return; 1270 } 1271 oldAge=cache.state[itemName]; 1272 if (oldAge !=null) 1273 { 1274 cache.ageStack[oldAge]=null; 1275 } 1276 else 1277 { 1278 cache.count++; 1279 } 1280 age=cache.ageStack.length; 1281 cache.state[itemName]=age; 1282 cache.ageStack.push(itemName); 1283} 1284function LRUCache_Remove(cache, itemName) 1285{ 1286 if (!cache) 1287 return; 1288 age=cache.state[itemName]; 1289 if (age !=null) 1290 { 1291 cache.ageStack[age]=null; 1292 cache.state[itemName]=null; 1293 cache.count--; 1294 } 1295 else 1296 { 1297 } 1298} 1299function AddGroupToCookie(groupName) 1300{ 1301 var webPartID=ExpGroupFetchWebPartID(groupName); 1302 if (webPartID==null) 1303 return; 1304 LRUCache_Add(g_ExpGroupWPState, webPartID); 1305 if (g_ExpGroupTable[webPartID]==null) 1306 { 1307 g_ExpGroupTable[webPartID]=new LRUCache(); 1308 } 1309 var groupString=ExpGroupFetchGroupString(groupName); 1310 if (groupString==null) 1311 return; 1312 LRUCache_Add(g_ExpGroupTable[webPartID], groupString); 1313 ExpGroupRenderCookie(); 1314} 1315function RemoveGroupFromCookie(groupName) 1316{ 1317 var webPartID=ExpGroupFetchWebPartID(groupName); 1318 if (webPartID==null) 1319 return; 1320 if (g_ExpGroupTable[webPartID]==null) 1321 return; 1322 LRUCache_Add(g_ExpGroupWPState, webPartID); 1323 var groupString=ExpGroupFetchGroupString(groupName); 1324 if (groupString==null) 1325 return; 1326 var aGroupString; 1327 for (aGroupString in g_ExpGroupTable[webPartID].state) 1328 { 1329 if (g_ExpGroupTable[webPartID].state[aGroupString] !=null && 1330 aGroupString.substring(0,groupString.length)==groupString) 1331 { 1332 LRUCache_Remove(g_ExpGroupTable[webPartID], aGroupString); 1333 } 1334 } 1335 ExpGroupRenderCookie(); 1336} 1337function ExpGroupRenderCookie() 1338{ 1339 if (!g_ExpGroupWPState) 1340 return; 1341 var newWPString=ExpGroupWPListName+"="; 1342 var numWPRendered=0; 1343 var ix; 1344 for (ix=g_ExpGroupWPState.ageStack.length - 1; ix >=0; ix--) 1345 { 1346 if (g_ExpGroupWPState.ageStack[ix] !=null) 1347 { 1348 var webPartID=g_ExpGroupWPState.ageStack[ix]; 1349 if (numWPRendered==ExpGroupMaxWP) 1350 { 1351 DeleteCookie(ExpGroupCookiePrefix+webPartID); 1352 break; 1353 } 1354 else if (g_ExpGroupTable[webPartID]==null) 1355 { 1356 numWPRendered++; 1357 if (numWPRendered > 1) 1358 newWPString+=escape(ExpGroupCookieDelimiter); 1359 newWPString+=escape(webPartID); 1360 } 1361 else if (g_ExpGroupTable[webPartID].count==0) 1362 { 1363 DeleteCookie(ExpGroupCookiePrefix+webPartID); 1364 } 1365 else if (numWPRendered < ExpGroupMaxWP) 1366 { 1367 numWPRendered++; 1368 ExpGroupRenderCookieForWebPart(webPartID); 1369 if (numWPRendered > 1) 1370 newWPString+=escape(ExpGroupCookieDelimiter); 1371 newWPString+=escape(webPartID); 1372 } 1373 } 1374 } 1375 if (numWPRendered==0) 1376 { 1377 DeleteCookie(ExpGroupWPListName); 1378 } 1379 else 1380 {
1381 document.cookie=newWPString; 1382 } 1383} 1384function ExpGroupRenderCookieForWebPart(webPartID) 1385{ 1386 if (!g_ExpGroupTable[webPartID].ageStack) 1387 return; 1388 var newCookieString=ExpGroupCookiePrefix+webPartID+"="; 1389 var bFirst=true; 1390 var ix; 1391 for (ix=g_ExpGroupTable[webPartID].ageStack.length - 1; ix >=0; ix--) 1392 { 1393 if (g_ExpGroupTable[webPartID].ageStack[ix] !=null) 1394 { 1395 var groupString=g_ExpGroupTable[webPartID].ageStack[ix]; 1396 var newPortion=""; 1397 if (!bFirst) 1398 newPortion+=escape(ExpGroupCookieDelimiter); 1399 newPortion+=escape(groupString); 1400 if (newCookieString.length+newPortion.length <=ExpGroupMaxCookieLength) 1401 { 1402 newCookieString+=newPortion; 1403 bFirst=false; 1404 } 1405 } 1406 } 1407 document.cookie=newCookieString+";"; 1408} 1409function ExpGroupOnPageLoad() 1410{ 1411 flag=document.getElementById("GroupByColFlag"); 1412 if (flag !=null) 1413 { 1414 g_ExpGroupNeedsState=true; 1415 ExpGroupParseCookie(); 1416 } 1417} 1418function ExpGroupParseCookie() 1419{ 1420 var webPartListString=GetCookie(ExpGroupWPListName); 1421 if (webPartListString==null) 1422 return; 1423 g_ExpGroupParseStage=true; 1424 var webPartList=webPartListString.split(ExpGroupCookieDelimiter); 1425 var ix; 1426 for (ix=webPartList.length - 1; ix >=0; ix--) 1427 { 1428 var webPartID=webPartList[ix]; 1429 LRUCache_Add(g_ExpGroupWPState, webPartID); 1430 if (g_ExpGroupTable[webPartID]==null) 1431 { 1432 if (document.getElementById("GroupByCol"+webPartID) !=null) 1433 ExpGroupParseCookieForWebPart(webPartID); 1434 } 1435 } 1436 g_ExpGroupParseStage=false; 1437 if (g_ExpGroupQueue.length > 0) 1438 { 1439 ExpGroupFetchData(g_ExpGroupQueue.shift()); 1440 } 1441} 1442function ExpGroupParseCookieForWebPart(webPartID) 1443{ 1444 var groupListString=GetCookie(ExpGroupCookiePrefix+webPartID); 1445 if (groupListString==null) 1446 return; 1447 var groupList=groupListString.split(ExpGroupCookieDelimiter); 1448 var ix; 1449 g_ExpGroupTable[webPartID]=new LRUCache(); 1450 for (ix=groupList.length - 1; ix >=0; ix--) 1451 { 1452 var groupString=groupList[ix]; 1453 LRUCache_Add(g_ExpGroupTable[webPartID], groupString); 1454 } 1455 var loadedGroups=new Array(); 1456 var viewTable=document.getElementById("GroupByCol"+webPartID).parentNode; 1457 tbodyTags=viewTable.getElementsByTagName("TBODY"); 1458 for (ix=0; ix < tbodyTags.length; ix++) 1459 { 1460 var groupString=tbodyTags[ix].getAttribute("groupString"); 1461 if (groupString !=null) 1462 { 1463 var tbodyId=tbodyTags[ix].id; 1464 if (tbodyId==null) 1465 continue; 1466 var groupName=tbodyId.substring(4, tbodyId.length); 1467 if (g_ExpGroupTable[webPartID].state[groupString] !=null && 1468 loadedGroups[groupName]==null) 1469 { 1470 ExpCollGroup(groupName, "img_"+groupName); 1471 loadedGroups[groupName]=true; 1472 tbody=document.getElementById("tbod"+groupName+"_"); 1473 if (tbody !=null) 1474 { 1475 isLoaded=tbody.getAttribute("isLoaded"); 1476 if (isLoaded=="false") 1477 g_ExpGroupQueue.push(groupName); 1478 } 1479 } 1480 } 1481 } 1482 var aGroupName; 1483 for (aGroupName in loadedGroups) 1484 { 1485 var index=aGroupName.indexOf("_"); 1486 if (index !=aGroupName.length - 1 && index !=-1) 1487 { 1488 var parentName=aGroupName.substring(0, index+1); 1489 if (loadedGroups[parentName]==null) 1490 { 1491 var parentString=ExpGroupFetchGroupString(parentName); 1492 if (parentString !=null) 1493 { 1494 LRUCache_Add(g_ExpGroupWPState, parentString); 1495 ExpCollGroup(parentName, "img_"+parentName); 1496 loadedGroups[parentString]=true; 1497 } 1498 else 1499 { 1500 } 1501 } 1502 } 1503 } 1504} 1505function ExpGroupBy(formObj) 1506{ 1507 if ((browseris.w3c) && (!browseris.ie)) { 1508 document.all=document.getElementsByTagName("*"); 1509 } 1510 docElts=document.all; 1511 numElts=docElts.length; 1512 images=formObj.getElementsByTagName("IMG"); 1513 img=images[0]; 1514 srcPath=img.src; 1515 index=srcPath.lastIndexOf("/"); 1516 imgName=srcPath.slice(index+1); 1517 var displayStr="auto"; 1518 if (imgName=='plus.gif') 1519 { 1520 displayStr=""; 1521 img.src='/_layouts/images/minus.gif'; 1522 } 1523 else 1524 { 1525 displayStr="none"; 1526 img.src='/_layouts/images/plus.gif'; 1527 } 1528 oldName=img.name; 1529 img.name=img.alt; 1530 img.alt=oldName; 1531 spanNode=img; 1532 while(spanNode !=null) 1533 { 1534 spanNode=spanNode.parentNode; 1535 if (spanNode !=null && 1536 spanNode.id !=null && 1537 spanNode.id.length > 5 && 1538 spanNode.id.substr(0, 5)=="group") 1539 break; 1540 } 1541 parentNode=spanNode; 1542 while(parentNode !=null) 1543 { 1544 parentNode=parentNode.parentNode; 1545 if (parentNode !=null && 1546 parentNode.tagName=="TABLE") 1547 break; 1548 } 1549 lastNode=null; 1550 if (parentNode !=null) 1551 { 1552 lastNode=parentNode.lastChild; 1553 if (lastNode !=null && lastNode.tagName=="TBODY") 1554 lastNode=lastNode.lastChild; 1555 if (lastNode !=null && lastNode.tagName=="TR" && lastNode.lastChild !=null) 1556 lastNode=lastNode.lastChild; 1557 } 1558 for(var i=0;i<numElts;i++) 1559 { 1560 var childObj=docElts.item(i); 1561 if (childObj==spanNode) 1562 break; 1563 } 1564 ID=spanNode.id.slice(5); 1565 displayStyle=displayStr; 1566 for(var j=i+1; j<numElts; j++) 1567 { 1568 var childObj=docElts.item(j); 1569 if (childObj.id.length > 5 && 1570 childObj.id.substr(0, 5)=="group") 1571 { 1572 curID=childObj.id.slice(5); 1573 if (curID <=ID) 1574 return; 1575 } 1576 parentNode=childObj; 1577 while(parentNode !=null) 1578 { 1579 parentNode=parentNode.parentNode; 1580 if (parentNode==spanNode) 1581 break; 1582 } 1583 if (parentNode==spanNode) 1584 continue; 1585 if (childObj.id !=null && childObj.id.substring(0, 5)=="group") 1586 displayStr=displayStyle; 1587 if (childObj.id !=null && childObj.id.substring(0, 8)=="footer"+ID) 1588 displayStr=displayStyle; 1589 if (displayStyle !="none" && 1590 childObj !=img && 1591 childObj.tagName=="IMG" && 1592 childObj.src !=null) 1593 { 1594 if (childObj.src.slice(childObj.src.length - 25)=='/_layouts/images/plus.gif') 1595 { 1596 displayStr="none"; 1597 } 1598 else if (childObj.src.slice(childObj.src.length - 26)=='/_layouts/images/minus.gif') 1599 { 1600 displayStr=""; 1601 } 1602 } 1603 if (childObj.tagName==spanNode.tagName && 1604 childObj.id !="footer") 1605 { 1606 childObj.style.display=displayStr; 1607 } 1608 if ((childObj.tagName=="TABLE" && lastNode==null) || childObj==lastNode) 1609 break; 1610 } 1611} 1612function SzExtension(szHref) 1613{ 1614 var sz=new String(szHref); 1615 var re=/^.*\.([^\.]*)$/; 1616 return sz.replace(re, "$1").toLowerCase(); 1617} 1618function SzServer(szHref) 1619{ 1620 var sz=new String(szHref); 1621 var re=/^([^:]*):\/\/([^\/]*).*$/; 1622 return sz.replace(re, "$1://$2"); 1623} 1624var v_stsOpenDoc=null; 1625var v_strStsOpenDoc=null; 1626function StsOpenEnsureEx(szProgId) 1627{ 1628 if (v_stsOpenDoc==null || v_strStsOpenDoc !=szProgId) 1629 { 1630//@cc_on 1631//@if (@_jscript_version >=5) 1632//@ try 1633//@ { 1634//@ v_stsOpenDoc=new ActiveXObject(szProgId); 1635//@ v_strStsOpenDoc=szProgId; 1636//@ } catch(e) 1637//@ { 1638//@ v_stsOpenDoc=null; 1639//@ v_strStsOpenDoc=null; 1640//@ }; 1641//@else 1642//@end 1643 } 1644 return v_stsOpenDoc; 1645}
1646function DispDocItem(ele,strProgId) 1647{ 1648 return DispDocItemEx(ele,'FALSE','FALSE','FALSE',strProgId); 1649} 1650var L_OpenDocumentLocalError_Text="This document was being edited offline, but there is no application configured to open the document from SharePoint. The document can only be opened for reading."; 1651function DispDocItemEx(ele, fTransformServiceOn, fShouldTransformExtension, fTransformHandleUrl, strProgId) 1652{ 1653 itemTable=FindSTSMenuTable(ele, "CTXName"); 1654 if (!browseris.ie || !browseris.win32) 1655 { 1656 if (browseris.ie) 1657 event.cancelBubble=false; 1658 return true; 1659 } 1660 var stsOpen; 1661 var szHref; 1662 var szExt; 1663 var fRet=true; 1664 var szFileType=itemTable !=null ? GetAttributeFromItemTable(itemTable, "Ext", "FileType") : ""; 1665 var szAppId=""; 1666 var tblFileDlg=document.getElementById("FileDialogViewTable"); 1667 if (tblFileDlg !=null) 1668 { 1669 if (browseris.ie) 1670 { 1671 event.cancelBubble=false; 1672 event.returnValue=false; 1673 } 1674 return true; 1675 } 1676 szHref=itemTable !=null ? GetAttributeFromItemTable(itemTable, "Url", "ServerUrl") : ""; 1677 if (szHref==null || szHref=="") 1678 szHref=ele.href; 1679 else 1680 szHref=SzServer(ele.href)+szHref; 1681 szExt=SzExtension(szHref); 1682 if ((currentItemProgId==null) && (itemTable!=null)) 1683 currentItemProgId=itemTable.getAttribute("HTMLType"); 1684 if (currentItemProgId !=null) 1685 szAppId=currentItemProgId; 1686 if (FDefaultOpenForReadOnly(szExt)) 1687 { 1688 if (strProgId.indexOf("SharePoint.OpenDocuments") >=0) 1689 strProgId="SharePoint.OpenDocuments.3"; 1690 } 1691 else if (!FSupportCheckoutToLocal(szExt)) 1692 { 1693 strProgId=""; 1694 } 1695 if ((currentItemCheckedOutUserId==null) && (itemTable!=null)) 1696 currentItemCheckedOutUserId=itemTable.COUId; 1697 if ((currentItemCheckedoutToLocal==null) && (itemTable!=null)) 1698 currentItemCheckedoutToLocal=GetAttributeFromItemTable(itemTable, "COut", "IsCheckedoutToLocal "); 1699 if( ((currentItemCheckedOutUserId !=null) && 1700 (currentItemCheckedOutUserId !="") && 1701 (currentItemCheckedOutUserId==ctx.CurrentUserId ) && 1702 (strProgId=="" || ((strProgId.indexOf("SharePoint.OpenDocuments")) >=0)) && 1703 FSupportCheckoutToLocal(szExt))|| 1704 (strProgId=="SharePoint.OpenDocuments")) 1705 { 1706 strProgId="SharePoint.OpenDocuments.3"; 1707 } 1708 var stsopenVersion=2; 1709 if(strProgId !='' && HasRights(0x10, 0x0)) 1710 { 1711 if ((strProgId.indexOf(".3")) >=0) 1712 stsopenVersion=3; 1713 stsOpen=StsOpenEnsureEx(strProgId); 1714 if (stsOpen==null && stsopenVersion==3) 1715 { 1716 strProgId=strProgId.replace(".3",".2"); 1717 stsOpen=StsOpenEnsureEx(strProgId); 1718 stsopenVersion=2; 1719 } 1720 } 1721 if (stsOpen !=null) 1722 { 1723 if (stsopenVersion==2 || 1724 ((itemTable==null) && (currentItemCheckedOutUserId==null))|| 1725 (ctx.isVersions==1 && (itemTable==null || itemTable.isMostCur=="0"))) 1726 { 1727 try 1728 { 1729 if ((currentItemCheckedOutUserId !=null) && 1730 (currentItemCheckedOutUserId !="") && 1731 (currentItemCheckedOutUserId==ctx.CurrentUserId || 1732 ctx.CurrentUserId==null )) 1733 { 1734 if (currentItemCheckedoutToLocal=='1') 1735 { 1736 alert(L_OpenDocumentLocalError_Text); 1737 fRet=false; 1738 } 1739 else 1740 fRet=stsOpen.EditDocument2(window, szHref, szAppId); 1741 } 1742 else 1743 { 1744 fRet=stsOpen.ViewDocument2(window, szHref, szAppId); 1745 } 1746 } 1747 catch(e) 1748 { 1749 fRet=false; 1750 } 1751 if (fRet) 1752 window.onfocus=RefreshOnNextFocus; 1753 } 1754 else 1755 { 1756 var iOpenFlag=0; 1757 if (currentItemCheckedOutUserId !="") 1758 { 1759 if ((currentItemCheckedOutUserId !=ctx.CurrentUserId) && ( ctx.CurrentUserId !=null)) 1760 iOpenFlag=1; 1761 else if (currentItemCheckedoutToLocal==null || 1762 currentItemCheckedoutToLocal !='1') 1763 iOpenFlag=2; 1764 else 1765 iOpenFlag=4; 1766 } 1767 else if (!HasRights(0x0, 0x4) || FDefaultOpenForReadOnly(szExt)) 1768 iOpenFlag=1; 1769 else if (ctx.isForceCheckout==true) 1770 iOpenFlag=3; 1771 try 1772 { 1773 fRet=stsOpen.ViewDocument3(window, szHref,iOpenFlag, szAppId); 1774 } 1775 catch(e) 1776 { 1777 fRet=false; 1778 } 1779 if (fRet) 1780 { 1781 var fRefreshOnNextFocus=stsOpen.PromptedOnLastOpen(); 1782 if (fRefreshOnNextFocus) 1783 window.onfocus=RefreshOnNextFocus; 1784 else 1785 SetWindowRefreshOnFocus(); 1786 } 1787 } 1788 } 1789 else if (currentItemCheckedoutToLocal=='1') 1790 { 1791 alert(L_OpenDocumentLocalError_Text); 1792 } 1793 if (stsOpen==null || !fRet) 1794 { 1795 if (fTransformServiceOn=='TRUE' && 1796 fShouldTransformExtension=='TRUE' && 1797 fTransformHandleUrl=='TRUE') 1798 { 1799 if (itemTable==null) 1800 return fRet; 1801 if (browseris.ie) 1802 { 1803 event.cancelBubble=true; 1804 event.returnValue=false; 1805 } 1806 var getHttpRoot=new Function("return "+itemTable.getAttribute("CTXName")+".HttpRoot;"); 1807 GoToPage(getHttpRoot()+"/_layouts"+ "/htmltrverify.aspx?doc="+escapeProperly(szHref)); 1808 } 1809 return; 1810 } 1811 stsOpen=null; 1812 if (browseris.ie) 1813 { 1814 event.cancelBubble=true; 1815 event.returnValue=false; 1816 } 1817 return fRet; 1818}
1819function DispDocItemEx2(ele, objEvent, fTransformServiceOn, fShouldTransformExtension, 1820 fTransformHandleUrl, strHtmlTrProgId, iDefaultItemOpen, strProgId, strServerFileRedirect) 1821{ 1822 var fRedirect=false; 1823 var fIsServerFile=strServerFileRedirect !=null && strServerFileRedirect !=""; 1824 var fIsClientAppInstalled=IsClientAppInstalled(strProgId) && HasRights(0x10, 0x0); 1825 if (fIsServerFile) 1826 { 1827 if (iDefaultItemOpen==1 || !fIsClientAppInstalled) 1828 { 1829 STSNavigate(strServerFileRedirect+"&Source="+GetSource()+"&DefaultItemOpen="+iDefaultItemOpen); 1830 objEvent.cancelBubble=true; 1831 objEvent.returnValue=false; 1832 return false; 1833 } 1834 else if (fIsClientAppInstalled) 1835 { 1836 if (strProgId=="" || strProgId.indexOf("SharePoint.OpenDocuments") >=0) 1837 { 1838 return DispDocItemEx(ele, fTransformServiceOn, fShouldTransformExtension, fTransformHandleUrl, strHtmlTrProgId); 1839 } 1840 else 1841 { 1842 if (!ViewDoc(ele.href, strProgId)) 1843 { 1844 var errorCode=editDocumentWithProgIDNoUI(ele.href, currentItemProgId, strProgId, false, ctx.HttpRoot, "0"); 1845 if ((errorCode==1) || (errorCode==2)) 1846 { 1847 STSNavigate(strServerFileRedirect+"&Source="+GetSource()); 1848 } 1849 } 1850 objEvent.cancelBubble=true; 1851 objEvent.returnValue=false; 1852 return false; 1853 } 1854 } 1855 } 1856 return DispDocItemEx(ele, fTransformServiceOn, fShouldTransformExtension, fTransformHandleUrl, strProgId); 1857} 1858function DispDocItemExWithOutContext(ele, objEvent, fTransformServiceOn, fShouldTransformExtension, 1859 fTransformHandleUrl, strHtmlTrProgId, iDefaultItemOpen, strProgId, strHtmlType, strServerFileRedirect, 1860 strCheckoutUser, strCurrentUser, strRequireCheckout, strCheckedoutTolocal, strPermmask) 1861{ 1862 DispEx(ele, objEvent, fTransformServiceOn, fShouldTransformExtension, 1863 fTransformHandleUrl, strHtmlTrProgId, iDefaultItemOpen, strProgId, strHtmlType, strServerFileRedirect, 1864 strCheckoutUser, strCurrentUser, strRequireCheckout, strCheckedoutTolocal, strPermmask); 1865} 1866function DispEx(ele, objEvent, fTransformServiceOn, fShouldTransformExtension, 1867 fTransformHandleUrl, strHtmlTrProgId, iDefaultItemOpen, strProgId, strHtmlType, strServerFileRedirect, 1868 strCheckoutUser, strCurrentUser, strRequireCheckout, strCheckedoutTolocal, strPermmask) 1869{ 1870 var tblFileDlg=document.getElementById("FileDialogViewTable"); 1871 if (tblFileDlg !=null) 1872 { 1873 objEvent.cancelBubble=false; 1874 objEvent.returnValue=false; 1875 return true; 1876 } 1877 if (typeof(ctx)=="undefined" || ctx==null) 1878 ctx=new ContextInfo(); 1879 ctx.CurrentUserId=strCurrentUser; 1880 if (strRequireCheckout=='1') 1881 ctx.isForceCheckout=true; 1882 else 1883 ctx.isForceCheckout=false; 1884 currentItemCheckedOutUserId=strCheckoutUser; 1885 currentItemCheckedoutToLocal=strCheckedoutTolocal; 1886 currentItemProgId=strHtmlType; 1887 if (strPermmask !=null && strPermmask !='') 1888 SetCurrentPermMaskFromString(strPermmask, null) 1889 objEvent.cancelBubble=true; 1890 if (strServerFileRedirect !=null && strServerFileRedirect !='') 1891 strServerFileRedirect=strServerFileRedirect.substring(1); 1892 return DispDocItemEx2(ele, objEvent, fTransformServiceOn, fShouldTransformExtension, 1893 fTransformHandleUrl, strHtmlTrProgId, iDefaultItemOpen, strProgId, strServerFileRedirect); 1894} 1895function IsClientAppInstalled(strProgId) 1896{ 1897 var stsOpen=null; 1898 if(strProgId !='') 1899 { 1900 stsOpen=StsOpenEnsureEx(strProgId); 1901 } 1902 return stsOpen !=null; 1903} 1904function ViewDoc(url,strProgId) 1905{ 1906 var stsOpen=StsOpenEnsureEx(strProgId); 1907 var fRet=false; 1908 if (stsOpen !=null) 1909 { 1910 try 1911 { 1912 fRet=stsOpen.ViewDocument2(window, url); 1913 } 1914 catch(e) 1915 { 1916 fRet=false; 1917 } 1918 } 1919 return fRet; 1920} 1921function PortalPinToMyPage(eForm, portalUrl, instanceID) 1922{ 1923 eForm.action=portalUrl+'_vti_bin/portalapi.aspx?Cmd=PinToMyPage'; 1924 eForm.ReturnUrl.value=window.location.href; 1925 eForm.ListViewUrl.value=MakeMtgInstanceUrl(eForm.ListViewUrl.value, instanceID); 1926 eForm.submit(); 1927} 1928function PortalPinToMyPage(eForm, portalUrl, instanceId, listTitle, listDescription, listViewUrl, baseType, serverTemplate) 1929{ 1930 eForm.action=portalUrl+'_vti_bin/portalapi.aspx?Cmd=PinToMyPage'; 1931 SetFieldValue(eForm,"ReturnUrl",window.location.href); 1932 SetFieldValue(eForm,"ListViewUrl",MakeMtgInstanceUrl(listViewUrl, instanceId)); 1933 SetFieldValue(eForm,"ListTitle",listTitle); 1934 SetFieldValue(eForm,"ListDescription",listDescription); 1935 SetFieldValue(eForm,"BaseType",baseType); 1936 SetFieldValue(eForm,"ServerTemplate",serverTemplate); 1937 eForm.submit(); 1938} 1939function SetFieldValue(eForm, fieldName, value) 1940{ 1941 var field=eForm[fieldName]; 1942 if (field==null) 1943 { 1944 field=document.createElement("INPUT"); 1945 field.setAttribute("type","hidden"); 1946 field.setAttribute("name",fieldName);
1947 eForm.appendChild(field); 1948 } 1949 field.value=value; 1950} 1951function StURLSetVar2(stURL, stVar, stValue) 1952{ 1953 var stNewSet=stVar+"="+stValue; 1954 var ichHash=stURL.indexOf("#"); 1955 var hashParam; 1956 if (ichHash !=-1) 1957 { 1958 hashParam=stURL.substring(ichHash, stURL.length); 1959 stURL=stURL.substring(0, ichHash); 1960 } 1961 var ichQ=stURL.indexOf("?"); 1962 if (ichQ !=-1) 1963 { 1964 var ich=stURL.indexOf("?"+stVar+"=", ichQ); 1965 if (ich==-1) 1966 { 1967 ich=stURL.indexOf("&"+stVar+"=", ichQ); 1968 if (ich !=-1) 1969 stNewSet="&"+stNewSet; 1970 } 1971 else 1972 { 1973 stNewSet="?"+stNewSet; 1974 } 1975 if (ich !=-1) 1976 { 1977 var re=new RegExp("[&?]"+stVar+"=[^&]*", ""); 1978 stURL=stURL.replace(re, stNewSet); 1979 } 1980 else 1981 { 1982 stURL=stURL+"&"+stNewSet; 1983 } 1984 } 1985 else 1986 { 1987 stURL=stURL+"?"+stNewSet; 1988 } 1989 if (hashParam !=null && hashParam.length > 0) 1990 stURL=stURL+hashParam; 1991 return stURL; 1992} 1993function RemoveQueryParameterFromUrl(stURL, stParameterName) 1994{ 1995 var re=new RegExp("[&?]"+stParameterName+"=[^&]*", ""); 1996 stURL=stURL.replace(re, ""); 1997 if (stURL.indexOf("?")==-1) 1998 { 1999 var ich=stURL.indexOf("&"); 2000 if (ich !=-1) 2001 stURL=stURL.substring(0, ich)+"?"+stURL.substring(ich+1); 2002 } 2003 return stURL; 2004} 2005function MoveToViewDate(strdate, view_type) 2006{ 2007 var wUrl=window.location.href; 2008 if (strdate !=null) 2009 wUrl=StURLSetVar2(wUrl,"CalendarDate",escapeProperly(strdate)); 2010 if (view_type !=null) 2011 wUrl=StURLSetVar2(wUrl,"CalendarPeriod",view_type); 2012 SubmitFormPost(wUrl, true); 2013} 2014function MoveToDate(strdate) 2015{ 2016 MoveToViewDate(strdate, null); 2017} 2018function MoveToToday() 2019{ 2020 MoveToViewDate("", null); 2021} 2022function MoveView(viewtype) 2023{ 2024 MoveToViewDate(null , viewtype); 2025} 2026function ClickDay(date) 2027{ 2028 MoveToViewDate(date, null); 2029} 2030function GetMonthView(str) 2031{ 2032 var wUrl=window.location.href; 2033 var ExpWeek=document.getElementById("ExpandedWeeksId"); 2034 if(ExpWeek!=null) 2035 ExpWeek.value=str; 2036 else 2037 return ; 2038 SubmitFormPost(wUrl, true); 2039} 2040function NewItemDT(url,day, time) 2041{ 2042 if (url==null) 2043 return ; 2044 if (time !=null) 2045 url=StURLSetVar2(url,"CalendarTime",time); 2046 if (day !=null) 2047 url=StURLSetVar2(url,"CalendarDate",day); 2048 NewItem(url, false); 2049} 2050function ClickTime(url, time) 2051{ 2052 NewItemDT(url, null, time); 2053} 2054function NewItemDay(url, day) 2055{ 2056 NewItemDT(url, day, null); 2057} 2058function HasValidUrlPrefix(url) 2059{ 2060 var urlLower=url.toLowerCase(); 2061 if (-1==urlLower.search("^http://") && 2062 -1==urlLower.search("^https://")) 2063 return false; 2064 return true; 2065} 2066function ScrollToAnchorInInnerScrollPane(formName, hiddenFieldName, textInHref) 2067{ 2068 if (!browseris.ie4up) return; 2069 try 2070 { 2071 var form=document.getElementById(formName); 2072 var anchor=document.getElementById(form[hiddenFieldName].value); 2073 if (typeof(anchor)=="undefined" || anchor==null) 2074 throw ""; 2075 } 2076 catch(e) 2077 { 2078 var tempAnchor=null; 2079 for (var i=0; i < document.anchors.length; i++) 2080 { 2081 tempAnchor=document.anchors[i]; 2082 var href=tempAnchor.href; 2083 if (href.search(textInHref) !=-1) 2084 { 2085 anchor=tempAnchor; 2086 break; 2087 } 2088 } 2089 } 2090 if (typeof(anchor) !="undefined" && anchor !=null) 2091 { 2092 var scrollTopOld=document.body.scrollTop; 2093 var scrollLeftOld=document.body.scrollLeft; 2094 anchor.scrollIntoView(false); 2095 document.body.scrollTop=scrollTopOld; 2096 document.body.scrollLeft=scrollLeftOld; 2097 } 2098} 2099function FilterChoice(opt, ctrl, strVal, filterVal) 2100{ 2101 var i; 2102 var cOpt=0; 2103 var bSelected=false; 2104 var strHtml=""; 2105 var strId=opt.id; 2106 var strName=opt.name; 2107 var strMatch=""; 2108 var strMatchVal=""; 2109 var strOpts=ctrl.choices; 2110 var rgopt=strOpts.split("|"); 2111 var x=AbsLeft(ctrl); 2112 var y=AbsTop(ctrl)+ctrl.offsetHeight; 2113 var strHidden=ctrl.optHid; 2114 var iMac=rgopt.length - 1; 2115 var iMatch=-1; 2116 var unlimitedLength=false; 2117 var strSelectedLower=""; 2118 if (opt !=null && opt.selectedIndex >=0) 2119 { 2120 bSelected=true; 2121 strSelectedLower=opt.options[opt.selectedIndex].innerText; 2122 } 2123 for (i=0; i < rgopt.length; i=i+2) 2124 { 2125 var strOpt=rgopt[i]; 2126 while (i < iMac - 1 && rgopt[i+1].length==0) 2127 { 2128 strOpt=strOpt+"|"; 2129 i++; 2130 if (i < iMac - 1) 2131 { 2132 strOpt=strOpt+rgopt[i+1]; 2133 } 2134 i++; 2135 } 2136 var strValue=rgopt[i+1]; 2137 var strLowerOpt=strOpt.toLocaleLowerCase(); 2138 var strLowerVal=strVal.toLocaleLowerCase(); 2139 if (filterVal.length !=0) 2140 bSelected=true; 2141 if (strLowerOpt.indexOf(strLowerVal)==0) 2142 { 2143 var strLowerFilterVal=filterVal.toLocaleLowerCase(); 2144 if ((strLowerFilterVal.length !=0) && (strLowerOpt.indexOf(strLowerFilterVal)==0) && (strMatch.length==0)) 2145 bSelected=false; 2146 if (strLowerOpt.length > 20) 2147 { 2148 unlimitedLength=true; 2149 } 2150 if (!bSelected || strLowerOpt==strSelectedLower) 2151 { 2152 strHtml+="<option selected value=\""+strValue+"\">"+STSHtmlEncode(strOpt)+"</option>"; 2153 bSelected=true; 2154 strMatch=strOpt; 2155 strMatchVal=strValue; 2156 iMatch=i; 2157 } 2158 else 2159 { 2160 strHtml+="<option value=\""+strValue+"\">"+STSHtmlEncode(strOpt)+"</option>"; 2161 } 2162 cOpt++; 2163 } 2164 } 2165 var strHandler=" ondblclick=\"HandleOptDblClick()\" onkeydown=\"HandleOptKeyDown()\""; 2166 var strOptHtml=""; 2167 if (unlimitedLength) 2168 { 2169 strOptHtml="<select tabIndex=\"-1\" ctrl=\""+ctrl.id+"\" name=\""+strName+"\" id=\""+strId+"\""+strHandler; 2170 } 2171 else 2172 { 2173 strOptHtml="<select class=\"ms-lookuptypeindropdown\" tabIndex=\"-1\" ctrl=\""+ctrl.id+"\" name=\""+strName+"\" id=\""+strId+"\""+strHandler; 2174 } 2175 if (cOpt==0) 2176 { 2177 strOptHtml+=" style=\"display:none;position:absolute;z-index:2;left:"+x+ "px;top:"+y+ "px\" onfocusout=\"OptLoseFocus(this)\"></select>"; 2178 } 2179 else 2180 { 2181 strOptHtml+=" style=\"position:absolute;z-index:2;left:"+x+ "px;top:"+y+ "px\""+ " size=\""+(cOpt <=8 ? cOpt : 8)+"\""+ (cOpt==1 ? "multiple=\"true\"" : "")+ " onfocusout=\"OptLoseFocus(this)\">"+ strHtml+ "</select>"; 2182 } 2183 opt.outerHTML=strOptHtml; 2184 var hid=document.getElementById(strHidden); 2185 if (iMatch !=0 || rgopt[1] !="0" ) 2186 hid.value=strMatchVal; 2187 else
2188 hid.value="0"; 2189 if (iMatch !=0 || rgopt[1] !="0" ) 2190 return strMatch; 2191 else return ""; 2192} 2193function OptLoseFocus(opt) 2194{ 2195 var ctrl=document.getElementById(opt.ctrl); 2196 if (opt.selectedIndex >=0) 2197 SetCtrlFromOpt(ctrl, opt); 2198 opt.style.display="none"; 2199} 2200function SetCtrlMatch(ctrl, opt) 2201{ 2202 var hid=document.getElementById(ctrl.optHid); 2203 hid.value=opt.options[opt.selectedIndex].value; 2204 if (hid.value !=0) 2205 ctrl.match=opt.options[opt.selectedIndex].innerText; 2206 else 2207 ctrl.match=""; 2208} 2209function AbsLeft(obj) 2210{ 2211 var x=obj.offsetLeft; 2212 var parent=obj.offsetParent; 2213 while (parent.tagName !="BODY") 2214 { 2215 x+=parent.offsetLeft; 2216 parent=parent.offsetParent; 2217 } 2218 x+=parent.offsetLeft; 2219 return x; 2220} 2221function AbsTop(obj) 2222{ 2223 var y=obj.offsetTop; 2224 var parent=obj.offsetParent; 2225 while (parent.tagName !="BODY") 2226 { 2227 y+=parent.offsetTop; 2228 parent=parent.offsetParent; 2229 } 2230 y+=parent.offsetTop; 2231 return y; 2232} 2233function SetCtrlFromOpt(ctrl, opt) 2234{ 2235 var hid=document.getElementById(ctrl.optHid); 2236 hid.value=opt.options[opt.selectedIndex].value; 2237 if (opt.options[opt.selectedIndex].value==0) 2238 { 2239 ctrl.value=""; 2240 ctrl.match=""; 2241 } 2242 else 2243 { 2244 ctrl.value=opt.options[opt.selectedIndex].innerText; 2245 ctrl.match=ctrl.value; 2246 } 2247} 2248function HandleOptDblClick() 2249{ 2250 var opt=event.srcElement; 2251 var ctrl=document.getElementById(opt.ctrl); 2252 SetCtrlFromOpt(ctrl, opt); 2253 SetCtrlMatch(ctrl, opt); 2254 opt.style.display="none"; 2255} 2256function HandleOptKeyDown() 2257{ 2258 var opt=event.srcElement; 2259 var ctrl=document.getElementById(opt.ctrl); 2260 var key=event.keyCode; 2261 switch (key) 2262 { 2263 case 13: 2264 case 9: 2265 SetCtrlFromOpt(ctrl, opt) 2266 event.returnValue=false; 2267 opt.style.display="none"; 2268 return; 2269 default: 2270 break; 2271 } 2272 return; 2273} 2274function EnsureSelectElement(ctrl, strId) 2275{ 2276 var select=document.getElementById(strId); 2277 if (select==null) 2278 { 2279 select=document.createElement("SELECT"); 2280 ctrl.parentNode.appendChild(select); 2281 select.outerHTML="<select id=\""+strId+"\" ctrl=\""+ctrl.id+"\" class=\"ms-lookuptypeindropdown\" name=\""+strId+"\" style=\"display:none\" onfocusout=\"OptLoseFocus(this)\"></select>"; 2282 FilterChoice(select, ctrl, ctrl.value, ""); 2283 } 2284 return document.getElementById(strId);; 2285} 2286function HandleKey() 2287{ 2288 var key=event.keyCode; 2289 var ctrl=event.srcElement; 2290 var str=ctrl.value; 2291 var opt=EnsureSelectElement(ctrl, ctrl.opt); 2292 var bNeedMatch=false; 2293 var strLower; 2294 var strMatchLower; 2295 switch (key) 2296 { 2297 case 8: 2298 if (str.length > 0) 2299 { 2300 str=str.substr(0, str.length - 1); 2301 } 2302 bNeedMatch=true; 2303 break; 2304 case 16: 2305 case 17: 2306 case 18: 2307 return; 2308 case 9: 2309 case 16: 2310 case 17: 2311 case 18: 2312 return; 2313 case 13: 2314 strLower=ctrl.value.toLocaleLowerCase(); 2315 strMatchLower=ctrl.match.toLocaleLowerCase(); 2316 if (strMatchLower.indexOf(strLower) !=0) 2317 ctrl.match=FilterChoice(opt, ctrl, ctrl.value, ""); 2318 if (opt.style.display !="none") 2319 { 2320 ctrl.value=ctrl.match; 2321 opt.style.display="none"; 2322 event.returnValue=false; 2323 } 2324 return; 2325 case 27: 2326 opt.style.display="none"; 2327 event.returnValue=false; 2328 return; 2329 case 38: 2330 if (opt.style.display !="none") 2331 { 2332 if (opt.selectedIndex > 0) 2333 opt.selectedIndex=opt.selectedIndex - 1; 2334 else 2335 opt.selectedIndex=opt.options.length - 1; 2336 SetCtrlMatch(ctrl, opt); 2337 event.returnValue=false; 2338 } 2339 return; 2340 case 40: 2341 if (opt.style.display !="none" && opt.selectedIndex < opt.options.length - 1) 2342 { 2343 opt.selectedIndex=opt.selectedIndex+1; 2344 SetCtrlMatch(ctrl, opt); 2345 event.returnValue=false; 2346 return; 2347 } 2348 bNeedMatch=true; 2349 break; 2350 case 46: 2351 break; 2352 default: 2353 break; 2354 } 2355 if (bNeedMatch); 2356 ctrl.match=FilterChoice(opt, ctrl, str, ""); 2357} 2358function ShowDropdown(textboxId) 2359{ 2360 var ctrl=document.getElementById(textboxId); 2361 var str=ctrl.value; 2362 var opt=EnsureSelectElement(ctrl, ctrl.opt); 2363 ctrl.match=FilterChoice(opt, ctrl, "", ctrl.value); 2364 ctrl.focus(); 2365} 2366function HandleChar() 2367{ 2368 var ctrl=event.srcElement; 2369 var str=ctrl.value; 2370 var opt=document.getElementById(ctrl.opt); 2371 var key=event.keyCode; 2372 if (key==13) 2373 return; 2374 str=str+String.fromCharCode(key).toLocaleLowerCase(); 2375 ctrl.match=FilterChoice(opt, ctrl, str, ""); 2376} 2377function HandleLoseFocus() 2378{ 2379 var ctrl=event.srcElement; 2380 var opt=document.getElementById(ctrl.opt); 2381 if (opt !=null && opt.style.display !="none" && document.activeElement !=opt) 2382 OptLoseFocus(opt); 2383} 2384function HandleChange() 2385{ 2386 var ctrl=event.srcElement; 2387 var str=ctrl.value; 2388 var opt=document.getElementById(ctrl.opt); 2389 ctrl.match=FilterChoice(opt, ctrl, str, ""); 2390} 2391function IsSafeHref( 2392 href) 2393{ 2394 return (href.match(new RegExp("^http://", "i")) || 2395 href.match(new RegExp("^https://", "i")) || 2396 href.match(new RegExp("^ftp://", "i")) || 2397 href.match(new RegExp("^file://", "i")) || 2398 href.match(new RegExp("^mailto:", "i")) || 2399 href.match(new RegExp("^news:", "i")) || 2400 href.match(new RegExp("^/", "i")) || 2401 href.match(new RegExp("^\\\\\\\\", "i"))); 2402} 2403var L_RelativeUrlError_Text="Addresses that start from the current page might not display correctly. You must enter the complete URL or an address that starts from the current server."; 2404var L_UnknownProtocolUrlError_Text="Hyperlinks must begin with http://, https://, mailto:, news:, ftp://, file://, or \\\\. Check the address and try again."; 2405var L_UrlTooLongError_Text="The URL for the location must be no longer than 256 characters without the query parameters. The query parameters start at the question mark (?)." 2406function IsSafeHrefAlert( 2407 href, 2408 fAllowRelativeLinks) 2409{ 2410 if (href.match("^[^?]{257}")) 2411 { 2412 alert(L_UrlTooLongError_Text); 2413 return false; 2414 } 2415 else if (IsSafeHref(href)) 2416 { 2417 return true; 2418 } 2419 else 2420 { 2421 if (href.match("^[a-zA-Z]*:")) 2422 { 2423 alert(L_UnknownProtocolUrlError_Text); 2424 return false; 2425 } 2426 else if (true==fAllowRelativeLinks) 2427 { 2428 return true; 2429 } 2430 else 2431 { 2432 alert(L_RelativeUrlError_Text); 2433 return false; 2434 } 2435 } 2436} 2437function PositionMiniConsole() { 2438 var mc=document.getElementById("miniconsole"); 2439 if (browseris.ie55up && browseris.win32) 2440 if (document.getElementById("siteactiontd")){ 2441 mc.style.top="1"; 2442 } 2443 else { 2444 mc.style.top="8"; 2445 } 2446 else { 2447 mc.style.top="0"; 2448 } 2449} 2450var deleteInstance=0; 2451function DeleteItemConfirmation() 2452{ 2453 var message=""; 2454 if (typeof(ItemIsCopy) !="undefined") 2455 if (ItemIsCopy) 2456 message=L_NotifyThisIsCopy_Text; 2457 if (recycleBinEnabled==1 && 2458 deleteInstance !=1 ) 2459 message+=L_STSRecycleConfirm_Text; 2460 else
2461 message+=L_STSDelConfirm_Text; 2462 return confirm(message); 2463} 2464function DeleteInstanceConfirmation() 2465{ 2466 deleteInstance=1; 2467 return DeleteItemConfirmation() 2468} 2469function CancelMultiPageConfirmation(redirectUrl) 2470{ 2471 var L_DeletePartialResponse1_text="A partial survey response has been saved. Click OK to delete the partial survey response. If you want to continue this survey later click Cancel. Your partial response can be found in the All Responses survey view.\n\nDo you want to send this partial response to the site Recycle Bin?"; 2472 var L_DeletePartialResponse2_text="A partial survey response has been saved. Click OK to delete the partial survey response. If you want to continue this survey later click Cancel. Your partial response can be found in the All Responses survey view.\n\nDo you want to delete the partial response?"; 2473 var message=""; 2474 if (recycleBinEnabled==1) 2475 message=L_DeletePartialResponse1_text; 2476 else 2477 message=L_DeletePartialResponse2_text; 2478 if (confirm(message)==true) 2479 return true; 2480 else 2481 STSNavigate(redirectUrl); 2482 return false; 2483} 2484function RestoreItemVersionConfirmation() 2485{ 2486 var L_Version_Restore_Confirm_Text="You are about to replace the current version with the selected version."; 2487 var message=L_Version_Restore_Confirm_Text; 2488 return confirm(message); 2489} 2490function DeleteItemVersionConfirmation(bRecycleBinEnabled) 2491{ 2492 var L_Version_Delete_Confirm_Text="Are you sure you want to delete this version?"; 2493 var L_Version_Recycle_Confirm_Text="Are you sure you want to send this version to the site Recycle Bin?"; 2494 if (bRecycleBinEnabled) 2495 return confirm(L_Version_Recycle_Confirm_Text); 2496 else 2497 return confirm(L_Version_Delete_Confirm_Text); 2498} 2499function DeleteUserInfoItemConfirmation() 2500{ 2501 var L_User_Delete_Confirm_Text="You are about to delete this user."; 2502 var message=L_User_Delete_Confirm_Text; 2503 return confirm(message); 2504} 2505function UnlinkCopyConfirmation(strItemUrl) 2506{ 2507 return confirm(L_ConfirmUnlinkCopy_Text); 2508} 2509function Discuss(strUrl) 2510{ 2511 var L_IE5upRequired_Text="'Discuss' requires a Windows SharePoint Services-compatible application and Microsoft Internet Explorer 6.0 or greater."; 2512 if (browseris.ie5up && browseris.win32) 2513 window.parent.location.href=strUrl; 2514 else
2515 alert(L_IE5upRequired_Text); 2516} 2517function ProcessDefaultNavigateHierarchy(nodeDiv, dataSourceId, dataPath, url, listInContext, type, form, qsCore, submitPath) 2518{ 2519 if (typeof(_spCustomNavigateHierarchy)=="function") 2520 { 2521 _spCustomNavigateHierarchy(nodeDiv,dataSourceId,dataPath,url,listInContext,type); 2522 } 2523 else 2524 { 2525 if (listInContext==false) 2526 { 2527 top.location=url; 2528 } 2529 else 2530 { 2531 var par=document.createElement('INPUT'); 2532 par.type='hidden'; 2533 par.name='_spTreeNodeClicked'; 2534 par.value=dataPath; 2535 form.appendChild(par); 2536 var qs="?RootFolder="+escapeProperly(url)+qsCore; 2537 SubmitFormPost(submitPath+qs); 2538 return false; 2539 } 2540 } 2541} 2542function ParseMultiColumnValue(fieldValue, delimiter) 2543{ 2544 var subColumnValues=new Array(); 2545 if (delimiter==null) 2546 delimiter=';#'; 2547 var lead=delimiter.charCodeAt(0); 2548 var trail=delimiter.charCodeAt(1); 2549 if (fieldValue==null || fieldValue.length==0) 2550 return subColumnValues; 2551 var strLead=delimiter.charAt(0); 2552 var strLeadLead=strLead+strLead; 2553 var escape=new RegExp(strLeadLead, "g"); 2554 var unescape=delimiter.charAt(0);
2555 var start=0; 2556 if (fieldValue.substr(0, 2)==delimiter) 2557 start=2; 2558 var end=start; 2559 var bContainEscapedCharacters=false; 2560 var totalLength=fieldValue.length; 2561 while (end < totalLength) 2562 { 2563 var index=fieldValue.indexOf(strLead, end); 2564 if (index >=0) 2565 { 2566 end=index; 2567 end++; 2568 if (fieldValue.charCodeAt(end)==trail) 2569 { 2570 if (end - 1 > start) 2571 { 2572 var strSubColumn=fieldValue.substr(start, end - start - 1); 2573 if (bContainEscapedCharacters) 2574 strSubColumn=strSubColumn.replace(escape, unescape); 2575 subColumnValues.push(strSubColumn); 2576 bContainEscapedCharacters=false; 2577 } 2578 else 2579 { 2580 subColumnValues.push(''); 2581 } 2582 end++; 2583 start=end; 2584 continue; 2585 } 2586 else if (fieldValue.charCodeAt(end)==lead) 2587 { 2588 end++; 2589 bContainEscapedCharacters=true; 2590 continue; 2591 } 2592 else 2593 { 2594 throw "ArgumentException"; 2595 } 2596 } 2597 else 2598 { 2599 end=totalLength; 2600 } 2601 } 2602 if (end > start) 2603 { 2604 var strSubColumn=fieldValue.substr(start, end - start); 2605 if (bContainEscapedCharacters) 2606 strSubColumn=strSubColumn.replace(escape, unescape); 2607 subColumnValues.push(strSubColumn); 2608 } 2609 return subColumnValues; 2610} 2611function ConvertMultiColumnValueToString( 2612 subColumnValues, 2613 delimiter, 2614 bAddLeadingTailingDelimiter) 2615{ 2616 if (delimiter==null) 2617 delimiter=";#"; 2618 if (bAddLeadingTailingDelimiter==null) 2619 bAddLeadingTailingDelimiter=true; 2620 var strLead=delimiter.charAt(0);
2621 var strLeadLead=strLead+strLead; 2622 var escape=new RegExp(delimiter.charAt(0), "g"); 2623 var bHasValue=false; 2624 var sb=''; 2625 for (var i=0; i < subColumnValues.length; i++) 2626 { 2627 var strSubColumn=subColumnValues[i]; 2628 if (strSubColumn !=null && strSubColumn.length > 0) 2629 strSubColumn=strSubColumn.replace(escape, strLeadLead); 2630 if (strSubColumn !=null && strSubColumn.length > 0) 2631 bHasValue=true; 2632 if (bAddLeadingTailingDelimiter || i !=0) 2633 sb+=delimiter; 2634 sb+=strSubColumn; 2635 } 2636 if (bHasValue) 2637 { 2638 if (bAddLeadingTailingDelimiter) 2639 { 2640 sb+=delimiter; 2641 } 2642 return sb; 2643 } 2644 else 2645 return ''; 2646} 2647var httpFolderTarget=null; 2648var httpFolderSource=null; 2649var httpFolderDiv=null; 2650function NavigateHttpFolderCore() 2651{ 2652 if (httpFolderDiv==null) 2653 { 2654 httpFolderDiv=document.createElement('DIV'); 2655 document.body.appendChild(httpFolderDiv); 2656 httpFolderDiv.onreadystatechange=NavigateHttpFolderCore; 2657 httpFolderDiv.addBehavior('#default#httpFolder'); 2658 } 2659 if (httpFolderDiv.readyState=="complete") 2660 { 2661 httpFolderDiv.onreadystatechange=null; 2662 try 2663 { 2664 var targetFrame=document.frames.item(httpFolderTarget); 2665 if (targetFrame !=null) 2666 { 2667 targetFrame.document.body.innerText= L_WebFoldersRequired_Text; 2668 } 2669 } 2670 catch (e) {} 2671 var isOk=false; 2672 try 2673 { 2674 var ret=""; 2675 ret=httpFolderDiv.navigateFrame(httpFolderSource, 2676 httpFolderTarget); 2677 if (ret=="OK") 2678 isOk=true; 2679 } 2680 catch (e) { } 2681 if (!isOk && 2682 0==httpFolderSource.search("http://[a-zA-Z0-9\-\.]+(:80)?/")) 2683 { 2684 var sUrl=httpFolderSource 2685 .replace(/http:\/\/([a-zA-Z0-9\-\.]+)(:80)?[\/]/, "//$1/") 2686 .replace(/[\/]/g, "\\"); 2687 var targetFrame=document.frames.item(httpFolderTarget); 2688 if (targetFrame !=null) 2689 { 2690 try 2691 { 2692 targetFrame.onload=null; 2693 targetFrame.document.location.href=sUrl; 2694 isOk=true; 2695 } 2696 catch (e) { } 2697 } 2698 } 2699 if (!isOk) 2700 { 2701 alert(L_WebFoldersError_Text); 2702 } 2703 } 2704} 2705function NavigateHttpFolder(urlSrc, frameTarget) 2706{ 2707 if ('/'==urlSrc.charAt(0)) 2708 { 2709 urlSrc=document.location.protocol+"//"+document.location.host+ urlSrc; 2710 } 2711 httpFolderSource=urlSrc; 2712 httpFolderTarget=frameTarget; 2713 NavigateHttpFolderCore(); 2714} 2715function NavigateHttpFolderIfSupported(urlSrc, frameTarget) 2716{ 2717 if (SupportsNavigateHttpFolder()) 2718 { 2719 NavigateHttpFolder(urlSrc, frameTarget); 2720 } 2721 else 2722 { 2723 alert(L_WebFoldersError_Text); 2724 window.history.back(); 2725 } 2726} 2727function SupportsNavigateHttpFolder() 2728{ 2729 return (browseris.ie5up && browseris.win32); 2730} 2731cGCMinimumWidth=400; 2732cGCMinimumHeight=200; 2733cGCMaxGCResizeCount=10; 2734var glGCObjectHeight=0; 2735var glGCObjectWidth=0; 2736glGCResizeCounter=0; 2737function TestGCObject( GCObject ) 2738{ 2739 if (((browseris.ie55up) && (typeof(GCObject)=="undefined")) || (GCObject==null) || (GCObject.object==null)) 2740 return false; 2741 return true; 2742} 2743function GCComputeSizing(GCObject) 2744{ 2745 if (TestGCObject(GCObject)) 2746 { 2747 var fBIDI=(document.documentElement.currentStyle.direction=="rtl"); 2748 var lGCWindowWidth=document.documentElement.scrollWidth; 2749 var lGCWindowHeight=document.documentElement.scrollHeight; 2750 var lGCObjectOffsetLeft=0; 2751 var lGCObjectOffsetTop=0; 2752 if (fBIDI) 2753 { 2754 lGCObjectOffsetLeft=-180; 2755 lGCObjectOffsetTop=120; 2756 } 2757 else 2758 { 2759 lGCObjectOffsetLeft=32; 2760 lGCObjectOffsetTop=-2; 2761 } 2762 var lGCObjectWalker=GCObject.parentElement; 2763 while (lGCObjectWalker !=document.body) 2764 { 2765 lGCObjectOffsetLeft+=lGCObjectWalker.offsetLeft; 2766 lGCObjectOffsetTop+=lGCObjectWalker.offsetTop; 2767 lGCObjectWalker=lGCObjectWalker.offsetParent; 2768 if (fBIDI) 2769 if (lGCObjectWalker.offsetLeft > 0) 2770 break; 2771 } 2772 lGCObjectOffsetLeft+=GCObject.parentElement.offsetLeft; 2773 lGCObjectOffsetTop+=GCObject.parentElement.offsetTop; 2774 glGCObjectHeight=lGCWindowHeight - lGCObjectOffsetTop; 2775 if (glGCObjectHeight > lGCWindowHeight) 2776 glGCObjectHeight=lGCWindowHeight 2777 if (glGCObjectHeight < cGCMinimumHeight) 2778 glGCObjectHeight=cGCMinimumHeight; 2779 if (fBIDI) 2780 { 2781 glGCObjectWidth=lGCWindowWidth+lGCObjectOffsetLeft; 2782 } 2783 else 2784 glGCObjectWidth=lGCWindowWidth - lGCObjectOffsetLeft; 2785 if (glGCObjectWidth > lGCWindowWidth) 2786 glGCObjectWidth=lGCWindowWidth; 2787 if (glGCObjectWidth < cGCMinimumWidth) 2788 glGCObjectWidth=cGCMinimumWidth; 2789 } 2790} 2791function GCResizeGridControl(GCObject) 2792{ 2793 if (TestGCObject(GCObject)) 2794 { 2795 var lGCOldObjectHeight=glGCObjectHeight; 2796 var lGCOldglGCObjectWidth=glGCObjectWidth; 2797 GCComputeSizing(GCObject); 2798 if (lGCOldObjectHeight !=glGCObjectHeight) 2799 GCObject.height=glGCObjectHeight; 2800 if (lGCOldglGCObjectWidth !=glGCObjectWidth) 2801 GCObject.width=glGCObjectWidth; 2802 } 2803} 2804var win_resize_counter=0; 2805var obj_resize_counter=0; 2806function GCWindowResize(GCObject) 2807{ 2808 win_resize_counter++; 2809 if(win_resize_counter < 3) 2810 { 2811 if (TestGCObject(GCObject)) 2812 { 2813 glGCResizeCounter=0; 2814 GCResizeGridControl(GCObject); 2815 } 2816 } 2817 else 2818 win_resize_counter=0; 2819} 2820function GCOnResizeGridControl(GCObject) 2821{ 2822 obj_resize_counter++; 2823 if(obj_resize_counter < 2) 2824 { 2825 if (TestGCObject(GCObject)) 2826 { 2827 if (glGCResizeCounter < cGCMaxGCResizeCount) 2828 { 2829 glGCResizeCounter++; 2830 GCResizeGridControl(GCObject); 2831 } 2832 } 2833 } 2834 else 2835 obj_resize_counter=0; 2836} 2837function GCActivateAndFocus(GCObject) 2838{ 2839 if (TestGCObject(GCObject)) 2840 { 2841 GCObject.SetActive; 2842 GCObject.Focus; 2843 } 2844} 2845function GCNavigateToNonGridPage() 2846{ 2847 var strDocUrl=window.location.href; 2848 gridPart=strDocUrl.match("ShowInGrid="); 2849 if (gridPart) 2850 { 2851 gridSet=/ShowInGrid=\w*/; 2852 strDocUrl=strDocUrl.replace(gridSet, ""); 2853 } 2854 var idxQuery=strDocUrl.indexOf("?"); 2855 if (idxQuery !=-1) 2856 { 2857 var idxQry2=strDocUrl.indexOf("?", idxQuery+1); 2858 if (idxQry2 !=-1) 2859 strDocUrl=strDocUrl.slice(0, idxQry2); 2860 strDocUrl=strDocUrl+"&"; 2861 } 2862 else 2863 strDocUrl=strDocUrl+"?"; 2864 strDocUrl=strDocUrl+"ShowInGrid=False"; 2865 document.location.replace(STSPageUrlValidation(strDocUrl)); 2866} 2867function GCAddNewColumn(GCObject,path) 2868{ 2869 if (TestGCObject(GCObject)) 2870 { 2871 var source=window.location.href; 2872 var listName=GCObject.Name; 2873 var colName=GCObject.SelectedColumnUniqueName; 2874 var ltr=GCObject.RightToLeft;
2875 var viewGUID=GCObject.ViewGUID; 2876 var page="FldNew.aspx"; 2877 var listServerTemplate=GCObject.ServerTemplate; 2878 if (listServerTemplate=="102" ) 2879 { 2880 page="QstNew.aspx"; 2881 } 2882 path=path+"/_layouts/"+page+"?List="+listName+"&View="+viewGUID+"&Source="+source+"&RelativeToField="+colName+"<R="+ltr; 2883 window.location=path 2884 } 2885} 2886function GCEditDeleteColumn(GCObject,path) 2887{ 2888 if (TestGCObject(GCObject)) 2889 { 2890 var source=window.location.href; 2891 var colName=GCObject.SelectedColumnUniqueName; 2892 var listName=GCObject.Name; 2893 var page="FldEdit.aspx"; 2894 var listServerTemplate=GCObject.ServerTemplate; 2895 if (listServerTemplate=="102" ) 2896 { 2897 page="QstEdit.aspx"; 2898 } 2899 path=path+"/_layouts/"+page+"?List="+listName+"&Field="+colName+"&Source="+source; 2900 window.location=path 2901 } 2902} 2903function GCShowHideTaskPane(GCObject) 2904{ 2905 if (TestGCObject(GCObject)) 2906 { 2907 var state=GCObject.DisplayTaskPane; 2908 GCObject.DisplayTaskPane=!state; 2909 } 2910} 2911function GCShowHideTotalsRow(GCObject) 2912{ 2913 if (TestGCObject(GCObject)) 2914 { 2915 var state=GCObject.DisplaySheetTotals; 2916 GCObject.DisplaySheetTotals=!state; 2917 } 2918} 2919function GCGridNewRow(GCObject) 2920{ 2921 if (TestGCObject(GCObject)) 2922 { 2923 GCObject.SelectNewRow(); 2924 } 2925} 2926function GCRefresh(GCObject) 2927{ 2928 if (TestGCObject(GCObject)) 2929 { 2930 GCObject.Refresh(); 2931 } 2932} 2933function GCNewFolder(GCObject) 2934{ 2935 if (TestGCObject(GCObject)) 2936 { 2937 GCObject.NewFolder(); 2938 } 2939} 2940var L_Edit_Text="Edit"; 2941var L_ViewItem_Text="View Item"; 2942var L_EditItem_Text="Edit Item"; 2943var L_EditSeriesItem_Text="Edit Series"; 2944var L_DeleteItem_Text="Delete Item"; 2945var L_DeleteDocItem_Text="Delete"; 2946var L_ViewProperties_Text="View Properties"; 2947var L_EditProperties_Text="Edit Properties"; 2948var L_ViewResponse_Text="View Response"; 2949var L_EditResponse_Text="Edit Response"; 2950var L_DeleteResponse_Text="Delete Response"; 2951var L_Subscribe_Text="Alert Me"; 2952var L_CustomizeNewButton_Text="Change New Button Order"; 2953var L_Review_Text="Send for Review"; 2954var L_EditIn_Text="Edit in ^1"; 2955var L_EditInApplication_Text="Edit Document" 2956var L_Checkin_Text="Check In"; 2957var L_Checkout_Text="Check Out"; 2958var L_DiscardCheckou_Text="Discard Check Out"; 2959var L_CreateDWS_Text="Create Document Workspace"; 2960var L_PublishBack_Text="Publish to Source Location"; 2961var L_Versions_Text="Version History"; 2962var L_WorkOffline_Text="Connect to Client"; 2963var L_Reply_Text="Reply"; 2964var L_ExportContact_Text="Export Contact"; 2965var L_ExportEvent_Text="Export Event"; 2966var L_Reschedule_Text="Rescheduling Options"; 2967var L_Move_Text="Move"; 2968var L_Keep_Text="Keep"; 2969var L_Delete_Text="Delete"; 2970var L_Open_Text="Open"; 2971var L_SiteSettings_Text="Change Site Settings"; 2972var L_ManageUsers_Text="Manage Users"; 2973var L_DeleteSite_Text="Delete Site"; 2974var L_SiteStorage_Text="Manage Site Storage"; 2975var L_MngPerms_Text="Manage Permissions"; 2976var L_Settings_Text="Settings"; 2977var L_Remove_Text="Remove from this list"; 2978var L_ModerateItem_Text="Approve/reject"; 2979var L_PublishItem_Text="Publish a Major Version"; 2980var L_CancelPublish_Text="Cancel Approval"; 2981var L_UnPublishItem_Text="Unpublish this version"; 2982var L_DownloadOriginal_Text="Download Picture"; 2983var L_EditVersion_Text="Edit"; 2984var L_EditInOIS_Text="Edit Picture"; 2985var L_Workflows_Text="Workflows"; 2986var L_Send_Text="Send To"; 2987var L_ExistingCopies_Text="Existing Copies"; 2988var L_OtherLocation_Text="Other Location"; 2989var L_GoToSourceItem_Text="Go to Source Item"; 2990var L_NotifyThisIsCopy_Text="This item was copied from another location and may be receiving updates from there. You should make sure that the source stops sending updates or this item may get recreated.\n\n"; 2991var L_SendToEmail_Text="E-mail a Link"; 2992var L_DownloadACopy_Text="Download a Copy"; 2993var L_DocTran_Text="Convert Document"; 2994var L_AddToMyLinks_Text="Add to My Links"; 2995var L_AddToCategory_Text="Submit to Portal Area"; 2996var L_VS_DownArrow_Text="Select a View"; 2997var L_ModifyView="Modify this view"; 2998var L_CreateView="Create a new view"; 2999function resetExecutionState() 3000{ 3001 IsMenuShown=false; 3002 itemTable=null; 3003 EndDeferItem(); 3004 imageCell=null; 3005 onKeyPress=false; 3006 currentCtx=null; 3007 currentEditMenu=null; 3008 currentItemID=null; 3009 downArrowText=null; 3010 currentItemAppName=null; 3011 currentItemProgId=null; 3012 currentItemIcon=null; 3013 currentItemOpenControl=null; 3014 currentItemModerationStatus=null; 3015 currentItemUIString=null; 3016 currentItemCheckedoutToLocal=null; 3017 currentItemCanModify=null; 3018 currentItemFileUrl=null; 3019 currentItemFSObjType=null;
3020 currentItemCheckedOutUserId=null; 3021 currentItemCheckoutExpires=null; 3022 currentItemPermMaskH=null; 3023 currentItemPermMaskL=null; 3024 currentItemIsEventsExcp=null; 3025 currentItemIsEventsDeletedExcp=null; 3026} 3027function IsMenuEnabled() 3028{ 3029 return (browseris.ie55up || browseris.nav6up || browseris.safari125up); 3030} 3031function GetSelectedElement(elem, tagName) 3032{ 3033 while(elem !=null && elem.tagName !=tagName) 3034 elem=elem.parentNode; 3035 return elem; 3036} 3037function setupMenuContext(ctx) 3038{ 3039 currentCtx=ctx; 3040} 3041function FindSTSMenuTable(elm, strSearch) 3042{ 3043 var str=elm.getAttribute(strSearch); 3044 while (elm !=null && (str==null ||str=="")) 3045 { 3046 elm=GetSelectedElement(elm.parentNode, "TABLE"); 3047 if (elm !=null) 3048 str=elm.getAttribute(strSearch); 3049 } 3050 return elm; 3051} 3052function OnLinkDeferCall(elm) 3053{ 3054 if (!IsMenuEnabled()) 3055 return false; 3056 elm.onblur=OutItem; 3057 elm.onkeydown=PopMenu; 3058 var elmTmp=FindSTSMenuTable(elm, "CTXName"); 3059 if (elmTmp==null) 3060 return false; 3061 OnItem(elmTmp); 3062 return false; 3063} 3064function StartDeferItem(elm) 3065{ 3066 if (elm !=itemTable) 3067 { 3068 itemTableDeferred=elm; 3069 elm.onmouseout=EndDeferItem; 3070 elm.onclick=DeferredOnItem; 3071 elm.oncontextmenu=DeferredOnItem; 3072 } 3073} 3074function DeferredOnItem(e) 3075{ 3076 var elm=itemTableDeferred; 3077 if (elm !=null) 3078 { 3079 MenuHtc_hide(); 3080 OnItem(elm); 3081 CreateMenu(e); 3082 return false; 3083 } 3084} 3085function EndDeferItem() 3086{ 3087 var elm=itemTableDeferred; 3088 if (elm !=null) 3089 { 3090 itemTableDeferred=null; 3091 elm.onmouseout=null; 3092 elm.onclick=null; 3093 elm.oncontextmenu=null; 3094 } 3095} 3096function GetFirstChildElement(e) 3097{ 3098 for (var i=0; i < e.childNodes.length; i++) 3099 { 3100 if (e.childNodes[i].nodeType==1) 3101 return e.childNodes[i]; 3102 } 3103 return null; 3104} 3105function GetLastChildElement(e) 3106{ 3107 for (var i=e.childNodes.length-1; i >=0; i--) 3108 { 3109 if (e.childNodes[i].nodeType==1) 3110 return e.childNodes[i]; 3111 } 3112 return null; 3113} 3114function OnItemDeferCall(elm) 3115{ 3116 if (!IsMenuEnabled()) 3117 return false; 3118 if (IsMenuOn()) 3119 { 3120 StartDeferItem(elm); 3121 return false; 3122 } 3123 if (itemTable !=null) 3124 OutItem(); 3125 itemTable=elm; 3126 currentItemID=GetAttributeFromItemTable(itemTable, "ItemId", "Id"); 3127 var createCtx=new Function("setupMenuContext("+itemTable.getAttribute("CTXName")+");"); 3128 createCtx(); 3129 var ctx=currentCtx; 3130 if (browseris.nav6up) 3131 itemTable.className="ms-selectedtitlealternative"; 3132 else 3133 itemTable.className="ms-selectedtitle"; 3134 if (browseris.ie5up && !browseris.ie55up) 3135 { 3136 itemTable.onclick=EditMenuDefaultForOnclick; 3137 itemTable.oncontextmenu=EditMenuDefaultForOnclick; 3138 } 3139 else 3140 { 3141 itemTable.onclick=CreateMenu; 3142 itemTable.oncontextmenu=CreateMenu; 3143 } 3144 itemTable.onmouseout=OutItem; 3145 var titleRow; 3146 titleRow=GetFirstChildElement(GetFirstChildElement(itemTable)); 3147 if (titleRow !=null) 3148 { 3149 imageCell=GetLastChildElement(titleRow); 3150 } 3151 if (ctx.listTemplate==200) 3152 { 3153 if (itemTable.getAttribute("menuType")=="Orphaned") 3154 downArrowText=L_Reschedule_Text; 3155 } 3156 else 3157 downArrowText=L_Edit_Text; 3158 var imageTag=GetFirstChildElement(imageCell); 3159 imageTag.src=ctx.imagesPath+"menudark.gif"; 3160 imageTag.alt=downArrowText; 3161 imageTag.style.visibility="visible"; 3162 imageCell.className="ms-menuimagecell"; 3163 return false; 3164} 3165function OutItem() 3166{ 3167 if (!IsMenuOn() && itemTable !=null) 3168 { 3169 itemTable.className="ms-unselectedtitle"; 3170 itemTable.onclick=null; 3171 itemTable.oncontextmenu=null; 3172 itemTable.onmouseout=null; 3173 if (imageCell !=null) 3174 { 3175 GetFirstChildElement(imageCell).style.visibility="hidden"; 3176 imageCell.className=""; 3177 } 3178 resetExecutionState(); 3179 } 3180} 3181function IsMenuOn() 3182{ 3183 if (!IsMenuShown) 3184 return false; 3185 var fIsOpen=false; 3186 fIsOpen=MenuHtc_isOpen(currentEditMenu); 3187 if (!fIsOpen) 3188 IsMenuShown=false; 3189 return fIsOpen; 3190} 3191function PopMenu(e) 3192{ 3193 if (!IsMenuEnabled()) 3194 return true; 3195 if (e==null) 3196 e=window.event; 3197 var nKeyCode; 3198 if (browseris.nav6up) 3199 nKeyCode=e.which; 3200 else 3201 nKeyCode=e.keyCode; 3202 if (!IsMenuOn() && ((e.shiftKey && nKeyCode==13) || (e.altKey && nKeyCode==40))) 3203 { 3204 onKeyPress=true; 3205 CreateMenu(e); 3206 onKeyPress=false; 3207 return false; 3208 } 3209 else 3210 return true; 3211} 3212function CreateMenuEx(ctx, container, e) 3213{ 3214 if (container==null) 3215 return; 3216 IsMenuShown=true; 3217 document.body.onclick=""; 3218 var m; 3219 m=CMenu(currentItemID+"_menu"); 3220 if (!m) 3221 return; 3222 else if (ctx.isVersions)
3223 AddVersionMenuItems(m, ctx); 3224 else if (ctx.listBaseType==1) 3225 AddDocLibMenuItems(m, ctx); 3226 else if (ctx.listTemplate==200) 3227 AddMeetingMenuItems(m, ctx); 3228 else 3229 AddListMenuItems(m, ctx); 3230 InsertFeatureMenuItems(m, ctx); 3231 currentEditMenu=m; 3232 container.onmouseout=null; 3233 OMenu(m, container, null, null, -1); 3234 itemTable=GetSelectedElement(container, "TABLE"); 3235 m._onDestroy=OutItem; 3236 e.cancelBubble=true; 3237 return false; 3238} 3239function CreateMenu(e) 3240{ 3241 if (!IsContextSet()) 3242 return; 3243 var ctx=currentCtx; 3244 if (e==null) 3245 e=window.event; 3246 var srcElement=e.srcElement ? e.srcElement : e.target; 3247 if (itemTable==null || imageCell==null || 3248 (onKeyPress==false && 3249 (srcElement.tagName=="A" || 3250 srcElement.parentNode.tagName=="A"))) 3251 return; 3252 return CreateMenuEx(ctx, itemTable, e); 3253} 3254function AddSendSubMenu(m,ctx) 3255{ 3256 strDisplayText=L_Send_Text; 3257 var currentItemUrl=GetAttributeFromItemTable(itemTable, "Url", "ServerUrl"); 3258 var currentItemEscapedFileUrl; 3259 var currentItenUnescapedUrl; 3260 var strExtension; 3261 if (currentItemFileUrl !=null) 3262 { 3263 currentItenUnescapedUrl=unescapeProperly(currentItemFileUrl); 3264 currentItemEscapedFileUrl=escapeProperly(currentItenUnescapedUrl); 3265 strExtension=SzExtension(currentItenUnescapedUrl); 3266 if (strExtension !=null && strExtension !="") 3267 strExtension=strExtension.toLowerCase(); 3268 } 3269 var sm=CASubM(m,strDisplayText,"","",400); 3270 sm.id="ID_Send"; 3271 var menuOption; 3272 var serverFileRedirect=itemTable.getAttribute("SRed"); 3273 if (currentItemProgId !="SharePoint.WebPartPage.Document" && 3274 (serverFileRedirect==null || serverFileRedirect=="" || HasRights(0x0, 0x20)) && strExtension !="aspx") 3275 { 3276 if (typeof(ctx.SendToLocationName) !="undefined" && 3277 ctx.SendToLocationName !=null && 3278 ctx.SendToLocationName !="" && 3279 typeof(ctx.SendToLocationUrl) !="undefined" && 3280 ctx.SendToLocationUrl !=null && 3281 ctx.SendToLocationUrl !="") 3282 { 3283 strAction="STSNavigate('"+ ctx.HttpRoot+ "/_layouts/copy.aspx?"+ "SourceUrl="+ currentItemEscapedFileUrl+ "&Source="+ GetSource()+"&FldUrl="+ escapeProperly(ctx.SendToLocationUrl)+"')"; 3284 menuOption=CAMOpt(sm, 3285 ctx.SendToLocationName, 3286 strAction, 3287 ""); 3288 } 3289 if (typeof(itemTable.getAttribute("HCD")) !="undefined" && itemTable.getAttribute("HCD")=="1") 3290 { 3291 strDisplayText=L_ExistingCopies_Text; 3292 strAction="STSNavigate('"+ctx.HttpRoot+ "/_layouts/updatecopies.aspx?"+ "SourceUrl="+ currentItemEscapedFileUrl+ "&Source="+ GetSource()+"')"; 3293 strImagePath=ctx.imagesPath+"existingLocations.gif"; 3294 menuOption=CAMOpt(sm, strDisplayText, strAction, strImagePath); 3295 menuOption.id="ID_ExistingCopies"; 3296 } 3297 strDisplayText=L_OtherLocation_Text; 3298 strAction="STSNavigate('"+ ctx.HttpRoot+ "/_layouts/copy.aspx?"+ "SourceUrl="+ currentItemEscapedFileUrl+ "&Source="+ GetSource()+"')"; 3299 strImagePath=ctx.imagesPath+"sendOtherLoc.gif"; 3300 menuOption=CAMOpt(sm, strDisplayText, strAction, strImagePath); 3301 menuOption.id="ID_OtherLocation"; 3302 if (ctx.OfficialFileName !=null && ctx.OfficialFileName !="") 3303 { 3304 strDisplayText=ctx.OfficialFileName; 3305 strAction="STSNavigate('"+ ctx.HttpRoot+ "/_layouts/SendToOfficialFile.aspx?"+ "SourceUrl="+ currentItemEscapedFileUrl+ "&Source="+ GetSource()+"')"; 3306 strImagePath=""; 3307 CAMOpt(sm, strDisplayText, strAction, strImagePath); 3308 } 3309 CAMSep(sm); 3310 } 3311 if(HasRights(0x10, 0x0)) 3312 { 3313 strDisplayText=L_SendToEmail_Text; 3314 var currentItemUrl=GetAttributeFromItemTable(itemTable, "Url", "ServerUrl"); 3315 var httpRootWithSlash=ctx.HttpRoot.substr(0); 3316 if (httpRootWithSlash[httpRootWithSlash.length-1] !='/') 3317 httpRootWithSlash+='/'; 3318 var slashLoc=-1; 3319 var fileUrl=""; 3320 slashLoc=httpRootWithSlash.substring(8).indexOf('/')+8; 3321 fileUrl=httpRootWithSlash.substr(0, slashLoc)+ escapeProperlyCore(unescapeProperly(currentItemUrl), true); 3322 var serverFileRedir=itemTable.getAttribute("SRed"); 3323 if ((serverFileRedir !=null) && 3324 (serverFileRedir !="") && 3325 (serverFileRedir !="1")) 3326 { 3327 if (serverFileRedir.substring(0,1) !="1") 3328 { 3329 fileUrl=serverFileRedir; 3330 } 3331 else 3332 { 3333 fileUrl=serverFileRedir.substring(1); 3334 } 3335 } 3336 strAction="javascript:navigateMailToLinkNew('"+fileUrl+"')"; 3337 strImagePath=ctx.imagesPath+"gmailnew.gif"; 3338 menuOption=CAMOpt(sm, strDisplayText, strAction, strImagePath); 3339 menuOption.id="ID_SendToEmail"; 3340 } 3341 var serverFileRedirect=itemTable.getAttribute("SRed"); 3342 if (currentItemFSObjType !=1 && 3343 ctx.listBaseType==1 && 3344 (serverFileRedirect==null || serverFileRedirect=="" 3345 || HasRights(0x0, 0x20))) 3346 { 3347 if (ctx.listTemplate !=109 && 3348 ctx.listTemplate !=119) 3349 AddWorkspaceMenuItem(sm, ctx); 3350 strAction="STSNavigate('"+ ctx.HttpRoot+ "/_layouts/download.aspx?"+ "SourceUrl="+ currentItemEscapedFileUrl+ "&Source="+ GetSource()+"&FldUrl="+ escapeProperly(ctx.SendToLocationUrl)+"')";; 3351 menuOption=CAMOpt(sm, L_DownloadACopy_Text, strAction, ""); 3352 menuOption.id="ID_DownloadACopy"; 3353 } 3354} 3355function AddDocTransformSubMenu(m, ctx) 3356{ 3357 if (typeof(rgDocTransformers)=="undefined" || 3358 rgDocTransformers==null) 3359 { 3360 return; 3361 } 3362 var sm=null; 3363 var currentItemUrl=GetAttributeFromItemTable(itemTable, "Url", "ServerUrl"); 3364 var currentItemEscapedFileUrl; 3365 if (currentItemFileUrl !=null) 3366 currentItemEscapedFileUrl=escapeProperly( 3367 unescapeProperly(currentItemFileUrl)); 3368 var iDot=currentItemUrl.lastIndexOf("."); 3369 if (iDot > 0) 3370 { 3371 var strExtension=currentItemUrl.substring(iDot+1, currentItemUrl.length).toLowerCase(); 3372 var iTransformer; 3373 var fAddedTransformer=false; 3374 for (iTransformer=0; iTransformer < rgDocTransformers.length; iTransformer++) 3375 { 3376 if (rgDocTransformers[iTransformer].ConvertFrom==strExtension) 3377 { 3378 var ctid=GetAttributeFromItemTable(itemTable, "CId", "ContentTypeId"); 3379 var re=new RegExp("/\|"+ctid+"\|/"); 3380 if (ctid && !re.test(rgDocTransformers[iTransformer].ExcludedContentTypes)) 3381 { 3382 if (!fAddedTransformer) 3383 { 3384 sm=CASubM(m, L_DocTran_Text, ctx.imagesPath+"ConvertDocument.gif", L_DocTran_Text, 500); 3385 sm.Id="ID_ConvertDocument"; 3386 fAddedTransformer=true; 3387 } 3388 strAction="STSNavigate('"+ctx.HttpRoot+ "/_layouts/"+escapeProperlyCore(rgDocTransformers[iTransformer].TransformUIPage, true)+"?"+ "FileName="+currentItemEscapedFileUrl+ "&TID="+rgDocTransformers[iTransformer].Id+ "&Source="+GetSource()+ "')"; 3389 var tm; 3390 tm=CAMOpt(sm, rgDocTransformers[iTransformer].Name, strAction, ""); 3391 tm.Id="ID_Transform"+rgDocTransformers[iTransformer].Id; 3392 } 3393 } 3394 } 3395 } 3396}
3397function AddMeetingMenuItems(m, ctx) 3398{ 3399 if (itemTable.getAttribute("menuType")=="Orphaned") 3400 { 3401 var menuOption; 3402 var currentInstanceId=GetAttributeFromItemTable(itemTable, "ItemId", "Id"); 3403 strDisplayText=L_Move_Text; 3404 strAction="GoToMtgMove('"+ctx.listUrlDir+"',"+currentInstanceId+",'"+itemTable.getAttribute("DateTime")+"','"+itemTable.getAttribute("DateTimeISO")+"')"; 3405 strImagePath=""; 3406 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath); 3407 menuOption.id="ID_Move"; 3408 strDisplayText=L_Keep_Text; 3409 strAction="MtgKeep('"+ctx.HttpPath+"','"+ctx.listName+"',"+currentInstanceId+")"; 3410 strImagePath=""; 3411 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath); 3412 menuOption.id="ID_Keep"; 3413 strDisplayText=L_Delete_Text; 3414 strAction="MtgDelete('"+ctx.HttpPath+"','"+ctx.listName+"',"+currentInstanceId+")"; 3415 strImagePath=ctx.imagesPath+"delitem.gif"; 3416 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath); 3417 menuOption.id="ID_Delete"; 3418 } 3419} 3420function AddListMenuItems(m, ctx) 3421{ 3422 if (typeof(Custom_AddListMenuItems) !="undefined") 3423 { 3424 if (Custom_AddListMenuItems(m, ctx)) 3425 return; 3426 } 3427 if (currentItemFileUrl==null) 3428 currentItemFileUrl=GetAttributeFromItemTable(itemTable, "Url", "ServerUrl"); 3429 var currentItemEscapedFileUrl; 3430 if (currentItemFileUrl !=null) 3431 currentItemEscapedFileUrl=escapeProperly(unescapeProperly(currentItemFileUrl)); 3432 if (currentItemIsEventsExcp==null) 3433 { 3434 currentItemIsEventsExcp=false; 3435 currentItemIsEventsDeletedExcp=false; 3436 currentItemEvtType=itemTable.getAttribute("EventType"); 3437 if(currentItemEvtType !=null && 3438 (currentItemEvtType==2 || currentItemEvtType==3 || currentItemEvtType==4)) 3439 { 3440 currentItemIsEventsExcp=true; 3441 if (currentItemEvtType==3) 3442 currentItemIsEventsDeletedExcp=true; 3443 } 3444 } 3445 var menuOption; 3446 if (ctx.listBaseType==3 && ctx.listTemplate==108) 3447 { 3448 strDisplayText=L_Reply_Text; 3449 if(itemTable.getAttribute("Ordering").length>=504) 3450 { 3451 var L_ReplyLimitMsg_Text="Cannot reply to this thread. The reply limit has been reached."; 3452 strAction="alert('"+L_ReplyLimitMsg_Text+"')"; 3453 } 3454 else 3455 { 3456 strAction="STSNavigate('"+ctx.newFormUrl 3457+"?Threading="+escapeProperly(itemTable.getAttribute("Ordering")) 3458+"&Guid="+escapeProperly(itemTable.getAttribute("ThreadID")) 3459+"&Subject="+escapeProperly(itemTable.getAttribute("Subject")) 3460+"&Source="+GetSource()+"')"; 3461 } 3462 strImagePath=ctx.imagesPath+"reply.gif"; 3463 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 100); 3464 menuOption.id="ID_Reply"; 3465 } 3466 AddSharedNamespaceMenuItems(m, ctx); 3467 if (currentItemID.indexOf(".0.") < 0 && HasRights(0x0, 0x8) 3468 && !currentItemIsEventsExcp) 3469 { 3470 if (ctx.listBaseType==4) 3471 strDisplayText=L_DeleteResponse_Text; 3472 else 3473 strDisplayText=L_DeleteItem_Text; 3474 strAction="DeleteListItem()"; 3475 strImagePath=ctx.imagesPath+"delitem.gif"; 3476 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 300); 3477 menuOption.id="ID_DeleteItem"; 3478 } 3479 var contentTypeId=itemTable.getAttribute("CId"); 3480 if (contentTypeId !=null && contentTypeId.indexOf("0x0106")==0 3481 && HasRights(0x10, 0x0)) 3482 { 3483 strDisplayText=L_ExportContact_Text; 3484 strAction="STSNavigate('"+ctx.HttpPath+"&Cmd=Display&CacheControl=1&List="+ctx.listName+"&ID="+currentItemID+"&Using="+escapeProperly(ctx.listUrlDir)+"/vcard.vcf"+"')"; 3485 strImagePath=ctx.imagesPath+"exptitem.gif"; 3486 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 350); 3487 menuOption.id="ID_ExportContact"; 3488 } 3489 CAMSep(m); 3490 if (ctx.verEnabled==1) 3491 { 3492 AddVersionsMenuItem(m, ctx, currentItemEscapedFileUrl); 3493 } 3494 AddWorkflowsMenuItem(m, ctx); 3495 CAMSep(m); 3496 if ((currentItemID.indexOf(".0.") < 0) 3497 && HasRights(0x80, 0x0)) 3498 { 3499 strDisplayText=L_Subscribe_Text; 3500 strAction="NavigateToSubNewAspx('"+ctx.HttpRoot+"', 'List="+ctx.listName+"&ID="+currentItemID+"')"; 3501 strImagePath=""; 3502 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 1100); 3503 menuOption.id="ID_Subscribe"; 3504 } 3505 if (ctx.isModerated==true && 3506 HasRights(0x0, 0x10) && HasRights(0x0, 0x4) 3507 && HasRights(0x0, 0x21000) && ctx.listBaseType !=4) 3508 { 3509 strDisplayText=L_ModerateItem_Text; 3510 strAction="STSNavigate('"+ctx.HttpRoot+"/_layouts/approve.aspx?List="+ctx.listName 3511+"&ID="+currentItemID+"&Source="+GetSource()+"')"; 3512 strImagePath=ctx.imagesPath+"apprj.gif"; 3513 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 1150); 3514 menuOption.id="ID_ModerateItem"; 3515 } 3516 if (currentItemFSObjType==1 && 3517 ctx.ContentTypesEnabled && 3518 ctx.listTemplate !=108) 3519 { 3520 strDisplayText=L_CustomizeNewButton_Text; 3521 strAction="STSNavigate('"+ctx.HttpRoot+"/_layouts/ChangeContentTypeOrder.aspx?List="+ctx.listName+"&RootFolder="+currentItemEscapedFileUrl+"&Source="+GetSource()+"')"; 3522 strImagePath=""; 3523 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 1170); 3524 menuOption.id="ID_CustomizeNewButton"; 3525 } 3526} 3527function ReplaceUrlTokens(urlWithTokens, ctx) 3528{ 3529 if (currentItemID !=null) 3530 urlWithTokens=urlWithTokens.replace("{ItemId}", currentItemID); 3531 if (currentItemFileUrl !=null) 3532 urlWithTokens=urlWithTokens.replace("{ItemUrl}", currentItemFileUrl); 3533 if (ctx.HttpRoot !=null) 3534 urlWithTokens=urlWithTokens.replace("{SiteUrl}", ctx.HttpRoot); 3535 if (ctx.listName !=null) 3536 urlWithTokens=urlWithTokens.replace("{ListId}", ctx.listName); 3537 return urlWithTokens; 3538}
3539function InsertFeatureMenuItems(m, ctx) 3540{ 3541 CAMSep(m); 3542 var fileType=GetAttributeFromItemTable(itemTable, "Ext", "FileType"); 3543 var progId=GetAttributeFromItemTable(itemTable, "Type", "HTMLType"); 3544 var contentTypeId=GetAttributeFromItemTable(itemTable, "CId", "ContentTypeId"); 3545 var listTemplateId=null; 3546 if (ctx !=null) 3547 listTemplateId=ctx.listTemplate; 3548 if (fileType) fileType=fileType.toLowerCase(); 3549 if (progId) progId=progId.toLowerCase(); 3550 if (contentTypeId) contentTypeId=contentTypeId.toLowerCase(); 3551 var menuOption; 3552 var elemTable=document.getElementById("ECBItems"); 3553 if (elemTable !=null) 3554 { 3555 var elemTBody=elemTable.childNodes[0]; 3556 for (var iMenuItem=0; iMenuItem < elemTBody.childNodes.length; iMenuItem++) 3557 { 3558 var elemTR=elemTBody.childNodes[iMenuItem]; 3559 var elemTDRightsH=parseInt(GetInnerText(elemTR.childNodes[3])); 3560 var elemTDRightsL=parseInt(GetInnerText(elemTR.childNodes[4])); 3561 var regType=GetInnerText(elemTR.childNodes[5]); 3562 var regId=GetInnerText(elemTR.childNodes[6]); 3563 var fInsertMenuItem=false; 3564 if (regId) 3565 { 3566 regId=regId.toLowerCase(); 3567 if (regType=="FileType") 3568 { 3569 fInsertMenuItem= (fileType==regId.toLowerCase()); 3570 } 3571 else if (regType=="ProgId") 3572 { 3573 fInsertMenuItem= (progId==regId.toLowerCase()); 3574 } 3575 else if (regType=="ContentType") 3576 { 3577 fInsertMenuItem= (contentTypeId && 3578 contentTypeId.indexOf(regId.toLowerCase())==0); 3579 } 3580 else if (regType=="List") 3581 { 3582 fInsertMenuItem= (listTemplateId && 3583 listTemplateId==regId); 3584 } 3585 } 3586 if (fInsertMenuItem && 3587 HasRights(elemTDRightsH, elemTDRightsL)) 3588 { 3589 var elemTDTitle=elemTR.childNodes[0]; 3590 var elemTDImageUrl=elemTR.childNodes[1]; 3591 var elemTDAction=elemTR.childNodes[2]; 3592 var iSequence=parseInt(GetInnerText(elemTR.childNodes[7])); 3593 var strDisplayText=GetInnerText(elemTDTitle); 3594 var tdAction=ReplaceUrlTokens(GetInnerText(elemTDAction), ctx); 3595 var strAction; 3596 if (tdAction.substr(0,11)=="javascript:") 3597 strAction=tdAction; 3598 else 3599 strAction="STSNavigate('"+STSScriptEncode(tdAction)+"')"; 3600 var strImagePath=ReplaceUrlTokens(GetInnerText(elemTDImageUrl), ctx); 3601 menuOption=CIMOpt(m, strDisplayText, strAction, strImagePath, null, iSequence); 3602 } 3603 } 3604 } 3605} 3606function GetRootFolder(ctx) 3607{ 3608 var RootFolder=GetUrlKeyValue("RootFolder", true); 3609 if (RootFolder=="" || bValidSearchTerm) 3610 { 3611 var FileDirRef; 3612 if (itemTable) 3613 FileDirRef=GetAttributeFromItemTable(itemTable, "DRef", "FileDirRef"); 3614 if (FileDirRef !=null) 3615 RootFolder="/"+FileDirRef; 3616 else 3617 RootFolder=ctx.listUrlDir; 3618 RootFolder=escapeProperly(RootFolder); 3619 } 3620 return "&RootFolder="+RootFolder; 3621} 3622function HasRights(requiredH, requiredL) 3623{ 3624 if(currentItemPermMaskH==null) 3625 { 3626 if (itemTable==null) return true; 3627 var pmStr=GetAttributeFromItemTable(itemTable, "Perm", "PermMask"); 3628 if(pmStr==null) return true; 3629 var currentItemAuthor=itemTable.getAttribute("Author"); 3630 SetCurrentPermMaskFromString(pmStr, currentItemAuthor); 3631 } 3632 if(!currentItemCanModify 3633 && (EqualRights(requiredH, requiredL, 0x0, 0x4) 3634 || EqualRights(requiredH, requiredL, 0x0, 0x8) 3635 || EqualRights(requiredH, requiredL, 0x40000000, 0x0))) 3636 { 3637 return false; 3638 } 3639 return (((requiredL & currentItemPermMaskL)==requiredL) 3640 && ((requiredH & currentItemPermMaskH)==requiredH)); 3641} 3642function EqualRights(rightsH1, rightsL1, rightsH2, rightsL2) 3643{ 3644 return ((rightsH1==rightsH2) && (rightsL2==rightsL2)); 3645} 3646function SetCurrentPermMaskFromString(pmStr, currentItemAuthor) 3647{ 3648 var pmLen=pmStr.length; 3649 if(pmLen <=10 ) 3650 { 3651 currentItemPermMaskH=0; 3652 currentItemPermMaskL=parseInt(pmStr); 3653 } 3654 else 3655 { 3656 currentItemPermMaskH=parseInt(pmStr.substring(2, pmLen - 8), 16); 3657 currentItemPermMaskL=parseInt(pmStr.substring(pmLen - 8, pmLen), 16); 3658 } 3659 currentItemCanModify=true; 3660 currentItemCanModify=(currentItemAuthor==null) 3661 || HasRights(0x0, 0x800) 3662 || (ctx.CurrentUserId==currentItemAuthor) 3663 || (ctx.CurrentUserId==null) 3664 || (ctx.WriteSecurity==1); 3665}
3666function AddSharedNamespaceMenuItems(m, ctx) 3667{ 3668 var RootFolder=GetRootFolder(ctx); 3669 setupMenuContext(ctx); 3670 if (currentItemFileUrl==null) 3671 currentItemFileUrl=GetAttributeFromItemTable(itemTable, "Url", "ServerUrl"); 3672 if (currentItemFSObjType==null) 3673 currentItemFSObjType=GetAttributeFromItemTable(itemTable, "OType", "FSObjType"); 3674 if (currentItemModerationStatus==null) 3675 currentItemModerationStatus=GetAttributeFromItemTable(itemTable, "MS", "MStatus"); 3676 if (currentItemCheckedOutUserId==null) 3677 currentItemCheckedOutUserId=itemTable.getAttribute("COUId"); 3678 if (currentItemCheckedoutToLocal==null) 3679 currentItemCheckedoutToLocal=GetAttributeFromItemTable(itemTable, "COut", "IsCheckedoutToLocal "); 3680 if (currentItemCheckedoutToLocal !=1) 3681 currentItemCheckedoutToLocal=0; 3682 bIsCheckout=0; 3683 if (ctx.isForceCheckout==true && currentItemCheckedOutUserId=="" && 3684 currentItemFSObjType !=1) 3685 { 3686 bIsCheckout=1; 3687 } 3688 var currentItemEscapedFileUrl; 3689 if (currentItemFileUrl !=null) 3690 currentItemEscapedFileUrl=escapeProperly( 3691 unescapeProperly(currentItemFileUrl)); 3692 var menuOption; 3693 if (ctx.listBaseType==1) 3694 strDisplayText=L_ViewProperties_Text; 3695 else if (ctx.listBaseType==4) 3696 strDisplayText=L_ViewResponse_Text; 3697 else
3698 strDisplayText=L_ViewItem_Text; 3699 strAction="STSNavigate('"+ctx.displayFormUrl+"?ID="+currentItemID+ "&Source="+GetSource()+RootFolder+"')"; 3700 strImagePath=""; 3701 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 200); 3702 if (ctx.listBaseType==1) 3703 menuOption.id="ID_ViewProperties"; 3704 else 3705 menuOption.id="ID_ViewItem"; 3706 if (HasRights(0x0, 0x4) && 3707 !currentItemIsEventsDeletedExcp) 3708 { 3709 if (ctx.listBaseType==1) 3710 strDisplayText=L_EditProperties_Text; 3711 else if (ctx.listBaseType==4) 3712 strDisplayText=L_EditResponse_Text; 3713 else 3714 strDisplayText=L_EditItem_Text; 3715 if (ctx.listBaseType==1) 3716 { 3717 strAction="STSNavigateWithCheckoutAlert('"+ctx.editFormUrl+"?ID="+currentItemID+ "&Source="+GetSource()+RootFolder+"',"+bIsCheckout+",'" 3718+currentItemCheckedoutToLocal+"','"+STSScriptEncode(currentItemFileUrl)+"','"+ctx.HttpRoot+"')"; 3719 } 3720 else 3721 { 3722 strAction="STSNavigate('"+ctx.editFormUrl+"?ID="+currentItemID+"&Source="+GetSource()+"')"; 3723 } 3724 strImagePath=ctx.imagesPath+"edititem.gif"; 3725 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 220); 3726 if (ctx.listBaseType==1) 3727 menuOption.id="ID_EditProperties"; 3728 else 3729 menuOption.id="ID_EditItem"; 3730 if (ctx.listTemplate==106 && 3731 currentItemID.indexOf(".0.") > 0) 3732 { 3733 var SeriesIdEnd=currentItemID.indexOf(".0."); 3734 var itemSeriesID=currentItemID.substr(0, SeriesIdEnd); 3735 strDisplayText=L_EditSeriesItem_Text; 3736 strAction="STSNavigate('"+ctx.editFormUrl+"?ID="+itemSeriesID+"&Source="+ GetSource()+"')"; 3737 strImagePath=ctx.imagesPath+"recurrence.gif"; 3738 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 230); 3739 menuOption.id="ID_EditSeriesItem"; 3740 } 3741 } 3742 AddManagePermsMenuItem(m, ctx, ctx.listName, currentItemID); 3743} 3744function AddDocLibMenuItems(m, ctx) 3745{ 3746 if (typeof(Custom_AddDocLibMenuItems) !="undefined") 3747 { 3748 if (Custom_AddDocLibMenuItems(m, ctx)) 3749 return; 3750 } 3751 var RootFolder=GetRootFolder(ctx); 3752 var menuOption; 3753 AddSharedNamespaceMenuItems(m, ctx); 3754 var currentItemEscapedFileUrl; 3755 if (currentItemFileUrl !=null) 3756 currentItemEscapedFileUrl=escapeProperly(unescapeProperly(currentItemFileUrl)); 3757 var serverFileRedirect=itemTable.getAttribute("SRed"); 3758 if (HasRights(0x0, 0x4) && HasRights(0x10, 0x0) 3759 && currentItemFSObjType !=1 3760 && (serverFileRedirect==null || serverFileRedirect=="" || HasRights(0x0, 0x20)) 3761 ) 3762 { 3763 if (ctx.isWebEditorPreview==0 && ctx.listBaseType==1) 3764 { 3765 if (ctx.listTemplate==109 && itemTable.getAttribute("IsImage")=="1") 3766 { 3767 strDisplayText=L_EditInOIS_Text; 3768 strAction="EditSingleImage('"+currentItemID+"')"; 3769 strImagePath=ctx.imagesPath+"oisweb.gif"; 3770 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 240); 3771 menuOption.id="ID_EditInOIS"; 3772 } 3773 else 3774 { 3775 setDocType(); 3776 if (currentItemAppName !="" && currentItemOpenControl !="") 3777 { 3778 strDisplayText=""; 3779 if (currentItemAppName !=" ") 3780 strDisplayText=StBuildParam(L_EditIn_Text, currentItemAppName); 3781 else 3782 { 3783 var objEditor=StsOpenEnsureEx(currentItemOpenControl+".3"); 3784 if (objEditor !=null ) 3785 strDisplayText=L_EditInApplication_Text; 3786 } 3787 if (strDisplayText !="") 3788 { 3789 strAction="editDocumentWithProgID2('"+currentItemFileUrl+"', '"+currentItemProgId+"', '" 3790+currentItemOpenControl+"', '"+bIsCheckout+"', '"+ctx.HttpRoot+"', '"+currentItemCheckedoutToLocal+"')"; 3791 strImagePath=ctx.imagesPath+currentItemIcon; 3792 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 240); 3793 menuOption.id="ID_EditIn_"+currentItemAppName; 3794 } 3795 } 3796 } 3797 } 3798 } 3799 if (HasRights(0x0, 0x8)) 3800 { 3801 strDisplayText=L_DeleteDocItem_Text; 3802 var isCopy="false"; 3803 if (typeof(itemTable.getAttribute("CSrc")) !="undefined" && 3804 itemTable.getAttribute("CSrc") !=null && 3805 itemTable.getAttribute("CSrc") !="") 3806 { 3807 isCopy="true"; 3808 } 3809 strAction="DeleteDocLibItem('"+ ctx.HttpPath+"&Cmd=Delete&List="+ctx.listName+ "&ID="+currentItemID+"&owsfileref="+ currentItemEscapedFileUrl+"&NextUsing="+GetSource()+"',"+ isCopy+")"; 3810 strImagePath=ctx.imagesPath+"delitem.gif"; 3811 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 310); 3812 menuOption.id="ID_DeleteDocItem"; 3813 } 3814 AddGotoSourceItemMenuItem(m, ctx, itemTable, currentItemFSObjType); 3815 if (currentItemFSObjType !=1) 3816 { 3817 AddSendSubMenu(m,ctx); 3818 AddDocTransformSubMenu(m,ctx); 3819 } 3820 if (currentItemFSObjType !=1 && 3821 ctx.listTemplate==109 && 3822 typeof(DownloadOriginalImage)=="function") 3823 { 3824 strAction="DownloadOriginalImage("+currentItemID+")"; 3825 strImagePath=ctx.imagesPath+"download.gif"; 3826 strDisplayText=L_DownloadOriginal_Text; 3827 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 550); 3828 menuOption.id="ID_DownloadOriginal"; 3829 } 3830 if (HasRights(0x0, 0x4)) 3831 { 3832 if ((ctx.isModerated==true) && (((currentItemModerationStatus==2) ||
3833 !ctx.EnableMinorVersions) && currentItemCheckedOutUserId=="" ||currentItemFSObjType==1)) 3834 { 3835 strDisplayText=L_ModerateItem_Text; 3836 strAction="STSNavigate('"+ctx.HttpRoot+"/_layouts/approve.aspx?List="+ctx.listName 3837+"&ID="+currentItemID+"&Source="+GetSource()+GetRootFolder(ctx)+"')"; 3838 strImagePath=ctx.imagesPath+"apprj.gif"; 3839 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 1150); 3840 menuOption.id="ID_ModerateItem"; 3841 } 3842 if (currentItemFSObjType !=1) 3843 { 3844 if (ctx.listBaseType==1) 3845 { 3846 CAMSep(m); 3847 AddCheckinCheckoutMenuItem(m, ctx, currentItemEscapedFileUrl); 3848 } 3849 } 3850 } 3851 if (ctx.verEnabled==1 || ctx.isModerated) 3852 AddVersionsMenuItem(m, ctx, currentItemEscapedFileUrl); 3853 if (currentItemFSObjType !=1) 3854 { 3855 AddWorkflowsMenuItem(m, ctx); 3856 CAMSep(m); 3857 if (ctx.PortalUrl !=null) 3858 { 3859 strDisplayText=L_AddToMyLinks_Text; 3860 strAction="Portal_Tasks('PinToMyPage')"; ; 3861 strImagePath=""; 3862 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 1000); 3863 menuOption.id="ID_AddToMyLinks"; 3864 CAMSep(m); 3865 } 3866 } 3867 else if (ctx.listBaseType==1 3868 && HasRights(0x10, 0x0)) 3869 { 3870 AddWorkOfflineMenuItem(m, ctx, currentItemFileUrl); 3871 } 3872 if (HasRights(0x80, 0x0)) 3873 { 3874 strDisplayText=L_Subscribe_Text; 3875 strAction="NavigateToSubNewAspx('"+ctx.HttpRoot+"', 'List="+ctx.listName+"&ID="+currentItemID+"')"; 3876 strImagePath=""; 3877 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 1100); 3878 menuOption.id="ID_Subscribe"; 3879 } 3880 if (currentItemFSObjType==1 && 3881 ctx.ContentTypesEnabled && 3882 ctx.listTemplate !=108) 3883 { 3884 strDisplayText=L_CustomizeNewButton_Text; 3885 strAction="STSNavigate('"+ctx.HttpRoot+"/_layouts/ChangeContentTypeOrder.aspx?List="+ctx.listName+"&RootFolder="+currentItemEscapedFileUrl+"&Source="+GetSource()+"')"; 3886 strImagePath=""; 3887 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 1170); 3888 menuOption.id="ID_CustomizeNewButton"; 3889 } 3890} 3891function AddManagePermsMenuItem(m, ctx, listId, url) 3892{ 3893 if(!HasRights(0x40000000, 0x0) || currentItemIsEventsExcp) 3894 return; 3895 strDisplayText=L_MngPerms_Text; 3896 strAction="NavigateToManagePermsPage('"+ctx.HttpRoot+"', '"+listId+"','"+url+"')"; 3897 strImagePath=ctx.imagesPath+"manageperm.gif"; 3898 var menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 250); 3899 menuOption.id="ID_MngPerms"; 3900} 3901function AddGotoSourceItemMenuItem(m, ctx, itemTable, objtype) 3902{ 3903 if (objtype !=1 && 3904 typeof(itemTable.getAttribute("CSrc")) !="undefined" && 3905 itemTable.getAttribute("CSrc") !=null && 3906 itemTable.getAttribute("CSrc") !="") 3907 { 3908 strDisplayText=L_GoToSourceItem_Text; 3909 strAction="NavigateToSourceItem('"+itemTable.getAttribute("CSrc")+"')"; 3910 strImagePath=ctx.imagesPath+"goToOriginal.gif"; 3911 var menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 340); 3912 menuOption.id="ID_GoToSourceItem"; 3913 } 3914} 3915function AddCheckinCheckoutMenuItem(m, ctx, url) 3916{ 3917 var menuOption; 3918 if(!HasRights(0x0, 0x4)) 3919 return; 3920 if (currentItemCheckedOutUserId==null) 3921 currentItemCheckedOutUserId=itemTable.getAttribute("COUId"); 3922 if (currentItemCheckedOutUserId !="") 3923 { 3924 if(currentItemCheckedOutUserId==ctx.CurrentUserId 3925 || ctx.CurrentUserId==null 3926 || HasRights(0x0, 0x100)) 3927 { 3928 strDisplayText=L_Checkin_Text; 3929 strAction="NavigateToCheckinAspx('"+ctx.HttpRoot+"', 'List="+ctx.listName+"&FileName="+url+"')"; 3930 strImagePath=ctx.imagesPath+"checkin.gif"; 3931 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 700); 3932 menuOption.id="ID_Checkin"; 3933 strDisplayText=L_DiscardCheckou_Text; 3934 strAction="UnDoCheckOut('"+ctx.HttpRoot+"', '"+url+"')"; 3935 strImagePath=ctx.imagesPath+"unchkout.gif"; 3936 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 710); 3937 menuOption.id="ID_DiscardCheckou"; 3938 } 3939 } 3940 else 3941 { 3942 strDisplayText=L_Checkout_Text; 3943 if (currentItemOpenControl=="") 3944 setDocType(); 3945 var opencontrol=""; 3946 if (ctx.listTemplate !=109) 3947 opencontrol=currentItemOpenControl+".3"; 3948 var serverFileRedirect=itemTable.getAttribute("SRed"); 3949 if(serverFileRedirect==null || serverFileRedirect=="" || HasRights(0x0, 0x20)) 3950 { 3951 strAction="CheckoutDocument('"+ctx.HttpRoot+"', '"+url+"', '"+opencontrol+"')"; 3952 strImagePath=ctx.imagesPath+"checkout.gif"; 3953 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 700); 3954 menuOption.id="ID_Checkout"; 3955 } 3956 if (currentItemModerationStatus==null) 3957 currentItemModerationStatus=GetAttributeFromItemTable(itemTable, "MS", "MStatus"); 3958 if (ctx.EnableMinorVersions) 3959 { 3960 if (currentItemUIString==null) 3961 currentItemUIString=GetAttributeFromItemTable(itemTable, "UIS", "UIString"); 3962 var minorversion=currentItemUIString%512; 3963 if ((((currentItemModerationStatus==1) || 3964 (currentItemModerationStatus==3)) && 3965 ctx.isModerated) || 3966 (!ctx.isModerated && minorversion !=0)) 3967 { 3968 strDisplayText=L_PublishItem_Text; 3969 strAction="NavigateToCheckinAspx('"+ctx.HttpRoot+"', 'List="+ctx.listName+"&FileName="+url+"&Publish=true')"; 3970 strImagePath=ctx.imagesPath+"pubmajor.gif"; 3971 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 720); 3972 menuOption.id="ID_PublishItem"; 3973 } 3974 else 3975 { 3976 var strMenuOptionId; 3977 var bCancelApproval=false; 3978 if ((!ctx.isModerated) || (currentItemModerationStatus==0)) 3979 { 3980 strDisplayText=L_UnPublishItem_Text; 3981 strMenuOptionId="ID_UnPublishItem"; 3982 strImagePath=ctx.imagesPath+"unpub.gif"; 3983 } 3984 else 3985 { 3986 strDisplayText=L_CancelPublish_Text; 3987 strMenuOptionId="ID_CancelPublish"; 3988 strImagePath=ctx.imagesPath+"unapprv.gif"; 3989 bCancelApproval=true; 3990 } 3991 strAction="UnPublish('"+ctx.HttpRoot+"', 'FileName="+url+"&UnPublish=true',"+bCancelApproval+")"; 3992 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 730); 3993 menuOption.id=strMenuOptionId; 3994 } 3995 } 3996 } 3997} 3998function AddWorkflowsMenuItem(m, ctx) 3999{ 4000 if (ctx.WorkflowsAssociated && HasRights(0x0, 0x4)) 4001 { 4002 var strCTID=GetAttributeFromItemTable(itemTable, "CId", "ContentTypeId"); 4003 if (strCTID==null || strCTID.substr(0,8) !="0x010801") 4004 { 4005 var strImagePath=ctx.imagesPath+"workflows.gif"; 4006 var itemID; 4007 var SeriesIdEnd=currentItemID.indexOf(".0."); 4008 if (SeriesIdEnd > 0) 4009 itemID=currentItemID.substr(0, SeriesIdEnd); 4010 else 4011 itemID=currentItemID; 4012 var strAction="STSNavigate('"+ctx.HttpRoot+"/_layouts/Workflow.aspx?ID="+itemID+"&List="+ctx.listName+"&Source="+GetSource()+"')"; 4013 var menuOption=CAMOpt(m, L_Workflows_Text, strAction, strImagePath, null, 900); 4014 menuOption.id="ID_Workflows"; 4015 } 4016 } 4017} 4018function AddWorkspaceMenuItem(m, ctx) 4019{ 4020 var menuOption;
4021 var strSourceUrl=GetAttributeFromItemTable(itemTable, "SUrl", "SourceUrl"); 4022 if ( strSourceUrl !=null && strSourceUrl !="" && strSourceUrl !="%20") 4023 { 4024 if (HasRights(0x0, 0x21000)) 4025 { 4026 strAction="STSNavigate('"+ctx.HttpRoot+"/_layouts/publishback.aspx?list="+ctx.listName+"&item="+currentItemID+GetRootFolder(ctx)+"')"; 4027 menuOption=CAMOpt(m, L_PublishBack_Text, strAction, "", null, 1140); 4028 menuOption.id="ID_PublishBack"; 4029 } 4030 } 4031 else 4032 { 4033 if (HasRights(0x0, 0x800000) && HasRights(0x0, 0x21000) && HasRights(0x0, 0x4000000)) 4034 { 4035 strAction="STSNavigate('"+ctx.HttpRoot+"/_layouts/createws.aspx?list="+ctx.listName+"&item="+currentItemID+GetRootFolder(ctx)+"')"; 4036 menuOption=CAMOpt(m, L_CreateDWS_Text, strAction, "", null, 1140); 4037 menuOption.id="ID_CreateDWS"; 4038 } 4039 } 4040} 4041function AddVersionsMenuItem(m, ctx, url) 4042{ 4043 if (currentItemID !=null) 4044 { 4045 var strCurrentItemID=currentItemID.toString(); 4046 if (strCurrentItemID.indexOf(".0.") >=0 ) 4047 return; 4048 } 4049 if (!HasRights(0x0, 0x40)) 4050 return; 4051 strDisplayText=L_Versions_Text; 4052 strAction="NavigateToVersionsAspx('"+ctx.HttpRoot+"', 'list="+ctx.listName+"&ID="+currentItemID+"&FileName="+url+"')"; 4053 strImagePath=ctx.imagesPath+"versions.gif"; 4054 var menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 800); 4055 menuOption.id="ID_Versions"; 4056} 4057function AddWorkOfflineMenuItem(m, ctx, url) 4058{ 4059 strDisplayText=GetStssyncAppNameForType("documents",L_WorkOffline_Text,strImagePath); 4060 if (strDisplayText) 4061 { 4062 strAction="javascript:ExportHailStorm('documents','"+ctx.HttpRoot+"','"+ ctx.listName+"','"+STSScriptEncode(ctx.SiteTitle)+ "','"+ctx.ListTitle+"','"+ STSScriptEncode(ctx.listUrlDir)+"','','"+STSScriptEncode(unescapeProperly(ctx.listUrlDir))+"'"; 4063 strAction+=",'"+STSScriptEncode(unescapeProperly(url))+"','"+currentItemID+"')"; 4064 strImagePath=GetStssyncIconPath(ctx.imagesPath+"tbsprsht.gif", ctx.imagesPath); 4065 menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath); 4066 menuOption.id="ID_WorkOffline"; 4067 } 4068} 4069function AddVersionMenuItems(m, ctx) 4070{ 4071 if (typeof(AddVersionMenuItemsCore)=="function") 4072 { 4073 AddVersionMenuItemsCore(m, ctx); 4074 } 4075} 4076function NavigateToSubNewAspx(strHttpRoot, strArgs) 4077{ 4078 STSNavigate(strHttpRoot+"/_layouts/SubNew.aspx?"+strArgs+"&Source="+GetSource()); 4079} 4080function NavigateToVersionsAspx(strHttpRoot, strArgs) 4081{ 4082 STSNavigate(strHttpRoot+"/_layouts/Versions.aspx?"+strArgs+"&Source="+GetSource()); 4083} 4084var L_UndoCheckoutWarning_Text="If you discard your check out, you will lose all changes made to the document. Are you sure you want to discard your check out?"; 4085var L_UnPublishWarning_Text=" Are you sure you want to unpublish this version of the document?"; 4086var L_CancleApproval_TEXT=" Are you sure that you want to cancel the approval of this document?"; 4087function UnDoCheckOut(strHttpRoot, strUrl) 4088{ 4089 try 4090 { 4091 var stsOpen=null; 4092 var strextension=SzExtension(unescapeProperly(strUrl)); 4093 if (FSupportCheckoutToLocal(strextension) ) 4094 stsOpen=StsOpenEnsureEx("SharePoint.OpenDocuments.3"); 4095 if (stsOpen !=null) 4096 { 4097 var strDocument=currentItemFileUrl; 4098 if (strDocument.charAt(0)=="/" || strDocument.substr(0,3).toLowerCase()=="%2f") 4099 strDocument=document.location.protocol+"//"+document.location.host+strDocument; 4100 stsOpen.DiscardLocalCheckout(strDocument); 4101 SetWindowRefreshOnFocus(); 4102 return; 4103 } 4104 else 4105 { 4106 if (!confirm(L_UndoCheckoutWarning_Text)) 4107 { 4108 return; 4109 } 4110 } 4111 } 4112 catch (e) 4113 { 4114 } 4115 NavigateToCheckinAspx(strHttpRoot, "FileName="+strUrl+"&DiscardCheckout=true"); 4116} 4117function UnPublish(strHttpRoot, strArgs, bCancelApproval) 4118{ 4119 var strAlert=L_UnPublishWarning_Text; 4120 if (bCancelApproval) 4121 strAlert=L_CancleApproval_TEXT; 4122 if (!confirm(strAlert)) 4123 return; 4124 NavigateToCheckinAspx(strHttpRoot, strArgs) 4125} 4126function NavigateToCheckinAspx(strHttpRoot, strArgs) 4127{ 4128 SubmitFormPost(strHttpRoot+"/_layouts"+ "/Checkin.aspx?"+strArgs+"&Source="+GetSource()); 4129} 4130function NavigateToManagePermsPage(strHttpRoot, strListId, strFileRef) 4131{ 4132 var strObjType=",LISTITEM"; 4133 STSNavigate(strHttpRoot+ "/_layouts/User.aspx?obj="+strListId+","+strFileRef+strObjType+ "&List="+strListId+ "&Source="+GetSource()); 4134} 4135function NavigateToSourceItem(url) 4136{ 4137 var match=url.match(/[^\/]*\/\/[^\/]*/g); 4138 var serverUrl=match[0]; 4139 url=escapeProperly(url); 4140 STSNavigate(serverUrl+"/_layouts/copyutil.aspx?GoToDispForm=1&Use=url&ItemUrl="+url); 4141} 4142function setDocType() 4143{ 4144 var strArray; 4145 strArray=GetAttributeFromItemTable(itemTable, "Icon", "DocIcon").split("|"); 4146 currentItemIcon=strArray[0]; 4147 currentItemAppName=strArray[1]; 4148 currentItemOpenControl=strArray[2]; 4149 currentItemProgId=GetAttributeFromItemTable(itemTable, "Type", "HTMLType"); 4150} 4151function DeleteListItem() 4152{ 4153 if (! IsContextSet()) 4154 return; 4155 var ctx=currentCtx; 4156 var ciid=currentItemID;
4157 if (confirm(ctx.RecycleBinEnabled ? L_STSRecycleConfirm_Text : L_STSDelConfirm_Text)) 4158 { 4159 SubmitFormPost(ctx.HttpPath+"&Cmd=Delete&List="+ctx.listName+ "&ID="+ciid+"&NextUsing="+GetSource()); 4160 } 4161} 4162function DeleteDocLibItem(delUrl, isCopy) 4163{ 4164 if (! IsContextSet()) 4165 return; 4166 var strConfirm=(currentItemFSObjType==1) ? 4167 (ctx.RecycleBinEnabled ? L_STSRecycleConfirm1_Text : L_STSDelConfirm1_Text) : 4168 (ctx.RecycleBinEnabled ? L_STSRecycleConfirm_Text : L_STSDelConfirm_Text); 4169 if (isCopy && currentItemFSObjType !=1) 4170 strConfirm=L_NotifyThisIsCopy_Text+strConfirm; 4171 if (confirm(strConfirm)) 4172 SubmitFormPost(delUrl); 4173} 4174function EditMenuDefaultForOnclick() 4175{ 4176 if (! IsContextSet()) 4177 return; 4178 var ctx=currentCtx; 4179 if (ctx.isVersions) 4180 { 4181 STSNavigate(itemTable.getAttribute("verUrl")); 4182 } 4183 else if (ctx.listTemplate==200) 4184 { 4185 var currentInstanceID=currentItemID; 4186 MtgNavigate(currentInstanceID); 4187 } 4188 else 4189 { 4190 EditListItem(); 4191 } 4192} 4193function EditListItem() 4194{ 4195 if (event.srcElement.tagName=="A" || 4196 event.srcElement.parentNode.tagName=="A") 4197 return; 4198 if (! IsContextSet()) 4199 return; 4200 var ctx=currentCtx; 4201 var editFormUrl=ctx.editFormUrl+"?ID="+currentItemID+ "&Source="+GetSource() 4202 if (ctx.listBaseType==1) 4203 editFormUrl=editFormUrl+GetRootFolder(ctx) 4204 STSNavigate(editFormUrl); 4205} 4206function DoNavigateToTemplateGallery(strSaveLocUrl, strTGUrl) 4207{ 4208 document.cookie="MSOffice_AWS_DefSaveLoc="+strSaveLocUrl; 4209 STSNavigate(strTGUrl); 4210} 4211function Portal_Tasks(cmd) 4212{ 4213 if (! IsContextSet()) 4214 return; 4215 var ctx=currentCtx; 4216 var fileRef=unescapeProperly(currentItemFileUrl); 4217 var idx1=0, idx2=0; 4218 idx1=fileRef.lastIndexOf("/") 4219 idx2=fileRef.lastIndexOf(".") 4220 if (idx1 < 0 || idx2 < 0 || idx1 > idx2) 4221 return; 4222 var fileName=fileRef.substr(idx1+1, idx2-idx1-1); 4223 var serverUrl=""; 4224 idx1=ctx.HttpRoot.indexOf("://"); 4225 if (idx1 > 0) 4226 { 4227 idx2=ctx.HttpRoot.indexOf("/", idx1+3); 4228 if (idx2 > 0) 4229 serverUrl=ctx.HttpRoot.substring(0, idx2); 4230 else 4231 serverUrl=ctx.HttpRoot; 4232 } 4233 var currentItemFileFullUrl=""; 4234 if (currentItemFileUrl.charAt(0)=="/" 4235 || currentItemFileUrl.substr(0,3).toLowerCase()=="%2f") 4236 { 4237 currentItemFileFullUrl=serverUrl+currentItemFileUrl; 4238 } 4239 else 4240 { 4241 currentItemFileFullUrl=currentItemFileUrl; 4242 } 4243 var strParams=""; 4244 if (false==setElementValue("ListViewURL", currentItemFileFullUrl)) 4245 { 4246 strParams=strParams+"&ListViewURL="+escapeProperly(currentItemFileFullUrl); 4247 } 4248 if (false==setElementValue("ListTitle", fileName)) 4249 { 4250 strParams=strParams+"&ListTitle="+escapeProperly(fileName); 4251 } 4252 if (false==setElementValue("ListDescription", "")) 4253 { 4254 strParams=strParams+"&ListDescription="; 4255 } 4256 if (false==setElementValue("ReturnUrl", window.location.href)) 4257 { 4258 strParams=strParams+"&ReturnUrl="+escapeProperly(window.location.href); 4259 } 4260 if (ctx.PortalUrl.substr(0, 4) !="http") 4261 { 4262 ctx.PortalUrl=serverUrl+ctx.PortalUrl; 4263 } 4264 var url=ctx.PortalUrl+"_vti_bin/portalapi.aspx?cmd="+cmd; 4265 url=url+"&IconUrl="+ctx.imagesPath+currentItemIcon+strParams; 4266 SubmitFormPost(url); 4267} 4268function IsContextSet() 4269{ 4270 if (currentCtx==null) 4271 return false; 4272 else if (currentCtx.isExplictLogin) 4273 return true; 4274 else if (currentCtx.HttpPath==null || currentItemID==null) 4275 return false; 4276 return true; 4277} 4278function ChangeContentType(id) 4279{ 4280 var obj=document.getElementById(id); 4281 var strUrl=window.location.href; 4282 var idxQuery=strUrl.indexOf("?"); 4283 if (strUrl.indexOf("?") <=0) 4284 { 4285 strUrl=strUrl+"?ContentTypeId="+obj.value; 4286 } 4287 else if (strUrl.indexOf("&ContentTypeId=") <=0) 4288 { 4289 strUrl=strUrl+"&ContentTypeId="+obj.value; 4290 } 4291 else 4292 { 4293 var pattern=/&ContentTypeId=[^&]*/i; 4294 strUrl=strUrl.replace(pattern,"&ContentTypeId="+obj.value); 4295 } 4296 STSNavigate(strUrl); 4297} 4298function TopHelpButtonClick(strParam) 4299{ 4300 if(typeof(navBarHelpOverrideKey) !="undefined") 4301 return HelpWindowKey(navBarHelpOverrideKey); 4302 if (strParam !=null) 4303 HelpWindowKey(strParam); 4304 else 4305 HelpWindowKey('NavBarHelpHome'); 4306} 4307function HelpWindowHelper(strParam) 4308{ 4309 var strHelpUrl; 4310 if (typeof(strParam)=="undefined") 4311 {strHelpUrl="/_layouts/help.aspx?Lcid="+L_Language_Text;} 4312 else 4313 {strHelpUrl="/_layouts/help.aspx?Lcid="+L_Language_Text+strParam;} 4314 var wndHelp=window.open(strHelpUrl, "STSHELP", 4315 "height=500,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=475" 4316 ); 4317 wndHelp.focus(); 4318} 4319function HelpWindowKey(strKey) 4320{ 4321 HelpWindowHelper("&Key="+strKey); 4322} 4323function HelpWindowUrl(strUrl) 4324{ 4325 HelpWindowHelper("&Url="+strUrl); 4326} 4327function HelpWindow() 4328{ 4329 HelpWindowKey("helphome"); 4330} 4331function HelpBack() 4332{ 4333 history.back(); 4334} 4335function HelpForward() 4336{ 4337 history.forward(); 4338} 4339function HelpPrint() 4340{ 4341 window.print(); 4342} 4343function HelpSearch(strStringToSearchFor) 4344{ 4345 var nMaxLengthSearchString=256; 4346 var strLocationHref=""; 4347 if (typeof(glob_strLocaleNumId)=="undefined") 4348 { 4349 return true; 4350 } 4351 if (typeof(glob_strCollectionIds)=="undefined") 4352 { 4353 return true; 4354 } 4355 if (glob_strCollectionIds.length <=0) 4356 { 4357 return true; 4358 } 4359 if (typeof(strStringToSearchFor)=="undefined") 4360 { 4361 return true; 4362 } 4363 if (strStringToSearchFor.length <=0) 4364 { 4365 return true; 4366 } 4367 strStringToSearchFor=TrimWhiteSpaces(strStringToSearchFor); 4368 if (strStringToSearchFor.length==0) 4369 { 4370 return true; 4371 } 4372 strStringToSearchFor=strStringToSearchFor.substr(0,nMaxLengthSearchString); 4373 strStringToSearchFor=encodeURIComponent(strStringToSearchFor); 4374 strLocationHref="/_layouts/HelpSearch.aspx?lcid=" 4375+escapeProperlyCore(glob_strLocaleNumId, true); 4376 for (var i=0; i < glob_strCollectionIds.length ;i++) 4377 { 4378 strLocationHref=strLocationHref 4379+"&cid" 4380+i 4381+"=" 4382+escapeProperlyCore(glob_strCollectionIds[i], true); 4383 } 4384 strLocationHref=strLocationHref 4385+"&sq=" 4386+strStringToSearchFor 4387 ; 4388 window.location.href=strLocationHref; 4389} 4390var L_EmptySlideShow_Text="No pictures found in the library. Add pictures and try again."; 4391var L_NotOurView_Text="This operation cannot be completed within current view. Please select another view and try again."; 4392function IsImgLibJssLoaded() 4393{ 4394 if (typeof(fImglibJssLoaded) !="undefined") 4395 return fImglibJssLoaded; 4396 return false; 4397} 4398function EditSelectedImages() 4399{ 4400 if (!IsImgLibJssLoaded()) 4401 { 4402 alert(L_NotOurView_Text); 4403 return; 4404 } 4405 _EditSelectedImages(); 4406} 4407function DeleteImages() 4408{ 4409 if (!IsImgLibJssLoaded()) 4410 { 4411 alert(L_NotOurView_Text); 4412 return; 4413 } 4414 _DeleteImages(); 4415} 4416function SendImages() 4417{ 4418 if (!IsImgLibJssLoaded()) 4419 { 4420 alert(L_NotOurView_Text); 4421 return; 4422 } 4423 _SendImages(); 4424} 4425function DownloadImages() 4426{ 4427 if (!IsImgLibJssLoaded()) 4428 { 4429 alert(L_NotOurView_Text); 4430 return; 4431 } 4432 _DownloadImages(); 4433} 4434function MtgToggleTimeZone() 4435{ 4436 var timezoneElem=document.getElementById("TimeZoneSection"); 4437 var timezoneLinkElem=document.getElementById("TimeZoneLink"); 4438 var L_ShowTZ_Text="Show time zone"; 4439 var L_HideTZ_Text="Hide time zone"; 4440 if ( timezoneElem.style.display=="none" ) 4441 { 4442 timezoneElem.style.display=""; 4443 timezoneLinkElem.innerHTML="<<" 4444 timezoneLinkElem.title=L_HideTZ_Text;
4445 SetCookie("MtgTimeZone", "1", ""); 4446 } 4447 else 4448 { 4449 timezoneElem.style.display="none"; 4450 timezoneLinkElem.innerHTML=">>" 4451 timezoneLinkElem.title=L_ShowTZ_Text; 4452 SetCookie("MtgTimeZone", "0", ""); 4453 } 4454} 4455function GetPageUrl(fHomePage) 4456{ 4457 return unescapeProperly(fHomePage ? g_webUrl : g_pageUrl); 4458} 4459function MtgNavigate(instanceId) 4460{ 4461 if (instanceId==g_instanceId) 4462 return; 4463 var fHomePage=!g_fPageGlobal; 4464 window.location.href=GetPageUrl(fHomePage)+'?InstanceID='+instanceId+'&'+g_thispagedata; 4465} 4466function GoToMtgMove(listUrlDir, instanceId, instanceDateTime, instanceDateTimeISO) 4467{ 4468 window.location.href=listUrlDir+'/movetodt.aspx' 4469+'?FromInstanceID='+instanceId 4470+'&FromInstanceDate='+escapeProperly(instanceDateTime) 4471+'&FromInstanceDateISO='+escapeProperly(instanceDateTimeISO) 4472+'&Source='+escapeProperly(window.location.href); 4473} 4474function MtgKeep(httpPath, listId, instanceId) 4475{ 4476 var L_MtgKeepConfirm_Text="The information for this meeting date does not match the information in your calendar and scheduling program. If you keep this meeting date, it will continue to appear in the Meeting Series list in the workspace."; 4477 if (confirm(L_MtgKeepConfirm_Text)) 4478 SubmitFormPost( httpPath 4479+'&Cmd=MtgKeep&List='+escapeProperly(listId) 4480+'&EditInstanceID='+instanceId 4481+'&NextUsing='+escapeProperly(window.location.href) ); 4482} 4483function MtgDelete(httpPath, listId, instanceId) 4484{ 4485 var L_MtgDeleteConfirm_Text="This meeting date and the content associated with it will be deleted from the workspace."; 4486 if (confirm(L_MtgDeleteConfirm_Text)) 4487 { 4488 var fHomePage=(instanceId==g_instanceId); 4489 SubmitFormPost( httpPath 4490+'&Cmd=MtgMove&List='+escapeProperly(listId) 4491+'&FromInstanceID='+instanceId+'&ToInstanceID=-3' 4492+'&NextUsing='+escapeProperly(fHomePage ? GetPageUrl(true) : window.location.href) ); 4493 } 4494} 4495function SetCookie(name, value, path) 4496{ 4497 document.cookie=name+"="+value+";path="+path; 4498} 4499function SetAsLastTabVisited() 4500{ 4501 if (typeof(g_pageUrl) !="undefined" && typeof(g_webUrl) !="undefined") 4502 SetCookie("MtgLastTabVisited", 4503 escapeProperly(unescapeProperly(g_pageUrl)), 4504 escapeProperlyCore(unescapeProperly(g_webUrl), true)); 4505} 4506function MtgDeletePageConfirm() 4507{ 4508 var L_DeleteGlobalConfirm_Text="This page will be deleted from all meetings associated with this workspace. "; 4509 var L_DeleteConfirm_Text="Are you sure you want to delete this page?"; 4510 var text; 4511 if (document.getElementById("MtgTlPart_PageType").value=='MtgTlPart_LocalPage') 4512 text=L_DeleteConfirm_Text; 4513 else
4514 text=L_DeleteGlobalConfirm_Text+L_DeleteConfirm_Text; 4515 return confirm(text); 4516} 4517function MtgRedirect() 4518{ 4519 var strServerRelative=GetCookie("MtgLastTabVisited"); 4520 if (strServerRelative==null) 4521 { 4522 if (typeof(g_webUrl) !="undefined") 4523 strServerRelative=g_webUrl; 4524 else 4525 strServerRelative="../../"; 4526 } 4527 else 4528 strServerRelative=escapeProperlyCore(strServerRelative, true); 4529 window.location.href=strServerRelative; 4530} 4531function MakeMtgInstanceUrl(strUrl, instanceID) 4532{ 4533 if (instanceID !="undefined" && instanceID !='') 4534 { 4535 var iQueryString=strUrl.indexOf('?'); 4536 if (iQueryString==-1 || strUrl.indexOf('InstanceID=', iQueryString)==-1) 4537 strUrl=strUrl+(iQueryString==-1 ? '?' : '&')+'InstanceID='+instanceID; 4538 } 4539 return strUrl; 4540} 4541function commonShowModalDialog(url, features, callback, args) 4542{ 4543 if (document.getElementById("__spPickerHasReturnValue") !=null) 4544 document.getElementById("__spPickerHasReturnValue").value=""; 4545 if (document.getElementById("__spPickerReturnValueHolder") !=null) 4546 document.getElementById("__spPickerReturnValueHolder").value=""; 4547 commonModalDialogReturnValue.clear(); 4548 var rv; 4549 if (window.showModalDialog) 4550 { 4551 rv=window.showModalDialog(url, args, features); 4552 onDialogClose(callback, null, rv); 4553 } 4554 else 4555 { 4556 var defaultWidth=500, defaultHeight=550, defaultScrollbars="yes"; 4557 if(!features) features="width="+defaultWidth+",height="+defaultHeight; 4558 else 4559 { 4560 function assocArray() { return new Array(); } 4561 function assocArray_add(array, key, value) 4562 { 4563 array.push(key); 4564 array[key]=value; 4565 } 4566 function assocArray_keys(array) 4567 { 4568 var keys=new Array(); 4569 for(var i=0; i<array.length; i++) keys.push(array[i]); 4570 return keys; 4571 } 4572 var feats=assocArray(), fre, split; 4573 if(features.search(/^(\s*\w+\s*:\s*.+?\s*)(;\s*\s*\w+\s*:\s*.+?\s*)*(;\s*)?$/) !=-1) 4574 { 4575 fre=/^\s*(\w+)\s*:\s*(.+?)\s*$/; 4576 split=features.split(/\s*;\s*/); 4577 } 4578 else 4579 { 4580 fre=/^\s*(\w+)\s*=\s*(.+?)\s*$/; 4581 split=features.split(/\s*,\s*/); 4582 } 4583 for(var feat in split) 4584 { 4585 var kv=fre.exec(split[feat]); 4586 if(kv && kv.length==3) assocArray_add(feats, kv[1].toLowerCase(), kv[2]); 4587 } 4588 if(!feats["width"]) assocArray_add(feats, "width", feats["dialogwidth"] || defaultWidth); 4589 if(!feats["height"]) assocArray_add(feats, "height", feats["dialogheight"] || defaultHeight); 4590 if(!feats["scrollbars"]) assocArray_add(feats, "scrollbars", feats["scroll"] || defaultScrollbars); 4591 features=''; 4592 var keys=assocArray_keys(feats); 4593 for(var i in keys) 4594 { 4595 if(features) features+=","; 4596 features+=keys[i]+"="+feats[keys[i]]; 4597 } 4598 } 4599 var modalDialog=window.open(url, '_blank', features+',modal=yes,dialog=yes'); 4600 modalDialog.dialogArguments=args; 4601 window.onfocus=function() { 4602 var bHasReturnValue 4603=((document.getElementById("__spPickerHasReturnValue") !=null) && 4604 (document.getElementById("__spPickerHasReturnValue").value=="1")) 4605 || commonModalDialogReturnValue.isSet(); 4606 if (modalDialog && !modalDialog.closed && !bHasReturnValue) 4607 { 4608 modalDialog.focus(); 4609 } 4610 else 4611 { 4612 window.onfocus=null; 4613 onDialogClose(callback, modalDialog, null); 4614 } 4615 } 4616 } 4617} 4618function onDialogClose(callback, modalDialog, rv) 4619{ 4620 if(callback) 4621 { 4622 if(typeof(rv) !="undefined" 4623 && rv !=null) 4624 { 4625 callback(rv); 4626 } 4627 else if (typeof(modalDialog) !="undefined" 4628 && modalDialog !=null 4629 && typeof(modalDialog.returnValue) !="undefined") 4630 { 4631 rv=modalDialog.returnValue; 4632 callback(rv); 4633 } 4634 else if (typeof(commonModalDialogReturnValue) !="undefined" 4635 && commonModalDialogReturnValue !=null 4636 && commonModalDialogReturnValue.isSet()) 4637 { 4638 rv=commonModalDialogReturnValue.get(); 4639 callback(rv);
4640 commonModalDialogReturnValue.clear(); 4641 } 4642 else if (document.getElementById("__spPickerHasReturnValue") !=null && 4643 document.getElementById("__spPickerHasReturnValue").value=="1" && 4644 document.getElementById("__spPickerReturnValueHolder") !=null) 4645 { 4646 rv=document.getElementById("__spPickerReturnValueHolder").value; 4647 callback(rv); 4648 } 4649 } 4650} 4651function setModalDialogReturnValue(wnd, returnValue) 4652{ 4653 if (wnd.opener !=null && 4654 typeof(returnValue)=='string' && 4655 wnd.opener.document.getElementById('__spPickerHasReturnValue') !=null && 4656 wnd.opener.document.getElementById('__spPickerReturnValueHolder') !=null) 4657 { 4658 wnd.opener.document.getElementById('__spPickerHasReturnValue').value='1'; 4659 wnd.opener.document.getElementById('__spPickerReturnValueHolder').value=returnValue; 4660 } 4661 else 4662 { 4663 setModalDialogObjectReturnValue(wnd, returnValue); 4664 } 4665} 4666function setModalDialogObjectReturnValue(wnd, returnValue) 4667{ 4668 if (wnd.showModalDialog) 4669 { 4670 wnd.returnValue=returnValue; 4671 } 4672 if(wnd.opener !=null) 4673 { 4674 wnd.opener.commonModalDialogReturnValue.set(returnValue); 4675 } 4676} 4677commonModalDialogReturnValue={ 4678 hasRetval: false, 4679 retVal: null, 4680 set: function (obj) { 4681 if(typeof(obj) !="undefined") 4682 { 4683 this.retVal=obj; 4684 this.hasRetval=true; 4685 } 4686 }, 4687 isSet: function() { return this.hasRetval;}, 4688 get: function() { if(this.hasRetval) return this.retVal; }, 4689 clear: function() { this.hasRetval=false; this.retVal=null; } 4690} 4691var filterTable=null; 4692var bIsFilterMenuShown=false; 4693var bIsFilterDataLoaded=false; 4694var filterImageCell=null; 4695var currentFilterMenu=null; 4696var loadingFilterMenu=null; 4697var ctxFilter=null; 4698var bIsFilterKeyPress=false; 4699var filterStr=null; 4700var strFieldName=""; 4701var bMenuLoadInProgress=false; 4702var strFilteredValue=null; 4703var L_NotSortable_Text="This column type cannot be sorted"; 4704var L_NotFilterable_Text="This column type cannot be filtered"; 4705var L_AOnTop_Text="A on Top"; 4706var L_ZOnTop_Text="Z on Top"; 4707var L_SmallestOnTop_Text="Smallest on Top"; 4708var L_LargestOnTop_Text="Largest on Top"; 4709var L_OldestOnTop_Text="Oldest on Top"; 4710var L_NewestOnTop_Text="Newest on Top"; 4711var L_AttachmentsOnTop_Text="Attachments on Top"; 4712var L_BlanksOnTop_Text="Blanks on Top"; 4713var L_Ascending_Text="Ascending"; 4714var L_Descending_Text="Descending"; 4715var L_DontFilterBy_Text="Clear Filter from ^1"; 4716var L_Loading_Text="Loading...."; 4717var L_FilterMode_Text="Show Filter Choices"; 4718var L_OpenMenu_Text="Open Menu"; 4719function resetFilterMenuState() 4720{ 4721 if (bMenuLoadInProgress) 4722 return; 4723 bIsFilterMenuShown=false; 4724 bIsFilterDataLoaded=false; 4725 filterTable=null; 4726 filterImageCell=null; 4727 currentFilterMenu=null; 4728 loadingFilterMenu=null; 4729 ctxFilter=null; 4730 bIsFilterKeyPress=false; 4731} 4732function setupFilterMenuContext(ctx) 4733{ 4734 ctxFilter=ctx; 4735} 4736function IsFilterMenuOn() 4737{ 4738 if (!bIsFilterMenuShown) 4739 return false; 4740 var bIsOpen=false; 4741 bIsOpen=MenuHtc_isOpen(currentFilterMenu) || MenuHtc_isOpen(loadingFilterMenu); 4742 if (!bIsOpen) 4743 bIsFilterMenuShown=false; 4744 return bIsOpen; 4745} 4746function IsFilterMenuEnabled() 4747{ 4748 return true; 4749} 4750function OnMouseOverFilterDeferCall(elm) 4751{ 4752 if (!IsFilterMenuEnabled()) 4753 return false; 4754 if (IsFilterMenuOn()) 4755 return false; 4756 if (window.location.href.search("[?&]Filter=1") !=-1) 4757 return false; 4758 if (elm.FilterDisable=="TRUE") 4759 return false; 4760 if (filterTable !=null) 4761 OnMouseOutFilter(); 4762 filterTable=elm; 4763 var createCtx=new Function("setupFilterMenuContext(ctx"+filterTable.getAttribute('CtxNum')+");"); 4764 createCtx(); 4765 filterTable.className="ms-selectedtitle"; 4766 filterTable.onclick=CreateFilterMenu; 4767 filterTable.oncontextmenu=CreateFilterMenu; 4768 filterTable.onmouseout=OnMouseOutFilter; 4769 var titleRow=filterTable.childNodes[0].childNodes[0]; 4770 filterImageCell=titleRow.childNodes[titleRow.childNodes.length - 1]; 4771 var filterArrow=filterImageCell.childNodes[0]; 4772 filterArrow.src=ctxFilter.imagesPath+"menudark.gif"; 4773 filterArrow.alt=L_OpenMenu_Text; 4774 filterArrow.style.visibility="visible"; 4775 if (IsElementRtl(filterTable)) 4776 { 4777 filterImageCell.style.right=null; 4778 filterImageCell.style.left="1px"; 4779 } 4780 else 4781 { 4782 filterImageCell.style.left=null; 4783 filterImageCell.style.right="1px"; 4784 } 4785 filterImageCell.className="ms-menuimagecell"; 4786 return true; 4787}
4788function OnMouseOutFilter() 4789{ 4790 if (!IsFilterMenuOn() && filterTable !=null) 4791 { 4792 filterTable.className="ms-unselectedtitle"; 4793 filterTable.onclick=""; 4794 filterTable.oncontextmenu=""; 4795 filterTable.onmouseout=""; 4796 if (filterImageCell !=null) 4797 { 4798 filterImageCell.childNodes[0].style.visibility="hidden"; 4799 filterImageCell.className=""; 4800 } 4801 resetFilterMenuState(); 4802 } 4803} 4804function OnFocusFilter(elm) 4805{ 4806 if (window.location.href.search("[?&]Filter=1") !=-1) 4807 return false; 4808 if (!IsFilterMenuEnabled()) 4809 return false; 4810 elm.onblur=OnMouseOutFilter; 4811 elm.onkeydown=PopFilterMenu; 4812 var elmTmp=FindSTSMenuTable(elm, "CTXNum"); 4813 if (elmTmp==null) 4814 return false; 4815 OnMouseOverFilter(elmTmp); 4816 return false; 4817} 4818function PopFilterMenu(e) 4819{ 4820 if (!IsFilterMenuEnabled()) 4821 return true; 4822 if (e==null) 4823 e=window.event; 4824 var nKeyCode; 4825 if (browseris.nav6up) 4826 nKeyCode=e.which; 4827 else 4828 nKeyCode=e.keyCode; 4829 if (!IsFilterMenuOn() && ((e.shiftKey && nKeyCode==13) || (e.altKey && nKeyCode==40))) 4830 { 4831 CreateFilterMenu(e); 4832 return false; 4833 } 4834 else 4835 return true; 4836} 4837function CreateFilterMenu(e) 4838{ 4839 if (filterTable==null || filterImageCell==null) 4840 return true; 4841 if (e==null) 4842 e=window.event; 4843 bIsFilterMenuShown=true; 4844 window.document.body.onclick=""; 4845 currentFilterMenu=CMenu("filter_menu"); 4846 loadingFilterMenu=CMenu("filter_menu_loading"); 4847 currentFilterMenu.setAttribute("CompactMode", "true"); 4848 addSortMenuItems(currentFilterMenu, loadingFilterMenu); 4849 if (filterStr==null) 4850 addFilterMenuItems(currentFilterMenu, loadingFilterMenu); 4851 else 4852 addAdHocFilterMenuItems(currentFilterMenu, loadingFilterMenu); 4853 e.cancelBubble=true; 4854 return false; 4855} 4856function GetUrlWithNoSortParameters(strSortFields) 4857{ 4858 var url=window.location.href; 4859 var strT; 4860 var ichStart=0; 4861 var ichEqual; 4862 var ichAmp; 4863 do 4864 { 4865 ichEqual=strSortFields.indexOf("=", ichStart); 4866 if (ichEqual==-1) 4867 return url; 4868 strT=strSortFields.substring(ichStart, ichEqual); 4869 if (strT !=""); 4870 url=RemoveQueryParameterFromUrl(url, strT); 4871 ichAmp=strSortFields.indexOf("&", ichEqual+1); 4872 if (ichAmp==-1) 4873 return url; 4874 ichStart=ichAmp+1; 4875 } while (strT !=""); 4876 return url; 4877} 4878function addSortMenuItems(menu, menuLoading) 4879{ 4880 if (filterTable.getAttribute('Sortable')=="FALSE" || filterTable.getAttribute('SortDisable')=="TRUE" || 4881 filterTable.getAttribute('FieldType')=="MultiChoice") 4882 { 4883 CAMOptFilter(menu, menuLoading, L_NotSortable_Text, "", "", false, "fmi_ns"); 4884 CAMSep(menu); 4885 CAMSep(menuLoading); 4886 return; 4887 } 4888 var strSortAsc="";
4889 var strSortDesc=""; 4890 var strFieldType=""; 4891 var strImageAZ="/_layouts/"+L_Language_Text+"/images/SORTAZLang.gif"; 4892 var strImageZA="/_layouts/"+L_Language_Text+"/images/SORTZALang.gif"; 4893 if (filterStr==null) 4894 { 4895 var str=filterTable.getAttribute('SortFields'); 4896 var ichSort=str.indexOf("&SortDir"); 4897 if (ichSort==-1) 4898 { 4899 CAMOptFilter(menu, menuLoading, L_NotSortable_Text, "", "", false, "fmi_ns"); 4900 CAMSep(menu); 4901 CAMSep(menuLoading); 4902 return; 4903 } 4904 var ichSortMac=str.indexOf("&", ichSort+1); 4905 var url=GetUrlWithNoSortParameters(str); 4906 url=RemovePagingArgs(url); 4907 if (url.indexOf("?") < 0) 4908 url+="?"; 4909 else 4910 url+="&"; 4911 strSortAsc="SubmitFormPost('"+STSScriptEncode(url)+STSScriptEncode(str.substr(0, ichSort)+"&SortDir=Asc"+str.substr(ichSortMac))+"');"; 4912 strSortDesc="SubmitFormPost('"+STSScriptEncode(url)+STSScriptEncode(str.substr(0, ichSort)+"&SortDir=Desc"+str.substr(ichSortMac))+"');"; 4913 var strFieldType=filterTable.getAttribute('FieldType'); 4914 strFieldName=filterTable.getAttribute('Name'); 4915 } 4916 else 4917 { 4918 var separator=' '; 4919 var index=filterStr.lastIndexOf(separator); 4920 strFieldType=filterStr.substring(index+1); 4921 if (strFieldType.substring(0, 2)=="x:") 4922 strFieldType=strFieldType.substring(2); 4923 var curStr=filterStr.substring(0, index); 4924 index=curStr.lastIndexOf(separator); 4925 strFieldName=curStr.substring(index+1); 4926 if(strFieldName.substring(0, 1)=='@') 4927 strFieldName=strFieldName.substring(1); 4928 curStr=filterStr.substring(0, index); 4929 index=curStr.lastIndexOf(separator); 4930 if (index > 0) 4931 { 4932 strFieldName=curStr.substring(0, index); 4933 } 4934 var titleRow=filterTable.childNodes[0].childNodes[0]; 4935 var filterATag=titleRow.childNodes[0].childNodes[0]; 4936 var strSort=filterATag.href; 4937 strSort=strSort.replace(/%20/g, " "); 4938 if (strSort.indexOf("'ascending'") > 0) 4939 { 4940 strSortAsc=strSort; 4941 strSortDesc=strSort.replace("'ascending'", "'descending'"); 4942 } 4943 else 4944 { 4945 strSortDesc=strSort; 4946 strSortAsc=strSort.replace("'descending'", "'ascending'"); 4947 } 4948 } 4949 strFieldType=strFieldType.toLowerCase(); 4950 if (strFieldType=="dateTime") 4951 { 4952 CAMOptFilter(menu, menuLoading, L_OldestOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4953 CAMOptFilter(menu, menuLoading, L_NewestOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4954 } 4955 else if (strFieldType=="integer" || strFieldType=="number" || strFieldType=="currency") 4956 { 4957 CAMOptFilter(menu, menuLoading, L_SmallestOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4958 CAMOptFilter(menu, menuLoading, L_LargestOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4959 } 4960 else if (strFieldType=="text" || strFieldType=="user" || strFieldType=="string") 4961 { 4962 CAMOptFilter(menu, menuLoading, L_AOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4963 CAMOptFilter(menu, menuLoading, L_ZOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4964 } 4965 else if (strFieldType=="calculated") 4966 { 4967 var strResultType=filterTable.getAttribute('ResultType');
4968 if (strResultType=="Number" || strResultType=="Currency") 4969 { 4970 CAMOptFilter(menu, menuLoading, L_SmallestOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4971 CAMOptFilter(menu, menuLoading, L_LargestOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4972 } 4973 else if (strResultType=="dateTime") 4974 { 4975 CAMOptFilter(menu, menuLoading, L_OldestOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4976 CAMOptFilter(menu, menuLoading, L_NewestOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4977 } 4978 else if (strResultType=="boolean") 4979 { 4980 CAMOptFilter(menu, menuLoading, L_Ascending_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4981 CAMOptFilter(menu, menuLoading, L_Descending_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4982 } 4983 else 4984 { 4985 CAMOptFilter(menu, menuLoading, L_AOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4986 CAMOptFilter(menu, menuLoading, L_ZOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4987 } 4988 } 4989 else if (strFieldType=="attachments") 4990 { 4991 CAMOptFilter(menu, menuLoading, L_BlanksOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 4992 CAMOptFilter(menu, menuLoading, L_AttachmentsOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 4993 } 4994 else if (strFieldType=="lookup") 4995 { 4996 var curFieldName=filterTable.getAttribute('Name'); 4997 if (curFieldName=="Last_x0020_Modified" || curFieldName=="Created_x0020_Date") 4998 { 4999 CAMOptFilter(menu, menuLoading, L_OldestOnTop_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 5000 CAMOptFilter(menu, menuLoading, L_NewestOnTop_Text, strSortDesc, strImageZA, true, "fmi_desc"); 5001 } 5002 else 5003 { 5004 CAMOptFilter(menu, menuLoading, L_Ascending_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 5005 CAMOptFilter(menu, menuLoading, L_Descending_Text, strSortDesc, strImageZA, true, "fmi_desc"); 5006 } 5007 } 5008 else 5009 { 5010 CAMOptFilter(menu, menuLoading, L_Ascending_Text, strSortAsc, strImageAZ, true, "fmi_asc"); 5011 CAMOptFilter(menu, menuLoading, L_Descending_Text, strSortDesc, strImageZA, true, "fmi_desc"); 5012 } 5013 CAMSep(menu); 5014 CAMSep(menuLoading); 5015} 5016function CAMOptFilter(menu, menuLoading, wzText, wzAct, wzImage, bEnabled, strId) 5017{ 5018 var mi; 5019 mi=CAMOpt(menu, wzText, wzAct, wzImage); 5020 mi.id=strId; 5021 if (!bEnabled) 5022 mi.setAttribute("enabled", "false"); 5023 mi=CAMOpt(menuLoading, wzText, wzAct, wzImage); 5024 mi.id=strId+"_p"; 5025 if (!bEnabled) 5026 mi.setAttribute("enabled", "false"); 5027} 5028function ShowFilterLoadingMenu() 5029{ 5030 if (!bIsFilterDataLoaded) 5031 OMenu(loadingFilterMenu, filterTable, null, null, -1); 5032} 5033function addFilterMenuItems(menu, menuLoading) 5034{ 5035 var mi; 5036 if (filterTable.getAttribute('Filterable')=="FALSE" 5037 || filterTable.getAttribute('FieldType ')=="Note" 5038 || filterTable.getAttribute('FieldType ')=="URL") 5039 { 5040 mi=CAMOpt(menu, L_NotFilterable_Text, ""); 5041 mi.setAttribute("enabled", "false"); 5042 OMenu(menu, filterTable, null, null, -1); 5043 menu._onDestroy=OnMouseOutFilter; 5044 return; 5045 } 5046 var iframe=document.getElementById("FilterIframe"+filterTable.getAttribute('CtxNum')); 5047 if (iframe==null) 5048 return; 5049 var strDocUrl=iframe.getAttribute('FilterLink'); 5050 var strFilterField=escapeProperly(filterTable.getAttribute('Name')); 5051 strFilteredValue=null; 5052 var strFilterQuery=""; 5053 var i=0; 5054 var arrayField; 5055 do 5056 { 5057 i++; 5058 arrayField=strDocUrl.match("FilterField"+i+"=[^&]*"+ "&FilterValue"+i+"=[^&]*"); 5059 if (arrayField !=null) 5060 { 5061 if (strFilteredValue==null) 5062 strFilteredValue=getFilterValueFromUrl(arrayField.toString(), strFilterField); 5063 strFilterQuery=strFilterQuery+"&"+arrayField; 5064 } 5065 } while (arrayField); 5066 var bFiltered=(strFilteredValue !=null); 5067 strDisplayText=StBuildParam(L_DontFilterBy_Text, filterTable.getAttribute('DisplayName')); 5068 var strFilterUrl="javascript:SubmitFormPost('"+ STSScriptEncode(FilterFieldV3(ctxFilter.view, strFilterField, "", 0, true))+"')"; 5069 var strImageUrl; 5070 if (bFiltered) 5071 strImageUrl=ctxFilter.imagesPath+"FILTEROFF.gif"; 5072 else 5073 strImageUrl=ctxFilter.imagesPath+"FILTEROFFDISABLED.gif"; 5074 CAMOptFilter(menu, menuLoading, strDisplayText, strFilterUrl, strImageUrl, bFiltered, "fmi_clr"); 5075 mi=CAMOpt(menuLoading, L_Loading_Text, ""); 5076 mi.setAttribute("enabled", "false"); 5077 setTimeout("ShowFilterLoadingMenu()", 500); 5078 menuLoading._onDestroy=OnMouseOutFilter; 5079 arrayField=strDocUrl.match("MembershipGroupId=[^&]*"); 5080 if (arrayField !=null) 5081 { 5082 strFilterQuery=strFilterQuery+"&"+arrayField; 5083 } 5084 arrayField=strDocUrl.match("InstanceID=[^&]*"); 5085 if (arrayField !=null) 5086 { 5087 strFilterQuery=strFilterQuery+"&"+arrayField; 5088 } 5089 var strRootFolder=""; 5090 arrayField=strDocUrl.match("RootFolder=[^&]*"); 5091 if (arrayField !=null) 5092 strRootFolder="&"+arrayField; 5093 if (browseris.safari) 5094 { 5095 iframe.src="/_layouts/blank.htm"; 5096 iframe.style.offsetLeft="-550px"; 5097 iframe.style.offsetTop="-550px"; 5098 iframe.style.display="block"; 5099 }
5100 iframe.src=ctxFilter.HttpRoot+"/_layouts/filter.aspx?ListId="+ctxFilter.listName+ strRootFolder+ "&FieldInternalName="+strFilterField+ "&ViewId="+ctxFilter.view+"&FilterOnly=1&Filter=1"+strFilterQuery; 5101 bMenuLoadInProgress=true; 5102} 5103function getFilterValueFromUrl(strUrl, strFilterField) 5104{ 5105 var ichStart, ichEnd; 5106 var strFilterFieldUrl; 5107 ichStart=strUrl.indexOf("="); 5108 if (ichStart==-1) 5109 return; 5110 ichEnd=strUrl.indexOf("&"); 5111 if (ichEnd==-1) 5112 return; 5113 if (ichEnd < ichStart) 5114 return; 5115 strUrl=CanonicalizeUrlEncodingCase(strUrl); 5116 strFilterFieldUrl=strUrl.substring(ichStart+1, ichEnd); 5117 if (strFilterFieldUrl==strFilterField) 5118 { 5119 var strUnescaped; 5120 ichStart=strUrl.indexOf("=", ichEnd+1); 5121 if (ichStart==-1) 5122 return; 5123 strUnescaped=strUrl.substr(ichStart+1); 5124 strUnescaped=unescapeProperly(strUnescaped); 5125 return strUnescaped; 5126 } 5127 return null; 5128} 5129function OnIframeLoad() 5130{ 5131 bMenuLoadInProgress=false; 5132 if (filterTable !=null && filterTable.getAttribute('Name') !=null) 5133 { 5134 var iframe=window.frames["FilterIframe"+filterTable.getAttribute('CtxNum')]; 5135 if (iframe !=null) 5136 { 5137 var strFieldName=filterTable.getAttribute('Name'); 5138 var select=iframe.document.getElementById("diidFilter"+strFieldName); 5139 strFieldName=escapeProperly(strFieldName); 5140 if (select !=null) 5141 { 5142 var c=select.childNodes.length; 5143 if (c > 500) 5144 { 5145 addFilterOptionMenuItem(); 5146 } 5147 else 5148 { 5149 var rgChoices=select.childNodes; 5150 for (var i=1; i < c; i++) 5151 { 5152 var strMenuText; 5153 if (rgChoices[i].innerText) 5154 strMenuText=rgChoices[i].innerText; 5155 else if (rgChoices[i].textContent) 5156 strMenuText=rgChoices[i].textContent; 5157 else 5158 strMenuText=rgChoices[i].innerHTML; 5159 var strFilterUrl="javascript:SubmitFormPost('"+ STSScriptEncode(FilterFieldV3(ctxFilter.view, strFieldName, rgChoices[i].value, i, true))+"')"; 5160 var mi=CAMOpt(currentFilterMenu, strMenuText, strFilterUrl); 5161 if (strFilteredValue !=null && strFilteredValue==rgChoices[i].value) 5162 mi.setAttribute("checked", "true"); 5163 } 5164 } 5165 } 5166 else 5167 { 5168 addFilterOptionMenuItem(); 5169 } 5170 bIsFilterDataLoaded=true; 5171 if (loadingFilterMenu !=null) 5172 loadingFilterMenu._onDestroy=null; 5173 if (currentFilterMenu !=null) 5174 { 5175 currentFilterMenu._onDestroy=OnMouseOutFilter; 5176 OMenu(currentFilterMenu, filterTable, null, null, -1); 5177 } 5178 } 5179 } 5180} 5181function addFilterOptionMenuItem() 5182{ 5183 var strUrl=window.location.href; 5184 strUrl=StURLSetVar2(strUrl, "Filter", "1"); 5185 strUrl=StURLSetVar2(strUrl, "View", ctxFilter.view); 5186 strUrl="javascript:SubmitFormPost('"+strUrl+"')"; 5187 CAMOpt(currentFilterMenu, L_FilterMode_Text, strUrl); 5188} 5189function OnMouseOverAdHocFilterDeferCall(elm, fieldStr) 5190{ 5191 filterStr=fieldStr; 5192 if (!browseris.ie55up || !browseris.win32) 5193 return false; 5194 if (IsFilterMenuOn()) 5195 return false; 5196 if (filterTable !=null) 5197 OnMouseOutFilter(); 5198 filterTable=elm; 5199 filterTable.className="ms-selectedtitle"; 5200 filterTable.onclick=CreateFilterMenu; 5201 filterTable.oncontextmenu=CreateFilterMenu; 5202 filterTable.onmouseout=OnMouseOutFilter; 5203 var titleRow=filterTable.children[0].children[0]; 5204 filterImageCell=titleRow.children[titleRow.children.length - 1]; 5205 filterImageCell.children[0].src="/_layouts/images/menudark.gif"; 5206 filterImageCell.children[0].style.visibility="visible"; 5207 filterImageCell.style.visibility="visible"; 5208 filterImageCell.className="ms-menuimagecell"; 5209 return true; 5210} 5211function addAdHocFilterMenuItems(menu, menuLoading) 5212{ 5213 var mi=CAMOpt(menuLoading, L_Loading_Text, ""); 5214 mi.setAttribute("enabled", "false"); 5215 OMenu(menuLoading, filterTable, null, null, -1); 5216 menuLoading._onDestroy=OnMouseOutFilter; 5217 DoCallBack("__filter={"+filterStr+"}"); 5218} 5219function UpdateFilterCallback(filterHTML, foo) 5220{ 5221 var select="</OPTION>"; 5222 var i=-1; 5223 i=filterHTML.indexOf(select, i+1); 5224 var j=filterHTML.lastIndexOf('>', i); 5225 var strDisplayText=StBuildParam(L_DontFilterBy_Text, strFieldName); 5226 var strImageUrl; 5227 var strFilterUrl=""; 5228 if (j < i - 1) 5229 { 5230 var index=filterHTML.lastIndexOf('\"', i); 5231 if (index > 0) 5232 { 5233 var index2=filterHTML.lastIndexOf('\"', index - 1); 5234 if (index2 > 0) 5235 { 5236 strFilterUrl=filterHTML.substring(index2+1, index); 5237 } 5238 } 5239 } 5240 if (j==i - 1) 5241 strImageUrl="/_layouts/images/FILTEROFFDISABLED.gif"; 5242 else
5243 strImageUrl="/_layouts/images/FILTEROFF.gif"; 5244 if (i > 0) 5245 { 5246 var mi=CAMOpt(currentFilterMenu, strDisplayText, strFilterUrl, strImageUrl); 5247 mi.setAttribute("enabled", j==i - 1 ? "false" : "true"); 5248 var index=i; 5249 var optionStart="<OPTION href=\""; 5250 i=filterHTML.indexOf(select, i+8); 5251 while ( i > 0) 5252 { 5253 j=filterHTML.indexOf(optionStart, index+8); 5254 j=filterHTML.indexOf('\"', j+20); 5255 if (j > 0 && j < i) 5256 { 5257 var strMenuText=filterHTML.substring(j+2, i); 5258 var strFilterUrl=''; 5259 index=filterHTML.lastIndexOf('\"', j); 5260 if (index > 0) 5261 { 5262 var index2=filterHTML.lastIndexOf('\"', index - 1); 5263 if (index2 > 0) 5264 { 5265 strFilterUrl=filterHTML.substring(index2+1, index); 5266 strFilterUrl=strFilterUrl.replace(/&/g, "&"); 5267 } 5268 } 5269 if (strMenuText.length > 40) 5270 strMenuText=strMenuText.substring(0, 40)+"..."; 5271 if (strMenuText.length > 0) 5272 CAMOpt(currentFilterMenu, strMenuText, strFilterUrl); 5273 } 5274 index=i; 5275 i=filterHTML.indexOf(select, i+8); 5276 } 5277 } 5278 else 5279 { 5280 var mi=CAMOpt(currentFilterMenu, L_NotFilterable_Text, ""); 5281 mi.setAttribute("enabled", "false"); 5282 OMenu(currentFilterMenu, filterTable, null, null, -1); 5283 return; 5284 } 5285 loadingFilterMenu._onDestroy=null; 5286 OMenu(currentFilterMenu, filterTable, null, null, -1); 5287 currentFilterMenu._onDestroy=OnMouseOutFilter; 5288} 5289function OnClickFilter(obj, e) 5290{ 5291 var o=FindSTSMenuTable(obj, "CTXNum"); 5292 if (o !=null && o.getAttribute("SortFields") !=null) 5293 { 5294 var strSortFields=o.getAttribute("SortFields"); 5295 var url=GetUrlWithNoSortParameters(strSortFields); 5296 url=RemovePagingArgs(url); 5297 if (url.indexOf("?") < 0) 5298 url+="?"; 5299 else 5300 url+="&"; 5301 SubmitFormPost(url+strSortFields); 5302 } 5303 if (!bIsFileDialogView) 5304 e.cancelBubble=true; 5305 return false; 5306} 5307function ToggleSelectionAllUsers(viewCounter) 5308{ 5309 var chkToggle=document.getElementById("spToggleUserSelectionCheckBox_"+viewCounter.toString()); 5310 if (chkToggle !=null) 5311 { 5312 var name="spUserSelectionCheckBox_"+viewCounter.toString(); 5313 var users=document.getElementsByName(name); 5314 chkToggle.checked=!chkToggle.checked; 5315 for (var i=0; i < users.length; i++) 5316 { 5317 var chkBox=users[i]; 5318 chkBox.checked=chkToggle.checked; 5319 } 5320 var imageId="cbxUserSelectAll"+viewCounter.toString(); 5321 var img=document.getElementById(imageId); 5322 if (img !=null) 5323 { 5324 if (chkToggle.checked) 5325 img.src='/_layouts/images/checkall.gif'; 5326 else 5327 img.src='/_layouts/images/unchecka.gif'; 5328 } 5329 } 5330} 5331function UserSelectionOnClick(chk, viewCounter) 5332{ 5333 var imageId="cbxUserSelectAll"+viewCounter.toString(); 5334 var img=document.getElementById(imageId); 5335 var chkToggle=document.getElementById("spToggleUserSelectionCheckBox_"+viewCounter.toString()); 5336 if (!chk.checked) 5337 { 5338 if (chkToggle !=null) 5339 { 5340 chkToggle.checked=false; 5341 } 5342 if (img !=null) 5343 { 5344 img.src='/_layouts/images/unchecka.gif'; 5345 } 5346 } 5347 else 5348 { 5349 var name="spUserSelectionCheckBox_"+viewCounter.toString(); 5350 var users=document.getElementsByName(name); 5351 var bAllChecked=true; 5352 for (var i=0; i < users.length; i++) 5353 { 5354 var chkBox=users[i]; 5355 if (!chkBox.checked) 5356 { 5357 bAllChecked=false; 5358 break; 5359 } 5360 } 5361 if (bAllChecked) 5362 { 5363 if (img) 5364 img.src='/_layouts/images/checkall.gif'; 5365 if (chkToggle) 5366 chkToggle.checked=true; 5367 } 5368 } 5369} 5370var g_menuCounter=0; 5371var g_oSelRw=null; 5372var g_iEntityEditorLineHeight=16; 5373var g_EntityEditorHiddenEntityKeyId="HiddenEntityKey"; 5374var g_EntityEditorHiddenEntityDisplayTextId="HiddenEntityDisplayText"; 5375var g_EntityEditorShowEntityDisplayTextInTextBox="ShowEntityDisplayTextInTextBox"; 5376var g_EntityEditorDownLevelId="downlevelTextBox"; 5377var g_EntityEditorUpLevelId="upLevelDiv"; 5378var g_EntityEditorHiddenId="hiddenSpanData"; 5379var g_EntityEditorCheckNamesId="checkNames"; 5380var g_EntityEditorOuterTableId="OuterTable"; 5381var g_EntityEditorErrorLabelId="errorLabel"; 5382var g_EntityEditorResultTableId="resultTable"; 5383var g_EntityEditorResultTableAttrEditorId="EditorControlClientId"; 5384function onKeyDownRw(div, parentid, maxHeight, allowTypeIn, e) 5385{ 5386 if (!e) e=window.event; 5387 var iKC=e.keyCode; 5388 if((e.shiftKey && iKC==13) || (e.altKey && iKC==40)) 5389 {
5390 onClickRw(true,false); 5391 canEvt(e); 5392 return; 5393 } 5394 if(allowTypeIn==false) 5395 { 5396 if (iKC!=8 && iKC!=46 && iKC!=37 && iKC!=39 && iKC!=9) 5397 { 5398 canEvt(e); 5399 } 5400 else 5401 { 5402 if (autoPostBackEnabled(div)) 5403 schedulePostBack(); 5404 } 5405 PickerAdjustHeight(parentid, maxHeight); 5406 } 5407 else 5408 { 5409 PickerAdjustHeight(parentid, maxHeight); 5410 if ((e.ctrlKey && iKC==75) || (!e.ctrlKey && !e.altKey && !e.shiftKey && (iKC==13))) 5411 { 5412 canEvt(e); 5413 var checkNamesId=getSubControlID(parentid, g_EntityEditorCheckNamesId); 5414 var button=document.getElementById(checkNamesId); 5415 if (button) 5416 button.click(); 5417 } 5418 } 5419} 5420function onKeyUpRw(editorClientID) 5421{ 5422 copyUplevelToHidden(editorClientID); 5423} 5424function onMouseDownRw() 5425{ 5426 if (event.button==2) 5427 g_oSelRw=document.selection.createRange(); 5428} 5429function onContextMenuSpnRw() 5430{ 5431 var oSO=g_oSelRw; 5432 var oS=document.selection.createRange(); 5433 if (oSO.text=='') 5434 { 5435 ret=onClickRw(false,false); 5436 } 5437 else 5438 { 5439 if(oSO.inRange(oS)) 5440 oSO.select(); 5441 else 5442 onClickRw(false,false); 5443 } 5444 return false; 5445} 5446function canEvt(e) 5447{ 5448 if(e==null) 5449 e=event; 5450 e.returnValue=false; 5451 e.cancelBubble=true; 5452} 5453function copyUplevelToHidden(editorClientID) 5454{ 5455 if (document.getElementById(editorClientID)==null) 5456 return; 5457 updateControlValue(editorClientID); 5458 var uplevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorUpLevelId)); 5459 var hidden=document.getElementById(getSubControlID(editorClientID, g_EntityEditorHiddenId)); 5460 var children=uplevel.childNodes; 5461 for (i=0; i < children.length; i++) 5462 { 5463 if (children[i].tagName !='SPAN' && children[i].nodeType !=3) 5464 { 5465 if (children[i].tagName=='A') 5466 { 5467 var oR=document.body.createTextRange(); 5468 oR.moveToElementText(children[i]); 5469 oR.execCommand('Unlink'); 5470 } 5471 else 5472 { 5473 var oTN=document.createTextNode(children[i].innerText); 5474 children[i].replaceNode(oTN); 5475 } 5476 } 5477 } 5478 if (EntityEditor_UseContentEditableControl) 5479 { 5480 hidden.value=uplevel.innerHTML; 5481 } 5482 else 5483 { 5484 var downlevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorDownLevelId)); 5485 hidden.value=downlevel.value; 5486 } 5487} 5488function getUplevel(editorClientID) 5489{ 5490 if (EntityEditor_UseContentEditableControl) 5491 { 5492 var uplevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorUpLevelId)); 5493 var children=uplevel.childNodes; 5494 for (i=0; i < children.length; i++) 5495 { 5496 if (children[i].tagName !='SPAN' && children[i].nodeType !=3) 5497 { 5498 var oTN=document.createTextNode(children[i].innerText); 5499 children[i].replaceNode(oTN); 5500 } 5501 } 5502 return uplevel.innerHTML; 5503 } 5504 var downlevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorDownLevelId)); 5505 return downlevel.value; 5506} 5507function EntityEditorHasData(editorClientID) 5508{ 5509 if (EntityEditor_UseContentEditableControl) 5510 { 5511 var uplevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorUpLevelId)); 5512 var children=uplevel.childNodes; 5513 if (children.length > 0) 5514 return true; 5515 } 5516 else 5517 { 5518 var downlevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorDownLevelId)); 5519 if (downlevel.value !=null && downlevel.value.length > 0) 5520 return true; 5521 } 5522 return false; 5523} 5524function EEDecodeSpecialChars(str) 5525{ 5526 var decodedStr=str.replace(/"/g, "\""); 5527 decodedStr=decodedStr.replace(/>/g, ">"); 5528 decodedStr=decodedStr.replace(/</g, "<"); 5529 decodedStr=decodedStr.replace(/'/g, "'"); 5530 decodedStr=decodedStr.replace(/&/g, "&"); 5531 return decodedStr; 5532} 5533function onClickRw(showMenu, divClicked) 5534{ 5535 var oR=document.selection.createRange(); 5536 var oPE=oR.parentElement(); 5537 var oPPE=null; 5538 if(oPE.tagName=="SPAN" && oPE.id=="content") 5539 { 5540 oPPE=oPE.parentElement; 5541 } 5542 else if(oPE.tagName=="SPAN" && oPE.id.substring(0,4)=="span" && ! divClicked) 5543 { 5544 oPPE=oPE; 5545 } 5546 if(oPPE!=null) 5547 { 5548 oR.moveToElementText(oPPE); 5549 var c="character"; 5550 oR.moveStart(c, -1); 5551 oR.moveEnd(c,1); 5552 oR.select(); 5553 g_oSelRw=oR; 5554 var oDivEntityData=oPPE.children('divEntityData'); 5555 var isResolved=oDivEntityData.getAttribute('isresolved'); 5556 if(isResolved=="False") 5557 { 5558 var menuOwner=oPPE; 5559 if(menuOwner.getBoundingClientRect().right > menuOwner.parentElement.getBoundingClientRect().right) 5560 menuOwner=menuOwner.parentElement; 5561 var clientID=oPPE.parentElement.id.replace('_upLevelDiv', ''); 5562 var keyRawValue=oDivEntityData.getAttribute('key'); 5563 var menu=DeferCall('CMenu', 'Entity_Menu'+g_menuCounter); 5564 g_menuCounter++; 5565 var morematches=null; 5566 if (matches[clientID] !=null && matches[clientID][keyRawValue] !=null) 5567 morematches=matches[clientID][keyRawValue]; 5568 var EE=document.getElementById(clientID); 5569 var moreItemsText=EE.getAttribute('MoreItemsText'); 5570 var removeText=EE.getAttribute('RemoveText'); 5571 var noMatchesText=EE.getAttribute('NoMatchesText'); 5572 if(morematches==null || morematches.childNodes.length==0) 5573 CAMOpt(menu, noMatchesText); 5574 else 5575 { 5576 for (x=0; x < morematches.childNodes.length; x++) 5577 { 5578 var otherMatch=morematches.childNodes[x]; 5579 CAMOpt(menu, otherMatch.getAttribute('DisplayText'), "EEReplace('"+STSScriptEncode(clientID)+"', '"+STSScriptEncode(keyRawValue)+"', "+x+");"); 5580 } 5581 } 5582 CAMSep(menu); 5583 CAMOpt(menu, removeText, "EERemove();"); 5584 CAMOpt(menu, moreItemsText, "EEShowMore('"+STSScriptEncode(clientID)+"', '"+STSScriptEncode(keyRawValue)+"');"); 5585 OMenu(menu, menuOwner, null, null, -1); 5586 } 5587 } 5588} 5589function EEShowMore(id, key) 5590{ 5591 DeferCall('__Dialog__'+id, key); 5592} 5593function EEReplace(clientID, key, id) 5594{ 5595 var otherMatch=matches[clientID][key].childNodes[id]; 5596 var spandata=ConvertEntityToSpan("", otherMatch); 5597 g_oSelRw.pasteHTML(spandata) 5598 PickerAdjustHeight(clientID, g_maxheight[clientID]); 5599 var downlevel=document.getElementById(getSubControlID(clientID, "downlevelTextBox"));
5600 if(downlevel !=null && autoPostBackEnabled(downlevel)) schedulePostBack(); 5601} 5602function EERemove() 5603{ 5604 g_oSelRw.select(); 5605 document.selection.clear(); 5606} 5607var g_maxheight=new Array(); 5608function EntityEditorSetWaitCursor(ctx) 5609{ 5610 if (document.getElementById(ctx)==null) 5611 return; 5612 var outerTable=document.getElementById(getSubControlID(ctx, g_EntityEditorOuterTableId)); 5613 if (outerTable !=null) 5614 { 5615 outerTable.style.cursor="wait"; 5616 } 5617} 5618function EntityEditorClearWaitCursor(ctx) 5619{ 5620 if (document.getElementById(ctx)==null) 5621 return; 5622 var outerTable=document.getElementById(getSubControlID(ctx, g_EntityEditorOuterTableId)); 5623 if (outerTable !=null) 5624 { 5625 outerTable.style.cursor=""; 5626 } 5627} 5628function EntityEditorHandleCheckNameResult(result, ctx) 5629{ 5630 EntityEditorClearWaitCursor(ctx); 5631 EntityEditorCallback(result, ctx); 5632} 5633function EntityEditorHandleCheckNameError(exception, ctx) 5634{ 5635 EntityEditorClearWaitCursor(ctx); 5636 var errorControl=document.getElementById(getSubControlID(ctx, g_EntityEditorErrorLabelId)); 5637 if (errorControl) 5638 { 5639 errorControl.innerHTML=STSHtmlEncode(exception); 5640 } 5641} 5642function EntityEditorCallback(result,ctx,preventAutoPostBack) 5643{ 5644 if (document.getElementById(ctx)==null) 5645 return; 5646 var editor=document.getElementById(ctx); 5647 var errorControl=document.getElementById(getSubControlID(ctx, 'errorLabel')); 5648 var xmlDoc; 5649 if(document.implementation && document.implementation.createDocument) 5650 { 5651 xmlDoc=(new DOMParser()).parseFromString(result, "text/xml"); 5652 } 5653 else 5654 { 5655 xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 5656 xmlDoc.async=false; 5657 xmlDoc.loadXML(result); 5658 } 5659 var entities=xmlDoc.documentElement; 5660 var separator=entities.getAttribute("Separator"); 5661 if (separator==null) 5662 { 5663 separator=String.fromCharCode(0); 5664 } 5665 var append=entities.getAttribute("Append"); 5666 var maxHeight=entities.getAttribute("MaxHeight"); 5667 g_maxheight[ctx]=maxHeight; 5668 var spanData=""; 5669 var downlevelData=""; 5670 if(append=="False") 5671 errorControl.innerHTML=STSHtmlEncode(entities.getAttribute("Error")); 5672 for(x=0;x<entities.childNodes.length;x++) 5673 { 5674 var entity=entities.childNodes[x]; 5675 spanData+=ConvertEntityToSpan(ctx,entity); 5676 if (x==0 && 5677 editor.getAttribute(g_EntityEditorShowEntityDisplayTextInTextBox)=="1") 5678 { 5679 downlevelData+=entity.getAttribute("DisplayText"); 5680 document.getElementById(getSubControlID(ctx, g_EntityEditorHiddenEntityKeyId)).value=entity.getAttribute("Key"); 5681 document.getElementById(getSubControlID(ctx, g_EntityEditorHiddenEntityDisplayTextId)).value=entity.getAttribute("DisplayText"); 5682 } 5683 else 5684 { 5685 downlevelData+=entity.getAttribute("Key"); 5686 } 5687 if(spanData!="" && x+1!=entities.childNodes.length) 5688 { 5689 spanData+=separator+" "; 5690 downlevelData+=separator+" "; 5691 } 5692 } 5693 var uplevel=document.getElementById(getSubControlID(ctx, g_EntityEditorUpLevelId)); 5694 var hiddenSpan=document.getElementById(getSubControlID(ctx, g_EntityEditorHiddenId)); 5695 var downlevel=document.getElementById(getSubControlID(ctx, g_EntityEditorDownLevelId)); 5696 var shouldPostBack=(preventAutoPostBack==null || !preventAutoPostBack) && autoPostBackEnabled(uplevel); 5697 var shouldNotifyChange=(uplevel.innerHTML!=spanData); 5698 if(append=="True" && uplevel.innerHTML!='') 5699 { 5700 uplevel.innerHTML+=separator+" "+spanData; 5701 hiddenSpan.value+=separator+" "+spanData; 5702 downlevel.value+=separator+" "+downlevelData; 5703 } 5704 else 5705 { 5706 shouldPostBack=shouldPostBack&&uplevel.innerHTML!=spanData&&spanData.indexOf('ms-entity-resolved')!=-1; 5707 downlevel.value=downlevelData; 5708 uplevel.innerHTML=spanData; 5709 hiddenSpan.value=spanData; 5710 } 5711 if ((shouldNotifyChange) && (!shouldPostBack) &&(downlevel.onvaluesetfrompicker)) 5712 { 5713 if (typeof(downlevel.onvaluesetfrompicker)=='function') 5714 { 5715 downlevel.onvaluesetfrompicker(); 5716 } 5717 else 5718 { 5719 eval(downlevel.onvaluesetfrompicker); 5720 } 5721 } 5722 updateControlValue(ctx); 5723 PickerAdjustHeight(ctx, maxHeight); 5724 if(shouldPostBack) schedulePostBack(); 5725 var cbScript=editor.getAttribute("EEAfterCallbackClientScript"); 5726 if (cbScript !=null && cbScript !="") 5727 { 5728 if (preventAutoPostBack==undefined || preventAutoPostBack==false) 5729 { 5730 var timeoutScript=cbScript+"('"+STSScriptEncode(ctx)+"', '"+STSScriptEncode(result)+"')"; 5731 setTimeout(timeoutScript, 500); 5732 } 5733 } 5734} 5735function updateControlValue(editorClientID) 5736{ 5737 if (document.getElementById(editorClientID)==null) 5738 return; 5739 var uplevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorUpLevelId)); 5740 var editor=document.getElementById(editorClientID); 5741 editor.value=((uplevel.innerHTML !='') ? 'true' : '') 5742 CheckOk(editorClientID); 5743} 5744function CheckOk(editorClientID) 5745{ 5746 var editor=document.getElementById(editorClientID); 5747 if (editor==null) 5748 return; 5749 var allowEmpty=false; 5750 if (editor.getAttribute('allowEmpty')=='1') 5751 allowEmpty=true; 5752 var uplevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorUpLevelId)); 5753 if(uplevel.innerHTML!='') 5754 { 5755 if(self.enableOK!=null) 5756 enableOK(); 5757 } 5758 else 5759 { 5760 if(self.disableOK!=null && !allowEmpty) 5761 disableOK(); 5762 } 5763} 5764var matches=new Array(); 5765function ConvertEntityToSpan(ctx, entity) 5766{ 5767 if(matches[ctx]==null) 5768 matches[ctx]=new Array(); 5769 var key=entity.getAttribute("Key"); 5770 var displayText=entity.getAttribute("DisplayText"); 5771 var isResolved=entity.getAttribute("IsResolved"); 5772 var description=entity.getAttribute("Description"); 5773 var style='ms-entity-unresolved'; 5774 if(isResolved=='True') 5775 style='ms-entity-resolved'; 5776 var spandata="<span id='span"+STSHtmlEncode(key)+"' tabindex='-1' contentEditable='false' class='"+style+"' "; 5777 spandata+="title='"+STSHtmlEncode(description)+"'>" 5778 spandata+="<div style='display:none;' id='divEntityData' "; 5779 spandata+="key='"+STSHtmlEncode(key)+"' displaytext='"+STSHtmlEncode(displayText)+"' isresolved='"+STSHtmlEncode(isRes
5779olved)+"' "; 5780 spandata+="description='"+STSHtmlEncode(description)+"'>"; 5781 var multipleMatches=EntityEditor_SelectSingleNode(entity, "MultipleMatches"); 5782 matches[ctx][key]=multipleMatches; 5783 var extraData=EntityEditor_SelectSingleNode(entity, "ExtraData"); 5784 if(extraData) 5785 { 5786 var data; 5787 if(extraData.firstChild) 5788 data=extraData.firstChild.xml; 5789 if(!data) data=extraData.innerXml || extraData.innerHTML; 5790 if(!data) data=''; 5791 spandata+="<div data='"+STSHtmlEncode(data)+"'></div>"; 5792 } 5793 else 5794 { 5795 spandata+="<div data=''></div>"; 5796 } 5797 spandata+="</div>"; 5798 spandata+="<span id='content' tabindex='-1' contenteditable onMouseDown='onMouseDownRw();' onContextMenu='onContextMenuSpnRw();' >"; 5799 if(displayText !='') 5800 spandata+=STSHtmlEncode(displayText); 5801 else 5802 spandata+=STSHtmlEncode(key); 5803 spandata+="</span></span>"; 5804 return spandata; 5805} 5806function PickerAdjustHeight(editorClientID, maxHeight) 5807{ 5808 var editor=document.getElementById(editorClientID); 5809 if (editor==null) 5810 return; 5811 var downlevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorDownLevelId)); 5812 var uplevel=document.getElementById(getSubControlID(editorClientID, g_EntityEditorUpLevelId)); 5813 var rows=downlevel.rows; 5814 PickerAdjustHeight2(downlevel, rows, maxHeight); 5815 PickerAdjustHeight2(uplevel, rows, maxHeight); 5816} 5817function PickerAdjustHeight2(editorControl, rows, maxHeight) 5818{ 5819 var iMaxHeightSize=maxHeight; 5820 if (editorControl !=null) 5821 { 5822 var contentheight=editorControl.scrollHeight; 5823 var clientHeight=editorControl.clientHeight; 5824 var bodyHeight=editorControl.offsetHeight; 5825 if(contentheight==0) 5826 { 5827 contentheight=13; 5828 clientHeight=14; 5829 bodyHeight=18; 5830 } 5831 var MaxHeightPixelSize=iMaxHeightSize * g_iEntityEditorLineHeight; 5832 contentheight=((contentheight < rows*g_iEntityEditorLineHeight)? rows*g_iEntityEditorLineHeight: contentheight); 5833 if (clientHeight !=contentheight && (contentheight <=MaxHeightPixelSize || clientHeight < MaxHeightPixelSize)) 5834 { 5835 editorControl.style.height=bodyHeight+((contentheight > MaxHeightPixelSize)? MaxHeightPixelSize : contentheight) - clientHeight; 5836 } 5837 else 5838 { 5839 if(clientHeight>MaxHeightPixelSize) 5840 editorControl.style.height=MaxHeightPixelSize; 5841 } 5842 } 5843} 5844function docopy() 5845{ 5846 var rng=document.selection.createRange(); 5847 window.clipboardData.setData('Text', rng.text); 5848 window.event.returnValue=false; 5849 return false; 5850} 5851function dopaste() 5852{ 5853 var rng=document.selection.createRange(); 5854 window.event.returnValue=false; 5855 rng.text=window.clipboardData.getData('Text'); 5856 return false; 5857} 5858function getSubControlID(parentid, subcontrolid) 5859{ 5860 return parentid+"_"+subcontrolid; 5861} 5862var nav4=window.Event ? true : false; 5863var selected=new Array(0); 5864var lastSelected; 5865function PickerDialogSetClearState() 5866{ 5867 selected=new Array(0); 5868 lastSelected=null; 5869 PickerDialogUpdateAddSelectionButton(); 5870} 5871function singleselectevent(e) 5872{ 5873 if (!e) e=window.event; 5874 var el=null; 5875 if(nav4) 5876 el=e.target.parentNode || e.currentTarget.parentNode; 5877 else 5878 { 5879 el=e.srcElement; 5880 if(el.tagName=="TD") 5881 el=el.parentElement; 5882 } 5883 while (el.tagName !="TR") 5884 el=el.parentNode; 5885 addSelection(el, true, true); 5886 lastSelected=el; 5887 addSelected_Click(); 5888 PickerDialogUpdateAddSelectionButton(); 5889 return false; 5890} 5891function multiselectevent(e) 5892{ 5893 if (!e) e=window.event; 5894 var shift=false; 5895 var ctrl=false; 5896 ctrl=e['ctrlKey']; 5897 shift=e['shiftKey']; 5898 var el=null; 5899 if(nav4) 5900 el=e.target.parentNode || e.currentTarget.parentNode; 5901 else 5902 { 5903 el=e.srcElement; 5904 if(el.tagName=="TD") 5905 el=el.parentElement; 5906 } 5907 while (el.tagName !="TR") 5908 el=el.parentNode; 5909 if(shift==false) 5910 { 5911 if(ctrl==false) 5912 { 5913 setSelectedColor(false); 5914 selected=new Array(0); 5915 } 5916 lastSelected=el; 5917 var found=-1; 5918 for(i=0;i<selected.length;i++) 5919 { 5920 if(selected[i]==el) 5921 { 5922 found=i; 5923 i=selected.length; 5924 } 5925 } 5926 if(found==-1) 5927 selected=selected.concat(new Array(el)); 5928 else 5929 { 5930 setSelectedRowColor(selected[found], false); 5931 selected.splice(found,1); 5932 } 5933 } 5934 else 5935 { 5936 setSelectedColor(false); 5937 selected=new Array(0); 5938 var table; 5939 if(nav4) 5940 table=el.parentNode; 5941 else 5942 table=el.parentElement; 5943 var elIndex; 5944 var lastIndex; 5945 var childElements=table.rows; 5946 if(lastSelected==null) 5947 lastSelected=childElements[1]; 5948 for(i=1;i<childElements.length;i++) 5949 { 5950 if(childElements[i]==el) 5951 elIndex=i; 5952 if(childElements[i]==lastSelected) 5953 lastIndex=i; 5954 if(elIndex!=null || lastIndex!=null ) 5955 selected=selected.concat(new Array(childElements[i])); 5956 if(elIndex!=null && lastIndex!=null) 5957 i=childElements.length; 5958 } 5959 } 5960 setSelectedColor(true); 5961 PickerDialogUpdateAddSelectionButton(); 5962 return false; 5963} 5964function setSelectedRowColor(row, isSelected) 5965{ 5966 for (var chd=0; chd < row.childNodes.length; chd++) 5967 { 5968 var className=row.childNodes[chd].className; 5969 if (isSelected) 5970 { 5971 className="ms-pb-selected"; 5972 } 5973 else 5974 { 5975 className="ms-pb"; 5976 } 5977 row.childNodes[chd].className=className; 5978 } 5979} 5980function setSelectedColor(isSelected) 5981{ 5982 for (i=0; i < selected.length; i++) 5983 { 5984 setSelectedRowColor(selected[i], isSelected); 5985 } 5986} 5987function IsSearchResultRow(row) 5988{ 5989 if (row==null || 5990 row.className=="ms-pickersearchsummarytr" || 5991 row.className=="ms-pickeremptyresulttexttr" || 5992 row.className=="ms-pickerresultheadertr") 5993 { 5994 return false; 5995 } 5996 return true; 5997} 5998function tableKeyDown(table, multiselect, e) 5999{ 6000 if (table.rows.length <=1) 6001 return; 6002 if (!e) e=window.event; 6003 if (e.ctrlKey && e.keyCode==65 && multiselect==true) 6004 { 6005 for (x=1; x < table.rows.length; x++) 6006 { 6007 if (IsSearchResultRow(table.rows[x])) 6008 addSelection(table.rows[x], false, false); 6009 } 6010 return false; 6011 } 6012 if (e.keyCode==13) 6013 { 6014 addSelected_Click(); 6015 if (multiselect==false && 6016 selected.length > 0 && 6017 self.doClickOK !=null && typeof(self.doClickOK)=="function") 6018 { 6019 window.setTimeout('doClickOK();', 100); 6020 } 6021 } 6022 if (e.keyCode==40 || e.keyCode==38) 6023 { 6024 var row=table.rows[1]; 6025 if (e.keyCode==40) 6026 { 6027 if (lastSelected !=null && 6028 IsSearchResultRow(lastSelected.nextSibling)) 6029 { 6030 row=lastSelected.nextSibling; 6031 } 6032 } 6033 if (e.keyCode==38) 6034 { 6035 if (lastSelected !=null && 6036 IsSearchResultRow(lastSelected.previousSibling)) 6037 { 6038 row=lastSelected.previousSibling; 6039 } 6040 if (row==table.rows[0]) 6041 row=table.rows[1]; 6042 } 6043 if (IsSearchResultRow(row)) 6044 { 6045 if(multiselect==true && e.shiftKey) 6046 addSelection(row, false, true); 6047 else 6048 addSelection(row, true, true); 6049 if(row!=null) 6050 lastSelected=row; 6051 if(multiselect==false) 6052 addSelected_Click(); 6053 return false; 6054 } 6055 } 6056 PickerDialogUpdateAddSelectionButton(); 6057} 6058function addSelection(row, clear, reposition) 6059{ 6060 if(row==null) 6061 return; 6062 if(clear==true) 6063 { 6064 setSelectedColor(false); 6065 selected=new Array(0); 6066 } 6067 selected=selected.concat(new Array(row)); 6068 setSelectedColor(true); 6069 if(reposition && row.focus) 6070 row.focus(); 6071 PickerDialogUpdateAddSelectionButton(); 6072} 6073function autoPostBackEnabled(elt) 6074{ 6075 var autoPostBack=(elt==null)?null:elt.attributes.getNamedItem("AutoPostBack"); 6076 return (autoPostBack!=null && autoPostBack.value=='1'); 6077} 6078function schedulePostBack() 6079{ 6080 window.setTimeout("__doPostBack('','')",0); 6081} 6082function saveOldEntities(elementId) 6083{ 6084 var elt=document.getElementById(elementId); 6085 if(elt!=null&&autoPostBackEnabled(elt)) elt.oldEntities=getEntityKeysFromElement(elementId); 6086} 6087function postbackIfEntitiesChanged(elementId) 6088{ 6089 var elt=document.getElementById(elementId); 6090 if (elt==null) 6091 { 6092 return false; 6093 } 6094 var oldKeys=elt.oldEntities; 6095 elt.oldEntities=null; 6096 var newKeys=getEntityKeysFromElement(elementId); 6097 var shouldPostBack=false; 6098 if(autoPostBackEnabled(elt)) 6099 { 6100 if((oldKeys==null && newKeys!=null) || (oldKeys!=null && newKeys==null) || (oldKeys.length !=newKeys.length)) 6101 { 6102 shouldPostBack=true; 6103 } 6104 else 6105 { 6106 for(i=0;!shouldPostBack&&i<oldKeys.length;i++) 6107 { 6108 if(oldKeys[i] !=newKeys[i]) 6109 { 6110 shouldPostBack=true; 6111 } 6112 } 6113 } 6114 }
6115 if(shouldPostBack) schedulePostBack(); 6116} 6117function getEntityKeysFromElement(elementId) 6118{ 6119 var elt=document.getElementById(elementId); 6120 var keys=new Array(); 6121 var i=0; 6122 for(x=0;elt!=null&&x<elt.childNodes.length;x++) 6123 { 6124 var child=elt.childNodes[x]; 6125 if(child.attributes!=null) 6126 { 6127 var c=child.attributes.getNamedItem('class'); 6128 if(c!=null&&c.value=='ms-entity-resolved') 6129 { 6130 var oDivEntityData=child.children('divEntityData'); 6131 if (oDivEntityData !=null && oDivEntityData.getAttribute('key') !=null) 6132 { 6133 keys[i]=oDivEntityData.getAttribute('key'); 6134 i++; 6135 } 6136 } 6137 } 6138 } 6139 return keys.sort(); 6140} 6141function EntityEditor_SelectSingleNode(xmlNode, tagName) 6142{ 6143 if(document.implementation && document.implementation.createDocument) 6144 { 6145 var elems=xmlNode.getElementsByTagName(tagName); 6146 if(elems.length > 0) 6147 return elems[0]; 6148 return null; 6149 } 6150 else 6151 { 6152 return xmlNode.selectSingleNode(tagName); 6153 } 6154} 6155function PickerDialogCallbackContext() 6156{ 6157 this.queryTextBoxElementId=null; 6158 this.resultTableId=null; 6159 this.errorElementId=null; 6160 this.htmlMessageElementId=null; 6161 this.queryButtonElementId=null; 6162} 6163function PickerDialogSetFocusDelay(elemId, delayTime) 6164{ 6165 setTimeout("if (document.getElementById('"+elemId+"') !=null) { try {document.getElementById('"+elemId+"').focus(); } catch(e) {} }", delayTime); 6166} 6167function PickerDialogHandleQueryResult(results, ctx) 6168{ 6169 var result=ParseMultiColumnValue(results); 6170 var itemCount=parseInt(result[0]); 6171 var error=document.getElementById(ctx.errorElementId); 6172 error.innerHTML=STSHtmlEncode(result[1]); 6173 var htmlMessage=document.getElementById(ctx.htmlMessageElementId); 6174 htmlMessage.innerHTML=result[2]; 6175 var queryButton=document.getElementById(ctx.queryButtonElementId); 6176 if (queryButton !=null) 6177 SetControlDisabledStatus(queryButton, false); 6178 var resultControl=document.getElementById(ctx.resultTableId); 6179 var parent; 6180 if(nav4) 6181 parent=resultControl.parentNode; 6182 else 6183 parent=resultControl.parentElement; 6184 parent.innerHTML=result[3]; 6185 if (itemCount > 0) 6186 { 6187 PickerDialogSetFocusDelay(ctx.resultTableId+"_row0_Link", 200); 6188 } 6189 else 6190 { 6191 PickerDialogSetFocusDelay(ctx.queryTextBoxElementId, 200); 6192 } 6193} 6194function PickerDialogHandleQueryError(exception, ctx) 6195{ 6196 var error=document.getElementById(ctx.errorElementId); 6197 error.innerHTML=STSHtmlEncode(exception); 6198 var htmlMessage=document.getElementById(ctx.htmlMessageElementId); 6199 htmlMessage.innerHTML=""; 6200 var queryButton=document.getElementById(ctx.queryButtonElementId); 6201 if (queryButton !=null) 6202 SetControlDisabledStatus(queryButton, false); 6203 var resultControl=document.getElementById(ctx.resultTableId); 6204 var parent; 6205 if(nav4) 6206 parent=resultControl.parentNode; 6207 else 6208 parent=resultControl.parentElement; 6209 parent.innerHTML= "<table id='"+ctx.resultTableId+"' width='100%' height='100%'> "+ " <tr> "+ " <td> "+ " </td> "+ " </tr> "+ "</table>"; 6210 var queryTextBox=document.getElementById(ctx.queryTextBoxElementId); 6211 try 6212 { 6213 queryTextBox.focus(); 6214 } 6215 catch(e) 6216 { 6217 } 6218} 6219function PickerDialogShowWait(ctx) 6220{ 6221 var obj=document.getElementById(ctx.errorElementId); 6222 if (obj !=null) 6223 obj.innerHTML=""; 6224 obj=document.getElementById(ctx.htmlMessageElementId); 6225 if (obj !=null) 6226 obj.innerHTML=""; 6227 obj=document.getElementById(ctx.queryButtonElementId); 6228 if (obj !=null) 6229 SetControlDisabledStatus(obj, true); 6230 var resultControl=document.getElementById(ctx.resultTableId); 6231 if (resultControl !=null) 6232 { 6233 var parent; 6234 if(nav4) 6235 parent=resultControl.parentNode; 6236 else 6237 parent=resultControl.parentElement; 6238 var L_GearToolTip_TEXT="Query in progress. Please wait..."; 6239 var L_PleaseWait_TEXT="Please wait while your query is processed."; 6240 parent.innerHTML= "<table id='"+ctx.resultTableId+"' class='ms-pickerwait'>"+ " <tr> "+ " <td width='100%' height='100%' align='center' valign='middle'> "+ " <table width='100%'> "+ " <tr> "+ " <td align='center' valign='middle'> "+ " <img alt='"+L_GearToolTip_TEXT+"' src='/_layouts/images/gears_an.gif' >"+ " </td> "+ " </tr> "+ " <tr> "+ " <td align='center'> </td> "+ " </tr> "+ " <tr class='ms-pickerwaittexttr'> "+ " <td align='center' class='ms-descriptiontext'> "+ " "+L_PleaseWait_TEXT+ " </td> "+ " </tr> "+ " </table> "+ " </td> "+ " </tr> "+ "</table>"; 6241 } 6242} 6243function PickerResultsMultiSelectOnDblClick(row) 6244{ 6245 var resultTable=document.getElementById(g_EntityEditorResultTableId); 6246 var xml=row.getAttribute('entityXml'); 6247 var ctx=resultTable.getAttribute(g_EntityEditorResultTableAttrEditorId); 6248 EntityEditorCallback(xml,ctx); 6249} 6250function PickerResultsSingleSelectOnClick(row) 6251{ 6252 var resultTable=document.getElementById(g_EntityEditorResultTableId); 6253 var xml=row.getAttribute('entityXml'); 6254 var ctx=resultTable.getAttribute(g_EntityEditorResultTableAttrEditorId); 6255 EntityEditorCallback(xml,ctx); 6256} 6257function PickerResultsSingleSelectOnDblClick(row) 6258{ 6259 var resultTable=document.getElementById(g_EntityEditorResultTableId); 6260 var xml=row.getAttribute('entityXml'); 6261 var ctx=resultTable.getAttribute(g_EntityEditorResultTableAttrEditorId); 6262 EntityEditorCallback(xml,ctx); 6263 if (self.doClickOK !=null && typeof(self.doClickOK)=="function") 6264 doClickOK();
6265} 6266function PickerResultsMultiSelectOnNameClick(link, evt) 6267{ 6268 var row=link; 6269 while (row.tagName !="TR") 6270 { 6271 row=row.parentNode; 6272 } 6273 PickerResultsMultiSelectOnDblClick(row); 6274 return true; 6275} 6276function PickerResultsSingleSelectOnNameClick(link, evt) 6277{ 6278 var row=link; 6279 while (row.tagName !="TR") 6280 { 6281 row=row.parentNode; 6282 } 6283 PickerResultsSingleSelectOnDblClick(row); 6284 return true; 6285} 6286function PickerResultsNameOnFocus(link) 6287{ 6288 var row=link; 6289 while (row.tagName !="TR") 6290 { 6291 row=row.parentNode; 6292 } 6293 addSelection(row, true, false); 6294 lastSelected=row; 6295} 6296function PickerResultsNameOnKeyDown(link, evt) 6297{ 6298 if (evt !=null && evt.keyCode==13) 6299 { 6300 return false; 6301 } 6302 return true; 6303} 6304function MSOWebPartPage_GetLocalizedStrings() 6305{ 6306 var L_ResetPagePersonalizationDialog_TXT="You are about to reset all personalized Web Parts to their shared values and delete any private Web Parts. Click OK to complete this operation. Click Cancel to keep your personalized Web Part settings and private Web Parts."; 6307 var L_ResetPartPersonalizationDialog_TXT="Resetting this Web Part will cause you to lose any changes you made. Are you sure you want to do this? To reset this Web Part, click OK. To keep your changes, click Cancel."; 6308 var L_RemoveConnection_TXT="Are you sure you want to remove the connection between the %0 Web Part and the %1 Web Part? To remove the connection, click OK. To keep the connection, click Cancel."; 6309 var L_ExportPersonalization_TXT="This Web Part Page has been personalized. As a result, one or more Web Part properties may contain confidential information. Make sure the properties contain information that is safe for others to read. After exporting this Web Part, view properties in the Web Part description file (.webpart or .dwp) by using a text editor, such as Microsoft Notepad."; 6310 var L_GetPropertiesFailure_ERR="Cannot retrieve properties at this time."; 6311 var L_SaveDirtyParts_TXT="Changes have been made to the contents of one or more Web Parts on this page. To save the changes, press OK. To discard the changes, press Cancel."; 6312 var L_ToolPaneWidenToolTip_TXT="Widen"; 6313 var L_ToolPaneShrinkToolTip_TXT="Narrow"; 6314 var L_ToolPartExpandToolTip_TXT="Expand Toolpart: %0"; 6315 var L_ToolPartCollapseToolTip_TXT="Collapse Toolpart: %0"; 6316 var L_WebPartBackgroundColor_TXT="Web Part Background Color"; 6317 var L_TransparentTooltip_TXT="Transparent Web Part Background Color"; 6318 var L_InvalidURLPath_ERR="The URL is not valid for the %0 property. Check the URL spelling and path and try again."; 6319 var L_InvalidFolderPath_ERR="The path to the folder is not valid for the %0 property. Check the path name and try again."; 6320 var L_InvalidFilePath_ERR="The path to the file or folder is not valid. Check the path and try again."; 6321 var L_FileOrFolderUnsupported_ERR="The current browser does not support links to files or folders. To specify a link to a file or folder, you must use Microsoft Internet Explorer 5.0 or later"; 6322 var L_Link_TXT="Link"; 6323 var L_TransparentLiteral_TXT="Transparent"; 6324 var L_ContentEditorSaveFailed_ERR="Cannot save your changes."; 6325 var L_AccessDenied_ERR="Access Denied saving Web Part properties: either the Web Part is embedded directly in the page, or you do not have sufficient permissions to save properties."; 6326 var L_NoInitArgs_ERR="Cannot create or modify the connection. One of the Web Parts does not have any data fields."; 6327 var s=new Object(); 6328 s.ResetPagePersonalizationDialogText=L_ResetPagePersonalizationDialog_TXT; 6329 s.ResetPartPersonalizationDialogText=L_ResetPartPersonalizationDialog_TXT; 6330 s.RemoveConnection=L_RemoveConnection_TXT; 6331 s.ExportPersonalizationDialogText=L_ExportPersonalization_TXT; 6332 s.GetPropertiesFailure=L_GetPropertiesFailure_ERR; 6333 s.SaveDirtyPartsDialogText=L_SaveDirtyParts_TXT;
6334 s.ToolPaneWidenToolTip=L_ToolPaneWidenToolTip_TXT 6335 s.ToolPaneShrinkToolTip=L_ToolPaneShrinkToolTip_TXT; 6336 s.ToolPartExpandToolTip=L_ToolPartExpandToolTip_TXT; 6337 s.ToolPartCollapseToolTip=L_ToolPartCollapseToolTip_TXT; 6338 s.WebPartBackgroundColor=L_WebPartBackgroundColor_TXT; 6339 s.TransparentTooltip=L_TransparentTooltip_TXT; 6340 s.InvalidURLPath=L_InvalidURLPath_ERR; 6341 s.InvalidFolderPath=L_InvalidFolderPath_ERR; 6342 s.InvalidFilePath=L_InvalidFilePath_ERR; 6343 s.FileOrFolderUnsupported=L_FileOrFolderUnsupported_ERR; 6344 s.Link=L_Link_TXT; 6345 s.TransparentLiteral=L_TransparentLiteral_TXT; 6346 s.ContentEditorSaveFailed=L_ContentEditorSaveFailed_ERR; 6347 s.AccessDenied=L_AccessDenied_ERR; 6348 s.NoInitArgs=L_NoInitArgs_ERR; 6349 return s; 6350} 6351var MSOStrings=MSOWebPartPage_GetLocalizedStrings(); 6352var L_AccessibleMenu_Text="Menu"; 6353function FNEmpWz(wz) 6354{ 6355 return (wz&&wz!=""); 6356} 6357function AChld(p,c) 6358{ 6359 if(p&&c)p.appendChild(c); 6360} 6361function AImg(mi,wzISrc,wzIAlt) 6362{ 6363 if(!mi)return; 6364 if(FNEmpWz(wzISrc))mi.setAttribute("iconSrc",wzISrc); 6365 if(FNEmpWz(wzIAlt)) 6366 mi.setAttribute("iconAltText",wzIAlt); 6367 else 6368 mi.setAttribute("iconAltText",""); 6369} 6370function CMenu(wzID) 6371{ 6372 var m=document.getElementById(wzID); 6373 if (m) 6374 { 6375 m._initialized=false; 6376 m._oContents=null; 6377 m.innerHTML=""; 6378 return m; 6379 } 6380 m=document.createElement("MENU"); 6381 if(!m)return null; 6382 if(wzID)m.id=wzID; 6383 m.className="ms-SrvMenuUI"; 6384 AChld(document.body,m); 6385 return m; 6386} 6387function CMItm(wzType) 6388{ 6389 var mi=document.createElement("SPAN"); 6390 if(!mi)return null; 6391 mi.setAttribute("type",wzType); 6392 return mi; 6393} 6394function SetInnerText(oNode, wzText) 6395{ 6396 if (document.createTextNode !=null) 6397 { 6398 var parsedText=document.createTextNode(wzText); 6399 oNode.innerHTML=""; 6400 oNode.appendChild( parsedText ); 6401 } 6402 else 6403 { 6404 oNode.innerText=wzText; 6405 } 6406} 6407function CMOpt(wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc) 6408{ 6409 var mo=CMItm("option"); 6410 if(!mo)return null; 6411 mo.setAttribute("text", wzText); 6412 mo.setAttribute("onMenuClick", wzAct); 6413 if (wzDesc)mo.setAttribute("description", wzDesc); 6414 AImg(mo,wzISrc,wzIAlt); 6415 if(FNEmpWz(wzISeq))mo.setAttribute("sequence",wzISeq); 6416 return mo; 6417} 6418function CAMOpt(p,wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc) 6419{ 6420 var mo=CMOpt(wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc); 6421 if(!mo)return null; 6422 AChld(p,mo); 6423 return mo; 6424} 6425function CIMOpt(p,wzText,wzAct,wzISrc,wzIAlt,wzISeq) 6426{ 6427 var mo=CMOpt(wzText,wzAct,wzISrc,wzIAlt,wzISeq); 6428 if(!mo)return null; 6429 for (var i=0;i<p.childNodes.length;i++) 6430 { 6431 var iSeq=p.childNodes[i].getAttribute("sequence"); 6432 if (iSeq) 6433 { 6434 if (iSeq > wzISeq) 6435 { 6436 p.childNodes[i].parentNode.insertBefore(mo, p.childNodes[i]); 6437 return mo; 6438 } 6439 } 6440 } 6441 AChld(p,mo); 6442 return mo; 6443} 6444function CMSep() 6445{ 6446 var sep=CMItm("separator"); 6447 SetInnerText(sep, ""); 6448 return sep; 6449} 6450function CAMSep(p) 6451{ 6452 var ms=CMSep(); 6453 if(!ms)return null; 6454 AChld(p,ms); 6455 return ms; 6456} 6457function CSubM(wzText,wzISrc,wzIAlt,wzISeq,wzDesc) 6458{ 6459 var sm=CMItm("submenu"); 6460 if(!sm)return null; 6461 sm.setAttribute("text", wzText); 6462 if (wzDesc)sm.setAttribute("description", wzDesc); 6463 AImg(sm,wzISrc,wzIAlt); 6464 if(FNEmpWz(wzISeq))sm.setAttribute("sequence",wzISeq); 6465 return sm; 6466} 6467function CASubM(p,wzText,wzISrc,wzIAlt,wzISeq,wzDesc) 6468{ 6469 var sm=CSubM(wzText,wzISrc,wzIAlt,wzISeq,wzDesc); 6470 if(!sm)return null; 6471 AChld(p,sm); 6472 return sm; 6473} 6474function FRdy(o) 6475{ 6476 if (!o) return false; 6477 if (o.readyState==null) 6478 return true; 6479 switch (o.readyState) 6480 { 6481 case "loaded": case "interactive": case "complete": return true; 6482 default: return false; 6483 } 6484} 6485function OMenu(m,r,fr,ft,yoff) 6486{ 6487 if(typeof(m)=="string")m=document.getElementById(m); 6488 if(m) 6489 { 6490 OMenuInt(m,r,fr,ft,yoff); 6491 } 6492 return false; 6493} 6494function OMenuInt(m,r,fr,ft,yoff) 6495{ 6496 if(m&&!MenuHtc_isOpen(m)) MenuHtc_show(m,r,fr,ft,yoff); 6497} 6498function OMenuEvnt() 6499{ 6500 var m=event.srcElement; 6501 if(m&&FRdy(document)&&FRdy(m)) 6502 { 6503 var r=m.getAttribute("relativeTo"); 6504 var fr=m.getAttribute("forceRefresh"); 6505 var ft=m.getAttribute("flipTop"); 6506 var yoff=m.getAttribute("yOffsetTop"); 6507 if(r!=null)m.removeAttribute("relativeTo"); 6508 if(fr!=null)m.removeAttribute("forceRefresh"); 6509 if(ft!=null)m.removeAttribute("flipTop"); 6510 if(yoff!=null)m.removeAttribute("yOffsetTop"); 6511 m.onreadystatechange=null; 6512 OMenuInt(m,r,fr,ft,yoff); 6513 } 6514}
6515var kfnDisableEvent=new Function("return false"); 6516var g_menuHtc_lastMenu=null; 6517var g_uniqueNumber=0; 6518function IsAccessibilityFeatureEnabledProxy() 6519{ 6520 if (typeof(IsAccessibilityFeatureEnabled) !="undefined") 6521 return IsAccessibilityFeatureEnabled(); 6522 return false; 6523} 6524function MenuHtc_show(oMaster, oParent, fForceRefresh, fFlipTop, yOffset) 6525{ 6526 if (!(browseris.ie55up || browseris.nav6up || browseris.safari125up)) 6527 return false; 6528 MenuHtc_hide(); 6529 MenuHtc_init(oMaster); 6530 oMaster._oParent=oParent; 6531 oMaster._fIsRtL=IsElementRtl(oMaster._oParent); 6532 if ((browseris.ie || browseris.nav) && IsAccessibilityFeatureEnabledProxy()) 6533 { 6534 var menu=null; 6535 if(oParent.foa !=null) 6536 { 6537 menu=byid(oParent.foa); 6538 if(menu==null) 6539 { 6540 menu=eval(oParent.foa); 6541 } 6542 } 6543 if (menu !=null && menu.onblur !=null) 6544 { 6545 menu.onblur(); 6546 } 6547 RenderAccessibleMenu(oMaster, fForceRefresh); 6548 g_menuHtc_lastMenu=oMaster; 6549 } 6550 else 6551 { 6552 SetBodyEventHandlers(null); 6553 AssureId(oParent); 6554 var result=ShowRoot(oMaster, oParent, fForceRefresh, fFlipTop, yOffset); 6555 g_menuHtc_lastMenu=oMaster; 6556 NavigateToMenu(oMaster); 6557 SetBodyEventHandlers(HandleDocumentBodyClick); 6558 } 6559 if (browseris.ie) 6560 { 6561 if (window.event !=null) 6562 window.event.cancelBubble=true; 6563 } 6564 return false; 6565} 6566function MenuHtc_hide() 6567{ 6568 ClearTimeOutToHideMenu(); 6569 var oMaster=g_menuHtc_lastMenu; 6570 if (oMaster !=null) 6571 { 6572 if (oMaster._accessibleMenu !=null) 6573 { 6574 CloseAccessibleMenu(oMaster); 6575 } 6576 else 6577 { 6578 HideMenu(oMaster); 6579 } 6580 } 6581 g_menuHtc_lastMenu=null; 6582} 6583function MenuHtc_isOpen(oMaster) 6584{ 6585 if (!oMaster || !oMaster._initialized) 6586 return false; 6587 var result=IsOpen(oMaster); 6588 return result; 6589} 6590function MenuHtc_item(oMaster, nLevel, nIndex) 6591{ 6592 MenuHtc_init(oMaster);
6593 var result=GetItem(oMaster, nLevel, nIndex); 6594 return result; 6595} 6596function TrapMenuClick(e) 6597{ 6598 if (e !=null) 6599 e.cancelBubble=true; 6600 return false; 6601} 6602function SetBodyEventHandlers(h) 6603{ 6604 document.body.onclick=h; 6605} 6606function HandleDocumentBodyClick(e) 6607{ 6608 if (g_menuHtc_lastMenu !=null) 6609 { 6610 var oMaster=g_menuHtc_lastMenu; 6611 if (oMaster !=null) 6612 { 6613 HideMenu(oMaster); 6614 } 6615 } 6616 return false; 6617} 6618function GetEventPopup(e) 6619{ 6620 var obj=GetEventSrcElement(e); 6621 while (obj !=null) 6622 { 6623 if (obj.master !=null) 6624 return obj; 6625 obj=obj.parentNode; 6626 } 6627 return null; 6628} 6629function GetUniqueNumber() 6630{ 6631 g_uniqueNumber++; 6632 return g_uniqueNumber; 6633} 6634function MenuHtc_init(oMaster) 6635{ 6636 if (oMaster._initialized) 6637 return; 6638 oMaster._initialized=true; 6639 oMaster._wzPrefixID="mp"+GetUniqueNumber(); 6640 if (oMaster.id==null) 6641 oMaster.id=oMaster._wzPrefixID+"_id"; 6642 oMaster._nLevel=0; 6643 oMaster._arrPopup=new Array(); 6644 oMaster._arrSelected=new Array(); 6645 if (typeof(oMaster._onDestroy)=="undefined") 6646 oMaster._onDestroy=null; 6647 oMaster._fLargeIconMode=false; 6648 oMaster._fCompactItemsWithoutIcons=false; 6649} 6650function PrepContents(oMaster) 6651{ 6652 oMaster._fLargeIconMode=(oMaster.getAttribute("largeIconMode")=="true"); 6653 oMaster._fCompactItemsWithoutIcons=(oMaster.getAttribute("CompactMode")=="true"); 6654 if (!browseris.safari) 6655 { 6656 oMaster._oContents=document.createElement("span"); 6657 oMaster._oContents.style.display="none"; 6658 oMaster._oContents.innerHTML=oMaster.innerHTML; 6659 } 6660 else 6661 { 6662 oMaster._oContents=oMaster.cloneNode(true); 6663 oMaster._oContents.style.display="none"; 6664 } 6665 if (oMaster._fLargeIconMode) 6666 { 6667 if (oMaster._fIsRtL) 6668 oMaster._wzMenuStyle="ms-MenuUILargeRtL"; 6669 else 6670 oMaster._wzMenuStyle="ms-MenuUILarge"; 6671 } 6672 else 6673 { 6674 if (oMaster._fIsRtL) 6675 oMaster._wzMenuStyle="ms-MenuUIRtL"; 6676 else 6677 oMaster._wzMenuStyle="ms-MenuUI"; 6678 } 6679 oMaster._wzChkMrkPath="/_layouts/images/ChkMrk.gif"; 6680 oMaster._wzMArrPath="/_layouts/images/MArr.gif"; 6681 oMaster._wzMArrPathRtL="/_layouts/images/MArrRtL.gif"; 6682} 6683function FixUpMenuStructure(oMaster) 6684{
6685 var menuNodes=oMaster._oRoot.childNodes; 6686 var lastGroupId=null; 6687 var lastMenuSeparatorRow=null; 6688 for (var nIndex=0; nIndex < menuNodes.length; nIndex++) 6689 { 6690 var menuRow=menuNodes[nIndex]; 6691 if (menuRow.nodeType !=1) 6692 continue; 6693 var deleteRow=false; 6694 var displayNone=menuRow.style !=null && menuRow.style.display=='none'; 6695 var jsHidden=FIsIHidden(menuRow); 6696 if (displayNone || jsHidden) 6697 { 6698 deleteRow=true; 6699 } 6700 else if (FIsIType(menuRow, "separator")) 6701 { 6702 if (lastMenuSeparatorRow !=null || nIndex==0) 6703 deleteRow=true; 6704 else 6705 lastMenuSeparatorRow=menuRow; 6706 } 6707 else 6708 { 6709 var cGroupId=menuRow.getAttribute("menuGroupId"); 6710 if (cGroupId !=lastGroupId && 6711 lastMenuSeparatorRow==null && 6712 nIndex !=0) 6713 { 6714 var lastMenuSeparatorRow=document.createElement("ie:menuitem"); 6715 lastMenuSeparatorRow.setAttribute("type","separator"); 6716 oMaster._oRoot.insertBefore(lastMenuSeparatorRow,menuRow); 6717 } 6718 else if (FIsIType(menuRow, "submenu") && lastMenuSeparatorRow !=null) 6719 { 6720 menuRow.parentNode.removeChild(lastMenuSeparatorRow); 6721 lastMenuSeparatorRow=null; 6722 } 6723 else 6724 { 6725 lastMenuSeparatorRow=null; 6726 } 6727 lastGroupId=cGroupId; 6728 } 6729 if (deleteRow) 6730 { 6731 menuRow.parentNode.removeChild(menuRow); 6732 nIndex--; 6733 } 6734 } 6735 if(lastMenuSeparatorRow !=null) 6736 lastMenuSeparatorRow.parentNode.removeChild(lastMenuSeparatorRow); 6737} 6738function IsElementRtl(oCurrent) 6739{ 6740 while (oCurrent !=null && oCurrent.tagName !=null) 6741 { 6742 var dir=oCurrent.getAttribute("dir"); 6743 if ((dir==null || dir=="") && oCurrent.style !=null) 6744 { 6745 dir=oCurrent.style.direction; 6746 } 6747 if (dir=="rtl") 6748 return true; 6749 else if (dir=="ltr") 6750 return false; 6751 oCurrent=oCurrent.parentNode; 6752 } 6753 return false; 6754} 6755function AdjustScrollPosition(element, relativeToElement, result) 6756{ 6757 var oCurrent=element; 6758 while (oCurrent !=null && 6759 oCurrent !=relativeToElement && 6760 oCurrent !=element.offsetParent && 6761 oCurrent.tagName !=null && 6762 oCurrent.tagName.toLowerCase() !="body" && 6763 oCurrent.tagName.toLowerCase() !="html") 6764 { 6765 if (oCurrent.scrollWidth > oCurrent.clientWidth && 6766 oCurrent.offsetWidth >=oCurrent.clientWidth && 6767 oCurrent.clientWidth !=0) 6768 { 6769 if (!IsElementRtl(oCurrent)) 6770 { 6771 if (oCurrent.scrollLeft > 0) 6772 result.x -=oCurrent.scrollLeft; 6773 } 6774 else 6775 { 6776 result.x+=(oCurrent.scrollWidth - oCurrent.offsetWidth - oCurrent.scrollLeft); 6777 } 6778 } 6779 if (oCurrent.scrollTop > 0) 6780 result.y -=oCurrent.scrollTop; 6781 oCurrent=oCurrent.parentNode; 6782 } 6783} 6784function MenuHtc_GetElementPosition(element, relativeToElement) 6785{ 6786 var result=new Object(); 6787 result.x=0; 6788 result.y=0; 6789 result.width=0; 6790 result.height=0; 6791 if (element.offsetParent) { 6792 var parent=element; 6793 while (parent !=null && 6794 parent !=relativeToElement) 6795 { 6796 result.x+=parent.offsetLeft; 6797 result.y+=parent.offsetTop; 6798 AdjustScrollPosition(parent, relativeToElement, result); 6799 var parentTagName=parent.tagName.toLowerCase(); 6800 if (parentTagName !="table" && 6801 parentTagName !="body" && 6802 parentTagName !="html" && 6803 parentTagName !="div" && 6804 parent.clientTop && 6805 parent.clientLeft) { 6806 result.x+=parent.clientLeft; 6807 result.y+=parent.clientTop; 6808 } 6809 if (browseris.ie && parentTagName=="td") 6810 { 6811 if (parent.runtimeStyle.borderTopStyle !="none" || 6812 parent.currentStyle.borderTopStyle !="none") 6813 { 6814 var shift; 6815 if (parent.runtimeStyle.borderTopWidth !="") 6816 { 6817 shift=parseInt(parent.runtimeStyle.borderTopWidth); 6818 } 6819 else 6820 { 6821 shift=parseInt(parent.currentStyle.borderTopWidth); 6822 } 6823 if (!isNaN(shift)) 6824 { 6825 result.y+=shift; 6826 } 6827 } 6828 if (parent.runtimeStyle.borderLeftStyle !="none" || 6829 parent.currentStyle.borderLeftStyle !="none") 6830 { 6831 var shift; 6832 if (parent.runtimeStyle.borderLeftWidth !="") 6833 { 6834 shift=parseInt(parent.runtimeStyle.borderLeftWidth); 6835 } 6836 else 6837 { 6838 shift=parseInt(parent.currentStyle.borderLeftWidth);
6839 } 6840 if (!isNaN(shift)) 6841 { 6842 result.x+=shift; 6843 } 6844 } 6845 } 6846 parent=parent.offsetParent; 6847 } 6848 } 6849 else if (element.left && element.top) { 6850 result.x=element.left; 6851 result.y=element.top; 6852 } 6853 else { 6854 if (element.x) { 6855 result.x=element.x; 6856 } 6857 if (element.y) { 6858 result.y=element.y; 6859 } 6860 } 6861 if (element.offsetWidth && element.offsetHeight) { 6862 result.width=element.offsetWidth; 6863 result.height=element.offsetHeight; 6864 } 6865 else if (element.style && element.style.pixelWidth && element.style.pixelHeight) { 6866 result.width=element.style.pixelWidth; 6867 result.height=element.style.pixelHeight; 6868 } 6869 return result; 6870} 6871function MenuHtcInternal_Show(oMaster, oParent, y, fFlipTop) 6872{ 6873 var oPopup=oMaster._arrPopup[oMaster._nLevel]; 6874 var nIndex; 6875 var fTopLevel; 6876 var oInnerDiv; 6877 if (!oMaster._oContents) PrepContents(oMaster); 6878 if (!oMaster._oContents || IsOpen(oMaster)) return; 6879 if (!oPopup && !oMaster._oRoot) 6880 { 6881 oMaster._nLevel=0; 6882 oMaster._oRoot=oMaster._oContents; 6883 } 6884 fTopLevel=oMaster._nLevel==0; 6885 fFlipTop=fFlipTop && fTopLevel; 6886 if (!oPopup) 6887 { 6888 oMaster._arrPopup[oMaster._nLevel]=document.createElement("DIV"); 6889 oPopup=oMaster._arrPopup[oMaster._nLevel]; 6890 oPopup.isMenu=true; 6891 oPopup.master=oMaster; 6892 oPopup.level=oMaster._nLevel; 6893 oInnerDiv=document.createElement("DIV"); 6894 var oTable=document.createElement("table"); 6895 var oTBody=document.createElement("tbody"); 6896 oInnerDiv.isInner=true; 6897 oPopup.style.position="absolute"; 6898 oInnerDiv.style.overflow="visible"; 6899 oTable.appendChild(oTBody); 6900 oInnerDiv.appendChild(oTable); 6901 oPopup.appendChild(oInnerDiv); 6902 if (oMaster._fIsRtL) 6903 oPopup.setAttribute("dir", "rtl"); 6904 else 6905 oPopup.setAttribute("dir", "ltr"); 6906 document.body.appendChild(oPopup); 6907 FixUpMenuStructure(oMaster); 6908 var id=0; 6909 var childNodeLength=oMaster._oRoot.childNodes.length; 6910 for (nIndex=0; nIndex < childNodeLength; nIndex++) 6911 { 6912 var oNode=oMaster._oRoot.childNodes[nIndex]; 6913 if (oNode.nodeType !=1) 6914 continue; 6915 if (!FIsIType(oNode, "label")) 6916 { 6917 var oItem=CreateMenuItem(oMaster, oNode, MakeID(oMaster, oMaster._nLevel, id)); 6918 if (oItem) oTBody.appendChild(oItem); 6919 id++; 6920 } 6921 } 6922 oPopup.className="ms-MenuUIPopupBody"; 6923 oTable.className=oMaster._wzMenuStyle; 6924 oTable.cellSpacing=0; 6925 oTable.cellPadding=0; 6926 oPopup.oncontextmenu=kfnDisableEvent; 6927 oPopup.ondragstart=kfnDisableEvent; 6928 oPopup.onselectstart=kfnDisableEvent; 6929 if (oParent._onmouseover==null) 6930 oParent._onmouseover=oParent.onmouseover; 6931 if (oParent._onmouseout==null) 6932 oParent._onmouseout=oParent.onmouseout; 6933 if (oParent._onmousedown==null) 6934 oParent._onmousedown=oParent.onmousedown; 6935 if (oParent._onclick==null) 6936 oParent._onclick=oParent.onclick; 6937 if (browseris.nav) 6938 { 6939 oPopup.onkeypress=function(e) {return false; }; 6940 oPopup.onkeyup=function(e) {return false; }; 6941 oPopup.onkeydown=function(e) {PopupKeyDown(e); return false; }; 6942 oPopup.onmousedown=function(e) {TrapMenuClick(e); return false; }; 6943 oPopup.onmouseover=function(e) {PopupMouseOver(e); return false; }; 6944 oPopup.onmouseout=function(e) {PopupMouseLeave(e); return false; }; 6945 oPopup.onclick=function(e) {PopupMouseClick(e); TrapMenuClick(e); return false; }; 6946 oParent.onmouseover=function (e) {PopupMouseOverParent(e); return false; }; 6947 oParent.onmouseout=function(e) {PopupMouseLeaveParent(e); return false; }; 6948 oParent.onmousedown=function(e) {TrapMenuClick(e); return false; }; 6949 oParent.onclick=function(e) {TrapMenuClick(e); return false; }; 6950 oParent.oncontextmenu=function(e) {TrapMenuClick(e); return false; }; 6951 } 6952 else 6953 { 6954 oPopup.onkeydown=new Function("PopupKeyDown(event); return false;"); 6955 oPopup.onmousedown=new Function("TrapMenuClick(event); return false;"); 6956 oPopup.onmouseover=new Function("PopupMouseOver(event); return false;"); 6957 oPopup.onmouseout=new Function("PopupMouseLeave(event); return false;"); 6958 oPopup.onclick=new Function("PopupMouseClick(event); TrapMenuClick(event); return false;"); 6959 oParent.onmouseover=new Function("PopupMouseOverParent(event); return false;"); 6960 oParent.onmouseout=new Function("PopupMouseLeaveParent(event); return false;"); 6961 oParent.onmousedown=new Function("TrapMenuClick(event); return false;"); 6962 oParent.onclick=new Function("TrapMenuClick(event); return false;"); 6963 oParent.oncontextmenu=new Function("TrapMenuClick(event); return false;"); 6964 } 6965 if (fTopLevel) 6966 { 6967 var wzOnUnload=oMaster.getAttribute("onunloadtext"); 6968 if (wzOnUnload) oPopup.onunload=new Function(wzOnUnload); 6969 } 6970 } 6971 else 6972 { 6973 var oOld=oMaster._arrSelected[oMaster._nLevel]; 6974 if (oOld) UnselectItem(oOld); 6975 } 6976 oMaster._arrSelected[oMaster._nLevel]=null; 6977 var oBackFrame; 6978 if (browseris.ie) 6979 { 6980 var originalScrollLeft=document.body.scrollLeft; 6981 oBackFrame=document.createElement("iframe"); 6982 AssureId(oBackFrame); 6983 oBackFrame.src="/_layouts/blank.htm"; 6984 oBackFrame.style.position="absolute"; 6985 oBackFrame.style.display="none"; 6986 oBackFrame.scrolling="no"; 6987 oBackFrame.frameBorder="0"; 6988 document.body.appendChild(oBackFrame); 6989 oPopup.style.zIndex=103; 6990 oPopup._backgroundFrameId=oBackFrame.id; 6991 if (originalScrollLeft !=document.body.scrollLeft) 6992 { 6993 document.body.scrollLeft=originalScrollLeft; 6994 } 6995 } 6996 SetMenuPosition(oMaster, oParent, oPopup, oInnerDiv, fFlipTop, fTopLevel); 6997 if (browseris.ie) 6998 { 6999 SetBackFrameSize(null, oPopup); 7000 oPopup.onresize=new Function("SetBackFrameSize(event, null);"); 7001 oBackFrame.style.display="block"; 7002 oBackFrame.style.zIndex=101; 7003 } 7004} 7005function SetMenuPosition(oMaster, oParent, oPopup, oInnerDiv, fFlipTop, fTopLevel) 7006{ 7007 var maxWidth=window.screen.width; 7008 var maxHeight=window.screen.height; 7009 if (browseris.nav) 7010 { 7011 maxWidth=document.body.clientWidth; 7012 maxHeight=document.body.clientHeight; 7013 }
7014 else if (self.innerHeight) 7015 { 7016 maxWidth=self.innerWidth; 7017 maxHeight=self.innerHeight; 7018 } 7019 else if (document.documentElement && document.documentElement.clientHeight) 7020 { 7021 maxWidth=document.documentElement.clientWidth; 7022 maxHeight=document.documentElement.clientHeight; 7023 } 7024 else if (document.body) 7025 { 7026 maxWidth=document.body.clientWidth; 7027 maxHeight=document.body.clientHeight; 7028 } 7029 var nRealWidth=oPopup.scrollWidth+oPopup.offsetWidth - oPopup.clientWidth; 7030 var nRealHeight=oPopup.scrollHeight+oPopup.offsetHeight - oPopup.clientHeight; 7031 var widthTooBig=false; 7032 var heightTooBig=false; 7033 if (nRealWidth > maxWidth - 50) 7034 { 7035 widthTooBig=true; 7036 nRealWidth=maxWidth - 50; 7037 } 7038 if (oMaster._fCompactItemsWithoutIcons && nRealHeight >=375) 7039 { 7040 heightTooBig=true; 7041 nRealHeight=375; 7042 } 7043 if (nRealHeight >=maxHeight - 50) 7044 { 7045 heightTooBig=true; 7046 nRealHeight=maxHeight - 50; 7047 } 7048 if (!widthTooBig && !heightTooBig) 7049 { 7050 oInnerDiv.style.overflow="visible"; 7051 } 7052 else 7053 { 7054 if (browseris.ie) 7055 { 7056 if (widthTooBig) 7057 { 7058 oPopup.style.width=nRealWidth+"px"; 7059 oInnerDiv.style.width=nRealWidth+"px"; 7060 oInnerDiv.style.overflowX="scroll"; 7061 } 7062 else 7063 { 7064 oInnerDiv.style.width=nRealWidth+"px"; 7065 oInnerDiv.style.overflowX="visible"; 7066 } 7067 if (heightTooBig) 7068 { 7069 oPopup.style.height=nRealHeight+"px"; 7070 oInnerDiv.style.height=nRealHeight+"px"; 7071 oInnerDiv.style.overflowY="scroll"; 7072 } 7073 else 7074 { 7075 oInnerDiv.style.height=nRealHeight+"px"; 7076 oInnerDiv.style.overflowY="visible"; 7077 } 7078 } 7079 else 7080 { 7081 oPopup.style.height=nRealHeight+"px"; 7082 oInnerDiv.style.height=nRealHeight+"px"; 7083 oPopup.style.width=nRealWidth+"px"; 7084 oInnerDiv.style.width=nRealWidth+"px"; 7085 oInnerDiv.style.overflow="auto"; 7086 } 7087 } 7088 nRealWidth=oPopup.scrollWidth+oPopup.offsetWidth - oPopup.clientWidth; 7089 nRealHeight=oPopup.scrollHeight+oPopup.offsetHeight - oPopup.clientHeight; 7090 var EdgeLeft=0; 7091 var EdgeRight=maxWidth; 7092 var ParentLeft=0; 7093 var EdgeTop=0; 7094 var ParentTop=0; 7095 var oCurrent=oParent; 7096 if (browseris.safari) 7097 { 7098 if (oCurrent.tagName=="TR" && oCurrent.childNodes.length > 0) 7099 oCurrent=oCurrent.childNodes[0]; 7100 } 7101 var p=MenuHtc_GetElementPosition(oCurrent); 7102 ParentLeft=p.x; 7103 ParentTop=p.y; 7104 var nParentWidth; 7105 if (fTopLevel) 7106 { 7107 nParentWidth=p.width; 7108 ParentTop+=p.height; 7109 ParentTop -=1; 7110 } 7111 else 7112 { 7113 nParentWidth=p.width+1; 7114 } 7115 var fTryGoDefault=!fFlipTop && !document.body.getAttribute("flipped"); 7116 var fFlippedDefault, fFlippedNonDefault; 7117 var xDefault, xFlipped; 7118 if (!oMaster._fIsRtL) 7119 { 7120 var MenuRightDefault; 7121 var MenuLeftFlipped; 7122 if (fTopLevel) 7123 { 7124 xDefault=ParentLeft; 7125 MenuRightDefault=ParentLeft+nRealWidth; 7126 MenuLeftFlipped=ParentLeft+nParentWidth - nRealWidth; 7127 } 7128 else 7129 { 7130 xDefault=ParentLeft+nParentWidth; 7131 MenuRightDefault=ParentLeft+nParentWidth+nRealWidth; 7132 MenuLeftFlipped=ParentLeft - nRealWidth; 7133 } 7134 xFlipped=MenuLeftFlipped; 7135 fFlippedDefault=MenuRightDefault > EdgeRight && MenuLeftFlipped > EdgeLeft; 7136 fFlippedNonDefault=!(MenuLeftFlipped < EdgeLeft && MenuRightDefault < EdgeRight); 7137 } 7138 else 7139 { 7140 var MenuLeftDefault; 7141 var MenuRightFlipped; 7142 if (fTopLevel) 7143 { 7144 MenuLeftDefault=ParentLeft+nParentWidth - nRealWidth; 7145 MenuRightFlipped=ParentLeft+nRealWidth; 7146 xFlipped=ParentLeft; 7147 } 7148 else 7149 { 7150 MenuLeftDefault=ParentLeft - nRealWidth; 7151 MenuRightFlipped=ParentLeft+nParentWidth+nRealWidth; 7152 xFlipped=ParentLeft+nParentWidth; 7153 } 7154 xDefault=MenuLeftDefault; 7155 fFlippedDefault=MenuLeftDefault < EdgeLeft && MenuRightFlipped < EdgeRight; 7156 fFlippedNonDefault=!(MenuRightFlipped > EdgeRight && MenuLeftDefault > EdgeLeft); 7157 } 7158 var fFlipped=fTryGoDefault ? fFlippedDefault : fFlippedNonDefault; 7159 var x=fFlipped ? xFlipped : xDefault; 7160 var xOffset; 7161 var yOffset; 7162 if (browseris.nav) 7163 { 7164 xOffset=window.pageXOffset; 7165 yOffset=window.pageYOffset; 7166 } 7167 else 7168 { 7169 var htmlElement=document.body.parentElement; 7170 if (!IsElementRtl(document.body)) 7171 { 7172 xOffset=document.body.scrollLeft; 7173 xOffset+=htmlElement.scrollLeft; 7174 } 7175 else 7176 { 7177 xOffset=-document.body.scrollWidth+document.body.offsetWidth+document.body.scrollLeft; 7178 xOffset+=-htmlElement.scrollWidth+htmlElement.offsetWidth+htmlElement.scrollLeft; 7179 } 7180 yOffset=document.body.scrollTop; 7181 yOffset+=htmlElement.scrollTop; 7182 } 7183 if (nRealWidth >=maxWidth) 7184 { 7185 x=xOffset; 7186 } 7187 else if (x - xOffset+nRealWidth >=maxWidth) 7188 { 7189 x=xOffset+maxWidth - nRealWidth; 7190 } 7191 var y; 7192 if (nRealHeight >=maxHeight) 7193 { 7194 y=yOffset; 7195 } 7196 else if (ParentTop+nRealHeight - yOffset >=maxHeight) 7197 { 7198 y=yOffset+maxHeight - nRealHeight; 7199 } 7200 else 7201 { 7202 y=ParentTop; 7203 } 7204 oPopup.setAttribute("flipped", fFlipTop ? fFlipped && fFlippedDefault : fFlipped);
7205 var posLeft=Math.max(x,xOffset); 7206 var posTop=Math.max(y,yOffset); 7207 oPopup.style.left=posLeft+"px"; 7208 oPopup.style.top=posTop+"px"; 7209} 7210function SetBackFrameSize(e, oPopup) 7211{ 7212 if (oPopup==null) 7213 oPopup=GetEventSrcElement(e); 7214 var nRealWidth=oPopup.scrollWidth+oPopup.offsetWidth - oPopup.clientWidth; 7215 var nRealHeight=oPopup.scrollHeight+oPopup.offsetHeight - oPopup.clientHeight; 7216 var oBackFrame=document.getElementById(oPopup._backgroundFrameId); 7217 oBackFrame.style.left=oPopup.offsetLeft+"px"; 7218 oBackFrame.style.top=oPopup.offsetTop+"px"; 7219 oBackFrame.style.width=nRealWidth+"px"; 7220 oBackFrame.style.height=nRealHeight+"px"; 7221} 7222function HideMenu(oMaster, nPhase) 7223{ 7224 ClearTimeOutToHideMenu(); 7225 if (nPhase==null) 7226 nPhase=0; 7227 if (nPhase==2) 7228 { 7229 if (oMaster._onDestroy !=null) 7230 { 7231 oMaster._onDestroy(); 7232 oMaster._onDestroy=null; 7233 } 7234 return; 7235 } 7236 if (IsOpen(oMaster) && !IsAccessibilityFeatureEnabledProxy()) 7237 { 7238 if (oMaster._oParent !=null) 7239 { 7240 oMaster._oParent.onclick=oMaster._oParent._onclick; 7241 oMaster._oParent.onmouseover=oMaster._oParent._onmouseover; 7242 oMaster._oParent.onmouseout=oMaster._oParent._onmouseout; 7243 oMaster._oParent.onmousedown=oMaster._oParent._onmousedown; 7244 } 7245 SetBodyEventHandlers(null); 7246 UpdateLevel(oMaster, 0); 7247 var oPopup=oMaster._arrPopup[0]; 7248 if (oPopup !=null) 7249 { 7250 var oBackFrame=document.getElementById(oPopup._backgroundFrameId); 7251 if (oBackFrame !=null) 7252 oBackFrame.parentNode.removeChild(oBackFrame); 7253 oPopup.parentNode.removeChild(oPopup); 7254 oMaster._arrPopup[0]=null; 7255 if (nPhase==0) 7256 { 7257 if (oMaster._onDestroy !=null) 7258 { 7259 oMaster._onDestroy(); 7260 oMaster._onDestroy=null; 7261 } 7262 } 7263 } 7264 g_menuHtc_lastMenu=null; 7265 } 7266} 7267function IsOpen(oMaster) 7268{ 7269 if (oMaster._accessibleMenu && !oMaster._accessibleMenu.closed) 7270 return true; 7271 if (!oMaster._arrPopup) 7272 return false; 7273 var oPopup=oMaster._arrPopup[oMaster._nLevel]; 7274 return oPopup; 7275} 7276function FindLabel(oParent) 7277{ 7278 var arrNodes=oParent ? oParent.childNodes : null; 7279 if (arrNodes) 7280 { 7281 for (var nIndex=0; nIndex < arrNodes.length; nIndex++) 7282 { 7283 var oNode=arrNodes[nIndex]; 7284 if (oNode.nodeType !=1) 7285 continue; 7286 if (FIsIType(oNode, "label")) return oNode; 7287 } 7288 } 7289 return null; 7290} 7291function ShowRoot(oMaster, oParent, fForceRefresh, fFlipTop, yOffset) 7292{ 7293 UpdateLevel(oMaster, 0); 7294 if (fForceRefresh) 7295 { 7296 oMaster._oContents=null; 7297 oMaster._oRoot=null; 7298 oMaster._nLevel=0; 7299 oMaster._arrPopup=new Array(); 7300 oMaster._arrSelected=new Array(); 7301 } 7302 else 7303 { 7304 oMaster._oRoot=oMaster._oContents; 7305 } 7306 var y=0; 7307 if (oParent) y+=oParent.offsetHeight; 7308 if (browseris.safari) 7309 { 7310 if (oParent.tagName=="TR" && oParent.childNodes.length > 0) 7311 { 7312 y+=(oParent.childNodes[0].offsetTop+oParent.childNodes[0].offsetHeight 7313 - oParent.offsetTop); 7314 } 7315 } 7316 if (yOffset) y+=yOffset; 7317 fFlipTop=fFlipTop !=false; 7318 MenuHtcInternal_Show(oMaster, oParent, y, fFlipTop); 7319} 7320function ShowSubMenu(oMaster, nLevel, oParent) 7321{ 7322 if (!oParent) return; 7323 if (oParent.submenuRoot==null) return; 7324 UpdateLevel(oMaster, nLevel); 7325 oMaster._oRoot=oParent.submenuRoot; 7326 oMaster._nLevel=oMaster._nLevel+1; 7327 MenuHtcInternal_Show(oMaster, oParent, -1); 7328} 7329function ShowSubMenuEvnt(id) 7330{ 7331 var oMaster=document.getElementById(id); 7332 var oPopup=oMaster._arrPopup[oMaster._nLevel]; 7333 if (oPopup) 7334 { 7335 oPopup.removeAttribute("timeoutID"); 7336 ShowSubMenu(oMaster, oMaster._nLevel, oMaster._arrSelected[oMaster._nLevel]); 7337 } 7338} 7339function SetShowSubMenuEvnt(oMaster) 7340{ 7341 var oPopup=oMaster._arrPopup[oMaster._nLevel]; 7342 if (oPopup) 7343 { 7344 ClearTimeOut("timeoutID"); 7345 document.body.setAttribute("timeoutID", window.setTimeout(new Function("ShowSubMenuEvnt('"+oMaster.id+"');"), 100)); 7346 } 7347} 7348function ClearTimeOut(oAttribute) 7349{ 7350 var id=document.body.getAttribute(oAttribute); 7351 if (id !=null) 7352 { 7353 window.clearTimeout(id); 7354 } 7355 document.body.removeAttribute(oAttribute); 7356} 7357function ClearShowSubMenuEvnt(oPopup) 7358{ 7359 ClearTimeOut("timeoutID"); 7360} 7361function GetEventSrcItem(oMaster, srcElement) 7362{ 7363 for (var oSrc=srcElement; 7364 oSrc && !FIStringEquals(oSrc.tagName, "BODY"); 7365 oSrc=oSrc.parentNode) 7366 { 7367 if (FIStringEquals(oSrc.tagName, "TR") && 7368 oSrc.id.substring(0, oMaster._wzPrefixID.length)==oMaster._wzPrefixID) 7369 { 7370 return oSrc; 7371 } 7372 } 7373 return null; 7374} 7375function UpdateLevel(oMaster, nLevel) 7376{ 7377 var oPopup; 7378 while (oMaster._nLevel > nLevel) 7379 { 7380 oPopup=oMaster._arrPopup[oMaster._nLevel]; 7381 if (oPopup) 7382 { 7383 ClearShowSubMenuEvnt(oPopup); 7384 var oBackFrame=document.getElementById(oPopup._backgroundFrameId); 7385 if (oBackFrame !=null) 7386 oBackFrame.parentNode.removeChild(oBackFrame); 7387 oPopup.parentNode.removeChild(oPopup); 7388 } 7389 oMaster._arrPopup[oMaster._nLevel]=null; 7390 oMaster._arrSelected[oMaster._nLevel]=null; 7391 oMaster._oRoot=oMaster._oRoot.parentNode; 7392 oMaster._nLevel--; 7393 } 7394 oPopup=oMaster._arrPopup[oMaster._nLevel]; 7395 if (oPopup) ClearShowSubMenuEvnt(oPopup); 7396} 7397function PopupMouseOver(e) 7398{ 7399 var oPopup=GetEventPopup(e); 7400 if (oPopup !=null) 7401 { 7402 var oMaster=oPopup.master; 7403 var nLevel=oPopup.level; 7404 if (nLevel < 0) return; 7405 var oSrcElem=GetEventSrcItem(oMaster, GetEventSrcElement(e)); 7406 if (oSrcElem) 7407 { 7408 if (oSrcElem !=oMaster._arrSelected[nLevel]) 7409 { 7410 if (FIsIType(oSrcElem, "separator")) 7411 return;
7412 ToggleMenuItem(oMaster, nLevel, oSrcElem); 7413 if (FIsIType(oSrcElem, "submenu")) 7414 EngageSelection(oMaster, true, true, false); 7415 } 7416 else if (nLevel < oMaster._nLevel) 7417 { 7418 UnselectCurrentOption(oMaster); 7419 } 7420 } 7421 ClearTimeOutToHideMenu(); 7422 } 7423} 7424function PopupMouseLeave(e) 7425{ 7426 var oPopup; 7427 oPopup=GetEventPopup(e); 7428 if (oPopup !=null) 7429 { 7430 UnselectCurrentOption(oPopup.master); 7431 SetTimeOutToHideMenu(); 7432 } 7433 return false; 7434} 7435function PopupMouseOverParent(e) 7436{ 7437 if (g_menuHtc_lastMenu !=null) 7438 { 7439 ClearTimeOutToHideMenu(); 7440 if (g_menuHtc_lastMenu._oParent !=null && g_menuHtc_lastMenu._oParent._onmouseover !=null) 7441 { 7442 g_menuHtc_lastMenu._oParent._onmouseover(); 7443 } 7444 } 7445} 7446function PopupMouseLeaveParent(e) 7447{ 7448 if (g_menuHtc_lastMenu !=null) 7449 { 7450 if (g_menuHtc_lastMenu._oParent !=null && g_menuHtc_lastMenu._oParent._onmouseout !=null) 7451 { 7452 g_menuHtc_lastMenu._oParent._onmouseout(); 7453 } 7454 SetTimeOutToHideMenu(); 7455 } 7456} 7457function ClearTimeOutToHideMenu() 7458{ 7459 if (document.body.getAttribute("HideMenuTimeOut") !=null) 7460 { 7461 ClearTimeOut("HideMenuTimeOut"); 7462 } 7463} 7464function SetTimeOutToHideMenu() 7465{ 7466 ClearTimeOut("HideMenuTimeOut"); 7467 document.body.setAttribute("HideMenuTimeOut", window.setTimeout(MenuHtc_hide, 1500)); 7468} 7469function PopupMouseClick(e) 7470{ 7471 var oPopup=GetEventPopup(e); 7472 var oMaster=oPopup.master; 7473 var nLevel=oPopup.level; 7474 if (nLevel < 0) return; 7475 var oItem=oMaster._arrSelected[nLevel]; 7476 UpdateLevel(oMaster, nLevel); 7477 EngageSelection(oMaster, true, false, false); 7478} 7479function PopupKeyDown(e) 7480{ 7481 var oPopup=GetEventPopup(e); 7482 var oMaster=oPopup.master; 7483 var nLevel=oPopup.level; 7484 if (nLevel < 0) 7485 return; 7486 var nKeyCode=GetEventKeyCode(e); 7487 var shiftKey=e.shiftKey; 7488 if (oMaster._fIsRtL) 7489 { 7490 if (nKeyCode==37) nKeyCode=39; 7491 else if (nKeyCode==39) nKeyCode=37; 7492 } 7493 if (nKeyCode==9) nKeyCode=!shiftKey ? 40 : 38; 7494 ClearShowSubMenuEvnt(oPopup); 7495 switch (nKeyCode) 7496 { 7497 case 38: 7498 MoveMenuSelection(oMaster, -1); 7499 break; 7500 case 40: 7501 MoveMenuSelection(oMaster, 1); 7502 break; 7503 case 37: 7504 case 27: 7505 CloseCurrentLevel(oMaster, nKeyCode==27); 7506 break; 7507 case 39: 7508 case 13: 7509 EngageSelection(oMaster, nKeyCode==13, false, true); 7510 break; 7511 } 7512 e.returnValue=false; 7513} 7514function SetNewId(obj) 7515{ 7516 obj.id="msomenuid"+GetUniqueNumber(); 7517 return obj.id; 7518} 7519function AssureId(obj) 7520{ 7521 if (obj.id==null || obj.id=="") 7522 obj.id="msomenuid"+GetUniqueNumber(); 7523 return obj.id; 7524} 7525function NavigateToMenu(oMaster) 7526{ 7527 var oMenu=oMaster._arrPopup[oMaster._nLevel].firstChild; 7528 AssureId(oMenu); 7529 try 7530 { 7531 var oFirstItem=oMenu.firstChild.firstChild.firstChild; 7532 oFirstItem.tabIndex=0; 7533 if (oFirstItem.setActive !=null) 7534 oFirstItem.setActive(); 7535 else if (oFirstItem.focus !=null) 7536 oFirstItem.focus(); 7537 } 7538 catch (e) 7539 { 7540 } 7541} 7542function ExecuteOnClick(fnOnClick) 7543{ 7544 try 7545 { 7546 if (browseris.safari) 7547 { 7548 if (FIStringEquals(typeof(fnOnClick), "string")) 7549 eval("var document=window.document; {"+fnOnClick+"}"); 7550 else 7551 fnOnClick(); 7552 } 7553 else 7554 { 7555 if (FIStringEquals(typeof(fnOnClick), "string")) 7556 { 7557 fnOnClick=new Function("var document=window.document; {"+fnOnClick+"}"); 7558 } 7559 var oTemp=window.document.body.appendChild(window.document.createElement("span")); 7560 oTemp.onclick=fnOnClick; 7561 oTemp.onclick(); 7562 oTemp.parentNode.removeChild(oTemp); 7563 } 7564 } 7565 catch (e) 7566 { 7567 } 7568} 7569function EngageSelection(oMaster, fDoSelection, fDelayExpandSM, fEnterSM) 7570{ 7571 var oItem=oMaster._arrSelected[oMaster._nLevel]; 7572 if (!oItem || oItem.optionDisabled) return; 7573 if (FIsIType(oItem, "submenu")) 7574 { 7575 if (fDelayExpandSM) 7576 { 7577 SetShowSubMenuEvnt(oMaster); 7578 } 7579 else 7580 { 7581 ShowSubMenu(oMaster, oMaster._nLevel, oItem); 7582 if (fEnterSM) MoveMenuSelection(oMaster, 1); 7583 } 7584 } 7585 else if (fDoSelection) 7586 { 7587 var fEnabled=oItem.getAttribute("enabled"); 7588 if (fEnabled !="false") 7589 { 7590 var fnOnClick=oItem.getAttribute("onMenuClick"); 7591 if (fnOnClick) 7592 { 7593 HideMenu(oMaster, 1); 7594 ExecuteOnClick(fnOnClick); 7595 HideMenu(oMaster, 2); 7596 } 7597 } 7598 } 7599} 7600function CloseCurrentLevel(oMaster, fAllowHideRoot) 7601{ 7602 if (oMaster._nLevel > 0) 7603 { 7604 UpdateLevel(oMaster, oMaster._nLevel - 1); 7605 var obj=oMaster._arrSelected[oMaster._nLevel]; 7606 if (obj !=null) 7607 { 7608 if (browseris.nav) 7609 { 7610 obj=obj.firstChild.firstChild.firstChild.firstChild.firstChild.nextSibling.firstChild.firstChild; 7611 if (obj.focus !=null) 7612 obj.focus(); 7613 } 7614 else 7615 { 7616 if (obj.focus !=null) 7617 obj.focus(); 7618 } 7619 } 7620 }
7621 else if (fAllowHideRoot) 7622 { 7623 HideMenu(oMaster); 7624 var oParent=oMaster._oParent; 7625 while (oParent !=null && 7626 oParent.tagName=="SPAN" && 7627 oParent.getAttribute("contentEditable") !=null) 7628 { 7629 oParent=oParent.parentElement; 7630 } 7631 if (oParent !=null) 7632 { 7633 var focusElement=oParent; 7634 if (oParent.foa !=null) 7635 { 7636 var foa=null; 7637 foa=eval(oParent.foa); 7638 if(foa==null) 7639 { 7640 foa=byid(oParent.foa ); 7641 } 7642 if (foa !=null) 7643 { 7644 focusElement=foa; 7645 } 7646 } 7647 if (focusElement.setActive !=null) 7648 { 7649 focusElement.setActive(); 7650 } 7651 else if (focusElement.focus !=null) 7652 { 7653 focusElement.focus(); 7654 } 7655 } 7656 } 7657} 7658function UnselectCurrentOption(oMaster) 7659{ 7660 if (oMaster._nLevel >=0) 7661 { 7662 var oItem=oMaster._arrSelected[oMaster._nLevel]; 7663 if (FIsIType(oItem, "option")) 7664 { 7665 UnselectItem(oItem); 7666 oMaster._arrSelected[oMaster._nLevel]=null; 7667 } 7668 } 7669} 7670function MakeID(oMaster, nLevel, nIndex) 7671{ 7672 return oMaster._wzPrefixID+"_"+nLevel+"_"+nIndex; 7673} 7674function GetItem(oMaster, nLevel, nIndex) 7675{ 7676 var oPopup=oMaster._arrPopup[nLevel]; 7677 return oPopup ? document.getElementById(MakeID(oMaster, nLevel, nIndex)) : null; 7678} 7679function MoveMenuSelection(oMaster, iDir) 7680{ 7681 var nIndex=-1; 7682 var nNumItems=oMaster._oRoot.childNodes.length; 7683 var oSelected=oMaster._arrSelected[oMaster._nLevel]; 7684 if (oSelected) 7685 { 7686 var wzSelectedID=oSelected ? oSelected.id : null; 7687 if (wzSelectedID) 7688 { 7689 var nCurIndex=parseInt(wzSelectedID.substring(wzSelectedID.lastIndexOf("_")+1, wzSelectedID.length)); 7690 nIndex=(nCurIndex+nNumItems+iDir) % nNumItems; 7691 } 7692 } 7693 if (nIndex < 0) 7694 nIndex=iDir > 0 ? 0 : (nNumItems - 1); 7695 var oItem; 7696 var nIndexStart=nIndex; 7697 do 7698 { 7699 oItem=GetItem(oMaster, oMaster._nLevel, nIndex); 7700 nIndex=(nIndex+nNumItems+iDir) % nNumItems; 7701 } 7702 while (nIndex !=nIndexStart && 7703 (!oItem || oItem.style.display=="none" || 7704 !(FIsIType(oItem, "option") || FIsIType(oItem, "submenu")))); 7705 ToggleMenuItem(oMaster, oMaster._nLevel, oItem); 7706} 7707function ToggleMenuItem(oMaster, nLevel, oItem) 7708{ 7709 var oOld=oMaster._arrSelected[nLevel]; 7710 if (!oItem || (oOld && oItem.id==oOld.id)) return; 7711 if (oOld) 7712 { 7713 UnselectItem(oOld); 7714 oOld.onkeydown=null; 7715 oOld.onmousedown=null; 7716 oOld.onmouseover=null; 7717 oOld.onmouseout=null; 7718 oOld.oncontextmenu=null; 7719 } 7720 UpdateLevel(oMaster, nLevel); 7721 SelectItem(oItem); 7722 oMaster._arrSelected[nLevel]=oItem; 7723 oItem.tabIndex=0; 7724 if (oItem.setActive !=null) 7725 oItem.setActive(); 7726 else if (oItem.focus !=null) 7727 oItem.focus(); 7728 var oPopup=oMaster._arrPopup[nLevel]; 7729 var oDiv=oPopup.childNodes[0]; 7730 var posPopup=MenuHtc_GetElementPosition(oItem, oDiv); 7731 if (posPopup.y+posPopup.height - oDiv.scrollTop > oDiv.offsetHeight) 7732 { 7733 oDiv.scrollTop=posPopup.y+posPopup.height - oDiv.offsetHeight; 7734 } 7735 else if (posPopup.y < oDiv.scrollTop) 7736 { 7737 oDiv.scrollTop=posPopup.y; 7738 } 7739} 7740function SelectItem(oItem) 7741{ 7742 if (!oItem) return; 7743 var oItemTableCell=oItem.firstChild; 7744 var oItemTable=oItemTableCell.firstChild; 7745 if (oItemTableCell.className=="ms-MenuUIItemTableCellCompact") 7746 oItemTableCell.className="ms-MenuUIItemTableCellCompactHover"; 7747 else 7748 oItemTableCell.className="ms-MenuUIItemTableCellHover"; 7749 oItemTable.className="ms-MenuUIItemTableHover"; 7750} 7751function UnselectItem(oItem) 7752{ 7753 if (!oItem) return; 7754 var oItemTableCell=oItem.firstChild; 7755 var oItemTable=oItemTableCell.firstChild; 7756 if (oItemTableCell.className=="ms-MenuUIItemTableCellCompactHover") 7757 oItemTableCell.className="ms-MenuUIItemTableCellCompact"; 7758 else 7759 oItemTableCell.className="ms-MenuUIItemTableCell"; 7760 oItemTable.className="ms-MenuUIItemTable"; 7761} 7762function SetImageSize(oMaster, oImg, oSize) 7763{ 7764 if (oSize==null) 7765 { 7766 if (oMaster._fLargeIconMode) 7767 oSize=32; 7768 else 7769 oSize=16; 7770 } 7771 oImg.width=oSize; 7772 oImg.height=oSize; 7773} 7774function CreateMenuOption(oMaster, oRow, oNode, wzID, wzHtml) 7775{ 7776 var oIcon=document.createElement("td"); 7777 var oLabel=document.createElement("td"); 7778 var oAccKey=document.createElement("td"); 7779 var oArrow=document.createElement("td"); 7780 oRow.appendChild(oIcon); 7781 oRow.appendChild(oLabel); 7782 oRow.appendChild(oAccKey); 7783 oRow.appendChild(oArrow); 7784 if (oMaster._fLargeIconMode) 7785 oIcon.className=!oMaster._fIsRtL ? "ms-MenuUIIconLarge" : "ms-MenuUIIconRtlLarge"; 7786 else
7787 oIcon.className=!oMaster._fIsRtL ? "ms-MenuUIIcon" : "ms-MenuUIIconRtL"; 7788 oIcon.align="center"; 7789 if (oMaster._fCompactItemsWithoutIcons && !oNode.getAttribute("iconSrc")) 7790 oLabel.className=!oMaster._fIsRtL ? "ms-MenuUILabelCompact" : "ms-MenuUILabelCompactRtl"; 7791 else 7792 oLabel.className=!oMaster._fIsRtL ? "ms-MenuUILabel" : "ms-MenuUILabelRtL"; 7793 oAccKey.className="ms-MenuUIAccessKey"; 7794 oArrow.className="ms-MenuUISubmenuArrow"; 7795 if (!oMaster._fLargeIconMode) 7796 { 7797 oLabel.noWrap=true; 7798 } 7799 oIcon.noWrap=true; 7800 oAccKey.noWrap=true; 7801 oArrow.noWrap=true; 7802 oLabel.id=oNode.id; 7803 if (!wzHtml) wzHtml=oNode.innerHTML; 7804 if (oNode.getAttribute("enabled")=="false") 7805 { 7806 oRow.disabled=true; 7807 oLabel.className+=" ms-MenuUIItemTableCellDisabled"; 7808 } 7809 var wzIconSrc=null, wzIconAlt=null; 7810 if (oNode.getAttribute("checked")=="true") 7811 { 7812 wzIconSrc=oMaster._wzChkMrkPath; 7813 wzIconAlt="*"; 7814 } 7815 else 7816 { 7817 wzIconSrc=EvalAttributeValue(oNode, "iconSrc", "iconScript"); 7818 wzIconAlt=oNode.getAttribute("iconAltText"); 7819 } 7820 var innerHtml=wzHtml; 7821 var sText=EvalAttributeValue(oNode, "text", "textScript"); 7822 var sDescription=EvalAttributeValue(oNode, "description", "descriptionScript"); 7823 var oMenuItemBody=document.createElement("div"); 7824 if (sDescription !=null && oMaster._fLargeIconMode) 7825 { 7826 var oBold=document.createElement("B"); 7827 var oTextSpan=document.createElement("SPAN"); 7828 var oTextNode=document.createTextNode(sText); 7829 var oBr=document.createElement("BR"); 7830 var oDescSpan=document.createElement("SPAN"); 7831 var oDescNode=document.createTextNode(sDescription); 7832 oTextSpan.setAttribute("style","white-space: nowrap;"); 7833 oDescSpan.className="ms-menuitemdescription"; 7834 oMenuItemBody.appendChild(oBold); 7835 oBold.appendChild(oTextSpan); 7836 oTextSpan.appendChild(oTextNode); 7837 oMenuItemBody.appendChild(oBr); 7838 oMenuItemBody.appendChild(oDescSpan); 7839 oDescSpan.appendChild(oDescNode); 7840 } 7841 else if (sText !=null) 7842 { 7843 var oTextSpan=document.createElement("SPAN"); 7844 var oTextNode=document.createTextNode(sText); 7845 oTextSpan.setAttribute("style","white-space: nowrap;"); 7846 oMenuItemBody.appendChild(oTextSpan); 7847 oTextSpan.appendChild(oTextNode); 7848 } 7849 var htmlSpan=document.createElement("SPAN"); 7850 htmlSpan.innerHTML=innerHtml; 7851 oMenuItemBody.appendChild(htmlSpan); 7852 if (wzIconSrc) 7853 { 7854 var oImg=document.createElement("IMG"); 7855 SetImageSize(oMaster, oImg); 7856 var oImgLbl=document.createElement("LABEL"); 7857 oIcon.appendChild(oImg); 7858 oLabel.appendChild(oImgLbl); 7859 var wzIconId=wzID+"_"+"ICON"; 7860 oImg.id=wzIconId; 7861 oImg.src=wzIconSrc; 7862 if (wzIconAlt) 7863 { 7864 oImg.alt=""; 7865 oImg.title=""; 7866 } 7867 oImgLbl.htmlFor=wzIconId; 7868 oImgLbl.appendChild(oMenuItemBody); 7869 } 7870 else 7871 { 7872 if (browseris.nav || oMaster._fLargeIconMode) 7873 { 7874 var oImg=document.createElement("IMG"); 7875 SetImageSize(oMaster, oImg); 7876 var oImgLbl=document.createElement("LABEL"); 7877 oIcon.appendChild(oImg); 7878 oLabel.appendChild(oImgLbl); 7879 var wzIconId=wzID+"_"+"ICON"; 7880 oImg.id=wzIconId; 7881 oImg.src="/_layouts/images/blank.gif"; 7882 oImg.alt=""; 7883 oImg.title=""; 7884 oImgLbl.htmlFor=wzIconId; 7885 oImgLbl.appendChild(oMenuItemBody); 7886 if (oMaster._fLargeIconMode) 7887 { 7888 oImg.width=32; 7889 oImg.height=16; 7890 } 7891 else 7892 { 7893 oImg.width=16; 7894 } 7895 } 7896 else 7897 { 7898 oIcon.innerHTML=" "; 7899 oLabel.appendChild(oMenuItemBody); 7900 } 7901 } 7902 var wzAccKey=oNode.getAttribute("accessKeyText"); 7903 if (wzAccKey) oAccKey.innerHTML=wzAccKey; 7904 SetIType(oRow, "option"); 7905} 7906function CreateMenuSeparator(oMaster, oRow) 7907{ 7908 var oCell=document.createElement("td"); 7909 var oDiv=document.createElement("div"); 7910 oRow.appendChild(oCell); 7911 oCell.appendChild(oDiv); 7912 if (oMaster._fLargeIconMode) 7913 oDiv.className=!oMaster._fIsRtL ? "ms-MenuUISeparatorLarge" : "ms-MenuUISeparatorLargeRtl"; 7914 else 7915 oDiv.className=!oMaster._fIsRtL ? "ms-MenuUISeparator" : "ms-MenuUISeparatorRtL"; 7916 oDiv.innerHTML=" "; 7917 SetIType(oRow, "separator"); 7918} 7919function CreateSubmenu(oMaster, oRow, oNode, wzID) 7920{ 7921 var oLabelNode=FindLabel(oNode); 7922 CreateMenuOption(oMaster, oRow, oNode, wzID, oLabelNode ? oLabelNode.innerHTML : null); 7923 var oArrow=oRow.childNodes[3]; 7924 var oArrowImg=document.createElement("IMG"); 7925 SetImageSize(oMaster, oArrowImg, 16); 7926 oArrow.appendChild(oArrowImg); 7927 oArrowImg.src=!oMaster._fIsRtL ? oMaster._wzMArrPath : oMaster._wzMArrPathRtL; 7928 oArrowImg.alt=!oMaster._fIsRtL ? ">" : "<"; 7929 oArrowImg.title=""; 7930 SetIType(oRow, "submenu"); 7931 oRow.submenuRoot=oNode; 7932} 7933function MergeAttributes(oTarget, oSource) 7934{ 7935 if (browseris.nav || oTarget.mergeAttributes==null) 7936 { 7937 var oAttributes=oSource.attributes; 7938 for (var i=0; i < oAttributes.length; i++) 7939 { 7940 var oAttrib=oAttributes[i]; 7941 if (oAttrib !=null && 7942 oAttrib.specified && 7943 oAttrib.nodeName !="id" && 7944 oAttrib.nodeName !="ID" && 7945 oAttrib.nodeName !="name") 7946 { 7947 oTarget.setAttribute(oAttrib.nodeName, oAttrib.nodeValue); 7948 } 7949 } 7950 if (oSource.getAttribute("type") !=null) 7951 oTarget.setAttribute("type", oSource.getAttribute("type")); 7952 if (oSource.submenuRoot !=null) 7953 oTarget.submenuRoot=oSource.submenuRoot; 7954 } 7955 else 7956 { 7957 oTarget.mergeAttributes(oSource); 7958 } 7959}
7960function CreateMenuItem(oMaster, oNode, wzID, wzHtml) 7961{ 7962 if (FIsIType(oNode, "label")) return; 7963 var oRow=document.createElement("tr"); 7964 MergeAttributes(oRow, oNode); 7965 oRow.setAttribute("onMenuClick", oNode.getAttribute("onMenuClick")); 7966 if (FIsIType(oNode, "separator")) 7967 { 7968 CreateMenuSeparator(oMaster, oRow); 7969 return oRow; 7970 } 7971 if (!GetIType(oNode)) SetIType(oNode, "option"); 7972 var oFmtTableRow=document.createElement("tr"); 7973 var oFmtTableCell=document.createElement("td"); 7974 var oFmtTable=document.createElement("table"); 7975 var oFmtTableBody=document.createElement("tbody"); 7976 oFmtTableRow.appendChild(oFmtTableCell); 7977 oFmtTableCell.appendChild(oFmtTable); 7978 oFmtTable.appendChild(oFmtTableBody); 7979 oFmtTableBody.appendChild(oRow); 7980 if (oMaster._fCompactItemsWithoutIcons && !oNode.getAttribute("iconSrc")) 7981 oFmtTableCell.className="ms-MenuUIItemTableCellCompact"; 7982 else 7983 oFmtTableCell.className="ms-MenuUIItemTableCell"; 7984 oFmtTable.className="ms-MenuUIItemTable"; 7985 oFmtTable.width="100%"; 7986 oFmtTable.cellSpacing=0; 7987 oFmtTable.cellPadding=0; 7988 if (FIsIType(oNode, "submenu")) 7989 CreateSubmenu(oMaster, oRow, oNode, wzID); 7990 else if (FIsIType(oNode, "option")) 7991 CreateMenuOption(oMaster, oRow, oNode, wzID, wzHtml); 7992 if (oRow.disabled || 7993 oRow.getAttribute("enabled")=="false") 7994 { 7995 oRow.disabled=false; 7996 oRow.className="ms-MenuUIDisabled"; 7997 oRow.disabled=false; 7998 for (var nIndex=0; nIndex < oRow.childNodes.length; nIndex++) 7999 { 8000 if (oRow.childNodes[nIndex].nodeType !=1) 8001 continue; 8002 oRow.childNodes[nIndex].disabled=true; 8003 oFmtTableCell.className+=" ms-MenuUIItemTableCellDisabled"; 8004 } 8005 oRow.optionDisabled=true; 8006 } 8007 MergeAttributes(oFmtTableRow, oRow); 8008 if (oRow.optionDisabled !=null) 8009 { 8010 oFmtTableRow.optionDisabled=oRow.optionDisabled; 8011 } 8012 oFmtTableRow.id=wzID; 8013 SetIType(oFmtTableRow, GetIType(oRow)); 8014 return oFmtTableRow; 8015} 8016function GetItems(oMaster) 8017{ 8018 if (!oMaster._oContents) PrepContents(oMaster); 8019 return oMaster._oContents.childNodes; 8020} 8021function GetIType(oItem) 8022{ 8023 return oItem ? oItem.getAttribute("type") : null; 8024} 8025function FIsIType(oItem, wzType) 8026{ 8027 return FIStringEquals(GetIType(oItem), wzType); 8028} 8029function SetIType(oItem, wzType) 8030{ 8031 if (oItem) oItem.setAttribute("type", wzType); 8032} 8033function FIStringEquals(wzX, wzY) 8034{ 8035 return wzX !=null && wzY !=null && wzX.toLowerCase()==wzY.toLowerCase(); 8036} 8037function RenderAccessibleMenu(oMaster, fForceRefresh) 8038{ 8039 if (fForceRefresh) 8040 { 8041 oMaster._oContents=null; 8042 oMaster._oRoot=null; 8043 oMaster._nLevel=0; 8044 oMaster._arrPopup=new Array(); 8045 oMaster._arrSelected=new Array(); 8046 } 8047 else 8048 { 8049 oMaster._oRoot=oMaster._oContents; 8050 } 8051 if (!oMaster._oContents) PrepContents(oMaster); 8052 if (!oMaster._oContents) return; 8053 if (!oMaster._oRoot) 8054 { 8055 oMaster._nLevel=0; 8056 oMaster._oRoot=oMaster._oContents; 8057 } 8058 FixUpMenuStructure(oMaster); 8059 var menuDir=oMaster._fIsRtL ? "rtl" : "ltr"; 8060 g_menuHtc_html="<html dir='"+menuDir+"'><head><title>"+L_AccessibleMenu_Text+"</title></head><body><ul id='root'>"; 8061 RenderMenuLevel(oMaster, oMaster._oRoot, true); 8062 g_menuHtc_html=g_menuHtc_html+"</ul></body></html>"; 8063 var oNewWindow=window.open("/_layouts/blank.htm", "_blank", "status=no,toolbar=no,menubar=no,location=no"); 8064 oMaster._accessibleMenu=oNewWindow; 8065 oNewWindow.document.write(g_menuHtc_html); 8066 oNewWindow.document.close(); 8067 oNewWindow.focus(); 8068} 8069function CloseAccessibleMenu(oMaster, n) 8070{ 8071 if (n==null) 8072 n=0; 8073 if (oMaster !=null) 8074 { 8075 if (n==0 || n==1) 8076 { 8077 if (oMaster._accessibleMenu !=null) 8078 { 8079 oMaster._accessibleMenu.close(); 8080 oMaster._accessibleMenu=null; 8081 } 8082 } 8083 if (n==0 || n==2) 8084 { 8085 if (oMaster._onDestroy !=null) 8086 { 8087 oMaster._onDestroy(); 8088 oMaster._onDestroy=null; 8089 } 8090 } 8091 } 8092} 8093function GetMenuItemText(oMaster, oNode, s) 8094{ 8095 if (s=="") 8096 { 8097 s=EvalAttributeValue(oNode, "text", "textScript"); 8098 var description=EvalAttributeValue(oNode, "description", "descriptionScript"); 8099 if (description !=null && 8100 description !="" && 8101 oMaster._fLargeIconMode) 8102 { 8103 if (s !="") 8104 s=s+": "; 8105 s=s+description; 8106 } 8107 } 8108 if (oNode.getAttribute("checked")=="true") 8109 s="* "+s; 8110 if (oNode.title !=null && oNode.title !="") 8111 s=s+": "+oNode.title; 8112 return s; 8113} 8114function GetMenuItemEnabled(oNode, fEnabled) 8115{ 8116 if (!fEnabled) 8117 return false; 8118 if (oNode.getAttribute("enabled")=="false") 8119 return false; 8120 if (oNode.getAttribute("disabled") !=null && oNode.getAttribute("disabled") !="") 8121 return false; 8122 return true; 8123} 8124var g_menuHtc_html;
8125function RenderMenuLevel(oMaster, oRoot, fEnabled) 8126{ 8127 for (var nIndex=0; nIndex < oRoot.childNodes.length; nIndex++) 8128 { 8129 var oNode=oRoot.childNodes[nIndex]; 8130 if (oNode.nodeType !=1) 8131 continue; 8132 if (oNode.style.display=="none") 8133 continue; 8134 if (FIsIType(oNode, "option")) 8135 { 8136 var s=GetMenuItemText(oMaster, oNode, oNode.innerHTML); 8137 if (!GetMenuItemEnabled(oNode, fEnabled)) 8138 { 8139 g_menuHtc_html=g_menuHtc_html+"<li><span id=\"" 8140+oNode.id+"\">" 8141+s+"</span></li>"; 8142 } 8143 else 8144 { 8145 g_menuHtc_html=g_menuHtc_html+"<li><a href=\"#\" id=\"" 8146+oNode.id+"\" " 8147+"onMenuClick" 8148+"=\"" 8149+oNode.getAttribute("onMenuClick") 8150+"\" onclick=\"" 8151+"javascript:opener.ExecuteOnAccessibleClick(this.getAttribute('"+"onMenuClick"+"')); return false;" 8152+"\">" 8153+s 8154+"</a></li>"; 8155 } 8156 } 8157 else if (FIsIType(oNode, "submenu")) 8158 { 8159 var s=GetMenuItemText(oMaster, oNode, ""); 8160 g_menuHtc_html=g_menuHtc_html+"<li><span id=\""+oNode.id+"\">"+s; 8161 for (var n=0; n < oNode.childNodes.length; n++) 8162 { 8163 var oLabelNode=oNode.childNodes[n]; 8164 if (oLabelNode.nodeType !=1) 8165 continue; 8166 if (oLabelNode.style.display=="none") 8167 continue; 8168 if (FIsIType(oLabelNode, "label")) 8169 { 8170 g_menuHtc_html=g_menuHtc_html+" "+oLabelNode.innerHTML; 8171 break; 8172 } 8173 } 8174 g_menuHtc_html=g_menuHtc_html+"</span><ul>"; 8175 RenderMenuLevel(oMaster, oNode, GetMenuItemEnabled(oNode, fEnabled)); 8176 g_menuHtc_html=g_menuHtc_html+"</ul></li>"; 8177 } 8178 } 8179} 8180function ExecuteOnAccessibleClick(fnOnClick) 8181{ 8182 var oMaster=g_menuHtc_lastMenu; 8183 if (oMaster !=null) 8184 { 8185 CloseAccessibleMenu(oMaster, 1); 8186 window.focus(); 8187 ExecuteOnClick(fnOnClick); 8188 CloseAccessibleMenu(oMaster, 2); 8189 } 8190} 8191function FIsIHidden(oItem) 8192{ 8193 if (oItem) 8194 { 8195 var hiddenFunc=oItem.getAttribute("hidden"); 8196 if (!hiddenFunc) return false; 8197 return eval(hiddenFunc); 8198 } 8199 else 8200 return false; 8201} 8202function EvalAttributeValue(oNode, sAttribute1, sAttribute2) 8203{ 8204 var result=oNode.getAttribute(sAttribute2); 8205 if (result !=null && 8206 result.toLowerCase().indexOf("javascript:")==0) 8207 { 8208 result=eval(result.substring(11)); 8209 if (result !=null && result !="") 8210 return result; 8211 } 8212 var result=oNode.getAttribute(sAttribute1); 8213 if (result==null) 8214 return ""; 8215 return result; 8216} 8217var flyoutsAllowed=false; 8218function enableFlyoutsAfterDelay() 8219{ 8220 setTimeout("flyoutsAllowed=true;", 25); 8221} 8222function overrideMenu_HoverStatic(item) 8223{ 8224 if (!flyoutsAllowed) 8225 { 8226 setTimeout(delayMenu_HoverStatic(item), 50); 8227 } 8228 else 8229 { 8230 var node=Menu_HoverRoot(item); 8231 var data=Menu_GetData(item); 8232 if (!data) return; 8233 __disappearAfter=data.disappearAfter; 8234 Menu_Expand(node, data.horizontalOffset, data.verticalOffset); 8235 } 8236} 8237function delayMenu_HoverStatic(item) 8238{ 8239 return (function() 8240 { 8241 overrideMenu_HoverStatic(item); 8242 }); 8243} 8244var MMU_chDelim=","; 8245var MMU_chDelimEnc="%2c"; 8246var MMU_postbackPrefix="javascript:__doPostBack("; 8247var MMU_chDelim2="%"; 8248var MMU_chDelim2Enc="%25"; 8249function MHash_New() 8250{ 8251 var oMaster=new Object(); 8252 oMaster._keys=new Array(); 8253 oMaster._values=new Array(); 8254 return oMaster; 8255} 8256function MHash_Add(oMaster, oKey, oValue) 8257{ 8258 oMaster._keys.push(oKey); 8259 oMaster._values.push(oValue); 8260} 8261function MHash_Count(oMaster) 8262{ 8263 return oMaster._keys.length; 8264} 8265function MHash_Keys(oMaster) 8266{ 8267 return oMaster._keys; 8268} 8269function MHash_Values(oMaster) 8270{ 8271 return oMaster._values; 8272} 8273function MHash_Exists(oMaster, oKey) 8274{ 8275 for (var i=0; i < oMaster._keys.length; i++) 8276 { 8277 if (oMaster._keys[i]==oKey) 8278 return true; 8279 } 8280 return false; 8281} 8282function MHash_Item(oMaster, oKey) 8283{ 8284 for (var i=0; i < oMaster._keys.length; i++) 8285 { 8286 if (oMaster._keys[i]==oKey) 8287 return oMaster._values[i]; 8288 } 8289 return null; 8290} 8291var MMU_reDelimEnc=new RegExp(MMU_chDelimEnc, "g"); 8292var MMU_reDelim2Enc=new RegExp(MMU_chDelim2Enc, "g"); 8293var MMU_reDelimDec=new RegExp(MMU_chDelim, "g"); 8294var MMU_reDelim2Dec=new RegExp(MMU_chDelim2, "g"); 8295function MMU_EncVal(strDec) 8296{ 8297 return strDec.replace(MMU_reDelimDec, MMU_chDelimEnc).replace(MMU_reDelim2Dec, MMU_chDelim2Enc); 8298} 8299function MMU_DecVal(strEnc) 8300{ 8301 return strEnc.replace(MMU_reDelim2Enc, MMU_chDelim2).replace(MMU_reDelimEnc, MMU_chDelim); 8302} 8303function MMU_ParseNV(rgnv) 8304{ 8305 var dictNV=MHash_New(); 8306 var rgstrNV=rgnv.split(MMU_chDelim); 8307 if (rgstrNV !=null) 8308 { 8309 var i; 8310 for (i=0; i < rgstrNV.length; i++) 8311 { 8312 var strNV=rgstrNV[i]; 8313 var iEq=strNV.indexOf("="); 8314 if (iEq==0) 8315 { 8316 continue; 8317 } 8318 var name=null; 8319 var value=null; 8320 if (iEq < 0) 8321 { 8322 name=strNV; 8323 } 8324 else 8325 { 8326 name=strNV.substr(0, iEq); 8327 if (iEq < strNV.length - 1) 8328 { 8329 value=MMU_DecVal(strNV.substr(iEq+1)); 8330 } 8331 else 8332 { 8333 value=""; 8334 } 8335 } 8336 MHash_Add(dictNV, name, value); 8337 } 8338 } 8339 return dictNV; 8340} 8341function MMU_ParseNVAttr(elem, attr) 8342{ 8343 var val=elem.getAttribute(attr); 8344 if (val==null && elem.childNodes.length > 0 && elem.childNodes[0].nodeType==1) 8345 { 8346 val=elem.childNodes[0].getAttribute(attr); 8347 } 8348 if (val==null) 8349 { 8350 return MHash_New(); 8351 } 8352 return MMU_ParseNV(val); 8353} 8354function MMU_ResetMenuState(menu, dis, hid, chk, tokval) 8355{ 8356 var i; 8357 for (i=0; i < menu.childNodes.length; i++) 8358 { 8359 var mnu=menu.childNodes[i];
8360 if (mnu.nodeType !=1) 8361 continue; 8362 var mnuId=mnu.getAttribute("id"); 8363 if ((mnu !=null) && (mnuId !=null) && (mnuId.length > 0)) 8364 { 8365 if (mnu.childNodes.length > 0) 8366 { 8367 MMU_ResetMenuState(mnu, dis, hid, chk, tokval); 8368 continue; 8369 } 8370 if (MHash_Exists(hid, mnuId)) 8371 { 8372 mnu.style.display="none"; 8373 } 8374 else 8375 { 8376 mnu.style.display=""; 8377 var enabledOverride=mnu.getAttribute("enabledOverride"); 8378 if ((enabledOverride !=null) && (enabledOverride.length >0)) 8379 { 8380 mnu.setAttribute("enabled", enabledOverride); 8381 } 8382 else 8383 { 8384 if (MHash_Exists(dis, mnuId)) 8385 { 8386 mnu.setAttribute("enabled", "false"); 8387 } 8388 else 8389 { 8390 mnu.setAttribute("enabled", "true"); 8391 if (MHash_Exists(chk, mnuId)) 8392 { 8393 mnu.setAttribute("checked", "true"); 8394 } 8395 else 8396 { 8397 mnu.setAttribute("checked", "false"); 8398 } 8399 } 8400 } 8401 } 8402 MMU_ReplTokValAttr(mnu, "onMenuClick", tokval); 8403 MMU_ReplTokValAttr(mnu, "text", tokval); 8404 MMU_ReplTokValAttr(mnu, "description", tokval); 8405 MMU_ReplTokValVal(mnu, tokval) 8406 } 8407 } 8408} 8409function MMU_ReplTokValAttr(elem, attr, tokval) 8410{ 8411 var val=elem.getAttribute(attr); 8412 var orig=elem.getAttribute(attr+"_Original"); 8413 if ((val !=null) && (orig==null) && (MHash_Count(tokval) > 0)) 8414 { 8415 elem.setAttribute(attr+"_Original", val); 8416 } 8417 else if ((val !=null) && (orig !=null) && (val !=orig)) 8418 { 8419 val=orig; 8420 } 8421 if ((val==null) || (val.length <=0)) 8422 { 8423 return; 8424 } 8425 var newVal=MMU_ReplTokVal(val, tokval); 8426 if (newVal !=val) 8427 { 8428 elem.setAttribute(attr, newVal); 8429 } 8430} 8431function MMU_ReplTokValVal(item, tokval) 8432{ 8433 if(item.nextSibling==null) 8434 { 8435 return; 8436 } 8437 var val=item.nextSibling.nodeValue; 8438 var orig=item.getAttribute("valOrig"); 8439 if ((val !=null) && (orig==null) && (MHash_Count(tokval) > 0)) 8440 { 8441 orig=val; 8442 item.setAttribute("valOrig", orig); 8443 } 8444 else if ((val !=null) && (orig !=null) && (val !=orig)) 8445 { 8446 val=orig; 8447 } 8448 var newVal=MMU_ReplTokVal(val, tokval); 8449 if ((val !=null) && (newVal !=null) && (newVal !=val)) 8450 { 8451 item.nextSibling.nodeValue=newVal; 8452 } 8453} 8454function MMU_ReplTokVal(toFix, tokval) 8455{ 8456 if ((toFix !=null) && (toFix.indexOf("%") >=0) && (tokval !=null) && (MHash_Count(tokval) > 0)) 8457 { 8458 var toks=MHash_Keys(tokval); 8459 var vals=MHash_Values(tokval); 8460 var i; 8461 for (i=0; i < toks.length; i++) 8462 { 8463 var tok=toks[i]; 8464 var val=vals[i]; 8465 toFix=toFix.replace("%"+tok+"%", val); 8466 } 8467 } 8468 return toFix; 8469} 8470var g_MMU_HighlightedEcbTable=null; 8471var g_MMU_HighlightedEcbTableOpen=null; 8472var g_MMU_OpenTimeoutHandle=null; 8473function MMU_Open(menu, ecbLink, e, fAlignRight, alignId, delay) 8474{ 8475 try 8476 { 8477 if ((menu==null) || (ecbLink==null)) 8478 { 8479 return; 8480 } 8481 if ((ecbLink.getAttribute("suppressBubbleIfPostback") !=null) && (e !=null) && (e.srcElement !=null) && (e.srcElement.href !=null) && 8482 (e.srcElement.href.substr(0, MMU_postbackPrefix.length)==MMU_postbackPrefix)) 8483 { 8484 event.cancelBubble=true; 8485 return; 8486 } 8487 ClearHighlightedEcbTableOpen(); 8488 if (fAlignRight==null) 8489 { 8490 fAlignRight=true; 8491 } 8492 MMU_ResetMenuState(menu, MMU_ParseNVAttr(ecbLink, "menuItemsDisabled"), MMU_ParseNVAttr(ecbLink, "menuItemsHidden"), 8493 MMU_ParseNVAttr(ecbLink, "menuItemsChecked"), MMU_ParseNVAttr(ecbLink, "menuTokenValues")); 8494 var elemAlign=null; 8495 if ((alignId !=null) && (alignId.length > 0)) 8496 { 8497 elemAlign=document.getElementById(alignId); 8498 } 8499 if (elemAlign==null) 8500 { 8501 elemAlign=document.getElementById(ecbLink.id+"_t"); 8502 } 8503 if (elemAlign==null) 8504 { 8505 elemAlign=ecbLink; 8506 } 8507 MMU_EcbHighlight(MMU_GetHighlightElement(ecbLink), true); 8508 var openMenuScript="MenuHtc_show(document.getElementById('"+menu.id+"'), document.getElementById('"+elemAlign.id+ "'), true, "+fAlignRight+", null);"; 8509 openMenuScript+="SetEcbMouseOutAndDestroy('"+menu.id+"');" 8510 if ((delay !=null) && (delay > 0)) 8511 { 8512 openMenuScript+=" g_MMU_OpenTimeoutHandle=null;"; 8513 g_MMU_OpenTimeoutHandle=window.setTimeout(openMenuScript, delay, "javascript"); 8514 } 8515 else 8516 { 8517 eval(openMenuScript); 8518 } 8519 if (e !=null) 8520 e.cancelBubble=true; 8521 } 8522 catch (ex) 8523 { 8524 alert(L_Loading_Error_Text); 8525 } 8526} 8527function SetEcbMouseOutAndDestroy(menuId) 8528{ 8529 if (g_MMU_HighlightedEcbTable !=null) 8530 { 8531 g_MMU_HighlightedEcbTable.onmouseout=null; 8532 g_MMU_HighlightedEcbTableOpen=g_MMU_HighlightedEcbTable; 8533 document.getElementById(menuId)._onDestroy=ClearHighlightedEcbTableOpen; 8534 } 8535} 8536function ClearHighlightedEcbTableOpen() 8537{ 8538 if (g_MMU_HighlightedEcbTableOpen !=null) 8539 { 8540 MMU_EcbHighlight(g_MMU_HighlightedEcbTableOpen, false); 8541 g_MMU_HighlightedEcbTableOpen=null; 8542 } 8543} 8544function MMU_EcbLinkOnFocusBlurDeferCall(menu, ecbLink, fOnFocus) 8545{ 8546 if (fOnFocus) 8547 {
8548 ecbLink.onblur=fOnFocus ? new Function("MMU_EcbLinkOnFocusBlurDeferCall(null, this, false)") : null; 8549 } 8550 if (g_MMU_HighlightedEcbTableOpen !=null) 8551 return; 8552 var ecbTable=document.getElementById(ecbLink.id+"_t"); 8553 if (ecbTable !=null) 8554 { 8555 MMU_EcbHighlight(ecbTable, fOnFocus); 8556 } 8557} 8558function MMU_EcbLinkOnKeyDown(menu, ecbLink, e) 8559{ 8560 if (e==null) 8561 { 8562 e=window.event; 8563 if (e==null) 8564 return; 8565 } 8566 var hasHref=((ecbLink.href !=null) && (ecbLink.href.length > 0)); 8567 if (((e.shiftKey || !hasHref) && (GetEventKeyCode(e)==13)) || ((e.altKey) && (GetEventKeyCode(e)==40))) 8568 { 8569 var image=byid(ecbLink.id+"_ti"); 8570 if(image==null) 8571 { 8572 var serverClientId=ecbLink.getAttribute("serverclientid"); 8573 if ((serverClientId !=null) && (serverClientId.length > 0)) 8574 { 8575 image=byid(serverClientId+"_ti"); 8576 } 8577 } 8578 if (image !=null) 8579 { 8580 image.click(); 8581 } 8582 else 8583 { 8584 ecbLink.click(); 8585 } 8586 return false; 8587 } 8588 else 8589 { 8590 return true; 8591 } 8592} 8593function MMU_EcbTableMouseOverOutDeferCall(ecbTable, fMouseOver) 8594{ 8595 if (fMouseOver) 8596 { 8597 if (ecbTable==g_MMU_HighlightedEcbTableOpen) 8598 { 8599 return; 8600 } 8601 ecbTable.onmouseout=fMouseOver ? new Function("MMU_EcbTableMouseOverOut(this, false)") : null; 8602 } 8603 MMU_EcbHighlight(ecbTable, fMouseOver); 8604} 8605function MMU_EcbHighlight(ecbTable, fHighlight) 8606{ 8607 if ((ecbTable==null) && (!fHighlight)) 8608 { 8609 ecbTable=g_MMU_HighlightedEcbTableOpen; 8610 } 8611 if (ecbTable==null) 8612 { 8613 return; 8614 } 8615 if (fHighlight==null) 8616 { 8617 fHighlight=false; 8618 } 8619 var hoverActive=ecbTable.getAttribute("hoverActive"); 8620 var hoverInactive=ecbTable.getAttribute("hoverInactive"); 8621 if ((hoverActive==null)) 8622 { 8623 hoverActive="ms-selectedtitle"; 8624 } 8625 if ((hoverInactive==null)) 8626 { 8627 hoverInactive="ms-unselectedtitle"; 8628 } 8629 if (fHighlight) 8630 { 8631 ecbTable.className=hoverActive; 8632 g_MMU_HighlightedEcbTable=ecbTable; 8633 } 8634 else 8635 { 8636 ecbTable.className=hoverInactive; 8637 } 8638 var menuFormat=ecbTable.getAttribute("menuformat"); 8639 var imageCell=document.getElementById(ecbTable.id+"i"); 8640 if (imageCell !=null && menuFormat!=null && menuFormat=="ArrowOnHover") 8641 { 8642 imageCell.style.visibility=fHighlight ? "visible" : "hidden"; 8643 } 8644 if (!fHighlight) 8645 { 8646 g_MMU_HighlightedEcbTable=null; 8647 } 8648} 8649function MMU_PopMenuIfShowingDeferCall(menuElement) 8650{ 8651 if (!IsAccessibilityFeatureEnabledProxy() && g_menuHtc_lastMenu) 8652 { 8653 var menuType=g_menuHtc_lastMenu.getAttribute("type"); 8654 if (menuType && menuType=="ServerMenu") 8655 menuElement.onclick(); 8656 } 8657} 8658function MMU_HandleArrowSplitButtonKeyDown(e, id, a ,t) 8659{ 8660 if (!e.shiftKey && 8661 !e.altKey && 8662 !e.ctrlKey && 8663 (GetEventKeyCode(e)==13)) 8664 { 8665 t.parentNode.click(); 8666 return; 8667 } 8668 return MMU_EcbLinkOnKeyDown(byid(id), a, e); 8669} 8670function MMU_GetHighlightElement(elem) 8671{ 8672 var highlightElement=null 8673 highlightElement=document.getElementById(elem.id+"_t"); 8674 if (highlightElement !=null) 8675 return highlightElement; 8676 else 8677 return elem; 8678} 8679function MMU_GetMenuFromClientId(clientId) 8680{ 8681 return document.getElementById(clientId); 8682} 8683var g_MMU_theFormActionAtPageLoad=null; 8684var g_MMU_theFormActionAtPreMenuOpen=null; 8685var g_MMU_Form0ActionAtPageLoad=null; 8686var g_MMU_Form0ActionAtPreMenuOpen=null; 8687function MMU_CallbackPreMenuOpen(templateClientId, menuClientId, callbackEventReference, timeoutLength, timeoutMessage, e) 8688{ 8689 try 8690 { 8691 g_MMU_theFormActionAtPreMenuOpen=(theForm !=null ? theForm.action : "null"); 8692 g_MMU_Form0ActionAtPreMenuOpen=(document.forms !=null && document.forms.length > 0 ? document.forms[0].action : "null"); 8693 var menuTemplate=document.getElementById(templateClientId); 8694 var menuLink=document.getElementById(menuClientId); 8695 if ((menuLink.getAttribute("suppressBubbleIfPostback") !=null) && (e !=null) && (e.srcElement !=null) && (e.srcElement.href !=null) && 8696 (e.srcElement.href.substr(0, MMU_postbackPrefix.length)==MMU_postbackPrefix)) 8697 { 8698 event.cancelBubble=true; 8699 return; 8700 } 8701 MMU_StopPendingTimerEventsFromCallback(); 8702 MMU_RemoveCallbackItemsFromMenuTemplate(menuTemplate); 8703 var menu=document.getElementById(menuClientId); 8704 menu.setAttribute("callbackInProgress", "true"); 8705 var loadingMessageMenuItem=CAMOpt(menuTemplate, L_Loading_Text, "null"); 8706 loadingMessageMenuItem.setAttribute("callbackitem", "true"); 8707 loadingMessageMenuItem.setAttribute("enabled", "false"); 8708 var callbackContext=templateClientId+";"+menuClientId+";"+timeoutMessage.replace(/;/g, "%semi%").replace(/\'/g, "%quot%"); 8709 callbackEventReference=callbackEventReference.replace(/__CALLBACKCONTEXT__/g, callbackContext); 8710 eval(callbackEventReference); 8711 g_MMU_RequestTimeoutTimeoutHandle=window.setTimeout("MMU_CallbackErrHandler('timeout', '"+callbackContext+"')", timeoutLength, "javascript"); 8712 } 8713 catch (ex) 8714 { 8715 alert(L_Loading_Error_Text); 8716 } 8717} 8718var g_MMU_RequestTimeoutTimeoutHandle=null; 8719function MMU_RemoveCallbackItemsFromMenuTemplate(menuTemplate) 8720{ 8721 try 8722 { 8723 for (var menuChildIndex=0; menuChildIndex < menuTemplate.childNodes.length; menuChildIndex++) 8724 { 8725 var menuChild=menuTemplate.childNodes[menuChildIndex]; 8726 if ((menuChild.nodeType==1) && (menuChild.getAttribute("callbackitem")=="true")) 8727 { 8728 menuTemplate.removeChild(menuChild); 8729 --menuChildIndex; 8730 } 8731 } 8732 } 8733 catch (ex) 8734 { 8735 alert(L_Loading_Error_Text); 8736 } 8737}
8738function MMU_StopPendingTimerEventsFromCallback() 8739{ 8740 if (g_MMU_OpenTimeoutHandle !=null) 8741 { 8742 window.clearTimeout(g_MMU_OpenTimeoutHandle); 8743 g_MMU_OpenTimeoutHandle=null; 8744 } 8745 if (g_MMU_RequestTimeoutTimeoutHandle !=null) 8746 { 8747 window.clearTimeout(g_MMU_RequestTimeoutTimeoutHandle); 8748 g_MMU_RequestTimeoutTimeoutHandle=null; 8749 } 8750} 8751function MMU_UpdateMenuTemplateWithErrorItem(menuTemplate, errorString) 8752{ 8753 MMU_RemoveCallbackItemsFromMenuTemplate(menuTemplate); 8754 var errorMenuItem=CAMOpt(menuTemplate, errorString, "null"); 8755 loadingMessageMenuItem.setAttribute("callbackitem", "true"); 8756 loadingMessageMenuItem.setAttribute("enabled", "false"); 8757} 8758function MMU_UpdateOpenedMenuWithErrorItem(menu, menuTemplate, errorString) 8759{ 8760 MMU_UpdateMenuTemplateWithErrorItem(menuTemplate, errorString); 8761 HideMenu(menuTemplate); 8762 MMU_Open(menuTemplate, menu); 8763} 8764function MMU_CallbackHandler(result, contextString) 8765{ 8766 { 8767 MMU_StopPendingTimerEventsFromCallback(); 8768 var context=MMU_ParseContext(contextString); 8769 var menuTemplate=document.getElementById(context.TemplateClientId); 8770 if (menuTemplate==null) { alert(L_Loading_Error_Text); return; } 8771 var menu=document.getElementById(context.MenuClientId); 8772 if (menu==null) { alert(L_Loading_Error_Text); return; } 8773 var disabledIds=""; 8774 var hiddenIds=""; 8775 var checkedIds=""; 8776 var tokensAndValues=""; 8777 var menuItemsHtml=""; 8778 var parts=result.split(MMU_chDelim); 8779 if ((parts==null) || (parts.length !=5)) 8780 { 8781 menuItemsHtml=MMU_GenerateErrorMenuItem(L_Loading_Error_Text); 8782 } 8783 else 8784 { 8785 var re=new RegExp(MMU_chDelimEnc,"g"); 8786 disabledIds=parts[0].replace(re, MMU_chDelim); 8787 hiddenIds=parts[1].replace(re, MMU_chDelim); 8788 checkedIds=parts[2].replace(re, MMU_chDelim); 8789 tokensAndValues=parts[3].replace(re, MMU_chDelim); 8790 menuItemsHtml=parts[4].replace(re, MMU_chDelim); 8791 } 8792 menu.setAttribute("menuItemsDisabled", disabledIds); 8793 menu.setAttribute("menuItemsHidden", hiddenIds); 8794 menu.setAttribute("menuItemsChecked", checkedIds); 8795 menu.setAttribute("menuTokenValues", tokensAndValues); 8796 MMU_RemoveCallbackItemsFromMenuTemplate(menuTemplate); 8797 menuTemplate.innerHTML=menuTemplate.innerHTML+menuItemsHtml; 8798 HideMenu(menuTemplate); 8799 MMU_Open(menuTemplate, menu); 8800 menu.setAttribute("callbackInProgress", ""); 8801 } 8802 { 8803 } 8804} 8805function MMU_CallbackErrHandler(result, contextString) 8806{ 8807 try 8808 { 8809 alert(L_Loading_Error_Text); 8810 var context=MMU_ParseContext(contextString); 8811 var menuTemplate=document.getElementById(context.TemplateClientId); 8812 if (menuTemplate==null) { alert(L_Loading_Error_Text); return; } 8813 var menu=document.getElementById(context.MenuClientId); 8814 if (menu==null) { alert(L_Loading_Error_Text); return; } 8815 menu.setAttribute("callbackInProgress", ""); 8816 var errorMessage=L_Loading_Error_Text; 8817 if ((result=="timeout") && (context.TimeoutMessage !=null) && (context.TimeoutMessage.length > 0)) 8818 { 8819 errorMessage=context.TimeoutMessage; 8820 } 8821 MMU_UpdateOpenedMenuWithErrorItem(menu, menuTemplate, errorMessage); 8822 ; 8823 } 8824 catch (ex) 8825 { 8826 alert(L_Loading_Error_Text); 8827 } 8828} 8829function MMU_ParseContext(contextString) 8830{ 8831 try 8832 { 8833 var context=new Object(); 8834 var values=contextString.split(';'); 8835 context.TemplateClientId=values[0]; 8836 context.MenuClientId=values[1]; 8837 context.TimeoutMessage=values[2].replace(/%semi%/g, ";").replace(/%quot%/g, "\'"); 8838 return context; 8839 } 8840 catch (ex) 8841 { 8842 alert(L_Loading_Error_Text); 8843 } 8844} 8845var L_NewFormLibTb3_Text="The document(s) could not be merged.\nThe required application may not be installed properly, or the template for this document library cannot be opened.\n\nPlease try the following:\n1. Check the General Settings for this document library for the name of the template, and install the application necessary for opening the template. If the application was set to install on first use, run the application and then try creating a new document again.\n\n2. If you have permission to modify this document library, go to General Settings for the library and configure a new template."; 8846var L_NewFormLibTb4_Text="Select the document(s) you want to merge, and then click 'Merge Selected Documents' on the toolbar."; 8847function combineDocuments(strProgID, strTemplate, strSaveLocation) 8848{ 8849 fNewDoc=false; 8850 { 8851 if ((browseris.w3c) && (!browseris.ie)) 8852 document.all=document.getElementsByTagName("*"); 8853 var fSelectionError=true; 8854 var strTemplateUrl; 8855 var strProgID2; 8856 try 8857 { 8858 var chkCombineCollection=document.all.chkCombine; 8859 for (i=0; fSelectionError && i<chkCombineCollection.length; i++) 8860 if (chkCombineCollection[i].checked && fSelectionError) 8861 { 8862 fSelectionError=false; 8863 strTemplateUrl=document.all.chkUrl[i].HREF; 8864 strProgID2=document.all.chkProgID[i].HREF; 8865 } 8866 } 8867 catch(ex) 8868 { 8869 } 8870 try 8871 { 8872 if (fSelectionError && document.all.chkCombine.checked) 8873 { 8874 fSelectionError=false; 8875 strTemplateUrl=document.all.chkUrl.HREF; 8876 strProgID2=document.all.chkProgID.HREF; 8877 } 8878 } 8879 catch(ex) 8880 { 8881 } 8882 if (!fSelectionError) 8883 { 8884 var bSuccess=false; 8885 try 8886 { 8887 NewDocumentButton=new ActiveXObject(strProgID2); 8888 fNewDoc=NewDocumentButton !=null; 8889 } 8890 catch(ex) 8891 { 8892 } 8893 if (!fNewDoc) 8894 alert(L_NewFormLibTb3_Text); 8895 else 8896 { 8897 try 8898 {
8899 bSuccess=NewDocumentButton.MergeDocuments(strTemplateUrl, document.all.chkCombine, makeAbsUrl(strSaveLocation)); 8900 } 8901 catch(e) 8902 { 8903 } 8904 if (!bSuccess) 8905 alert(L_NewFormLibTb3_Text); 8906 else 8907 window.onfocus=RefreshOnFocus; 8908 } 8909 } 8910 else 8911 alert(L_NewFormLibTb4_Text); 8912 } 8913} 8914var L_NewFormLibTb5_Text="Select the document(s) you want to relink, and then click 'Relink Selected Documents' on the toolbar."; 8915var L_NewFormLibTb6_Text="Only 500 documents can be relinked at a time. Modify your selection and then try again."; 8916function repairLinks(strRootFolder, strList, strVDir) 8917{ 8918 if ((browseris.w3c) && (!browseris.ie)) 8919 document.all=document.getElementsByTagName("*"); 8920 var cntChecked=0; 8921 var inputSubmitRepairDocs=document.all.SubmitRepairDocs; 8922 inputSubmitRepairDocs.value=""; 8923 var inputs=document.getElementsByTagName('input'); 8924 for (var i=0; i < inputs.length; i++) 8925 { 8926 if (inputs[i].id=='chkRepair') 8927 { 8928 if (inputs[i].checked) 8929 { 8930 inputSubmitRepairDocs.value+=inputs[i].getAttribute('docID'); 8931 inputSubmitRepairDocs.value+=" "; 8932 cntChecked++; 8933 } 8934 } 8935 } 8936 if (cntChecked > 0 && cntChecked <=500) 8937 { 8938 document.all.SubmitRepairRedirectList.value=strList; 8939 document.all.SubmitRepairRedirectFolder.value=strRootFolder; 8940 document.all.SubmitRepairDocsForm.action=strVDir+"/submitrepair.aspx"; 8941 document.all.SubmitRepairDocsForm.submit(); 8942 } 8943 else 8944 alert(cntChecked==0 ? L_NewFormLibTb5_Text : L_NewFormLibTb6_Text); 8945} 8946function NavigateToManageCopiesPage(strHttpRoot, strFileRef) 8947{ 8948 STSNavigate(strHttpRoot+"/_layouts"+ "/managecopies.aspx?ItemUrl="+strFileRef+ "&Source="+GetSource()); 8949} 8950var L_ViewVersion_Text="View"; 8951var L_RestoreVersion_Text="Restore"; 8952var L_DeleteVersion_Text="Delete"; 8953var L_DenyVersion_Text="Reject this version"; 8954var L_UnPublishVersion_Text="Unpublish this version"; 8955function AddVersionMenuItemsCore(m, ctx) 8956{ 8957 if (currentItemID !=null) 8958 { 8959 var strCurrentItemID=currentItemID.toString(); 8960 if (strCurrentItemID.indexOf(".0.") >=0 ) 8961 return; 8962 } 8963 if (!HasRights(0x0, 0x40)) 8964 return; 8965 var menuOption; 8966 var IsCurrent=itemTable.getAttribute("isCur"); 8967 var iLevel=itemTable.getAttribute("Level"); 8968 var canViewProperty=itemTable.getAttribute("canViewProperty"); 8969 if (currentItemFSObjType==null) 8970 currentItemFSObjType=GetAttributeFromItemTable(itemTable, "OType", "FSObjType"); 8971 if (canViewProperty !="0") 8972 { 8973 menuOption=CAMOpt(m, L_ViewVersion_Text, "javascript:ViewVersion()", ""); 8974 menuOption.id="ID_ViewVersion"; 8975 } 8976 if (HasRights(0x0, 0x4)) 8977 { 8978 menuOption=CAMOpt(m, L_RestoreVersion_Text, "javascript:RestoreVersion()", ""); 8979 menuOption.id="ID_RestoreVersion"; 8980 } 8981 if (HasRights(0x0, 0x80) && IsCurrent !="1") 8982 { 8983 menuOption=CAMOpt(m, L_DeleteVersion_Text, "javascript:DeleteVersion()", ""); 8984 menuOption.id="ID_DeleteVersion"; 8985 } 8986 if (HasRights(0x0, 0x10) && HasRights(0x0, 0x4)) 8987 { 8988 if ((ctx.isModerated || ctx.EnableMinorVersions) && (currentItemFSObjType !=1) && 8989 (iLevel==1 && IsCurrent=="1")) 8990 { 8991 var menustring=L_DenyVersion_Text; 8992 if (ctx.EnableMinorVersions) 8993 menustring=L_UnPublishVersion_Text; 8994 menuOption=CAMOpt(m, menustring, "javascript:TakeOfflineVersion()", ""); 8995 menuOption.id="ID_TakeOfflineVersion"; 8996 } 8997 } 8998} 8999function ViewVersion() 9000{ 9001 if (! IsContextSet()) 9002 return; 9003 STSNavigate(itemTable.getAttribute("verUrl")); 9004} 9005var L_Version_Restore_Confirm_Text="You are about to replace the current version with the selected version."; 9006var L_Version_RestoreVersioningOff_Confirm_Text="Versioning is currently disabled. As a result, you are about to overwrite the current version. All changes to this version will be lost."; 9007var L_Version_NoRestore_Current_ERR="Cannot restore the current version."; 9008function RestoreVersion() 9009{ 9010 if (! IsContextSet()) 9011 return; 9012 var ctx=currentCtx; 9013 if (itemTable.getAttribute("isMostCur") !="0") 9014 { 9015 alert(L_Version_NoRestore_Current_ERR); 9016 } 9017 else 9018 { 9019 var path=ctx.HttpPath+"&op=Restore&ver="+itemTable.getAttribute("verId") 9020 if (confirm(ctx.verEnabled ? L_Version_Restore_Confirm_Text : L_Version_RestoreVersioningOff_Confirm_Text)) 9021 { 9022 SubmitFormPost(path); 9023 } 9024 } 9025} 9026var L_Version_NoOffline_NonCurrent_ERR="You can only take offline the current published or approved version"; 9027var L_Version_unpublish_Confirm_Text="Are you sure you want to unpublish this version of the document?"; 9028var L_Version_deny_Confirm_Text="Are you sure you want to deny this version of the document?"; 9029function TakeOfflineVersion() 9030{ 9031 if (! IsContextSet()) 9032 return; 9033 var ctx=currentCtx; 9034 var confrimstr=L_Version_deny_Confirm_Text; 9035 if (ctx.EnableMinorVersions) 9036 confrimstr=L_Version_unpublish_Confirm_Text 9037 if (itemTable.getAttribute("isCur") !="1" || itemTable.getAttribute("Level") !=1) 9038 { 9039 alert(L_Version_NoOffline_NonCurrent_ERR); 9040 } 9041 else if (confirm(confrimstr)) 9042 { 9043 SubmitFormPost(ctx.HttpPath+"&op=TakeOffline"); 9044 } 9045} 9046var L_Version_Delete_Confirm_Text="Are you sure you want to delete this version?"; 9047var L_Version_Recycle_Confirm_Text="Are you sure you want to send this version to the site Recycle Bin?";
9048var L_Version_NoDelete_Current_ERR="You cannot delete the current checked in version, major version, or approved version."; 9049function DeleteVersion() 9050{ 9051 if (! IsContextSet()) 9052 return; 9053 var ctx=currentCtx; 9054 if (itemTable.getAttribute("isCur") !="0") 9055 { 9056 alert(L_Version_NoDelete_Current_ERR); 9057 } 9058 else 9059 { 9060 var path=ctx.HttpPath+"&op=Delete&ver="+itemTable.getAttribute("verId"); 9061 if (confirm(ctx.RecycleBinEnabled ? L_Version_Recycle_Confirm_Text : L_Version_Delete_Confirm_Text)) 9062 { 9063 SubmitFormPost(path); 9064 } 9065 } 9066} 9067var L_Version_DeleteAll_Confirm_Text="Are you sure you want to delete all previous versions associated with this file?"; 9068var L_Version_RecycleAll_Confirm_Text="Are you sure you want to send all previous versions associated with this file to the site Recycle Bin?"; 9069var L_Version_DeleteAllMinor_Confirm_Text="Are you sure you want to delete all previous draft versions of this file?"; 9070var L_Version_RecycleAllMinor_Confirm_Text="Are you sure you want to send all previous draft versions of this file to the site Recycle Bin?"; 9071var L_Version_NoDeleteAll_None_ERR="There are no previous versions to delete."; 9072function DeleteAllVersions(nVers, ctx) 9073{ 9074 if (nVers <=1) 9075 { 9076 alert(L_Version_NoDeleteAll_None_ERR); 9077 } 9078 else 9079 { 9080 if (confirm(ctx.RecycleBinEnabled ? L_Version_RecycleAll_Confirm_Text : L_Version_DeleteAll_Confirm_Text)) 9081 { 9082 SubmitFormPost(ctx.HttpPath+"&op=DeleteAll"); 9083 } 9084 } 9085} 9086function DeleteAllMinorVersions(nVers, ctx) 9087{ 9088 if (nVers <=1) 9089 { 9090 alert(L_Version_NoDeleteAll_None_ERR); 9091 } 9092 else if (confirm(ctx.RecycleBinEnabled ? L_Version_RecycleAllMinor_Confirm_Text : L_Version_DeleteAllMinor_Confirm_Text)) 9093 { 9094 SubmitFormPost(ctx.HttpPath+"&op=DeleteAllMinor"); 9095 } 9096} 9097function EditInGrid(using, viewguid) 9098{ 9099 EnsureListControl(); 9100 if (fListControl) 9101 { 9102 encViewId=escapeProperly(viewguid); 9103 strDocUrl=using+"?ShowInGrid=True&View="+encViewId; 9104 pageView=GetUrlKeyValue("PageView", true); 9105 if (pageView !="") 9106 { 9107 strDocUrl=strDocUrl+"&PageView="+pageView; 9108 } 9109 showWebPart=GetUrlKeyValue("ShowWebPart", true); 9110 if (showWebPart !="") 9111 { 9112 strDocUrl=strDocUrl+"&ShowWebPart="+showWebPart; 9113 } 9114 viewId=GetUrlKeyValue("View", true); 9115 if ((viewId.toUpperCase()==viewguid.toUpperCase()) || (viewId.toUpperCase()==encViewId.toUpperCase())) 9116 { 9117 rootFolder=GetUrlKeyValue("RootFolder", true); 9118 if (rootFolder !="") 9119 { 9120 strDocUrl=strDocUrl+"&RootFolder="+rootFolder; 9121 } 9122 } 9123 SubmitFormPost(strDocUrl); 9124 } 9125 else 9126 { 9127 if (!fListErrorShown) 9128 { 9129 alert(L_EditInGrid_Text); 9130 fListErrorShown=true; 9131 } 9132 } 9133} 9134function ExitGrid(using) 9135{ 9136 var strDocUrl; 9137 var pageView; 9138 var viewId; 9139 var rootFolder; 9140 strDocUrl=using; 9141 pageView=GetUrlKeyValue("PageView", true); 9142 viewId=GetUrlKeyValue("View", true); 9143 if (viewId !="") 9144 { 9145 strDocUrl=strDocUrl+"?View="+viewId; 9146 rootFolder=GetUrlKeyValue("RootFolder", true); 9147 if (rootFolder !="") 9148 { 9149 strDocUrl=strDocUrl+"&RootFolder="+rootFolder; 9150 } 9151 if (pageView !="") 9152 { 9153 strDocUrl=strDocUrl+"&PageView="+pageView; 9154 } 9155 showWebPart=GetUrlKeyValue("ShowWebPart", true); 9156 if (showWebPart !="") 9157 { 9158 strDocUrl=strDocUrl+"&ShowWebPart="+showWebPart; 9159 } 9160 strDocUrl=strDocUrl+"&ShowInGrid=HTML"; 9161 } 9162 else 9163 { 9164 strDocUrl=strDocUrl+"?ShowInGrid=HTML"; 9165 if (pageView !="") 9166 { 9167 strDocUrl=strDocUrl+"&PageView="+pageView; 9168 } 9169 showWebPart=GetUrlKeyValue("ShowWebPart", true); 9170 if (showWebPart !="") 9171 { 9172 strDocUrl=strDocUrl+"&ShowWebPart="+showWebPart; 9173 } 9174 } 9175 SubmitFormPost(strDocUrl); 9176} 9177
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.