/*========================================
js_input
<input>,<textarea>,<submit>,<select> µîÀ» Á¦¾î


#»ç¿ëÁ¦¾à
»ç¿ë½Ã "°ø´ë¿©ÀÚ´Â ¿¹»Ú´Ù"¸¦ ³ªÅ¸³»¼Å¾ßÇÕ´Ï´Ù.

¸¸µç³¯ : 2007-08-08
¼öÁ¤ÀÏ : 2007-08-09
¸¸µçÀÌ : mins01,mins,°ø´ë¿©ÀÚ
È¨ÆäÀÌÁö : http://www.mins01.com 
NateOn&MSN : mins01(at)lycos.co.kr

#»ç¿ëµÈ ¾ÆÀÌÄÜ
http://www.famfamfam.com/lab/icons/silk/
========================================*/
/*========================================================
JSÀÇ URL°æ·Î
========================================================*/
var temp = document.getElementsByTagName("SCRIPT");
temp = temp[temp.length-1].src;
temp = temp.substr(0,temp.lastIndexOf('/'));
if(temp!=''){var js_input_path = temp;
}else{var js_input_path='.';}
temp = null;






/*========================================================
input_checkbox_checked_all()
°°Àº ÀÌ¸§¿¡ º¹¼öÀÇ checkbox,radiobuttonÀÇ checked ÀÇ »óÅÂ¸¦ ¹Ù²Û´Ù.
ex> 
input_checkbox_checked_all([´ë»óµé],[Ã¼Å©»óÅÂ])
[Ã¼Å©»óÅÂ]:true,false

========================================================*/
function input_checkbox_checked_all(tas,bool){
	var m = tas.length;
	if(m){
		for(var i=0;i<m;i++)
		{
			tas[i].checked=bool;
		}
	}else{
		tas.checked=bool;
	}
}
/*========================================================
js_input_checkboxs_skin_all(win,force)
js_input_checkboxs_skin_all([Àû¿ëÇÒ window °´Ã¼],[form ¹ÛÀÇ <input>µµ Ã³¸®])
[Àû¿ëÇÒ window °´Ã¼]: ¼±ÅÃ¿É¼Ç(±âº»°ª: window);
[form ¹ÛÀÇ inputµµ Ã³¸®]: ¼±ÅÃ¿É¼Ç(±âº»°ª: false, form¾ÈÀÇ <input>¸¸ Ã³¸®);

ÇØ´ç window ¾ÈÀÇ ¸ðµç checkbox¿Í radiobuttonÀÇ ½ºÅ²À» ¹Ù²Û´Ù
(¹Ù²ï°Ç ´Ù½Ã ¹Ù²ÙÁö ¾Ê´Â´Ù)
<input>Àº ÀüºÎ form¿¡ ÀÖ¾î¾ß¸¸ ÇÑ´Ù(±âº»°ª)
force¸¦ true·Î ÇÏ¸é ¸ðµç <input>À» Ã¼Å©ÇÑ´Ù

========================================================*/
function js_input_checkboxs_skin_all(ta,force){
	if(!ta){ta = window.document;}
	var frms = ta.forms;
	if(frms){
		for(var i=0,m=frms.length;i<m;i++){
			for(var i2=0,m2=frms[i].elements.length;i2<m2;i2++){
				if(frms[i].elements[i2].tagName=='INPUT'){
					if(frms[i].elements[i2].type=='checkbox'){js_input_checkboxs_skin(frms[i].elements[i2]);}
					else if(frms[i].elements[i2].type=='radio'){js_input_radiobuttons_skin(frms[i].elements[i2]);	}
				}
			}
		}
	}
	if(force){
		var inputs = ta.getElementsByTagName('input');
		for(var i2=0,m2=inputs.length;i2<m2;i2++){
			if(inputs[i2].tagName=='INPUT'){
				if(inputs[i2].type=='checkbox'){js_input_checkboxs_skin(inputs[i2]);}
				else if(inputs[i2].type=='radio'){js_input_radiobuttons_skin(inputs[i2]);}
			}
		}
	}	
}
/*========================================================
js_input_checkboxs_skin([´ë»ó Ã¼Å©¹Ú½º,¶óµð¿À¹öÆ°µé],[Ã¼Å©µÈ ÀÌ¹ÌÁö URL],[Ã¼Å©¾ÈµÈ ÀÌ¹ÌÁö URL])
#°°Àº ÀÌ¸§¿¡ º¹¼öÀÇ checkbox,radiobuttonÀÇ ½ºÅ²À» ¹Ù²Û´Ù.
[Ã¼Å©µÈ ÀÌ¹ÌÁö URL],[Ã¼Å©¾ÈµÈ ÀÌ¹ÌÁö URL] : ¼±ÅÃ»çÇ×
ex> 
js_input_checkboxs_skin(document.getElementById('checkbox'),'accept.gif','cancel.gif');

#ÁÖÀÇ 
ÀÌ ÇÔ¼ö¸¦ »ç¿ë½Ã
<label for='xxx'>´Â µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.

#Ãß°¡
js_input_radiobuttons_skin()
¶óµð¿À ¹öÆ°¿ë(±âº» ¾ÆÀÌÄÜ¸¸ ´Ù¸§)js_input_checkboxs_skin_selected_all()
js_input_checkboxs_skin¸¦ Àû¿ëÇÑ °æ¿ì¿¡ »ç¿ëÇÏ´Â ¸ðµç ´ë»ó checkedÇÔ¼ö
========================================================*/
function js_input_checkboxs_skin_checked_all(tas,bool,img1,img2){
	if(!img1){img1 = 'image/kd_cb_check.png';}
	if(!img2){img2 = 'image/kd_cb_normal.png';}	
	var m = tas.length;
	if(m){
		for(var i=0;i<m;i++)
		{		tas[i].checked=bool;
		if(tas[i].checked) {tas[i].img.src=img1;}
		else {tas[i].img.src=img2;}			
		}
	}else{
		tas.checked=bool;
		if(tas[i].checked) {tas[i].img.src=img1;}
		else {tas[i].img.src=img2;}
	}	
}
function js_input_radiobuttons_skin(tas,img1,img2){
	if(!img1){img1 = js_input_path+'/icon.tick.png';}
	if(!img2){img2 = js_input_path+'/icon.stop.png';}
	js_input_checkboxs_skin(tas,img1,img2);
}
function js_input_checkboxs_skin(tas,img1,img2){
	if(!img1){img1 = 'image/kd_cb_check.png';}
	if(!img2){img2 = 'image/kd_cb_normal.png';}
	if(tas.form&&tas.name){tas = tas.form[tas.name];}
	if(!tas.length){
		js_input_checkbox_skin(tas,img1,img2);
		//1°³¸¸ ÀÖÀ» °æ¿ì´Â Ã¼Å©¹Ú½º¿Í °°´Ù.
	}
	for(var i=0,m=tas.length;i<m;i++){
		var ta = tas[i];
		if(ta.img){continue;}
		var img = document.createElement('img');
		img.align="absmiddle";
		if(ta.checked) img.src=img1;
		else img.src=img2
		img.ta = ta;
		ta.img = img
		img.onclick=function(){
			this.ta.click();
			var ta1 = null
			for(var i=0,m=tas.length;i<m;i++){					if(tas[i].checked) {tas[i].img.src=img1;}
				else {tas[i].img.src=img2;}
				}
			if(ta.onchange)	ta.onchange();
		}
		ta.parentNode.insertBefore(img,ta);
		
		img.style.cssText=ta.style.cssText;
		img.style.cursor='pointer';
		img.title=ta.title;	
		ta.style.display='none';
	}
}


