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.ArrTime				= new Array();
	this.ArrTitle				= new Array();
	this.ArrLink				= 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 = 15;
		ObjTab.bgColor = '#ffffff';
		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];
		}
		
		for (var i=0; i<this.ArrImg.length; i++){
			var ObjCell = ObjRow.insertCell(i);
			ObjCell.id = 'tdPhotoFilter_' + (i+1);
			ObjCell.width = 13;
			ObjCell.align = 'center';
			ObjCell.valign = 'middle';
			ObjCell.bgColor = '#999999';
			//ObjCell.fontColor = '#FFFFFF';
			ObjCell.style.cursor = 'hand';
			ObjCell.style.fontFamily = 'Arial';
			ObjCell.attachEvent('onclick', ClickPhotoTd);
			ObjCell.innerHTML = '<span style="font-size:7pt; color:#FFFFFF">' + (i+1) + '</span>';

		}
		var strHTML = '<A id="FlashAdHref" name="FlashAdHref" Href=\'javascript:void(0);\' 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" />';
    strHTML += '<object id=\'swfPhotoFilter\' name=\'swfPhotoFilter\' style="display:none" 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 + '">';
    strHTML += '<param name="movie" value="pixviewer.swf">';
    strHTML += '<param name="quality" value="high">';
    strHTML += '<param name="wmode" value="transparent">';
    strHTML += '<embed src="pixviewer.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + this.Width + '" height="' + this.Height + '"></embed></object>';
    strHTML += '</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.all.tabPhotoFilterMain;
		ObjTab.style.top = ObjClient.Top+ObjClient.Height-ObjTab.height;
		//ObjTab.style.left = ObjClient.Left+ObjClient.Width-ObjTab.clientWidth+1;
		ObjTab.style.left = ObjClient.Left+ObjClient.Width-ObjTab.clientWidth;
		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'){
			Obj.filters.revealTrans.Transition = Math.floor(Math.random()*28);
			Obj.filters.revealTrans.apply();
		}
	}
	
	this.PlayFilter = function(Obj){
		if (Obj.tagName.toLowerCase() == 'img'){
			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.all.tdPhotoFilter_' + (i+1));
				tdObj.bgColor = '#000000';
			}
			var tdObj = eval('document.all.tdPhotoFilter_' + (this.CurrPos+1));
			tdObj.bgColor = '#0066CC';

			
			var ObjFileName = new CFileName(this.ArrImg[intNP]);
			var ObjAdSwf = document.all.swfPhotoFilter;
			var ObjAdImg = document.all.imgPhotoFilter;
			if (ObjFileName.Extend == 'swf'){
				ObjAdSwf.movie = this.ArrImg[intNP];
				ObjAdImg.style.display = 'none';
				ObjAdSwf.style.display = '';
			} else {
				this.SetFilter(ObjAdImg);
				ObjAdImg.src = this.ArrImg[intNP];
				ObjAdSwf.style.display = 'none';
				ObjAdImg.style.display = '';
				this.PlayFilter(ObjAdImg);
			}
			this._ObjText.innerHTML = '<A Href="' + this.ArrLink[intNP] + '" Target="_blank">' + this.ArrTitle[intNP] + '</A>';
			document.all.FlashAdHref.href = this.ArrLink[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
	};
}

