var strSIHLocation = function ()
{
	var arrScript = document.getElementsByTagName("script");
	for (var i = 0,objScript;objScript = arrScript[i ++];)
	{
		if(/sih_picasa\.js$/.test(objScript.src))
		{
			return objScript.src.replace(/sih_picasa\.js$/, '')
			break;
		}
	}
	return "";
};
var arrSIHMSG = [
	"请等待，正在获取Album数据……",
	"处理Album数据……",
	"Album不存在！",
	strSIHLocation() + "get.php?"
];
var arrSIHConfig = {
	maincontainer : "SIH_Picasa",
	statecontainer : "SIH_Picasa_State",
	thumbsize : "144",
	fullsize : "800"
};
var strSIHBuildUrl = function (sAlbumID)
{
	var strUrl = "";
	var strAccounts = sAlbumID.substr(0, sAlbumID.indexOf("_"));
	var strAlbumID = sAlbumID.substr(strAccounts.length + 1);
	if (strAccounts != "" && !isNaN(strAlbumID) && strAlbumID.length > 10)
	{
		strUrl = "http://picasaweb.google.co.uk/data/feed/base/user/" + strAccounts + "/albumid/" + strAlbumID + "?alt=json&callback=" + sAlbumID;
	}
	return strUrl;
};

function E(sTag, aAttr)
{
	var eltCreate = document.createElement(sTag);
	if (aAttr)
	{
		for (var strKey in aAttr)
		{
			var strValue = aAttr[strKey];
			eltCreate.setAttribute(strKey, strValue);
		}
	}
	if (arguments.length > 2)
	{
		for (var i = 2;i < arguments.length;i ++)
		{
			eltCreate.appendChild(arguments[i]);
		}
	}
	return eltCreate;
}

function T(sText)
{
	return document.createTextNode(sText);
}

function SIHInitAlbum(eContainer, oData)
{
	var eltDisplayState = document.getElementById(arrSIHConfig.statecontainer + eContainer.attributes["id"].value);
	eltDisplayState.innerHTML = arrSIHMSG[1];
	var i = j = 0;
	var eltTempContainer = [];
	var eltChildContainer = eContainer.getElementsByTagName("dd");
	var intTempLength = eltChildContainer.length;
	var intChildLength = 0;
	for (i = 0;i < intTempLength;i ++)
	{
		if (eltChildContainer[i].attributes["name"])
		{
			var strChildContainerID = eltChildContainer[i].attributes["name"].value;
			if (strChildContainerID != "" && strChildContainerID != null && !isNaN(strChildContainerID))
			{
				intChildLength += 1;
				eltTempContainer[strChildContainerID] = eltChildContainer[i];
			}
		}
	}
	var arrFeed = oData.feed;
	var strAlbumID = arrFeed.id.$t.slice(arrFeed.id.$t.indexOf("albumid/") + 8, arrFeed.id.$t.indexOf("?"));
	var strAlbumTitle = arrFeed.title.$t;
	var strAlbumDateTime = arrFeed.updated.$t.replace("T", " ").replace("Z", "");
	var strAlbumLink = arrFeed.link[0].href;
	var strContent = strAlbumTitle;
	for (i = 1;i < arrFeed.link.length;i ++)
	{
		if (arrFeed.link[i].rel == "alternate")
		{
			strAlbumLink = arrFeed.link[i].href;
			break;
		}
	}
	for (i = 0;i < arrFeed.entry.length;i ++)
	{
		var strPhotoID = arrFeed.entry[i].id.$t.slice(arrFeed.entry[i].id.$t.indexOf("photoid/") + 8, arrFeed.entry[i].id.$t.indexOf("?"));
		if (intChildLength == 0 || (intChildLength > 0  && eltTempContainer[strPhotoID]))
		{
			var strPhotoTitle = arrFeed.entry[i].title.$t.replace("\"", "&#34;").replace("'", "&#39;");
			var strPhotoLink = arrFeed.entry[i].link[0].href;
			for (j = 1;j < arrFeed.entry[i].link.length;j ++)
			{
				if (arrFeed.entry[i].link[j].rel == "alternate")
				{
					strPhotoLink = arrFeed.entry[i].link[j].href;
					break;
				}
			}
			var strImage = arrFeed.entry[i].media$group.media$content[0].url;
			if (intChildLength > 0  && eltTempContainer[strPhotoID])
			{
				eltTempContainer[strPhotoID].innerHTML = "";
				eltTempContainer[strPhotoID].className = "AlbumPhoto";
				var eltData = E("a", {"href" : arrSIHMSG[3] + (strImage).replace('ggpht', 'thpgg') + "?imgmax=" + arrSIHConfig.fullsize, "title" : strPhotoTitle}, E("img", {"src" : arrSIHMSG[3] + (strImage).replace('ggpht', 'thpgg') + "?imgmax=" + arrSIHConfig.thumbsize + "&crop=1", "width" : "144", "height" : "144", "alt" : strPhotoTitle}));
				eltData.onclick = function ()
				{
					return hs.expand(this)
				};
				eltTempContainer[strPhotoID].appendChild(eltData);
			}
			else
			{
				var eltPhoto = E("a", {"href" : arrSIHMSG[3] + (strImage).replace('ggpht', 'thpgg') + "?imgmax=" + arrSIHConfig.fullsize, "title" : strPhotoTitle}, E("img", {"src" : arrSIHMSG[3] + (strImage).replace('ggpht', 'thpgg') + "?imgmax=" + arrSIHConfig.thumbsize + "&crop=1", "width" : "144", "height" : "144", "alt" : strPhotoTitle}));
				eltPhoto.onclick = function ()
				{
					return hs.expand(this)
				};
				eContainer.appendChild(E("dd", {"class" : "AlbumPhoto", className : "AlbumPhoto"}, eltPhoto));
			}
		}
	}
	eContainer.removeChild(eltDisplayState);
}

