/***********************************************
* 2009.03.24 SKC
***********************************************/
$(function(){
	$('.required').each(function(){
		var type =  $(this).attr("type");
		if(type=='text' || type=='password' || $(this).is('textarea')){
			$(this).css('background', 'url('+op_path+'/content/images/required.gif)  no-repeat right top').css('background-color', '#ffffff');
		}
	});
	

	if ($.browser.msie && $.browser.version < 7 )
	{
		$('input[type=checkbox], input[type=radio], input[type=image]').css('border',0);
	}	
	
	$('table').attr('cellspacing', '0').attr('cellpadding', '0');
	
	// 숫자만 입력
	$('._number').keyup(function() {
		$(this).val($(this).val().replace(/[^0-9]/g,'0'));
	});
	
	$('._number').focus(function() {
		$(this).select();
	});
	

	
	
	
	
	/**
	 * input, passwod, textarea focus style
	 */
//	if ($.browser.msie && $.browser.version < 7 )
//	{
//	    $('input[type=text], input[type=password], textarea')
//			.focus(function(){
//				$(this).css('border', 'solid 1px #a9c2da');//#487cb6
//			})
//
//			.blur(function(){
//				$(this).css('border', 'solid 1px #d8d8d8').css('border-top','solid 1px #9a9a9a').css('border-left','solid 1px #9a9a9a');
//			});
//	}
	
    
    /**
     * 경고창 띄우기
     */
    if(op_alert_message != "")
    {
    	if(op_alert_type=='Success'){
    		$('div.growlUI').css('background', 'url(/content/images/common/icon_check.png) no-repeat 10px 10px');
        	$.growlUI(op_alert_type, op_alert_message); 
    	}else{
    		//$('div.growlUI').css('background', 'url(/content/images/common/onebit_33.png) no-repeat 10px 10px');
    		alert(op_alert_message);
    	}
    	
    	if(op_alert_where == 'opener')
    	{
    		self.close();
    		
    		try{
	    		if(op_alert_url=='' || op_alert_url=='refresh' || op_alert_url == 'reload')
	    		{
	    			opener.document.reload();
	    		}
	    		else
	    		{
	    			opener.document.location.href = op_alert_url;
	    		}
    		}
	    	catch(e){}
    		
    	}
    }
});


