home *** CD-ROM | disk | FTP | other *** search
- var _oSelectedItem = null;
- var _szTempFile = null;
- var _bHaveTemp = false;
- var _szPictureSource = null;
- var _oWIA = null;
- function PageInit()
- {
- var oUser = top.window.g_oSelectedUser;
- var bSelf = top.window.IsSelf();
- top.window.PopulateLeftPane(bSelf ? idRelatedTaskContent.innerHTML : null, idLearnAboutContent.innerHTML, idPreview.innerHTML);
- top.window.idPicture.src = oUser.setting("Picture");
- _szPictureSource = oUser.setting("PictureSource");
- if (_szPictureSource)
- {
- if (0 == _szPictureSource.length)
- _szPictureSource = null;
- else
- _szPictureSource = _szPictureSource.toLowerCase();
- }
- var szTitle = bSelf ? idPageTitle.innerHTML : idAltPageTitle.innerHTML;
- idPageTitle.innerHTML = szTitle.replace(/%1/g, top.window.GetUserDisplayName(oUser));
- idWelcome.ttText = top.window.L_Welcome_ToolTip;
- EnumPics(top.window.GetShell().NameSpace(35).Self.Path + "\\Microsoft\\User Account Pictures\\Default Pictures");
- window.setTimeout("InitCameraLink();", 0);
- idPictures.focus();
- }
- function ApplyPictureChange2(szPicture)
- {
- var oUser = top.window.g_oSelectedUser;
- if (unescape(szPicture) != oUser.setting("Picture"))
- {
- try
- {
- oUser.setting("Picture") = szPicture;
- top.window.g_Navigator.navigate("mainpage.htm", true);
- }
- catch (error)
- {
- var nErr = (error.number & 0x7fffffff);
- if (nErr == 87 || nErr == 0x70057 || nErr == 0xA0005 || nErr == 0x4005)
- {
- alert(top.window.L_UnknownImageType_ErrorMessage);
- return false;
- }
- else
- throw error;
- }
- }
- return true;
- }
- function ApplyPictureChange()
- {
- if (_oSelectedItem)
- ApplyPictureChange2(_oSelectedItem.firstChild.src);
- }
- function SelectItem(oItem)
- {
- if (_oSelectedItem)
- {
- _oSelectedItem.selected = false;
- _oSelectedItem.tabIndex = -1;
- }
- oItem.selected = true;
- oItem.tabIndex = 0;
- _oSelectedItem = oItem;
- }
- function OnClickPicture()
- {
- SelectItem(this);
- idOK.disabled = false;
- event.cancelBubble = true;
- }
- function DeselectItem()
- {
- if (_oSelectedItem)
- {
- _oSelectedItem.selected = false;
- _oSelectedItem = null;
- }
- idOK.disabled = true;
- }
- function OnLoadError(img)
- {
- img.parentElement.style.display = 'none';
- }
- function OnKeyDown()
- {
- if (event.keyCode >= 37 && event.keyCode <= 40)
- {
- var cx = this.offsetWidth;
- var cy = this.offsetHeight;
- var x = this.offsetLeft + (cx/2);
- var y = this.offsetTop + (cy/2);
- switch (event.keyCode)
- {
- case 37:
- x -= cx;
- if (x < idPictures.scrollLeft)
- idPictures.scrollLeft -= cx;
- break;
- case 38:
- y -= cy;
- if (y < idPictures.scrollTop)
- idPictures.scrollTop -= cy;
- break;
- case 39:
- x += cx;
- if (x - idPictures.scrollLeft > idPictures.offsetWidth)
- idPictures.scrollLeft += cx;
- break;
- case 40:
- y += cy;
- if (y - idPictures.scrollTop > idPictures.offsetHeight)
- idPictures.scrollTop += cy;
- break;
- }
- var oTarget = document.elementFromPoint(idPictures.offsetLeft - idPictures.scrollLeft + x, idPictures.offsetTop - idPictures.scrollTop + y);
- if (oTarget != null && idPictures.contains(oTarget) && idPictures != oTarget)
- {
- if (oTarget.tagName == "IMG")
- oTarget = oTarget.parentElement;
- if (oTarget != this)
- {
- this.tabIndex = -1;
- oTarget.tabIndex = 0;
- oTarget.focus();
- event.returnValue = false;
- }
- }
- }
- else if (event.keyCode == 27)
- {
- event.returnValue = false;
- }
- }
- function AddPictureToList(oItem, szID, bNoDimensions)
- {
- if (!oItem)
- return;
- var span = document.createElement('<SPAN tabindex=-1 class="Selectable" paddingWidth=3 borderWidth=3></SPAN>');
- if (span)
- {
- span.onclick = OnClickPicture;
- span.ondblclick = ApplyPictureChange;
- span.onkeydown=OnKeyDown;
- span.title = oItem.name;
- if (szID)
- span.id = szID;
- span.innerHTML = '<IMG onerror="OnLoadError(this);"/>';
- if (true != bNoDimensions)
- span.firstChild.className = "PictureSize";
- idPictures.appendChild(span);
- var szPath = oItem.path;
- span.firstChild.src = "file:///" + szPath;
- span.firstChild.alt = oItem.name;
- if (_szPictureSource && _szPictureSource == szPath.toLowerCase() && span.style.display != 'none')
- SelectItem(span);
- }
- }
- function EnumPics(szFolder)
- {
- var oShell = top.window.GetShell();
- if (oShell)
- {
- var oFolder = oShell.Namespace(szFolder);
- if (oFolder)
- {
- var oFolderItems = oFolder.Items();
- if (oFolderItems)
- {
- var cItems = oFolderItems.count;
- for (var i = 0; i < cItems; i++)
- AddPictureToList(oFolderItems.Item(i));
- }
- }
- if (_szPictureSource && !_oSelectedItem)
- {
- AddPictureToList(oShell.Namespace(0).ParseName(top.window.idPicture.src), null, true);
- SelectItem(idPictures.lastChild);
- }
- if (!_oSelectedItem && idPictures.firstChild)
- idPictures.firstChild.tabIndex = 0;
- }
- }
- function SetTempPicture(szPath)
- {
- var szPrevious = null;
- if (!_bHaveTemp)
- {
- AddPictureToList(top.window.GetShell().Namespace(0).ParseName(szPath), "idTempPicture");
- _bHaveTemp = true;
- }
- else
- {
- idTempPicture.style.display = 'block';
- var img = idTempPicture.firstChild;
- szPrevious = img.src;
- img.src = "file:///" + szPath;
- }
- if (idTempPicture.style.display == 'none')
- {
- if (szPrevious)
- {
- idTempPicture.style.display = 'block';
- idTempPicture.firstChild.src = szPrevious;
- }
- alert(top.window.L_UnknownImageType_ErrorMessage);
- }
- else
- idTempPicture.click();
- }
- function FindOtherPictures()
- {
- try
- {
- var commDialog = new ActiveXObject("UserAccounts.CommonDialog");
- commDialog.Flags = 0x02001804;
- commDialog.Filter = L_OpenFilesFilter_Text;
- commDialog.FilterIndex = 1;
- commDialog.Owner = top.window.document.title;
- var szPath = top.window.g_szCustomPicturePath;
- if (szPath)
- commDialog.FileName = szPath;
- try
- {
- commDialog.InitialDir = top.window.GetShell().NameSpace(39).Self.Path;
- }
- catch (e)
- {
- commDialog.InitialDir = "";
- }
- if (commDialog.ShowOpen())
- {
- szPath = commDialog.FileName;
- if (ApplyPictureChange2(szPath))
- top.window.g_szCustomPicturePath = szPath;
- }
- }
- catch (error)
- {
- idBrowse.disabled = 'true';
- }
- }
- function InitCameraLink()
- {
- var bCamera = false;
- try
- {
- _oWIA = new ActiveXObject("Wia.Script");
- bCamera = (_oWIA.Devices.length > 0);
- }
- catch (e)
- {
- }
- if (bCamera)
- {
- _szTempFile = top.window.GetWShell().ExpandEnvironmentStrings("%TEMP%\\") + top.window.GetUserDisplayName(top.window.g_oSelectedUser) + ".bmp";
- idTakeAPicture.style.display = 'block';
- }
- else
- idTakeAPicture.removeNode(true);
- }
- function TakeAPicture()
- {
- try
- {
- var oItem = _oWIA.Create(null);
- if (oItem)
- {
- var oNewPictures = oItem.GetItemsFromUI(2,1);
- if (oNewPictures && oNewPictures.length > 0)
- {
- oNewPictures.Item(0).Transfer(_szTempFile, false);
- SetTempPicture(_szTempFile);
- }
- }
- }
- catch (error)
- {
- var nErr = (error.number & 0xffffff);
- if (nErr == 0x210015 || nErr == 0x210005)
- alert(top.window.L_NoCamera_ErrorMessage);
- else
- throw error;
- }
- }
- function onUnLoad()
- {
- if (_szTempFile)
- {
- }
- }
-