function PhotoFilter()
{
	this.StartPos			= 0;
	this.CurrPos			= 0;
	this._ImgSrcList		= null;
	this._TimeList			= null;
	this._TitleList			= null;
	this._HrefList			= null;
	this._ObjAdContainer	= null;
	this._ObjText			= null;
	this._Speed				= 1000;
	this.ObjName			= null;
	this.Width				= 0;
	this.Height				= 0;
	this.AdFrame			= null;
	this.ArrImg				= new Array();
	this.ArrTitle			= new Array();
	this.ArrLink			= new Array();
	this.ArrAlt			= new Array();
	this.ArrTime			= new Array();
	
	this.theTimer			= null;
	this.arrAdFilter 		= null;
	
	this.ImgSrcList	= function(strImgSrcList)
	{
		this._ImgSrcList = strImgSrcList;
	}
		
	this.Init = function()
	{
		var ObjTab = document.createElement("table");
		ObjTab.id = 'tabPhotoFilterMain';
		ObjTab.cellSpacing = 1;
		ObjTab.cellPadding = 1;
		ObjTab.border = 0;
		ObjTab.height = 16;
		ObjTab.bgColor = '#DDDDDD';
		ObjTab.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=100)';
		ObjTab.style.position = 'absolute';
		document.body.appendChild(ObjTab);
		
		var ObjRow = ObjTab.insertRow(0);
		
		for(var i = 0;i < this.arrAdFilter.length;i++)
		{
			this.ArrImg[i] = this.arrAdFilter[i][0];
			this.ArrTitle[i] = this.arrAdFilter[i][1];
			this.ArrTime[i]	= this.arrAdFilter[i][2];
			this.ArrLink[i]	= this.arrAdFilter[i][3];
			this.ArrAlt[i]	= this.arrAdFilter[i][4];
		}
		
		if((navigator.appName == "Netscape"))
		{
			for(var i = 0;i < this.ArrImg.length;i++)
			{
				var ObjCell = ObjRow.insertCell(i);
				ObjCell.id = 'tdPhotoFilter_' + (i+1);
				ObjCell.width = "10px";
				ObjCell.align = 'center';
				ObjCell.valign = 'middle';
				ObjCell.bgColor = '#D1D1D1';
				ObjCell.style.cursor = 'pointer';
				ObjCell.style.fontFamily = 'Arial';
				ObjCell.addEventListener('onclick', ClickPhotoTd,true);
				ObjCell.innerHTML = '<span style="font-size:8pt;color:#FFFFFF;line-height: 13px;">' + (i+1) + '</span>';
			}
		}
		else
		{
			for(var i = 0;i < this.ArrImg.length;i++)
			{
				var ObjCell = ObjRow.insertCell(i);
				ObjCell.id = 'tdPhotoFilter_' + (i+1);
				ObjCell.width = 10;
				ObjCell.align = 'center';
				ObjCell.valign = 'middle';
				ObjCell.bgColor = '#D1D1D1';
				ObjCell.style.cursor = 'hand';
				ObjCell.style.fontFamily = 'Arial';
				ObjCell.attachEvent('onclick', ClickPhotoTd);
				ObjCell.innerHTML = '<span style="font-size:8pt;color:#FFFFFF;line-height: 13px;">' + (i+1) + '</span>';
			}
		}
		
		var strHTML = '<a id=\'hrefPhotoFilter\' name=\'hrefPhotoFilter\' href=\'\' title=\'\' target=\'_blank\'><img border="0" id=\'imgPhotoFilter\' name=\'imgPhotoFilter\' src=\'\' style="FILTER: revealTrans(duration=2,transition=20)" width="' + this.Width + '" height="' + this.Height + '" style="display:none" /></a>';
		
		this._ObjAdContainer.innerHTML = strHTML;
		
		this.SetNagivatePos();
		var len = this.ArrImg.length;
		
		/*
		if(len > 1)
		{
			this.StartPos = parseInt(len * Math.random());
		}
		*/
	}
	
	this.CreateImg = function(Doc, intId, strSrc)
	{
		var ObjDiv = Doc.createElement('div');
		ObjDiv.id = 'FlashAdContainer_' + intId;
		var objImg = Doc.createElement("img");
		objImg.id = 'FlashAd_' + intId;
		objImg.src = strSrc;
		objImg.style.filter = 'revealTrans(duration=2,transition=' + Math.floor(Math.random()*28) + ')';
		
		ObjDiv.appendChild(objImg);
		return ObjDiv;
	}
	
	this.CreateFlash = function(Doc, intId, strSrc)
	{
		var ObjDiv = Doc.createElement('div');
		ObjDiv.id = 'FlashAdContainer_' + intId;
		var objImg = Doc.createElement("div");
		objImg.id = 'FlashAd_' + intId;
		strFlash = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="' + this.Width + '" height="' + this.Height + '">';
		strFlash +=	'<param name="movie" value="' + strSrc + '">';
		strFlash +=	'<param name="quality" value="high">';
		strFlash +=	'<param name="wmode" value="transparent">';
		strFlash +=	'<embed src="' + strSrc + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + this.Width + '" height="' + this.Height + '"></embed></object>';
		objImg.innerHTML = strFlash;
		ObjDiv.appendChild(objImg);
		return ObjDiv;
	}
	
	this.TimeList = function(strTimeList)
	{
		this._TimeList = strTimeList;
	}
	
	this.TitleList = function(strTitleList)
	{
		this._TitleList = strTitleList;
	}
	
	this.HrefList = function(strHrefList)
	{
		this._HrefList = strHrefList;
	}
	
	this.ObjAdContainer	= function(TheAdContaner)
	{
		this._ObjAdContainer = TheAdContaner;
	}
	
	this.SetNagivatePos = function()
	{
		var ObjClient = GetClientRect(this._ObjAdContainer);
		var ObjTab = document.getElementById('tabPhotoFilterMain');
		
		if((navigator.appName == "Netscape"))
		{
			ObjTab.style.top = ObjClient.Top+ObjClient.Height-ObjTab.height + "px";
			ObjTab.style.left = ObjClient.Left + "px";
		}
		else
		{
			ObjTab.style.top = ObjClient.Top+ObjClient.Height-ObjTab.height;
			ObjTab.style.left = ObjClient.Left;
		}
		
		
		ObjTab.style.zIndex = 100;
	}
	
	this.ObjText = function(TheText)
	{
		this._ObjText = TheText;
	}
	
	this.Speed = function(intSpeed)
	{
		this._Speed = parseInt(intSpeed);
	}
	
	this.SetFilter = function(Obj)
	{
		if(Obj.tagName.toLowerCase() == 'img')
		{
			if((navigator.appName == "Netscape"))
			{
				
			}
			else
			{
				Obj.filters.revealTrans.Transition = Math.floor(Math.random()*28);
				Obj.filters.revealTrans.apply();
			}
		}
	}
	
	this.PlayFilter = function(Obj)
	{
		if(Obj.tagName.toLowerCase() == 'img')
		{
			if((navigator.appName == "Netscape"))
			{
				
			}
			else
			{
				Obj.filters.revealTrans.play();
			}
		}
	}
	
	this.NextPhoto = function()
	{
		this.ProcessFilter();
		if(this.CurrPos < this.ArrImg.length - 1)
		{
			this.CurrPos++;
		}
		else
		{
			this.CurrPos = 0;
		}
	}
	
	this.ProcessFilter = function()
	{
		var intNP = this.CurrPos + this.StartPos;
		if(intNP >= this.ArrImg.length)
		{
			intNP = intNP - this.ArrImg.length;
		}
			
		for(var i = 0;i < this.ArrImg.length;i++)
		{
			var tdObj = eval("document.getElementById('tdPhotoFilter_" + (i+1) + "')");
			tdObj.bgColor = '#000000';
		}
		
		var tdObj = eval("document.getElementById('tdPhotoFilter_" + (this.CurrPos+1) + "')");
		tdObj.bgColor = '#ff7300';
			
		var ObjFileName = new CFileName(this.ArrImg[intNP]);
		var ObjAdImg = document.getElementById('imgPhotoFilter');
		var ObjAdHref = document.getElementById('hrefPhotoFilter');
		
		if(ObjFileName.Extend == 'swf')
		{
			ObjAdImg.style.display = 'none';
		}
		else
		{
			this.SetFilter(ObjAdImg);
			ObjAdImg.src = this.ArrImg[intNP];
			ObjAdHref.href = this.ArrLink[intNP];
			ObjAdHref.title = this.ArrAlt[intNP];
			ObjAdImg.style.display = '';
			this.PlayFilter(ObjAdImg);
		}
		
		this._ObjText.innerHTML = this.ArrTitle[intNP];
		this.theTimer = setTimeout(this.ObjName + '.NextPhoto()', this.ArrTime[intNP]);
	}
	
	this.GoToTarget = function(intPos, Obj)
	{
		if(this.theTimer)
		{
			clearTimeout(this.theTimer);
		}
		
		var ObjTheAd = this._ObjAdContainer.firstChild;
		
		if(ObjTheAd.tagName)
		{
			if(ObjTheAd.tagName.toLowerCase() == 'img')
			{
				ObjTheAd.filters.revealTrans.stop();
			}
		}
		
		this.CurrPos = parseInt(intPos) - 1;
		this.NextPhoto();
	}
}

function CFileName(strFileName)
{
	var arrPath = strFileName.split('\\');
	var strLast = arrPath[arrPath.length - 1];
	var arrFile = strLast.split('.');
	var strName = '';
	
	for(var i = 0;i < arrFile.length - 1;i++)
	{
		if(i > 0)
		{
			strName += '.';
		}
		strName += arrFile[i];
	}
	
	var strExt = '';
	if(arrFile.length > 1)
	{
		strExt = arrFile[arrFile.length - 1];
	}

	return {
		FileName: strName,
		Extend: strExt
	};
}

function GetClientRect(Obj)
{
	var ol;
	var ot;
	var ow;
	var oh;
	var strConstEnd = "BODY"
	
	var el = Obj;
	ol = 0;
	ot = 0;
	while(el.tagName.toUpperCase() != "BODY")
	{
		ot += el.offsetTop+el.clientTop;
		ol += el.offsetLeft+el.clientLeft;
		el=el.offsetParent;
	}
	
	ow = parseInt(Obj.offsetWidth);
	oh = parseInt(Obj.offsetHeight);
	
	return{
		Left: ol,
		Top: ot,
		Width: ow,
		Height: oh
	};
}