
var Photo = function (photoId, physicalName, displayName, description, originalPhotoUrl, originalDimension, bigPhotoUrl, bigDimension, midPhotoUrl, midDimension, smallPhotoUrl, smallDimension, squarePhotoUrl, squareDimension, uploadTime, uploadTimeYear, uploadTimeMonth, uploadTimeDay, shootTime, shootTimeYear, shootTimeMonth, shootTimeDay, cameraModel, viewNum, commentNum, favoriteNum, squaressNum, footmarkNum, totalScore, size, newnaiNum, accessRight, backupInfo, photoTags) {
	this.photoId = photoId;
	this.physicalName = physicalName;
	this.displayName = displayName;
	this.description = description;
	this.originalPhotoUrl = originalPhotoUrl;
	this.originalDimension = originalDimension;
	this.bigPhotoUrl = bigPhotoUrl;
	this.bigDimension = bigDimension;
	this.midPhotoUrl = midPhotoUrl;
	this.midDimension = midDimension;
	this.smallPhotoUrl = smallPhotoUrl;
	this.smallDimension = smallDimension;
	this.squarePhotoUrl = squarePhotoUrl;
	this.squareDimension = squareDimension;
	this.uploadTime = uploadTime;
	this.uploadTimeYear = uploadTimeYear;
	this.uploadTimeMonth = uploadTimeMonth;
	this.uploadTimeDay = uploadTimeDay;
	this.shootTime = shootTime;
	this.shootTimeYear = shootTimeYear;
	this.shootTimeMonth = shootTimeMonth;
	this.shootTimeDay = shootTimeDay;
	this.cameraModel = cameraModel;
	this.viewNum = viewNum;
	this.commentNum = commentNum;
	this.favoriteNum = favoriteNum;
	this.squaressNum = squaressNum;
	this.footmarkNum = footmarkNum;
	this.totalScore = totalScore;
	this.size = size;
	this.newnaiNum = newnaiNum;
	this.accessRight = accessRight;
	this.backupInfo = backupInfo;
	this.photoTags = photoTags;
};
Photo.XMLROOT = "Photo";
Photo.Fields = ["photoId", "physicalName", "displayName", "description", "originalPhotoUrl", "originalDimension", "bigPhotoUrl", "bigDimension", "midPhotoUrl", "midDimension", "smallPhotoUrl", "smallDimension", "squarePhotoUrl", "squareDimension", "uploadTime", "uploadTimeYear", "uploadTimeMonth", "uploadTimeDay", "shootTime", "shootTimeYear", "shootTimeMonth", "shootTimeDay", "cameraModel", "viewNum", "commentNum", "favoriteNum", "squaressNum", "footmarkNum", "totalScore", "size", "newnaiNum", "accessRight", "backupInfo", "photoTags"];
Photo.formatJson = function (json) {
	try{
		var photos = YAHOO.lang.JSON.parse(json);
		for (var i = 0; i < photos.length; i = i + 1) {
			var photo = photos[i];
			photo.listOrder = i;
		}
		return photos;
	}catch(e){
		return new Array();
	}
};
Photo.formatXML = function (xml) {
	var photos = new Array();
	var objects = xml.getElementsByTagName(Photo.XMLROOT);
	for (var i = 0; i < objects.length; i = i + 1) {
		var obj = objects[i];
		var photo = new Photo();
		for (var n = 0; n < Photo.Fields.length; n = n + 1) {
			var key = Photo.Fields[n];
			var field = obj.getElementsByTagName(key)[0];
			if (field && field.firstChild !== null && field.firstChild.nodeValue != "null") {
				try {
					photo[key] = decodeURI(field.firstChild.nodeValue);
				}
				catch (e) {
					photo[key] = "";
					continue;
				}
			}
		}
		photo.listOrder = i;
		photo.loadTag = false;
		photos.push(photo);
	}
	return photos;
};

