/*
	banner
*/
if (typeof(ClASS_TANG_EFFECT_BANNER) == 'undefined') {
	var ClASS_TANG_EFFECT_BANNER = true;

	if (typeof(TANG) == 'undefined') {
		TANG = {};
	}

	if (typeof(TANG.Effect) == 'undefined') {
		TANG.Effect = {};
	}
	


	TANG.Effect.Banner = Class.create();


	TANG.Effect.Banner.prototype = {
		initialize: function(elements, reflash_time, position_count) {
			this.elements = elements;
			this.reflash_time = reflash_time;
			this.position_count = position_count;
			this.banner_index = 0;
			this.classNameHide = 'banner_init_hide';
			this.classNameShow = 'banner_init_show';
			this.init();
			this.initRandIndex();
		},

		init: function () {
			for (var j=0; j<this.position_count; ++j) {
				for (var i=0; i<this.elements.length; ++i) {
					var element = this.elements[i] + '_' + j;
					if (typeof $(element) != 'object') {
						continue;
					}

					className = this.classNameHide ;
					Element.removeClassName(element, className);
					className = this.classNameShow;
					Element.removeClassName(element, className);
					//Element.hide(element);
				}
			}
			//Element.show(this.elements[0]);
		},

		initRandIndex : function() {
			this.elementIndexs = Array();
			for (var i=0; i<this.elements.length; ++i) {
				this.elementIndexs[i] = i;
			}	
			//window.status = this.elements.length;
		},

		taggle : function(postion, banner_index) {
			if (!this.elements.length){
				return;
			}
			for (var i=0; i<this.elements.length; i++) {
				var element = this.elements[i] + '_' + postion;
				if ($(element) == null) {
					continue;
				}

				Element.hide(element);
			}

			element = this.elements[banner_index] + '_' + postion;

			if ($(element) != null) {
				Element.show(element );
			}
			

			
		},


		run : function() {
			this.randSortElementIndexs();
			for (var i=0; i<this.position_count; i++) {
				this.taggle(i, this.elementIndexs[i]);
			}
			window.setTimeout(this.run.bind(this),this.reflash_time);
		},

		randOrd : function (a, b) {
			return (Math.round(Math.random())-0.5);
		},
			
		randSortElementIndexs : function () {
			this.elementIndexs.sort(this.randOrd);
		},

		end_: function () {
		}
	}





}
