[Picfinity-commit] SF.net SVN: picfinity: [46] trunk/.themes/ajax/ajax.js
Status: Beta
Brought to you by:
espadav8
|
From: <esp...@us...> - 2007-08-18 20:31:36
|
Revision: 46
http://picfinity.svn.sourceforge.net/picfinity/?rev=46&view=rev
Author: espadav8
Date: 2007-08-18 13:31:22 -0700 (Sat, 18 Aug 2007)
Log Message:
-----------
Remove some completely unneeded code from the createExpandedImage function
Modified Paths:
--------------
trunk/.themes/ajax/ajax.js
Modified: trunk/.themes/ajax/ajax.js
===================================================================
--- trunk/.themes/ajax/ajax.js 2007-08-18 18:55:16 UTC (rev 45)
+++ trunk/.themes/ajax/ajax.js 2007-08-18 20:31:22 UTC (rev 46)
@@ -72,12 +72,12 @@
{
return xmlDoc.getElementById(elementID);
}
-
+
// this is the next best way, but only Firefox and Opera support this at the moment
else if (document.createTreeWalker)
{
var nodes = document.createTreeWalker(xmlDoc.documentElement, NodeFilter.SHOW_ELEMENT, null, false);
-
+
while ((node = nodes.nextNode()) != null)
{
if (node.getAttribute("id") == elementID)
@@ -90,14 +90,14 @@
}
}
}
-
+
// this is possibly the worse way, and it's still not supported by Safari
else
{
// this causes a problem with Safari
// xmlDocFolders.length == 0
var xmlDocFolders = xmlDoc.getElementsByTagName("folder");
-
+
for (var i = 0; i < xmlDocFolders.length; i++)
{
if (xmlDocFolders[i].getAttribute("id") == elementID)
@@ -105,9 +105,9 @@
return xmlDocFolders[i];
}
}
-
+
var xmlDocImages = xmlDoc.getElementsByTagName("image");
-
+
for (var i = 0; i < xmlDocImages.length; i++)
{
if (xmlDocImages[i].getAttribute("id") == elementID)
@@ -180,7 +180,7 @@
function getNodePath(element, nodePath)
{
nodePath = (nodePath == undefined) ? '' : nodePath;
-
+
if (element == xmlDoc.documentElement)
{
return '.' + nodePath;
@@ -196,27 +196,27 @@
{
var layoutNode = getLayoutNode(elementID);
var nodePath = getNodePath(layoutNode);
-
+
var breadcrumbDiv = createBreadcrumbTrail(layoutNode);
-
+
var newAlbumsDiv = document.createElement("div");
newAlbumsDiv.setAttribute("id", "albums");
-
+
var backButton = document.createElement("div")
backButton.setAttribute("id", "backbutton");
-
+
var selectedDiv = document.createElement("div");
selectedDiv.setAttribute("id", "selectedalbum");
-
+
var selectedAlbumFolders = getChildNodesByTagName(layoutNode, "folder");
var selectedAlbumImages = getChildNodesByTagName(layoutNode, "image");
-
+
for (var j = 0; j < selectedAlbumFolders.length; j++)
{
var subFolderContainer = createSubFolderContainer(selectedAlbumFolders[j]);
selectedDiv.appendChild(subFolderContainer);
}
-
+
for (var j = 0; j < selectedAlbumImages.length; j++)
{
var thumbnailContainer = createImageThumbnailContainer(selectedAlbumImages[j]);
@@ -224,9 +224,9 @@
}
newAlbumsDiv.appendChild(selectedDiv);
-
+
document.getElementById("albums").parentNode.replaceChild(newAlbumsDiv, document.getElementById("albums"));
-
+
IE6navhover()
return false;
}
@@ -241,7 +241,7 @@
{
var nodePath = getNodePath(getLayoutNode(element.getAttribute("id")));
var imageChildNodes = getChildNodesByTagName(element, "image");
-
+
if (imageChildNodes.length > 0)
{
var imagePath = '.thumbs/'
@@ -262,33 +262,33 @@
{
var imageNodeID = imageNode.getAttribute("id");
var nodePath = getNodePath(getLayoutNode(imageNodeID));
-
+
var classes = (optClass == undefined) ? "thumbnail" : "thumbnail " + optClass;
-
+
var albumImageDiv = document.createElement("div");
albumImageDiv.className = classes;
albumImageDiv.setAttribute("id", imageNodeID);
-
+
var imageAnchor = document.createElement("a");
imageAnchor.setAttribute("href", "index.php?id=" + imageNodeID);
imageAnchor.onclick = function() { showImage(imageNodeID); return false; };
-
+
var imageSpan = document.createElement("span");
imageSpan.className = "image";
-
+
var albumImage = document.createElement("img");
var imageThumbPath = '.thumbs/' + nodePath + '/' + imageNode.getAttribute("file");
albumImage.setAttribute("src", imageThumbPath);
imageAnchor.appendChild(albumImage);
-
+
var imageNameSpan = document.createElement("span");
imageNameSpan.className = "name";
imageNameSpan.appendChild(document.createTextNode(imageNode.getAttribute("file")));
-
+
imageSpan.appendChild(imageAnchor)
albumImageDiv.appendChild(imageSpan);
albumImageDiv.appendChild(imageNameSpan);
-
+
return albumImageDiv;
}
@@ -296,48 +296,48 @@
{
var folderID = folderNode.getAttribute("id");
var nodePath = getNodePath(getLayoutNode(folderID));
-
+
// create the main folder div
var subFolder = document.createElement("div");
subFolder.className = "folder";
subFolder.setAttribute("id", folderID);
-
+
var folderAnchor = document.createElement("a");
folderAnchor.setAttribute("href", "index.php?id=" + folderID);
-
+
// this should allow it to work in IE but makes it harder to follow
// in things like FireBug since you can't see the onclick for the divs
folderAnchor.onclick = function() { openFolder(folderID); return false; };
-
+
// create a span for the image
var folderImageSpan = document.createElement("span");
folderImageSpan.className = "image";
-
+
// create the image
var folderImage = document.createElement("img");
- var imagePath = checkFolderContents(folderNode);
+ var imagePath = checkFolderContents(folderNode);
folderImage.setAttribute("src", imagePath);
folderAnchor.appendChild(folderImage);
folderImageSpan.appendChild(folderAnchor);
-
+
// create a span for the folder icon
var iconSpan = document.createElement("span");
iconSpan.className = "icon";
-
+
// create the icon image
- var iconImage = document.createElement("img");
+ var iconImage = document.createElement("img");
iconImage.setAttribute("src", ".themes/ajax/foldericon.png");
iconSpan.appendChild(iconImage);
-
+
// create a span for the text
var textSpan = document.createElement("span");
textSpan.className = "name";
-
+
// create the text
var textContents = folderNode.getAttribute("name");
var noImages = getChildNodesByTagName(folderNode, "image").length;
var noFolders = getChildNodesByTagName(folderNode, "folder").length;
-
+
if ((noImages || noFolders) > 0)
{
textContents += " (";
@@ -348,59 +348,59 @@
var textNode = document.createTextNode(textContents);
textSpan.appendChild(textNode);
-
+
// appened them all in order
subFolder.appendChild(folderImageSpan);
subFolder.appendChild(iconSpan);
subFolder.appendChild(textSpan);
-
+
return subFolder;
}
function createExpandedImage(imageNode)
{
var nodePath = getNodePath(getLayoutNode(imageNode.getAttribute("id")));
-
+
var expandedImageDiv = document.createElement("div");
expandedImageDiv.setAttribute("id", "expandedimage");
-
+
var linkToDiv = document.createElement("div");
linkToDiv.setAttribute("id", "linktospan");
linkToDiv.style.display = "none";
-
+
var linkToAnchor = document.createElement("a");
linkToAnchor.setAttribute("href", "index.php?id=" + imageNode.getAttribute("id"))
linkToAnchor.appendChild(document.createTextNode("Link to this image"));
linkToDiv.appendChild(linkToAnchor);
-
+
var loadingDiv = document.createElement("div");
loadingDiv.setAttribute("id", "loadingspan");
loadingDiv.style.display = "block";
loadingDiv.appendChild(document.createTextNode("Loading image"));
-
+
var imageAnchor = document.createElement("a");
imageAnchor.onclick = function() { closeImage(); return false };
imageAnchor.href = "#";
-
+
var imageDiv = document.createElement("div");
imageDiv.setAttribute("id", "expandedimagespan");
imageDiv.style.display = "none";
-
+
var albumImage = document.createElement("img");
var imageThumbPath = nodePath + '/' + imageNode.getAttribute("file");
albumImage.setAttribute("src", imageThumbPath);
imageAnchor.appendChild(albumImage);
imageDiv.appendChild(imageAnchor);
-
+
var imageNameDiv = document.createElement("div");
imageNameDiv.className = "name";
imageNameDiv.appendChild(document.createTextNode(imageNode.getAttribute("file")));
-
+
expandedImageDiv.appendChild(linkToDiv);
expandedImageDiv.appendChild(loadingDiv);
expandedImageDiv.appendChild(imageDiv);
expandedImageDiv.appendChild(imageNameDiv);
-
+
var expandedImage = new Image();
expandedImage.onload = function()
{
@@ -409,7 +409,7 @@
linkToDiv.style.display = "";
};
expandedImage.src = imageThumbPath;
-
+
return expandedImageDiv;
}
@@ -417,20 +417,20 @@
{
var breadcrumbTrailDiv = document.createElement("div");
breadcrumbTrailDiv.setAttribute("id", "breadcrumbtrail");
-
+
var nodePath = getNodePath(element) + element.getAttribute("name");
-
+
var paths = nodePath.split('/');
var currentPath = '';
-
+
for (var i = 0; i < paths.length - 1; i++)
{
currentPath += paths[i] + '/';
-
+
var breadcrumbMenu = createBreadcrumbMenu(currentPath, paths[i + 1]);
breadcrumbTrailDiv.appendChild(breadcrumbMenu);
}
-
+
if (document.getElementById("breadcrumbtrail"))
{
document.getElementById("albums").parentNode.replaceChild(breadcrumbTrailDiv, document.getElementById("breadcrumbtrail"));
@@ -445,54 +445,54 @@
{
var breadcrumbEntry = document.createElement("ul");
breadcrumbEntry.className = "trailentry";
-
+
var menuLi = document.createElement("li");
menuLi.className = "currentfolder";
-
+
var dropMenu = document.createElement("ul");
menuLi.appendChild(dropMenu);
-
+
var layoutNode = selectLayoutNodeFromPath(path);
-
+
for (var i = 0; i < layoutNode.childNodes.length; i++)
{
var node = layoutNode.childNodes[i];
-
+
// these will all be hidden until the :hover
if (node.nodeName == "folder")
{
var dropMenuItem = createBreadcrumbItem(node, currentFolder);
dropMenu.appendChild(dropMenuItem);
}
-
+
// this is for the current folder
if ((node.nodeName == "folder") && (node.getAttribute("name") == currentFolder))
{
var dropMenuAnchor = document.createElement("a");
dropMenuAnchor.href = "index.php?id=" + dropMenuItem.getAttribute("id");
-
+
var nameSpan = document.createElement("span");
nameSpan.className = "name";
nameSpan.appendChild(document.createTextNode(node.getAttribute("name")));
-
+
// create a span for the folder icon
var iconSpan = document.createElement("span");
iconSpan.className = "icon";
-
+
// create the icon image
- var iconImage = document.createElement("img");
+ var iconImage = document.createElement("img");
iconImage.setAttribute("src", ".themes/ajax/foldericon.png");
iconSpan.appendChild(iconImage);
-
+
dropMenuAnchor.appendChild(nameSpan);
dropMenuAnchor.appendChild(nameSpan);
menuLi.insertBefore(dropMenuAnchor, menuLi.firstChild);
-
+
breadcrumbEntry.appendChild(menuLi);
}
}
-
+
return breadcrumbEntry;
}
@@ -500,39 +500,39 @@
{
var dropMenuItem = document.createElement("li");
dropMenuItem.setAttribute("id", node.getAttribute("id"));
-
+
var dropMenuAnchor = document.createElement("a");
dropMenuAnchor.href = "index.php?id=" + dropMenuItem.getAttribute("id");
dropMenuAnchor.onclick = function() { openFolder(dropMenuItem.getAttribute("id")); return false; };
-
+
if (node.hasChildNodes())
{
// create a span for the folder icon
var iconSpan = document.createElement("span");
iconSpan.className = "icon";
-
+
// create the icon image
- var iconImage = document.createElement("img");
+ var iconImage = document.createElement("img");
iconImage.setAttribute("src", ".themes/ajax/foldericon.png");
iconSpan.appendChild(iconImage);
-
+
dropMenuAnchor.appendChild(iconSpan);
}
else
{
dropMenuItem.setAttribute("class", "empty");
-
+
// create a span for the folder icon
var iconSpan = document.createElement("span");
iconSpan.className = "icon";
-
+
// create the icon image
- var iconImage = document.createElement("img");
+ var iconImage = document.createElement("img");
iconImage.setAttribute("src", ".themes/ajax/emptyicon.png");
iconSpan.appendChild(iconImage);
dropMenuItem.appendChild(iconSpan);
}
-
+
// we do this so we can show the user the currently selected folder in the drop down
if (node.getAttribute("name") == currentFolder)
{
@@ -542,12 +542,12 @@
{
dropMenuItem.className = "menuentry";
}
-
+
var nameSpan = document.createElement("span");
nameSpan.className = "name";
nameSpan.appendChild(document.createTextNode(node.getAttribute("name")));
dropMenuAnchor.appendChild(nameSpan);
-
+
dropMenuItem.appendChild(dropMenuAnchor);
return dropMenuItem;
}
@@ -555,7 +555,7 @@
function selectLayoutNodeFromPath(path, node)
{
node = (node == undefined) ? xmlDoc.documentElement : node;
-
+
if(path == "./")
{
return xmlDoc.documentElement;
@@ -565,7 +565,7 @@
path = (path.indexOf("./") == 0) ? path.substring(2) : path;
var currentPath = path.split('/')[0];
var nodes = getChildNodesByTagName(node, "folder");
-
+
for (var i = 0; i < nodes.length; i++)
{
if ((nodes[i].getAttribute("name") == currentPath))
@@ -586,41 +586,33 @@
function showImage(imageID)
{
- var siblingNodes = getChildNodesByTagName(getLayoutNode(imageID).parentNode, "image");
-
- for (var i = 0; i < siblingNodes.length; i++)
+ var expandedImage = createExpandedImage(getLayoutNode(imageID));
+
+ if (document.getElementById("expandedimage"))
{
- if (siblingNodes[i].getAttribute("id") == imageID)
- {
- var expandedImage = createExpandedImage(siblingNodes[i]);
-
- if (document.getElementById("expandedimage"))
- {
- document.getElementById("expandedimage").parentNode.replaceChild(expandedImage, document.getElementById("expandedimage"));
- }
- else
- {
- document.getElementById("selectedalbum").parentNode.insertBefore(expandedImage, document.getElementById("selectedalbum"));
- }
- }
+ document.getElementById("expandedimage").parentNode.replaceChild(expandedImage, document.getElementById("expandedimage"));
}
-
+ else
+ {
+ document.getElementById("selectedalbum").parentNode.insertBefore(expandedImage, document.getElementById("selectedalbum"));
+ }
+
var lastSelectedImage = getElementsByClassName("selected", "div", document);
-
+
if (lastSelectedImage)
{
lastSelectedImage[0].className = "thumbnail";
}
-
+
document.getElementById(imageID).className += " selected";
}
function closeImage()
{
document.getElementById("expandedimage").parentNode.removeChild(document.getElementById("expandedimage"));
-
+
var lastSelectedImage = getElementsByClassName("selected", "div", document);
-
+
if (lastSelectedImage)
lastSelectedImage[0].className = "thumbnail";
}
@@ -632,31 +624,31 @@
function getCookie(name) {
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
-
+
if ((!start) && (name != document.cookie.substring(0, name.length)))
{
return null;
}
-
+
if (start == -1) return null;
-
+
var end = document.cookie.indexOf(';', len);
-
+
if (end == -1) end = document.cookie.length;
-
+
return unescape(document.cookie.substring(len, end));
}
function setCookie(name, value, expires, path, domain, secure) {
var today = new Date();
today.setTime(today.getTime());
-
+
if (expires) {
expires = expires * 1000 * 60 * 60 * 24;
}
-
+
var expires_date = new Date(today.getTime() + (expires));
-
+
document.cookie = name + '=' + escape(value) +
((expires) ? ';expires='+expires_date.toGMTString() : '') + //expires.toGMTString()
((path) ? ';path=' + path : '') +
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|