jQuery.fn.extend({

	trim : function() {
		return this.each(function() {
			$(this).replace(/(^\s*)|(\s*$)/gi, "");
		});
	},

	/*
	replace : function(org, tar) {
		return this.each(function() {
			$(this).trim().replace(eval("/" + org + "/gi"), tar);
		});
	},
	 */

	check: function() {
		return this.each(function() { this.checked = true; });
	},
	uncheck: function() {
		return this.each(function() { this.checked = false; });
	},


	
	validation : function(eng){

		var defaultColor = '#fff';			
		var validationColor = '#ffffcc';	// 실패시 Input 박스의 bgcolor


		var validationCount = 0;
		var name = '';
		var type = '';

		this.each(function() {
			
			if(validationCount==0){
				type = $(this).attr("type");
				name = $(this).attr("name");

				if(type == 'text' || type == 'password' || type == 'hidden' || $(this).is('textarea')){
					if($(this).val()==''){
						if(eng==1){
							alert('Please enter '+$(this).attr("title"));
						}else{
							alert($(this).attr("title")+'을(를) 입력해 주세요');
						}

						$(this).focus();
						validationCount++;
						$(this).css('background-color', validationColor);

					}else{


							if($(this).attr("minlength") != '' && parseInt($(this).attr("minlength")) > parseInt($(this).val().length)){
								if(eng==1){
									alert($(this).attr("title")+' must be at least '+$(this).attr("minlength")+' characters long');
								}else{
									alert($(this).attr("title")+'을(를) '+$(this).attr("minlength")+'자 이상 입력해 주세요');
								}
								$(this).focus();
								validationCount++;
								$(this).css('background-color', validationColor);

							}else if($(this).is('._jumin') || $(this).is('._email') || $(this).is('._password')){
								if($(this).checkRegPatten(eng) != ''){
									alert($(this).checkRegPatten(eng));
									$(this).focus();
									validationCount++;
									$(this).css('background-color', validationColor);
								}

							}else{
								if($(this).checkRegPatten(eng) != ''){
									alert($(this).attr("title")+'을(를) '+$(this).checkRegPatten(eng));
									$(this).focus();
									validationCount++;
									$(this).css('background-color', validationColor);
								}
							}

							//$(this).css('background-color', defaultColor);
						
					}


				}else if(type == 'radio'){
					if($('input[@name='+name+']:checked').size() == 0){
						if(eng==1){
							alert('choose '+$(this).attr("title"));
						}else{
							alert($(this).attr("title")+'을(를) 선택해 주세요');
						}

						$(this).focus();
						validationCount++;
					}
				}else if(type == 'checkbox'){
					if(!$(this).is(':checked')){
						alert($(this).attr("title"));
						$(this).focus();
						validationCount++;
					}
				}else if($(this).is('select')){
					if($(this).val()==''){
						if(eng == 1){
							alert('please select '+$(this).attr("title"));
						}else{
							alert($(this).attr("title")+'을(를) 선택해 주세요');
						}

						$(this).focus();
						validationCount++;
					}
				}
			}
		});

		var retunValue = validationCount == 0 ? true : false;
		return retunValue;
	},

	checkRegPatten : function(eng){
		
		if(this.is('._id')){
			if(eng==1){
				return regId.test(this.val()) ? '' : ' at least 4 characters long, mixing english, number, _, - 조합으로 입력해 주세요';
			}else{
				return regId.test(this.val()) ? '' : '4자 이상 영문으로 시작되고 영문, 숫자, _, - 조합으로 입력해 주세요';
			}
		}



		if(this.is('._email')){
			if(eng==1){
				return regEmail.test(this.val()) ? '' : 'please enter a valid email address';
			}else{
				return regEmail.test(this.val()) ? '' : '이메일 주소를 정확히 입력해 주세요.';
			}
		}

		if(this.is('._jumin')){
			var jumin = new Array();
			var idx = 0;
			$('._jumin').each(function(){
				jumin[idx] = $(this).val();
				idx++;
			});


			if(jumin[0] !='' && jumin[1] !=''){
				if(eng==1){
					return checkJumin(jumin[0], jumin[1]) ? '' : 'long number';
				}else{
					return checkJumin(jumin[0], jumin[1]) ? '' : '주민등록번호를 정확히 입력해 주세요.';
				}
			}
		}

		if(this.is('._password')){
			var password = new Array();
			var idx = 0;
			$('._password').each(function(){
				password[idx] = $(this).val();
				idx++;
			});


			if(password[0] !='' && password[1] !=''){
				if(eng==1){
					return password[0] == password[1] ? '' : 'Please enter the same password as above';
				}else{
					return password[0] == password[1] ? '' : '비밀번호가 일치하지 않습니다.';
				}
			}
		}

		if(this.is('._number')){
			if(eng==1){
				return regNumber.test(this.val()) ? '' : 'Only Number';
			}else{
				return regNumber.test(this.val()) ? '' : '숫자로만 입력해 주세요';
			}
		}


		if(this.is('._kor_only')){
			if(eng==1){
				return regKorOnly.test(this.val()) ? '' : 'please enter korean';
			}else{
				return regKorOnly.test(this.val()) ? '' : '한글로만 입력해 주세요';
			}
		}

		if(this.is('._eng_only')){
			if(eng==1){
				return regEngOnly.test(this.val()) ? '' : 'please enter english';
			}else{
				return regEngOnly.test(this.val()) ? '' : '영어로만 입력해 주세요';
			}
		}

		if(this.is('._kor_eng_only')){
			if(eng==1){
				return regKorEngOnly.test(this.val()) ? '' : 'please enter english';
			}else{
				return regKorEngOnly.test(this.val()) ? '' : '한글 + 영어로만 입력해 주세요';
			}
		}

		return '';
		
		
	}

});