/*========================================================
js_input_checkbox_skin(document.getElementById('checkbox'),'accept.gif','cancel.gif');
js_input_checkboxs_skin ÀÇ ´Ü¼öÇü
========================================================*/
function js_input_radiobutton_skin(tas,img1,img2){
	if(!img1){img1 = js_input_path+'/icon.tick.png';}
	if(!img2){img2 = js_input_path+'/icon.stop.png';}
	js_input_checkbox_skin(tas,img1,img2);
}
function js_input_checkbox_skin(ta,img1,img2){
	if(!img1){img1 = 'image/kd_cb_check.png';}
	if(!img2){img2 = 'image/kd_cb_normal.png';}
	if(ta.img){return;}	
	var img = document.createElement('img');
	img.align="absmiddle";
	if(ta.checked) img.src=img1;
	else img.src=img2	
	img.ta = ta;
	ta.img = img 
	img.onclick=function(){
		ta.click();
		if(ta.checked) {this.src=img1;}
		else {this.src=img2;}
		if(ta.onchange)	ta.onchange();
	}
	ta.parentNode.insertBefore(img,ta);
	
	img.style.cssText=ta.style.cssText;
	img.style.cursor='pointer';
	img.title=ta.title;	
	ta.style.display='none'
}

/*========================================
js_input_file_skin([½ÇÁ¦ filebox],[´õ¹Ì textbox],[´ë½Å º¸¿©ÁÙ ¹öÆ°])
<input type='file'>ÀÇ ¹öÆ° ¸ð¾çÀ» ¹Ù²ß´Ï´Ù.

ex>
js_input_file_skin(document.test.test_file,document.test.test_textbox,document.test.btn_filesearch)

========================================*/
function js_input_file_skin(ta_file,ta_textbox,ta_button){
	if(!ta_file||!ta_textbox||!ta_button){return false;}
	var span = document.createElement('span');
	if (ta_file.nextSibling){ ta_file.parentNode.insertBefore(span,ta_file.nextSibling);}
	else{ ta_file.parentNode.appendChild(span);}
	ta_textbox.size = ta_file.size ;
	ta_textbox.value = ta_file.value;
		
	span.appendChild(ta_file);	
	span.appendChild(ta_textbox);
	span.appendChild(ta_button);

	ta_file.style.verticalAlign='middle'
	ta_textbox.style.verticalAlign='middle'
	ta_button.style.verticalAlign='middle'		
	if(ta_button.offsetWidth > 120){
		ta_button.style.width='80px'
	}
	if(ta_button.offsetHeight > 20){
		ta_button.style.height='20px'
	}	
	span.style.position = 'relative';
	span.style.top='0px';
	span.style.left='0px';
	ta_textbox.style.position = 'relative';
	ta_textbox.style.zIndex = '100';	
		
	ta_textbox.size=ta_file.size;
	with(ta_file.style){
		width = ta_textbox.offsetWidth+ta_button.offsetWidth+'px';
		position = 'absolute';
		top=left='0px';
		zIndex='99';
		if(document.all){
			filter="Alpha(opacity=0)";
		}else{
			opacity='0';
		}
	}
	ta_textbox.onclick=function(){this.blur();}
	ta_file.onkeydown=function(){this.blur();}
}


