//소문자//숫자체크 함수
function isAlpha2(form_element_name, msg)
{
	var alpha ='abcdefghijklmnopqrstuvwxyz';
	var num='0123456789';
	var alphanum=alpha + num;
	var t = form_element_name.value;

	for (i=0; i<t.length; i++){
			if (alphanum.indexOf(t.substring(i,i+1))<0) {
				alert(msg);
				form_element_name.focus();
				return false;
			}
	}

	return true;
}

//자리수 최소 //최대량 제한
function isLine2(form_element_name,msg,line,maxline)
{
	var t= form_element_name.value;
	if(t.length < line || t.length > maxline)
	{
			alert(msg);
			form_element_name.focus();
			return true;
	}
	else
		return false;
}
/// 일정갯수 채워지면 자동으로 다음칸으로 넘어가기


<!-- 
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	function autoTab(input,len, e) {
		var keyCode = (isNN) ? e.which : e.keyCode; 
		var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
		if(input.value.length >= len && !containsElement(filter,keyCode)) {
			input.value = input.value.slice(0, len);
			input.form[(getIndex(input)+1) % input.form.length].focus();
		}

	function containsElement(arr, ele) {
	var found = false, index = 0;
	while(!found && index < arr.length)
	if(arr[index] == ele)
		found = true;
	else
		index++;
	return found;
	}

	function getIndex(input) {
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
		if (input.form[i] == input)index = i;
		else i++;
		return index;
	}

	return true;
	}
//  -->


<!------------------------- 여기까지 ---------------------------------->

<!---- [2단계] 아래의 방법으로 원하는 위치에 복사 해 넣으세요 ------------------>
<!----- return autoTab(this, 문자수, event); -------->
<!--------------onKeyUp="return autoTab(This,3,event);"------------------>


///////////////////////////////
/////////////////////////////// 크로스 페이드 갤러리
///////////////////////////////<!-- define crossfade (image-object, 'new src', 'seconds'[, 'new alt text']) -->
///////////////////////////////<a href="javascript:crossfade(document.getElementById('test'),'http://www.blueb.co.kr/SRC/flash/image/01.jpg', '1', 'alt텍스트')"> 
 /////////////////////////////// <img id="test"  <-- 필수
///////////////////////////////파란색 : 함수호출 
///////////////////////////////보라색 : 이미지경로 
///////////////////////////////빨간색 : 페이드속도 (1=1초) 
///////////////////////////////녹색 : alt텍스트입력 
///////////////////////////////

var ixf = { 'clock' : null, 'count' : 1 }

ixf.imgs = [ //이미지 미리 불러오기 등록
    'http://www.blueb.co.kr/SRC/flash/image/01.jpg',
    'http://www.blueb.co.kr/SRC/flash/image/03.jpg',
    'http://www.blueb.co.kr/SRC/flash/image/04.jpg',
    'http://www.blueb.co.kr/SRC/flash/image/06.jpg',
    'http://www.blueb.co.kr/SRC/flash/image/07.jpg',
    ];


ixf.imgsLen = ixf.imgs.length;
ixf.cache = [];
for(var i=0; i<ixf.imgsLen; i++)
{
    ixf.cache[i] = new Image;
    ixf.cache[i].src = ixf.imgs[i];
}