// 탭메뉴(skc 090528)
$.fn.tabmenu2 = function(act) {

	var act = act=='click' ? 'click' : 'over';

	var action = function(selector, tabCount, n){
		for(var i=0;i<tabCount;i++){
			if(i==n){
				selector.find('.tab').eq(i).show();
			}else{
				selector.find('.tab').eq(i).hide();
			}
		}
	}


	this.each(function(){
		var selector = $(this);

		//탭 카운트
		var tabCount = selector.find('.tab').size();
		var aIdx = 0;

		for(var i=0;i<tabCount;i++){
			aIdx = 0;
			
			selector.find('.tab .tab_menu:eq('+i+') a').each(function(){

				if(act=='click'){
					$(this).click(function(){
						action(selector, tabCount, $(this).parent().parent().find('a').index(this));
					});

				}else if(act=='over'){
					$(this).hover(function(){
						action(selector, tabCount, $(this).parent().parent().find('a').index(this));
					});

					$(this).focus(function(){
						action(selector, tabCount, $(this).parent().parent().find('a').index(this));
					});
				}

				aIdx++;
			});
		}
	});


};



// 아덴캡슐(090601)
$.fn.tabmenu = function(settings) {

	settings = jQuery.extend({
		tag : 'h3',		 // 텝메뉴 테크
		action : 'over', // 텝메뉴 엑션
		mime : '.gif',	// 탭 링크가 이미지인 경우 mime
		on : '_on'		// 이미지 오버 했을때
	},settings);

	//alert(settings.tag);



	var action = function(selector, tabCount, n){
		for(var i=0;i<tabCount;i++){
			var img = selector.find(settings.tag+' a img').eq(i);

			if(i==n){
				selector.find('.contents').eq(i).show();;

				try{
					img.attr('src', img.attr('src').replace(settings.on+settings.mime, settings.mime).replace(settings.mime, settings.on+settings.mime));
				}catch(e){}
			}else{
				selector.find('.contents').eq(i).hide();
				try{img.attr('src', img.attr('src').replace(settings.on+settings.mime, settings.mime));}catch(e){}
			}
		}
	}


	this.each(function(){
		var selector = $(this);

		//탭 카운트
		var tabCount = selector.find('.contents').size();

		selector.find(settings.tag+' a').each(function(){


			if(settings.action=='click'){
				$(this).click(function(){	
					action(selector, tabCount, selector.find(settings.tag+' a').index(this));
				});

				$(this).keydown(function(){	
					action(selector, tabCount, selector.find(settings.tag+' a').index(this));
				});


			}else{
				$(this).focus(function(){	
					action(selector, tabCount, selector.find(settings.tag+' a').index(this));
				});

				$(this).hover(function(){	
					action(selector, tabCount, selector.find(settings.tag+' a').index(this));
				});
			}
		});

	});


};



$.fn.subNavigation = function(current) {
	var number = 0;
	if(current)
	{
		number = current;
	}
	var settings = {
		n: number,		// 서브메뉴 순번
		mime: '.gif',	// 메뉴이미지 확장자
		on: '_on'		// 오버이미지
	};


	var over = false;
	var MenuSelector	= 'li > a';

	var _init = function(){

		setTimeout(function(){
			if(over==false)
			{
				if(settings.n > 0){
					menuOver(settings.n-1);
				}else{
					var img = selector.find(MenuSelector).find('img');
					img.each(function(){
						$(this).attr('src', $(this).attr('src').replace(settings.on+settings.mime, settings.mime));
					});
				}
			}
		}, 500);
	}

	var menuOver = function(index){
		over = true;
		var img = selector.find(MenuSelector).find('img');
		img.each(function(){
			$(this).attr('src', $(this).attr('src').replace(settings.on+settings.mime, settings.mime));
		});
		img.eq(index).attr('src', img.eq(index).attr('src').replace(settings.on+settings.mime, settings.mime).replace(settings.mime, settings.on+settings.mime));
	}

	var menuOut = function(index){
		over = false;
		_init();
	}

	this.each(function(){
		selector = $(this);
		selector.find(MenuSelector).each(function(){
			var index = selector.find(MenuSelector).index(this);

			$(this).focus(function(){	
				menuOver(index);
			}).mouseover(function(){
				menuOver(index);
			});
			
			$(this).blur(function(){	
				menuOut(index);
			}).mouseout(function(){
				menuOut(index);
			});

		});
	});


	_init();
};

