var oDiv = document.createElement('div');
var oSpan = document.createElement('span');
var oA = document.createElement('a');
var oP = document.createElement('p');
var oImg = document.createElement('img');
var oH3 = document.createElement('h3');
var oH4 = document.createElement('h4');
var oH5 = document.createElement('h5');
var oUl = document.createElement('ul');
var oLi = document.createElement('li');

var SortArchive = {

	/** start of editable items **/
	iThumbWidth : 80,  // width of thumbnails
	iThumbHeight : 80,  // height of thumbnails
	iOnOpacity : 100,  // opacity for on state of stories
	iOffOpacity : 10,  // opacity for off state of stories
	iTeaserLength : 97,  // length of description teaser
	iTitleCutoff : 35,  // length of title, if longer add ...
	iHeadlineCutoff : 37,  // length of headline, if longer add ...
	sUlMargin : '10px 5px',  // margin for unordered lists of stories when month is open
	sLiHeight : '100px',  // height of stories
	/* month backgrounds opened and closed states */
	sMonthOpenBg : 'url(/la/pro/images/header_opened20060405.gif) no-repeat',
	sMonthCloseBg : 'url(/la/pro/images/header_closed20060405.gif) no-repeat',
	iMonthsToDisplay : 3,  // number of months opened on loading of page
	sSeminarsLink: 'http://seminars.apple.com/',  // link to Seminars See All
	/** end of editable items **/
	
	aMonthNames : new Array(
						'January',
						'February',
						'March',
						'April',
						'May',
						'June',
						'July',
						'August',
						'September',
						'October',
						'November',
						'December'
					),
	oResults : new Object(),
	aStories : new Array(),
	aStoriesHash: new Array(),
	sType : new String(),
	sNav : new String(),
	sXMLFile : new String(),
	sContentId : new String(),
	oContent : new Object(),
	aSections : new Array(),
	aMonths : new Array(),
	aNavItems: new Array(),
	bOnFlag : false,
	iCheckedNavItems: 5,
	sImgChecked: 'http://images.apple.com/la/pro/images/check_on20060502.gif',
	sImgUnchecked: 'http://images.apple.com/la/pro/images/check_off20060502.gif',
	iStoryCount: 0,
	iStoryGroups: 0,
	iGroupCounter: 1,
	
	fInit : function(type,nav,xmlfile,content) {
		this.sType = type;
		if(nav != null) {
			this.sNav = nav;
			var oNav = new HTMLObject($(this.sNav));
			var aNavItems = oNav.getElementsByTagName('a');

			for(var i=0;i<aNavItems.length;i++) {
				var oNavItem = new HTMLObject(aNavItems[i]);
				var sNavSection = oNavItem.id.split('_')[1];
				var aNavSections = new Array();
				if(oNavItem.id.indexOf('-') != -1) {
					aNavSections = sNavSection.split('-');
				} else {
					aNavSections[0] = sNavSection;
				}
				oNavItem.addEvent('onclick',this.fProcessStories);
				this.aNavItems[i] = {
					id: oNavItem.id,
					anchor: oNavItem,
					img: oNavItem.getElementsByTagName('img')[0],
					disciplines: aNavSections,
					checked: false,
					showing: false,
					showall: false
				};
			}
			for(var i=0; i<this.aNavItems.length; i++) { this.aNavItems[this.aNavItems[i].id] = this.aNavItems[i]; }
		}
		this.sXMLFile = xmlfile;
		this.sContentId = content;
		this.fShowAll();
		this.fDisplayContent();
	},
	fDisplayContent : function() {
		AppleJAX.getXML(this.sXMLFile,function(){
			SortArchive.oResults = results;
			SortArchive.oContent = new HTMLObject($(SortArchive.sContentId))
			SortArchive.fCreateStoryHash();
			SortArchive.oContent.innerHTML = '';
			if(SortArchive.sType == 'resources') {
				SortArchive.fDisplayCategories();
			} else {
				SortArchive.fDisplayYears();
			}
			SortArchive.fDisplayStories();
		});
	},
	fDisplayStory : function(i,oStory) {
		var oImgClone = oImg.cloneNode(true);
		oImgClone.setAttribute('height',this.iThumbHeight+'px');
		oImgClone.setAttribute('width',this.iThumbWidth+'px');
		var oThumbnailSrc;
		if(this.sType != 'tricksofthetradehome' &&
			this.sType != 'tricksofthetrade' &&
			this.sType != 'tips' &&
			this.sType != 'resources') {
			oThumbnailSrc = oStory.thumbnailurl;
		}
		var oTitle = oStory.title;
		var oHeadline = oStory.headline;
		var oDescription = oStory.description;
		if(this.sType != 'tips' && this.sType != 'resources') {
			oHeadline = oStory.headline;
			oDescription = oStory.description;
		}
		var oDate = oStory.date;
		var oURL = oStory.url;
		var oStoryLi = oLi.cloneNode(true);
		var oImgThumbnail = oImgClone.cloneNode(true);
		var oH4Title = oH4.cloneNode(true);
		var oSpanPart = oSpan.cloneNode(true);
		var oH5Headline = oH5.cloneNode(true);
		var oSpanDate = oSpan.cloneNode(true);
		var oPDescription = oP.cloneNode(true);
		if(this.sType == 'tips' || this.sType == 'resources') {
			this.iTitleCutoff = oTitle.length;
		}
		if(oTitle.length > this.iTitleCutoff) {
			oTitle = oTitle.substring(0,(this.iTitleCutoff-3));
			oTitle = oTitle.substring(0,oTitle.lastIndexOf(' '));
			oTitle += '...';
		}
		var sTitleEnd = '';
		if(this.sType != 'tricksofthetradehome' &&
			this.sType != 'tricksofthetrade' &&
			this.sType != 'tips' &&
			this.sType != 'resources') {
			sTitleEnd = ':';
		}
		var sTitle = document.createTextNode(oTitle+sTitleEnd);
		var sHeadlineData = '';
		if(this.sType != 'tips' && this.sType != 'resources') {
			sHeadlineData = oHeadline.firstChild.data;
			if(sHeadlineData.length > this.iHeadlineCutoff) {
				sHeadlineData = sHeadlineData.substring(0,(this.iHeadlineCutoff-3));
				sHeadlineData = sHeadlineData.substring(0,sHeadlineData.lastIndexOf(' '));
				sHeadlineData += '...';
			}
		}
		var sHeadline = document.createTextNode(sHeadlineData);
		var oDateSplit = oDate.firstChild.data.split('.');
		var sYear = oDateSplit[0];
		var sMonth = oDateSplit[1];
		var sDay = oDateSplit[2];
		var sShortYear = sYear.substring(2);
		var sDateSeparator = ' ';
		if(this.sType != 'tricksofthetradehome' && this.sType != 'tips') {
			sDateSeparator = ' / ';
		} 
		var sDate = document.createTextNode(sMonth+'.'+sDay+'.'+sShortYear+sDateSeparator);
		
		var readText = oStory.video == 'yes' ? 'Watch Video' : 'Read More';
		var sMore = document.createTextNode(readText);
		var sDescription;
		var sDescriptionTeaserToLength;
		var sDescriptionTeaser;
		if(this.sType == 'tricksofthetradehome') {
			this.iTeaserLength += 15;
		}
		if(this.sType != 'tips' && this.sType != 'resources') {
			sDescription = oDescription.firstChild.data;
			if(sDescription.length > this.iTeaserLength) {
			sDescriptionTeaserToLength = sDescription.substring(0,this.iTeaserLength);
			sDescriptionTeaser = document.createTextNode(
			sDescriptionTeaserToLength.substring(
				0,sDescriptionTeaserToLength.lastIndexOf(' ')
			)+'... ');
			} else {
				if(sDescription.charAt(sDescription.length-1) == '.') {
					sDescriptionTeaser = document.createTextNode(
						sDescription.substring(0,sDescription.length-1)+'... ');
				} else {
					sDescriptionTeaser = document.createTextNode(sDescription+'... ');
				}
			}
		}
		oStory.imglink.className = 'storythumbnail';
		oH4Title.className = 'storytitle';
		oH5Headline.className = 'storyheadline';
		oPDescription.className = 'storydescription';
		oSpanDate.className = 'storydate';
		var sURL = oURL.firstChild.data;
		oStory.imglink.href = sURL;
		oStory.titlelink.href = sURL;
		oStory.morelink.href = sURL;
		if(this.sType != 'tricksofthetradehome' &&
			this.sType != 'tricksofthetrade' &&
			this.sType != 'tips' &&
			this.sType != 'resources') {
			oImgThumbnail.src = oThumbnailSrc.firstChild.data;
		}
		oStory.titlelink.appendChild(sTitle);
		var sPart;
		if(this.sType == 'tricksofthetradehome' || this.sType == 'tricksofthetrade') {
			if(oStory.part) {
				sPart = document.createTextNode(oStory.part);
				oSpanPart.appendChild(sPart);
				oStory.titlelink.appendChild(oSpanPart);
			}
		}
		oH4Title.appendChild(oStory.titlelink);
		oH5Headline.appendChild(sHeadline);
		oStory.morelink.appendChild(sMore);
		oSpanDate.appendChild(sDate);
		// set the date in the story
		if(this.sType != 'resources' && this.sType != 'tricksofthetradehome') {
			oPDescription.appendChild(oSpanDate);
		}
		if(this.sType != 'tips' && this.sType != 'resources') {
			oPDescription.appendChild(sDescriptionTeaser);
			oPDescription.appendChild(oStory.morelink);
		}
		if(this.sType != 'tricksofthetradehome' &&
			this.sType != 'tricksofthetrade' &&
			this.sType != 'tips' &&
			this.sType != 'resources') {
			oStory.imglink.appendChild(oImgThumbnail);
			oStory.obj.appendChild(oStory.imglink);
		}
		oStory.obj.appendChild(oH4Title);
		if(this.sType != 'tips' && this.sType != 'resources') {
			oStory.obj.appendChild(oH5Headline);
		}
		oStory.obj.appendChild(oPDescription);
		oStory.obj.id = oStory.id;
		oStoryLi.className = 'story';
		oStoryLi.appendChild(oStory.obj);
		var oCategoryUl = '';
		var oMonthUl = '';
		if(this.sType == 'resources') {
			oCategoryUl = $(oStory.category).getElementsByTagName('ul')[0];
			oCategoryUl.appendChild(oStoryLi);
		} else {
			oMonthUl = $(sYear+'_'+sMonth).getElementsByTagName('ul')[0];
			oMonthUl.appendChild(oStoryLi);
		}
		oStory.height = oStory.obj.offsetHeight;
		oStory.width = oStory.obj.offsetWidth;
		oStory.top = oStory.obj.offsetTop;
		oStory.left = oStory.obj.offsetLeft;
		oStory.month = oMonthUl;
	},
	fDisplayStories : function() {

		for(var i=0;i<27;i++) {
			var oStory = this.aStoriesHash[SortArchive.iStoryCount];
			if(SortArchive.iStoryCount < SortArchive.aStoriesHash.length) {
				SortArchive.fDisplayStory(SortArchive.iStoryCount,oStory);
				SortArchive.iStoryCount++;
				if(i == 26) {
					if(SortArchive.iGroupCounter == SortArchive.iStoryGroups) {}
					else {
						SortArchive.iGroupCounter++;
						setTimeout(function(){SortArchive.fDisplayStories();},100);
					}
				}
			}
		}
	},
	fCreateStoryHash : function() {
		this.aStories = this.oResults.getElementsByTagName('story');
		var aPreloadImgs = new Array();
		for(var i=0; i<this.aStories.length; i++) {
			var oStory = this.aStories[i];
			var oDate = oStory.getElementsByTagName('date')[0] || false;
			var oCategory = oStory.getAttribute('category') || false;
			var oDisciplines = oStory.getAttribute('disciplines') || false;
			var oURL = oStory.getElementsByTagName('url')[0] || false;
			var oThumbnailURL = oStory.getElementsByTagName('thumbnailURL')[0] || false;
			var oTitle = oStory.getAttribute('title') || false;
			var oHeadline = oStory.getElementsByTagName('headline')[0] || false;
			var oDescription = oStory.getElementsByTagName('description')[0] || false;
			var oPart = oStory.getAttribute('part') || false;
			if(oThumbnailURL) {
				aPreloadImgs[i] = new Image();
				aPreloadImgs[i].src = oThumbnailURL.firstChild.data;
			}
			if(browser.isSafari == true) {
				if(oTitle) {oTitle = oTitle.replace(/&#38;/g,'&');}
				//if(oHeadline) {oHeadline = oHeadline.replace(/'&#38;'/g,'&');}
				//if(oDescription) {oDescription = oDescription.replace(/'&#38;'/g,'&');}
			}
			var oContainer =  new HTMLObject(oDiv.cloneNode(true));
			Object.extend(oContainer, WhizBang.prototype);
			this.aStoriesHash[i] = {
				id: 'story_'+i,
				date: oDate,
				category: oCategory,
				obj: oContainer,
				height: false,
				width: false,
				top: false,
				left: false,
				imglink: oA.cloneNode(true),
				titlelink: oA.cloneNode(true),
				morelink: oA.cloneNode(true),
				opacity: this.iOnOpacity,
				disciplines: oDisciplines,
				url: oURL,
				href: oURL.firstChild.data,
				month: false,
				thumbnailurl: oThumbnailURL,
				title: oTitle,
				headline: oHeadline,
				description: oDescription,
				part: oPart,
				video: oStory.getAttribute('video')
			};
		}
		for(var i=0; i<this.aStoriesHash.length; i++) {
			this.aStoriesHash[this.aStoriesHash[i].id] = this.aStoriesHash[i];
		}
		this.aStoriesHash.sort(function(a,b) {
			if(a.date.firstChild.data>b.date.firstChild.data) {return -1;}
			if(a.date.firstChild.data<b.date.firstChild.data) {return 1;}
			if(a.date.firstChild.data==b.date.firstChild.data) {
				if(a.title>b.title) {return 1;}
				if(a.title<b.title) {return -1;}
				return 0;
			}
			return 0;
		});
		this.iStoryGroups = Math.ceil(this.aStoriesHash.lenght/27);
	},
	fDisplayYears : function() {
		for(var i=0;i<this.aStoriesHash.length;i++) {
			var oStory = this.aStoriesHash[i];
			var oDate = oStory.date;
			var sYear = oDate.firstChild.data.split('.')[0];
			var sMonth = oDate.firstChild.data.split('.')[1];
			var sYearMonth = sYear.toString()+'/'+sMonth.toString();
			if(this.aMonths.toString().indexOf(sYearMonth) < 0) {
				this.aMonths.push(sYear+'/'+sMonth);
			}	
		}
		this.aMonths.sort().reverse();
		for(var i=0;i<this.aMonths.length;i++) {
			var oMonthDiv = oDiv.cloneNode(true);
			var oMonthHeader = new HTMLObject(oH3.cloneNode(true));
			var oMonthUl = oUl.cloneNode(true);
			var sYearInt = this.aMonths[i].split('/')[0];
			var sMonthInt = this.aMonths[i].split('/')[1];
			var sMonthName = this.aMonthNames[parseInt(Number(sMonthInt))-1];
			var oMonthName = document.createTextNode(sMonthName+' '+sYearInt);
			oMonthDiv.id = sYearInt+'_'+sMonthInt;
			oMonthDiv.className = 'month';
			oMonthHeader.appendChild(oMonthName);
			oMonthHeader.className = 'monthheader';
			
			oMonthDiv.appendChild(oMonthHeader);
			oMonthDiv.appendChild(oMonthUl);
			this.oContent.appendChild(oMonthDiv);
			/*
			if(this.sType == 'tips' && (i+1)%3 == 0) {
				oMonthDiv.className = 'month lastmonth';
				var oClearDiv = oDiv.cloneNode(true);
				oClearDiv.style.clear = 'left';
				this.oContent.appendChild(oClearDiv);
			}
			*/
		}
	},
	fDisplayCategories: function() {
		for(var i=0; i<this.aStoriesHash.length; i++) {
			var oCategory = this.aStoriesHash[i].category;
			if(this.aMonths.toString().indexOf(oCategory) < 0) {
				this.aMonths.push(oCategory);
			}
		}
		
		this.aMonths.sort();
		for(var i=0; i<this.aMonths.length; i++) {
			var oCategoryDiv = oDiv.cloneNode(true);
			var oCategoryHeader = new HTMLObject(oH3.cloneNode(true));
			var oCategoryUl = oUl.cloneNode(true);
			var sCategoryName = this.aMonths[i];
			var oCategoryName = document.createTextNode(sCategoryName);
			oCategoryDiv.id = sCategoryName;
			oCategoryDiv.className = 'category';
			oCategoryHeader.appendChild(oCategoryName);
			oCategoryHeader.className = 'categoryheader';
			if(sCategoryName == 'Seminars') {
				var oSeeAllAnchor = oA.cloneNode(true);
				oSeeAllAnchor.appendChild(document.createTextNode('See all'));
				oSeeAllAnchor.href = this.sSeminarsLink;
				oCategoryHeader.appendChild(oSeeAllAnchor);
			}
			oCategoryDiv.appendChild(oCategoryHeader);
			oCategoryDiv.appendChild(oCategoryUl);
			this.oContent.appendChild(oCategoryDiv);
		}
	},
	fProcessStories : function(ev) {
		stopDefaultAction(ev);
		var oClickedLink = new HTMLObject(getClickedLink(ev));
		var sSection = oClickedLink.id;
		var iClickedItems = 0;
		for(var i=0; i<SortArchive.aNavItems.length; i++) {
			if(SortArchive.aNavItems[i].showing == true) { iClickedItems++; }
		}

		var oNavItem = SortArchive.aNavItems[sSection];
		if(sSection == SortArchive.sNav+'_showall') {
			if(oNavItem.showall == false) { SortArchive.fShowAll(); }
		} else if(oNavItem.showing == false && oNavItem.showall == false) {
			oNavItem.showing = true;
			oNavItem.checked = true;
			if(!oNavItem.anchor.hasClass('hi')) { oNavItem.anchor.addClass('hi'); }
			oNavItem.img.src = SortArchive.sImgChecked;
		} else if(oNavItem.showing == true && oNavItem.showall == false && iClickedItems > 1) {
			oNavItem.showing = false;
			oNavItem.checked = false;
			if(oNavItem.anchor.hasClass('hi')) { oNavItem.anchor.removeClass('hi'); }
			oNavItem.img.src = SortArchive.sImgUnchecked;
		} else if(oNavItem.showall == true) {
			for(var i=0; i<SortArchive.aNavItems.length; i++) {
				var oShowAllNavItem = SortArchive.aNavItems[i];
				if(oShowAllNavItem.anchor.hasClass('all')) { oShowAllNavItem.anchor.removeClass('all'); }
				oShowAllNavItem.showall = false;
				oShowAllNavItem.anchor.appendChild(oShowAllNavItem.img);
				if(sSection == oShowAllNavItem.id) {
					oShowAllNavItem.showing = true;
					oShowAllNavItem.checked = true;
					if(!oShowAllNavItem.anchor.hasClass('hi')) { oShowAllNavItem.anchor.addClass('hi'); }
					oShowAllNavItem.img.src = SortArchive.sImgChecked;
				} else {
					oShowAllNavItem.showing = false;
					oShowAllNavItem.checked = false;
					if(oShowAllNavItem.anchor.hasClass('hi')) { oShowAllNavItem.anchor.removeClass('hi'); }
					oShowAllNavItem.img.src = SortArchive.sImgUnchecked;
				}
			}
		}
		SortArchive.fDisplaySections();
	},
	fShowAll : function() {
		var oShowAll = SortArchive.aNavItems[SortArchive.sNav+'_showall'];
		for(var i=0;i<SortArchive.aNavItems.length;i++) {
			var oNavItem = SortArchive.aNavItems[i];
			if(oNavItem != oShowAll) {
				if(oNavItem.anchor.hasClass('hi')) { oNavItem.anchor.removeClass('hi'); }
				if(!oNavItem.anchor.hasClass('all')) { oNavItem.anchor.addClass('all'); }
				oNavItem.checked = false;
				oNavItem.showing = true;
				oNavItem.showall = true;
				oNavItem.anchor.removeChild(oNavItem.img);
			} else {
				if(!oShowAll.anchor.hasClass('hi')) { oShowAll.anchor.addClass('hi'); }
				oShowAll.img.src = SortArchive.sImgChecked;
				oShowAll.checked = true;
				oShowAll.showing = true;
				oShowAll.showall = true;
			}
		}
	},
	fDisplaySections : function() {
		var iFadeCount = 0;
		for(var i=0;i<SortArchive.aStoriesHash.length;i++) {
			var oStory = SortArchive.aStoriesHash[i];
			var oStoryDiv = oStory.obj;
			for(var j=0; j<SortArchive.aNavItems.length; j++) {
				var oNavItem = SortArchive.aNavItems[j];
				if(oNavItem.showing == true) {
					for(var k=0; k<oNavItem.disciplines.length; k++) {
						var sDiscipline = oNavItem.disciplines[k];
						if(oStory.disciplines.indexOf(sDiscipline) >= 0 && SortArchive.bOnFlag == false) {
							SortArchive.bOnFlag = true;
						}
					}
					
				}
			}
			if(SortArchive.bOnFlag == true && oStory.opacity == SortArchive.iOffOpacity) {
				if(SortArchive.sType == 'stories' || SortArchive.sType =='tricksofthetrade') {
					oStory.month.style.display = 'block';
					oStory.month.previousSibling.style.display = 'block';
				}
				oStoryDiv.parentNode.style.display = 'block';
				oStoryDiv.style.display = 'block';
				
				iFadeCount++;
				oStory.opacity = SortArchive.iOnOpacity;
				oStory.imglink.href = oStory.href;
				oStory.titlelink.href = oStory.href;
				oStory.morelink.href = oStory.href;
			} else if(SortArchive.bOnFlag == false && oStory.opacity == SortArchive.iOnOpacity) {
				var oContainer = oStoryDiv;
				
				iFadeCount++;
				oStory.opacity = SortArchive.iOffOpacity;
				oStory.imglink.removeAttribute('href');
				oStory.titlelink.removeAttribute('href');
				oStory.morelink.removeAttribute('href');
			} else { iFadeCount++; }
			SortArchive.bOnFlag = false;
		}
		var removeObjs = function() {
			if(iFadeCount == SortArchive.aStoriesHash.length) {
				for(var i=0; i<SortArchive.aStoriesHash.length; i++) {
					var oStory = SortArchive.aStoriesHash[i];
					if(oStory.opacity == SortArchive.iOffOpacity) {
						var oStoryDiv = oStory.obj;
						
						oStoryDiv.style.display = 'none';
						oStoryDiv.parentNode.style.display = 'none';
						if(SortArchive.sType == 'stories' || SortArchive.sType == 'tricksofthetrade') {
							var oMonth = oStory.month;
							var bMonthOpen = false;
							for(var j=0; j<SortArchive.aStoriesHash.length; j++) {
								if(SortArchive.aStoriesHash[j].month == oMonth &&
									SortArchive.aStoriesHash[j].opacity != SortArchive.iOffOpacity) {
									bMonthOpen = true;
								}
							}
							if(bMonthOpen == false) {
								oMonth.previousSibling.style.display = 'none';
								oMonth.style.display = 'none';
							} else {
								oMonth.previousSibling.style.display = 'block';
								oMonth.style.display = 'block';
							}
						}
					}
				}
			}
			else {
				setTimeout(function(){removeObjs();},10);
			}
		};
		setTimeout(function() {removeObjs();},10);
	},
	fProcessMonthToggle : function(ev) {
		stopDefaultAction(ev);
		if (!ev) ev = window.event;
		var clickedLink = (window.event) ? window.event.srcElement : ev.target;
		while (!clickedLink.tagName || clickedLink.tagName.toLowerCase() != "h3") clickedLink = clickedLink.parentNode;
		SortArchive.fToggleMonth(clickedLink);
	},
	fToggleMonth : function(month) {
		var oMonthUl = month.nextSibling;
		while (!oMonthUl.tagName || oMonthUl.tagName.toLowerCase() != 'ul') oMonthUl = oMonthUl.nextSibling;
		var oMonthLis = oMonthUl.getElementsByTagName('li');
		if(oMonthUl.style.visibility == 'hidden') {
			month.style.background = SortArchive.sMonthOpenBg;
			oMonthUl.style.visibility = 'visible';
			oMonthUl.style.margin = SortArchive.sUlMargin;
			for(var i=0;i<oMonthLis.length;i++) {
				oMonthLis[i].style.height = SortArchive.sLiHeight;
			}
		} else {
			month.style.background = SortArchive.sMonthCloseBg;
			oMonthUl.style.visibility = 'hidden';
			oMonthUl.style.margin = '0px';
			for(var i=0;i<oMonthLis.length;i++) {
				oMonthLis[i].style.height = '0px';
			}
		}
	}
};

//addEventToObject(window,'onload',SortArchive.fInit('nav','filter_text.xml','content'));