function SIH_PWA()
{
	var eltContainer = document.getElementsByTagName("dl");
	for (var i = 0;i < eltContainer.length;i ++)
	{
		if (eltContainer[i].attributes["id"] && eltContainer[i].attributes["name"])
		{
			var strContainerID = eltContainer[i].attributes["id"].value;
			if (strContainerID.indexOf("_") > -1 && eltContainer[i].attributes["name"].value == arrSIHConfig.maincontainer)
			{
				eltContainer[i].appendChild(E("div", {"id" : arrSIHConfig.statecontainer + strContainerID}, T(arrSIHMSG[0])), eltContainer[i]);
				var eltScript = document.createElement("SCRIPT");
				eltScript.setAttribute("type", "text/javascript");
				eltScript.setAttribute("language", "javascript");
				eltScript.setAttribute("src", arrSIHMSG[3] + strSIHBuildUrl(strContainerID));
				document.getElementsByTagName("head")[0].appendChild(eltScript);
				PicasaRun(strContainerID);
			}
		}
	}
}

function SIH_PWA_Fix()
{
	var eltImage = document.getElementsByTagName("img");
	for (var i = 0;i < eltImage.length;i ++)
	{
		if (eltImage[i].attributes["src"])
		{
			var strImageSrc = eltImage[i].attributes["src"].value;
			if (strImageSrc.indexOf("ggpht.com") > -1)
			{
				eltImage[i].setAttribute("src", arrSIHMSG[3] + (strImageSrc).replace('ggpht', 'thpgg'));
			}
		}
	}
	var eltImageLink = document.getElementsByTagName("a");
	for (var i = 0;i < eltImageLink.length;i ++)
	{
		if (eltImageLink[i].attributes["href"])
		{
			var strImageLink = eltImageLink[i].attributes["href"].value;
			if (strImageLink.indexOf("ggpht.com") > -1)
			{
				eltImageLink[i].setAttribute("href", arrSIHMSG[3] + (strImageLink).replace('ggpht', 'thpgg'));
			}
		}
	}
}

var objPicasa = this;
function PicasaRun(sContainer)
{
	objPicasa[sContainer] = function (root)
	{
		var eltContainer = document.getElementById(sContainer);
		if (eltContainer) SIHInitAlbum(eltContainer, root);
	};
}

if (document.all)
{
	window.attachEvent('onload', SIH_PWA_Fix);
	window.attachEvent('onload', SIH_PWA);
}
else
{
	window.addEventListener('load', SIH_PWA_Fix, false);
	window.addEventListener('load', SIH_PWA, false);
}