$.fn.navigation = function(option) {

	settings = jQuery.extend({
		m : 0,			// 대메뉴 순번
		n : 0,			// 서브메뉴 순번
		mime : '.gif',	// 메뉴이미지 확장자
		on : '_on',		// 오버이미지
		subTag : 'ul'
	}, option);

	//alert(settings.subTag);

	var MenuSelector		= 'li:has('+settings.subTag+')';
	var firstMenuSelector	= 'li:has('+settings.subTag+') > a';
	var secondMenuSelector	= 'li:has('+settings.subTag+') '+settings.subTag;
	var selector = null;
	var over = false;

	var _init = function(){
		setTimeout(function(){
			if(over==false)
			{
				//alert(selector);
				if(settings.m > 0){
					firstMenuAction(settings.m-1);
				}else{
					
					var img = selector.find(firstMenuSelector).find('img');
					img.each(function(){
						$(this).attr('src', $(this).attr('src').replace(settings.on+settings.mime, settings.mime));
					});
					selector.find(secondMenuSelector).hide();
				}
				
				if(settings.n > 0){
					selector.find(secondMenuSelector).eq(settings.m-1).find('a').eq(settings.n-1).find('img').focus();
				}else{
					selector.find(secondMenuSelector).hide();
				}
			}
		
		}, 500);
	}
	
	// 대메뉴 액션 처리
	var firstMenuAction = function(index){
		over=true;
		selector.find(secondMenuSelector).hide();
		selector.find(secondMenuSelector).eq(index).show();


		var img = selector.find(firstMenuSelector).find('img');
		img.each(function(){
			$(this).attr('src', $(this).attr('src').replace(settings.on+settings.mime, settings.mime));
		});

		selector.find(firstMenuSelector).eq(index).find('img').attr('src', selector.find(firstMenuSelector).eq(index).find('img').attr('src').replace(settings.on+settings.mime, settings.mime).replace(settings.mime, settings.on+settings.mime));
		
		var img = selector.find(secondMenuSelector).find('img');
		img.each(function(){
			$(this).attr('src', $(this).attr('src').replace(settings.on+settings.mime, settings.mime));	
		});
	}
	
	var subMenuImageOver = function(index){
		over=true;		
		var img = selector.find(secondMenuSelector+' a').eq(index);
		img.find('img').attr('src', img.find('img').attr('src').replace(settings.on+settings.mime, settings.mime).replace(settings.mime, settings.on+settings.mime));
	}
	
	var subMenuImageOut = function(index){
		over=false;		
		var img = selector.find(secondMenuSelector+' a').eq(index);
		img.find('img').attr('src', img.find('img').attr('src').replace(settings.on+settings.mime, settings.mime));
		_init();
	}



	this.each(function(){
		selector = $(this);

		// 대메뉴 액션
		selector.find(firstMenuSelector).each(function(){
			var index = selector.find(firstMenuSelector).index(this);

			$(this).focus(function(){	
				firstMenuAction(index);
			});
			
			$(this).blur(function(){	
				over=false;
				_init();
			});
	
			$(this).mouseover(function(){	

				firstMenuAction(index);
			});
			
			$(this).mouseout(function(){	
				over=false;
				_init();
			});
		});
		
		
		
		// 서브메뉴 액션
		selector.find(secondMenuSelector+' a').each(function(){
			var index = selector.find(secondMenuSelector+' a').index(this);
			
			$(this).focus(function(){	
				subMenuImageOver(index);
			}).mouseover(function(){	
				subMenuImageOver(index);
			});
			
			$(this).blur(function(){	
				subMenuImageOut(index);
			}).mouseout(function(){
				subMenuImageOut(index);
			});
		});
		
		
		_init();
	});
};





/**
 * 이미지 rollover
 * 2009-11-02
 * 
 * 해당 selector의 a tag 속 이미지를 변경한다.
 */