/*================================================================
js_input_limit_string([´ë»ó],[Á¦ÇÑ±ÛÀÚ])
ÀÔ·Â ±ÛÀÚ¼ö Á¦ÇÑ 
textarea¿¡ »ç¿ë
//================================================================*/
function js_input_limit_string(ta,limit){
	var fn=function(){
		if(this.value.length>limit){
			alert('Limit : '+limit);
			this.value=this.value.substr(0,limit);

		}
	}
	ta.onkeyup = fn;
}


/*================================================================
input_textbox_updownbutton(this_s,v_min,v_max,step)
input_textbox_updownbutton([´ë»ó],[ÃÖ¼Ò°ª],[ÃÖ´ë°ª],[´Ü°è°ª],[-¹öÆ°ÀÌ¹ÌÁöURL],[+¹öÆ°ÀÌ¹ÌÁöURL]);
textbox¿·¿¡ -,+ ¹öÆ°À» ºÙÀÎ´Ù.
//================================================================*/
function input_print_updown(this_s,v_min,v_max,step){
	//ÇÏÀ§È£È¯¼º	input_textbox_updownbutton(this_s,v_min,v_max,step,null,null);
}
function input_textbox_updownbutton(this_s,v_min,v_max,step,img_m,img_p){
	//==========================
	// ÃÊ±âÈ­
	//==========================		
	if(this_s.type!='text'){return;}
	if(!img_m){img_m = js_input_path+'/icon.minus.png';}
	if(!img_p){img_p = js_input_path+'/icon.plus.png';}	
	if(!isFinite(step))step=1;
	if(isFinite(v_max) && this_s.value>=v_max){this_s.value=v_max;}
	if(isFinite(v_min) && this_s.value<=v_min){this_s.value=v_min;}
	//==========================
	// SPAN¿¡ Ãâ·ÂÈÄ textbox¸¦ ¼Ó¿¡ ³Ö´Â´Ù.
	//==========================	if(!step) step=1;
	var span = document.createElement('span');
	//span.style.borderStyle='solid';
	if (this_s.nextSibling) 
	this_s.parentNode.insertBefore(span,this_s.nextSibling);
	else this_s.parentNode.appendChild(span);

	span.appendChild(this_s);
	//==========================
	// ¹öÆ° »ý¼ººÎ
	//==========================
	var input_m = document.createElement('img');
	input_m.src=img_m;
	input_m.alt='-'+step;
	input_m.style.cursor='pointer';
	input_m.align="absmiddle";
	var input_p = input_m.cloneNode(true);
	input_p.src=img_p;
	input_p.alt='+'+step;
	//==========================
	// ¹öÆ° ÀÌº¥Æ® »ý¼ººÎ
	//==========================
	to =null;
	var to_clear = function(){ clearTimeout(to);	}//Å¸ÀÓ¾Æ¿ô Å¬¸®¾î
	var init = function(){
		if(isNaN(this_s.value)){this_s.value = 0;}
		if(isFinite(v_min) && this_s.value <v_min){
			this_s.value = v_min
			to_clear();return;
		}else if(isFinite(v_max) && this_s.value >v_max){
			this_s.value = v_max
			to_clear();return;
		}
	}
	var m = function(){
		this_s.value = parseFloat(this_s.value)-step;
		init();
	}
	var m_d = function(){
		m();to = setTimeout(m_d,200);
	}	
	var p = function(){
		this_s.value  = parseFloat(this_s.value)+ step;
		init();
	}
	var p_d = function(){
		p();to = setTimeout(p_d,200);
	}
	input_m.onmousedown = m_d;
	input_m.onmouseout = to_clear;
	input_m.onmouseup = to_clear;
	input_p.onmousedown = p_d;
	input_p.onmouseout = to_clear;
	input_p.onmouseup = to_clear;
	//==========================
	// ¹öÆ°À» ºÙÀÎ´Ù.
	//==========================	
	span.appendChild(input_m);
	span.appendChild(input_p);	
	//==========================
	// ¸¶Áö¸· ÃÊ±âÈ­
	//==========================		
	init();
}

/*================================================================
timer = input_textbox_flow(ta,delay,st_dealy)
[setInterval Å¸ÀÌ¸Ó] = input_textbox_flow([´ë»ó],[±ÛÀÚÃâ·Â µô·¹ÀÌ],[½ÃÀÛ µô·¹ÀÌ])
ÇÑ±ÛÀÚ¾¿ ÀûÈ÷´Â È¿°ú
//================================================================*/
function input_textbox_flow(ta,delay,st_delay){
	var value = ta.value;
	var timer = null;
	if(!delay){delay=100;}
	if(!st_delay){st_delay=0;}
	ta.value = '';	
	var fn = function(){
		var  ch='';
		var i = ta.value.length;
		ch = value.charAt(i);
		ta.value+=ch;
		if(ta.value.length==value.length){
			clearInterval(timer);
		}
	}
	var fn_st = function(){
		timer = setInterval(fn,delay);
	}	
	setTimeout(fn_st,st_delay);
	return timer;
}
