	
(function($){
	
$(document).ready(function(){

  var iFrames = $('iframe:not(.notSize)'); // Resize heights.

  //iframe resize
  function iResize(){
   // Iterate through all iframes in the page.
  	for (var i = 0, j = iFrames.length; i < j; i++){
    	// Set inline style to equal the body height of the iframed content.
    	iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px';
   	}
  }  // Check if browser is Safari or Opera.
  
  
  if ($.browser.safari || $.browser.opera){
  	// Start timer when loaded.
   	$('iframe:not(.notSize)').load(function(){   		
    	setTimeout(iResize, 0);
    });   // Safari and Opera need a kick-start.
   	
   	for (var i = 0, j = iFrames.length; i < j; i++){
    	var iSource = iFrames[i].src;
    	iFrames[i].src = '';
    	iFrames[i].src = iSource;
   	}
  }else{
  	// For other good browsers.
   	$('iframe:not(.notSize)').load(function(){
   	  var bodyHeight = 0;
   	  //alert(navigator.userAgent.toLowerCase());
   	  if(navigator.userAgent.toLowerCase().indexOf("msie 8") != -1){
   	    bodyHeight = this.contentWindow.document.body.offsetHeight;
   	  }else{
   	    bodyHeight = this.contentWindow.document.body.offsetHeight;
   	  }
   	  // Set inline style to equal the body height of the iframed content.
   	  this.style.height = bodyHeight +'px';
    });
  }
  
  
  //숫자만 입력가능
  $('.onlyNumbers').css("ime-mode","disabled").bind('keydown',function(event){
		 
		//키가 눌렀을 때 키코드(keycode)를 담는 변수
		var keyCd = event.which;
		
		//기본 키코드 숫자(48부터 57까지)인지를 확인하는 변수
		var isStandard = (keyCd > 47 && keyCd < 58);
		
		//숫자 키패드의 키코드(96부터 105까지)인지를 확인하는 변수
		var isExtended = (keyCd > 95 && keyCd < 106);
		
		//영문 키패드의 키코드(65부터 90까지)인지를 확인하는 변수
		var isEnglish = (keyCd > 64 && keyCd < 91);
		
				//Backspace 키(8), Forward Delete 키(46)
		//Left Arrow 키(37), Up Arrow 키(38), Right Arrow(39), Down Arrow 키(40)
		var validKeyCodes = ',8,9,37,38,39,40,46,';
		var isOther = ( validKeyCodes.indexOf(',' + keyCd + ',') > -1 );
		
	
		if(isStandard || isExtended || isOther){
			return true;
		}else{
			return false;
		}
		
	}).bind('blur',function(){
		
		//숫자가 아닌 모든 것을 찾아내는 정규 표현식	
		var pattern = new RegExp('[^0-9]+', 'g');
		
		var $input = $(this);
		var value = $input.val();
		
		//정규 표현식을 사용하여 숫자가 아닌 값들을 정리한다.
		value = value.replace(pattern, '');
		$input.val(value)		
	});
	
	
	  //숫자만 입력가능
  $('.engNumbers').css("ime-mode","disabled").bind('keydown',function(event){
		 
		//키가 눌렀을 때 키코드(keycode)를 담는 변수
		var keyCd = event.which;
		
		//기본 키코드 숫자(48부터 57까지)인지를 확인하는 변수
		var isStandard = (keyCd > 47 && keyCd < 58);
		
		//숫자 키패드의 키코드(96부터 105까지)인지를 확인하는 변수		
		var isExtended = (keyCd > 95 && keyCd < 106);
		
		//영문 키패드의 키코드(65부터 90까지)인지를 확인하는 변수
		var isEnglish = (keyCd > 64 && keyCd < 91);
		
		//Backspace 키(8), Forward Delete 키(46)
		//Left Arrow 키(37), Up Arrow 키(38), Right Arrow(39), Down Arrow 키(40)
		var validKeyCodes = ',8,9,37,38,39,40,46,';
		var isOther = ( validKeyCodes.indexOf(',' + keyCd + ',') > -1 );
		
	
		if(isStandard || isExtended || isEnglish || isOther){
			return true;
		}else{
			return false;
		}
		
	}).bind('blur',function(){
		
		//숫자가 아닌 모든 것을 찾아내는 정규 표현식	
		var pattern = new RegExp('[^0-9|a-z|A-Z]+', 'g');
		
		var $input = $(this);
		var value = $input.val();
		
		//정규 표현식을 사용하여 숫자가 아닌 값들을 정리한다.
		value = value.replace(pattern, '');
		$input.val(value)		
	});
	
		  //숫자만 입력가능
  $('.engEtcNumbers').css("ime-mode","disabled").bind('keydown',function(event){
		 
		//키가 눌렀을 때 키코드(keycode)를 담는 변수
		var keyCd = event.which;
		
		//기본 키코드 숫자(48부터 57까지)인지를 확인하는 변수
		var isStandard = (keyCd > 47 && keyCd < 58);
		
		//숫자 키패드의 키코드(96부터 105까지)인지를 확인하는 변수		
		var isExtended = (keyCd > 95 && keyCd < 106);
		
		//영문 키패드의 키코드(65부터 90까지)인지를 확인하는 변수
		var isEnglish = (keyCd > 64 && keyCd < 91);
		
		//Backspace 키(8), Forward Delete 키(46)
		//Left Arrow 키(37), Up Arrow 키(38), Right Arrow(39), Down Arrow 키(40)
		var validKeyCodes = ',8,9,37,38,39,40,46,';
		var isOther = ( validKeyCodes.indexOf(',' + keyCd + ',') > -1 );
		
	
		if(isStandard || isExtended || isEnglish || isOther){
			return true;
		}else{
			return false;
		}
		
	}).bind('blur',function(){
		
		//숫자가 아닌 모든 것을 찾아내는 정규 표현식	
		var pattern = new RegExp('[^0-9|a-z|A-Z|\\!|\\@|\\#|\\$|\\%|\\^|\\&|\\*|\\(|\\)]+', 'g');
		
		var $input = $(this);
		var value = $input.val();
		
		//정규 표현식을 사용하여 숫자가 아닌 값들을 정리한다.
		value = value.replace(pattern, '');
		$input.val(value)		
	});
	
  
  //버튼 cursor
  $('.imgBtn').hover(
		function(){
			$(this).css("cursor", "pointer");
		},
		function(){
			$(this).css("cursor", "defualt");
		}
	);
	
	
	
	// 자리수 체크 
	/*** 사용법 **************
	 <div value="300" class="limit_text">300자 남음</div>
	 <textarea class="in_text"></textarea>
	**************************/
	$('.in_text').filter(function(){
	  $(this).keyup(function(){
	
	  	var $maxCount = $('.limit_text').val(); //총 쓰기 가능한 글자 수
	  	var $sCount = 0;  //글자크기 1++
	  	var $tCount = 0;  //글자크기: 한글:2++ 기타:1++
	  	var $oneChar = '';
	  	var $temp = $(this).val().length;
	  	var str = '';
	  	
	  	
	  	//전체 선택 지우기때 자리수 보여주기
	  	if($(this).val() == ''){
           $('.limit_text').html('('+$maxCount+'\uC790 \uB0A8\uC74C)');
       }
	  	
	  	//이벤트시 글자수 체크 및 보여주기 
	  	for (k=0;k < $temp;k++){
	  		$oneChar = $(this).val().charAt(k);
	  		
	  		if (escape($oneChar) =='%0D') { 
	     	} else if (escape($oneChar).length > 4) { 
	     		$tCount += 2;
	     		$sCount++; 
	     	} else { 
	     		$tCount++;
	     		$sCount++; 
	     	}
	  		
	  		
	  		
	  		if($tCount <= $maxCount) {
	  		  $('.limit_text').html('('+($maxCount-$tCount)+'\uC790 \uB0A8\uC74C)');
	  		} else {
	  			alert('\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uAE00\uC790\uC218\uB294 '+$maxCount+'\uC790 \uC785\uB2C8\uB2E4. \uCD08\uACFC\uB41C \uAE00\uC790\uB294 \uC790\uB3D9 \uC0AD\uC81C\uB429\uB2C8\uB2E4.')	;
	  		  $(this).val( $(this).val().substring(0,$sCount-1) );
	  		  $('.limit_text').html('(0\uC790 \uB0A8\uC74C)');
	  		  break;
	  		    
	  		}
	    }
	    			
	  });
	});	
  
  
  // 자리수 체크 2
  /*** 사용법 **************
	 <div class="in_text2"><span class="count">300</span>자 남음</div>
	 <textarea class="inputText"></textarea>
	***********/
  $('.in_text2').each(function () {
  	// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다. 
		var $count = $('.count', this); 
    var $input = $('.inputText'); 
		
		// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다. 
		var maximumCount = $count.text() * 1;
		
		// update 함수는 keyup, paste, input 이벤트에서 호출한다. 
    var update = function () {
    	var before = $count.text() * 1;
    	var now = maximumCount - $input.val().length; 
			
			// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다. 
      if (now < 0) {
      	var str = $input.val(); 
        $input.val(str.substr(0, maximumCount)); 
        now = 0; 
      } 
			// 필요한 경우 DOM을 수정한다. 
      if (before != now) { 
      	$count.text(now);
			}    
		};
		
		// input, keyup, paste 이벤트와 update 함수를 바인드한다 
    $input.bind('input keyup paste', function () { setTimeout(update, 0) }); 
		update(); 
	}); 
  
});


function strCountChk(){
    var arr = jQuery.makeArray($('.strCountChk').children('input'));
    
    jQuery.each(arr,function(){

      var $maxCount = $(this).parent().children(':not(input)').val(); //총 쓰기 가능한 글자 수
	  	var $sCount = 0;  //글자크기 1++
	  	var $tCount = 0;  //글자크기: 한글:2++ 기타:1++
	  	var $oneChar = '';
	  	var $temp = $(this).val().length;
	  	var str = '';

	  	
	  	//전체 선택 지우기때 자리수 보여주기
	  	if($(this).val() == ''){
           $(this).parent().children(':not(input)').html('('+$maxCount+'\uC790 \uB0A8\uC74C)');
       }

	  	//이벤트시 글자수 체크 및 보여주기 
	  	for (k=0;k < $temp;k++){
	  		$oneChar = $(this).val().charAt(k);
	  		
	  		if (escape($oneChar) =='%0D') { 
	     	} else if (escape($oneChar).length > 4) { 
	     		$tCount += 2;
	     		$sCount++; 
	     	} else { 
	     		$tCount++;
	     		$sCount++; 
	     	}
	  		
	  		if($tCount <= $maxCount) {
	  		  $(this).parent().children(':not(input)').html('('+($maxCount-$tCount)+'\uC790 \uB0A8\uC74C)');
	  		} else {
	  			alert('\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uAE00\uC790\uC218\uB294 '+$maxCount+'\uC790 \uC785\uB2C8\uB2E4. \uCD08\uACFC\uB41C \uAE00\uC790\uB294 \uC790\uB3D9 \uC0AD\uC81C\uB429\uB2C8\uB2E4.')	;
	  		  $(this).val( $(this).val().substring(0,$sCount-1) );
	  		  $(this).parent().children(':not(input)').html('(0\uC790 \uB0A8\uC74C)');
	  		  break;
	  		    
	  		}
	    }
    });
}


})(jQuery);

umusic = {
	focusOnBlur : function(selector, focusClass, blurClass) {
		if(typeof focusClass == "undefined") focusClass = "focus";
		if(typeof blurClass == "undefined") blurClass = "default";

		$(selector).focus(function(e) {
			var ee = $(e.target);
			ee.removeClass(blurClass);
			ee.addClass(focusClass);
		}).blur(function(e) {
			var ee = $(e.target);
			ee.removeClass(focusClass);
			ee.addClass(blurClass);
		});
	}
}
