$(document).ready(function(){
			
		var c = {	
			thumbList:new Array(),
			btnList:new Array()
		}
		
		/*  for ms ie */
		//var isMSIE = /*@cc_on!@*/false; 
		//if(isMSIE){
			// t m p
			$("#main .tmb").mouseover(function(){$(this).children('.tmb_info').show()});
			$("#main .tmb").mouseout( function(){$(this).children('.tmb_info').hide()})
		//}

		
		/* initialize
		*/
		function init(){
			var arr = $("#main .tmb");	
			
			// register node_keys 
			for(var i=0; i<arr.length; i++){
				var n = $(arr[i]);
				var auth_key = n.children('.tmb_info').children('.credit').children('.auth_name').html();
				c.thumbList.push( {
					ins:n, 
					value:auth_key,
					hit:false
				} );
			}
			
			//activate buttons
			arr = $("#member .auth_name");
			for(i=0; i<arr.length; i++)
			{
				var n = $(arr[i]);
				
				// create btn List
				c.btnList.push( {
					ins:n, 
					key:n.html().replace(/^\s+|\s+$/g, "")
				} );
				
				n.mouseover(function(){
					if($(this).css('text-decoration')=="none"){
						$(this).css({'color':'#00F'});				
					}
					
				}).mouseout(function(){
					if($(this).css('text-decoration')=="none"){
						$(this).css({'color':'#000'});
					}else
					{
						$(this).css({'color':'#999'});	
					}
				}).click(function(){
					// toggle color
					var deleteMode = ( $(this).css('text-decoration') == 'none')? true:false;
					if(deleteMode){
						$(this).css({'text-decoration':'line-through','color':'#999'});
					}
					else
					{
						$(this).css({'text-decoration':'none','color':'#00F'});
					}
					updateThumbnails(true);
				});
			}
		}
		
	
		
		/*  update thumbnail list view
		 */
		function updateThumbnails(createHash_){
			var activeKey = new Array();
			for(var i=0; i<c.btnList.length; i++)
			{
				if(c.btnList[i].ins.css('text-decoration') == 'none'){
					activeKey.push( c.btnList[i].key );
				};
			}
			
			for(i=0; i<c.thumbList.length; i++){
				c.thumbList[i].hit = false;
			}
			
			for(i=0; i<c.thumbList.length; i++){
				for(var j=0; j<activeKey.length; j++){
					if(c.thumbList[i].value&&c.thumbList[i].value.indexOf(activeKey[j])!=-1){
						//hit
						c.thumbList[i].hit = true;
					}
				}
			}
			
			
			/* toggle visible
			*/
			for(i=0; i<c.thumbList.length; i++){
				if(c.thumbList[i].hit){
					c.thumbList[i].ins.fadeIn(100);
				}
				else{
					c.thumbList[i].ins.fadeOut(100);
				}
			}
			

			// reflesh w new hash
			if(createHash_)
				createNewHash(activeKey);
				
		}
		
	
	
		
		/* address setting
		*/
		$.address.externalChange(function(){				// url changed handler
			var str = $.address.parameter('p');
			if(str){
				var targetAry = str.split('+');
				initWithHash(targetAry);
			}
			else{
				initWithHash(null);
			}
		});
		
		function initWithHash(targetAry){
			
			if(targetAry==null){
				for(i=0; i<c.btnList.length; i++) c.btnList[i].ins.css({'text-decoration':'none'});
				updateThumbnails(false);	
				return;
			}
				
				
			for(var i=0; i<c.btnList.length; i++)
			{
				c.btnList[i].ins.css({'text-decoration':'line-through','color':'#999'});
			}
				
			for(i=0; i<targetAry.length; i++){
				for(var j=0; j<c.btnList.length; j++)
				{
					if(targetAry[i]==c.btnList[j].key){
						c.btnList[j].ins.css({'text-decoration':'none','color':'#000'});
					}
				}
			}
			
			updateThumbnails(false);	
		}
		
		
		function createNewHash(ary){
			
			if(ary.length==c.btnList.length) 
			{
				$.address.value('');
				return;
			}else if(ary.length==0){
				$.address.parameter('p', 'none'); 			
				return;
			}
			
			
			var str = ary[0];
			if(ary.length>1){
				for(var i=1; i<ary.length; i++){
					str = str+'+'+ary[i];
				}
			}
			$.address.parameter('p',str ); 
		}
		
	
			
		function getUrlVars()
		{
			var vars = [], hash;
			var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
			for(var i = 0; i < hashes.length; i++)
			{
				hash = hashes[i].split('=');
				vars.push(hash[0]);
				vars[hash[0]] = hash[1];
				}
			return vars;
		}
		
			
		init();
});
