if ( typeof( panelAxisRolling ) == 'undefined' ){



	/*-------------------------------------
	 Panel Axis Rolling Original
	-------------------------------------*/
	var panelAxisRolling = function ( Objnm ){

		this.Objnm = Objnm;

		this.html;
		this.i = 0;
		this.scrollconf = new Array();
		this.scrollconf['name']				= 'scrollconf';								// ½ºÅ©·Ñ·¯È¯°æ¼³Á¤ ¹è¿­¸í
		this.scrollconf['areaname']			= 'scroll_area';							// °Ô½Ã¹° Ãâ·Â area ±âº»¸í
		this.scrollconf['scroll_content']	= new Array();								// ½ºÅ©·Ñ °Ô½Ã¹°
		this.scrollconf['axis']				= 'x';										// ½ºÅ©·Ñ·¯ ·Ñ¸µ Ãà(x / y)
		this.scrollconf['arrow']			= 'lt';										// ½ºÅ©·Ñ·¯ ·Ñ¸µ ¹æÇâ(lt / rb)
		this.scrollconf['scrollerheight']	= 19;										// ½ºÅ©·Ñ·¯ÀÇ ¼¼·Î
		this.scrollconf['total_area']		= 0;										// °Ô½Ã¹° Ãâ·Â area ¹øÈ£
		this.scrollconf['wait_flag']		= true;										// ( false:Á¤Áö )
		this.scrollconf['bMouseOver']		= 1;										// ÀÏ½Ã Á¤Áö ¿©ºÎ( 0:Á¤Áö )
		this.scrollconf['scrollspeed']		= 1;										// Scrolling ¼Óµµ
		this.scrollconf['waitingtime']		= 3200;										// ¸ØÃß´Â ½Ã°£
		this.scrollconf['s_tmp']			= 0;										//
		this.scrollconf['s_amount']			= this.scrollconf['scrollerheight'];		// °Ô½Ã¹° Á¤ÁöÁ¡( ½ºÅ©·Ñ·¯ÀÇ ¼¼·Î°ªÀÇ 1 PLUS Àû´ç )
		this.scrollconf['startPanel']		= 0;										// ½ºÅ©·ÑÇÒ °Ô½Ã¹° ¹è¿­ ½ÃÀÛ Key ¹øÈ£
		this.scrollconf['n_panel']			= 0;										// ½ºÅ©·Ñ °Ô½Ã¹° ¹è¿­ ³¡ Key ¹øÈ£
	}



	/*-------------------------------------
	 Panel Axis Rolling Property - action start
	-------------------------------------*/
	panelAxisRolling.prototype.startscroll = function (){

		var conf = this.scrollconf;

		conf['s_amount'] = conf['scrollerheight']; // °Ô½Ã¹° Á¤ÁöÁ¡( ½ºÅ©·Ñ·¯ÀÇ ¼¼·Î°ªÀÇ 1 PLUS Àû´ç )

		i = 0;
		for ( i in conf['scroll_content'] ) conf['n_panel']++; // ½ºÅ©·Ñ °Ô½Ã¹° °¹¼ö °è»ê

		if ( conf['n_panel'] ){

			conf['n_panel']		= conf['n_panel'] -1 ;									// ½ºÅ©·Ñ °Ô½Ã¹° ¹è¿­ ³¡ Key ¹øÈ£·Î ¸®¼ÂÆÃ
			conf['startPanel']	= Math.round( Math.random()*conf['n_panel'] );			// ½ºÅ©·ÑÇÒ °Ô½Ã¹° ¹è¿­ ½ÃÀÛ Key ¹øÈ£ ¼ÂÆÃ( ·£´ý ¹æ½Ä )


			{ // ½ºÅ©·ÑÇÒ °Ô½Ã¹° area »ðÀÔ

				if ( conf['startPanel'] == 0 ){ // ½ÃÀÛ Key ¹øÈ£°¡ Ã¹ Key ¹øÈ£¿Í µ¿ÀÏ ÇÑ °æ¿ì

					i = 0;

					for ( i in conf['scroll_content'] )
						this.insert_area( conf['total_area'], conf['total_area']++ ); // area »ðÀÔ
				}
				else if ( conf['startPanel'] == conf['n_panel'] ){ // ½ÃÀÛ Key ¹øÈ£°¡ ³¡ Key ¹øÈ£¿Í µ¿ÀÏ ÇÑ °æ¿ì

					this.insert_area( conf['startPanel'], conf['total_area']++ );

					for ( i = 0; i < conf['startPanel']; i++ )
						this.insert_area( i, conf['total_area']++ ); // area »ðÀÔ
				}
				else if ( ( conf['startPanel'] > 0 ) || ( conf['startPanel'] < conf['n_panel'] ) ){ // ½ÃÀÛ Key ¹øÈ£°¡ Ã¹ Key ¹øÈ£ º¸´Ù Å©°Å³ª ³¡ Key ¹øÈ£ º¸´Ù ÀÛÀ» °æ¿ì

					this.insert_area( conf['startPanel'], conf['total_area']++ );

					for ( i = conf['startPanel'] + 1; i <= conf['n_panel']; i++ )
						this.insert_area( i, conf['total_area']++ ); // area »ðÀÔ

					for ( i = 0; i < conf['startPanel']; i++ )
						this.insert_area( i, conf['total_area']++ ); // area »ðÀÔ
				}
			}


			window.setTimeout( this.Objnm + ".scrolling();", conf['waitingtime'] );
		}
	}



	/*-------------------------------------
	 Panel Axis Rolling Property - real scrolling
	-------------------------------------*/
	panelAxisRolling.prototype.scrolling = function (){

		var conf = this.scrollconf;

		if ( conf['bMouseOver'] && conf['wait_flag'] ){

			for ( i = 0; i < conf['total_area']; i++ ){

				tmp = document.getElementById( conf['areaname'] + i ).style;


				var setPoint;

				if ( conf['axis'] == 'x' ){ // ½ºÅ©·Ñ·¯ ·Ñ¸µ xÃà ÀÎ °æ¿ì
					var priorPoint = tmp.top;
				}
				else { // ½ºÅ©·Ñ·¯ ·Ñ¸µ yÃà ÀÎ °æ¿ì
					var priorPoint = tmp.left;
				}


				{ // Æ÷ÀÎÆ® °è»ê

					if ( conf['arrow'] == 'lt' ){ // LEFT&TOP ¹æÇâ

						setPoint = parseInt( priorPoint ) - conf['scrollspeed'];

						if ( parseInt( setPoint ) <= -conf['scrollerheight'] ){
							setPoint = conf['scrollerheight'] * ( conf['total_area'] - 1 );
						}
					}
					else { // RIGHT&BOTTOM ¹æÇâ

						setPoint = parseInt( priorPoint ) + conf['scrollspeed'];

						if ( parseInt( setPoint ) > ( conf['scrollerheight'] * ( conf['total_area'] - 1 ) ) ){
							setPoint = -conf['scrollerheight'] + 1;
						}
					}
				}


				if ( conf['axis'] == 'x' ){ // ½ºÅ©·Ñ·¯ ·Ñ¸µ xÃà ÀÎ °æ¿ì
					tmp.top = setPoint;
				}
				else { // ½ºÅ©·Ñ·¯ ·Ñ¸µ yÃà ÀÎ °æ¿ì
					tmp.left = setPoint;
				}


				if( parseInt( setPoint ) % conf['scrollerheight'] == 0 ){

					conf['wait_flag'] = false;
					window.setTimeout( this.Objnm + "." + conf['name'] + "['wait_flag']=true;" + this.Objnm + "." + conf['name'] + "['s_tmp']=0;", conf['waitingtime'] );
				}
			} // end for
		}


		window.setTimeout( this.Objnm + ".scrolling();", 1 );
	}



	/*-------------------------------------
	 Panel Axis Rolling Property - area »ðÀÔ
	 idx : ½ºÅ©·Ñ °Ô½Ã¹° ¹øÈ£
	 n : °Ô½Ã¹° Ãâ·Â area ¹øÈ£
	-------------------------------------*/
	panelAxisRolling.prototype.insert_area = function ( idx, n ){

		var conf = this.scrollconf;

		if ( conf['axis'] == 'x' ){ // ½ºÅ©·Ñ·¯ ·Ñ¸µ xÃà ÀÎ °æ¿ì

			var divwidth	= '100%';
			var divheight	= conf['scrollerheight'];
			var divtop		= ( eval( conf['scrollerheight'] ) * n );
			var divleft		= '0';
		}
		else { // ½ºÅ©·Ñ·¯ ·Ñ¸µ yÃà ÀÎ °æ¿ì

			var divwidth	= conf['scrollerheight'];
			var divheight	= '100%';
			var divtop		= '0';
			var divleft		= ( eval( conf['scrollerheight'] ) * n );
		}

		this.html = '<div style="Position: absolute; width:' + divwidth + '; height:' + divheight + '; top: ' + divtop + 'px; left: ' + divleft + 'px;" id="' + conf['areaname'] + n + '">\n';
		this.html+= conf['scroll_content'][idx] + '\n';
		this.html+= '</div>\n';
		document.write( this.html );
	}



	/*-------------------------------------
	 Panel Axis Rolling Property - ¹è¿­ Á¤·Ä
	-------------------------------------*/
	panelAxisRolling.prototype.sortSet = function ( a, b ){ return b - a	}



	/*-------------------------------------
	 Panel Axis Rolling Property - ¹æÇâ ÀüÈ¯
	 arrow : ½ºÅ©·Ñ·¯ ·Ñ¸µ ¹æÇâ(lt / rb)
	-------------------------------------*/
	panelAxisRolling.prototype.arrow_invert = function ( arrow ){

		var conf = this.scrollconf;

		conf['arrow'] = ( arrow == 'lt' ? 'lt' : 'rb' );


		{ // RIGHT&BOTTOM ¹æÇâ ÀÏ ¶§ »ç¿ë ÇÒ ÃÖ´ë À§Ä¡ Point °è»ê

			if ( conf['total_area'] > 0 ){

				var tmpPoints = new Array();

				for ( i = 0; i < conf['total_area']; i++ ){

					tmp = document.getElementById( conf['areaname'] + i ).style;

					if ( conf['axis'] == 'x' ){
						tmpPoints[i] = parseInt( tmp.top );
					}
					else {
						tmpPoints[i] = parseInt( tmp.left );
					}
				}

				tmpSort = tmpPoints.sort( this.sortSet );

				maxPoints = tmpSort[0];
			}
			else {
				maxPoints = 0;
			}
		}


		for ( i = 0; i < conf['total_area']; i++ ){

			tmp = document.getElementById( conf['areaname'] + i ).style;


			var setPoint;

			if ( conf['axis'] == 'x' ){ // ½ºÅ©·Ñ·¯ ·Ñ¸µ xÃà ÀÎ °æ¿ì
				var priorPoint = tmp.top;
			}
			else { // ½ºÅ©·Ñ·¯ ·Ñ¸µ yÃà ÀÎ °æ¿ì
				var priorPoint = tmp.left;
			}


			{ // Æ÷ÀÎÆ® °è»ê

				if ( conf['arrow'] == 'lt' ){ // LEFT&TOP ¹æÇâ

					if ( parseInt( priorPoint ) <= 0 ){
						setPoint = conf['scrollerheight'] * ( conf['total_area'] - 1 );

					}
					else if ( parseInt( priorPoint ) <= conf['scrollerheight'] ){
						setPoint = 0;
					}
					else if ( parseInt( priorPoint ) % conf['scrollerheight'] == 0 ){

						gap = parseInt( priorPoint ) - conf['scrollerheight'];
						setPoint = gap - ( gap % conf['scrollerheight'] );
					}
					else {
						gap = parseInt( priorPoint );
						setPoint = gap - ( gap % conf['scrollerheight'] );
					}

					if( parseInt( priorPoint ) % conf['scrollerheight'] != 0 ){
						setPoint = parseInt ( setPoint ) + 1;
					}
				}
				else { // RIGHT&BOTTOM ¹æÇâ

					if ( maxPoints >= ( conf['scrollerheight'] * ( conf['total_area'] - 1 ) ) ){

						if ( parseInt( priorPoint ) >= ( conf['scrollerheight'] * ( conf['total_area'] - 1 ) ) ){
							setPoint = 0;
						}
						else if ( parseInt( priorPoint ) >= ( conf['scrollerheight'] * ( conf['total_area'] - 2 ) ) ){
							setPoint = -conf['scrollerheight'];
						}
						else {

							gap = parseInt( priorPoint ) + conf['scrollerheight'];
							setPoint = gap - ( gap % conf['scrollerheight'] );
						}

					}
					else {

						if ( parseInt( priorPoint ) < 0 ){
							setPoint = 0;
						}
						else if ( parseInt( priorPoint ) > ( conf['scrollerheight'] * ( conf['total_area'] - 1 ) ) ){
							setPoint = -conf['scrollerheight'];
						}
						else {

							gap = parseInt( priorPoint ) + conf['scrollerheight'];
							setPoint = gap - ( gap % conf['scrollerheight'] );
						}
					}

					if( parseInt( priorPoint ) % conf['scrollerheight'] != 0 ){
						setPoint = parseInt ( setPoint ) - 1;
					}
				} // end if
			}


			if ( conf['axis'] == 'x' ){ // ½ºÅ©·Ñ·¯ ·Ñ¸µ xÃà ÀÎ °æ¿ì
				tmp.top = setPoint;
			}
			else { // ½ºÅ©·Ñ·¯ ·Ñ¸µ yÃà ÀÎ °æ¿ì
				tmp.left = setPoint;
			}
		} // end for
	}



}