$.fn.rollover = function(settings){
	settings = jQuery.extend({
		over : '_on',	// 방향
		ext : '.gif'
	},settings);



	this.each(function(){
		var selector = $(this);
		var currentIndex = -1;
		var overFlag = false;

		var over = function(idx){
			overFlag = true
			var img = selector.find("a img").eq(idx);
			img.attr('src', img.attr('src').replace(settings.over+settings.ext, settings.ext).replace(settings.ext, settings.over+settings.ext));
		}
		
		var out = function(idx){
			overFlag = false;
			
			if (idx != currentIndex) {
				var img = selector.find("a img").eq(idx);
				img.attr('src', img.attr('src').replace(settings.over+settings.ext, settings.ext));		
			}
			
			setTimeout(function() {
				//alert(currentIndex);
				if (overFlag == false && currentIndex != -1)
				{
					over(currentIndex);
				}
			}, 1000);
		}

	

		selector.find("a").each(function(){
			var index = selector.find("a").index(this);
			
			if (selector.find("a img").eq(index).attr('class') == 'current' || selector.find("a img").eq(index).attr('class') == 'on')
			{
				currentIndex = index;
				over(index);
			}

			$(this).focus(function(){	
				over(index);
			}).mouseover(function(){
				over(index);
			});
			
			$(this).blur(function(){	
				out(index);
			}).mouseout(function(){
				out(index);
			});
		});
	});
};





// 롤링 - 아덴캡슐(090601)
$.fn.rolling = function(settings) {

	this.each(function(){
		var selector = $(this);
		var _roll;
		var idx = -1;
		var item = new Array();


		settings = jQuery.extend({
			direction : 'top',	// 방향
			width : 300,		
			height : 18,
			movePx : 18,		// 이동픽셀
			speed : 500,		// 스피드
			delay : 2500,		// 
			step : 1
		},settings);


		// UL이 없으면 return;
		var ul_size = selector.find('ul').size();
		if(ul_size==0) return;

		var ul = selector.find('ul');

		var li = ul.find('li');

		for(var i=0;i<li.size();i++){
			item[i] = ul.find('li').eq(i).html();
		}



		var selector_style = {
			width:settings.width+'px',
			height:settings.height+'px',
			overflow:'hidden',
			position:'relative'
		}

		var ul_style = {
			position:'absolute',
			left:'0px',
			top:'0px'
		}

		selector.css(selector_style);
		ul.css(ul_style);

		selector.hover(
			function(){
				_stop();
			},

			function(){
				_rolling();
				_start();
			}
		);

		var _start = function(){
			_roll = setInterval(_rolling, settings.delay);
		}

		var _stop = function(){
			clearInterval(_roll);
		}

		var _rolling = function(){
			if(settings.direction == 'top'){
				var t = parseInt(ul.css('top').replace('px', '')) - settings.movePx;
				var top = parseInt(ul.css('top')) % settings.movePx;
				if(top!=0) t = t-top;
				//alert(idx);
				ul.animate({ top: t+'px' }, settings.speed);
				ul.queue(function(){
					ul.append('<li>'+item[idx]+'. '+idx+'</li>');
					ul.find('li:first').remove();

					ul.css('top', '0px');

					$(this).dequeue();
				});

				idx++;

				if(idx+1> ul.find('li').size()){
					idx = 0;
					ul.css('top', '0px');
				}


			}else{

				var l = parseInt(ul.css('left').replace('px', '')) - settings.movePx;


				var left = parseInt(ul.css('left')) % settings.movePx;

				if(left!=0) l = l-left;

				ul.animate({ left: -l+'px' }, settings.speed);
				ul.queue(function(){
					ul.append('<li>'+item[idx]+'. '+idx+'</li>');
					ul.find('li:first').remove();

					ul.css('left', '0px');

					$(this).dequeue();
				});
				//ul.css('top', '0px');
				//$('#msg').html('<br />firstChild = '+ul.find('li:first').html()+'<br /><br />'+ul.html()+'<br /> : top '+t+'<br />');


				//$('#msg').html(t);

				idx++;

				if(idx+1> ul.find('li').size()){
					idx = 0;
					ul.css('left', '0px');
				}


			}


		}

		_start();
	});
	
};