function crossfade()
{
    //if the timer is not already going
    if(ixf.clock == null)
    {
        //copy the image object 
        ixf.obj = arguments[0];
        
        //copy the image src argument 
        ixf.src = arguments[1];
        
        //store the supported form of opacity
        if(typeof ixf.obj.style.opacity != 'undefined')
        {
            ixf.type = 'w3c';
        }
        else if(typeof ixf.obj.style.MozOpacity != 'undefined')
        {
            ixf.type = 'moz';
        }
        else if(typeof ixf.obj.style.KhtmlOpacity != 'undefined')
        {
            ixf.type = 'khtml';
        }
        else if(typeof ixf.obj.filters == 'object')
        {
            //weed out win/ie5.0 by testing the length of the filters collection (where filters is an object with no data)
            //then weed out mac/ie5 by testing first the existence of the alpha object (to prevent errors in win/ie5.0)
            //then the returned value type, which should be a number, but in mac/ie5 is an empty string
            ixf.type = (ixf.obj.filters.length > 0 && typeof ixf.obj.filters.alpha == 'object' && typeof ixf.obj.filters.alpha.opacity == 'number') ? 'ie' : 'none';
        }
        else
        {
            ixf.type = 'none';
        }
        
        //change the image alt text if defined
        if(typeof arguments[3] != 'undefined' && arguments[3] != '')
        {
            ixf.obj.alt = arguments[3];
        }
        
        //if any kind of opacity is supported
        if(ixf.type != 'none')
        {
            //create a new image object and append it to body
            //detecting support for namespaced element creation, in case we're in the XML DOM
            ixf.newimg = document.getElementsByTagName('body')[0].appendChild((typeof document.createElementNS != 'undefined') ? document.createElementNS('http://www.w3.org/1999/xhtml', 'img') : document.createElement('img'));

            //set positioning classname
            ixf.newimg.className = 'idupe';
            
            //set src to new image src
            ixf.newimg.src = ixf.src

            //move it to superimpose original image
            ixf.newimg.style.left = ixf.getRealPosition(ixf.obj, 'x') + 'px';
            ixf.newimg.style.top = ixf.getRealPosition(ixf.obj, 'y') + 'px';
            
            //copy and convert fade duration argument 
            ixf.length = parseInt(arguments[2], 10) * 1000;
            
            //create fade resolution argument as 20 steps per transition
            ixf.resolution = parseInt(arguments[2], 10) * 20;
            
            //start the timer
            ixf.clock = setInterval('ixf.crossfade()', ixf.length/ixf.resolution);
        }
        
        //otherwise if opacity is not supported
        else
        {
            //just do the image swap
            ixf.obj.src = ixf.src;
        }
        
    }
};


//crossfade timer function
ixf.crossfade = function()
{
    //decrease the counter on a linear scale
    ixf.count -= (1 / ixf.resolution);
    
    //if the counter has reached the bottom
    if(ixf.count < (1 / ixf.resolution))
    {
        //clear the timer
        clearInterval(ixf.clock);
        ixf.clock = null;
        
        //reset the counter
        ixf.count = 1;
        
        //set the original image to the src of the new image
        ixf.obj.src = ixf.src;
    }
    
    //set new opacity value on both elements
    //using whatever method is supported
    switch(ixf.type)
    {
        case 'ie' :
            ixf.obj.filters.alpha.opacity = ixf.count * 100;
            ixf.newimg.filters.alpha.opacity = (1 - ixf.count) * 100;
            break;
            
        case 'khtml' :
            ixf.obj.style.KhtmlOpacity = ixf.count;
            ixf.newimg.style.KhtmlOpacity = (1 - ixf.count);
            break;
            
        case 'moz' : 
            //restrict max opacity to prevent a visual popping effect in firefox
            ixf.obj.style.MozOpacity = (ixf.count == 1 ? 0.9999999 : ixf.count);
            ixf.newimg.style.MozOpacity = (1 - ixf.count);
            break;
            
        default : 
            //restrict max opacity to prevent a visual popping effect in firefox
            ixf.obj.style.opacity = (ixf.count == 1 ? 0.9999999 : ixf.count);
            ixf.newimg.style.opacity = (1 - ixf.count);
    }
    
    //now that we've gone through one fade iteration 
    //we can show the image that's fading in
    ixf.newimg.style.visibility = 'visible';
    
    //keep new image in position with original image
    //in case text size changes mid transition or something
    ixf.newimg.style.left = ixf.getRealPosition(ixf.obj, 'x') + 'px';
    ixf.newimg.style.top = ixf.getRealPosition(ixf.obj, 'y') + 'px';
    
    //if the counter is at the top, which is just after the timer has finished
    if(ixf.count == 1)
    {
        //remove the duplicate image
        ixf.newimg.parentNode.removeChild(ixf.newimg);
    }
};



//get real position method
ixf.getRealPosition = function()
{
    this.pos = (arguments[1] == 'x') ? arguments[0].offsetLeft+1 : arguments[0].offsetTop+1;
    this.tmp = arguments[0].offsetParent;
    while(this.tmp != null)
    {
        this.pos += (arguments[1] == 'x') ? this.tmp.offsetLeft : this.tmp.offsetTop;
        this.tmp = this.tmp.offsetParent;
    }
    
    return this.pos;
};

//<style  type="text/css">
/* default opacity for IE */
//img {
//   filter:alpha(opacity=100);
//  }

/* duplicate image positioning */
//img.idupe {
//   position:absolute;
//  z-index:30000;
//  visibility:hidden;
//  }

//</style>


