//######################################################
//#투명도 조절
//#사용법 - opacity(값); : 값은 ie전용으로..  ===> <script type="text/javascript">opacity_use("id값",30);</script>
//#
//#[인자값 설명]
//#1번인자값 : 아이디값.[form의 아이디값]
//#2번인자값 : 투명도 값 [ie : 30, 기타:0.3]
//######################################################
var opacity_use	= function(id, value) {
	value	= (value) ? value : 100;
	if(window.addEventListener)	document.getElementById(id).style.opacity		= parseInt(value)/100;
	else if(window.attachEvent)	document.getElementById(id).style.filter	= "Alpha(style=1,opacity="+value+",finishOpacity=90,startX=0,finishX=0,startY=0,finishY=0)";
	//FILTER:gray alpha(opacity=20 Style=4 FinishOpacity=90)
}




//#################################################################
//#
//#	[행복한고니]님의 get값 자스로 활용하기
//#
//#	http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=52724&sca=&sfl=wr_subject%7C%7Cwr_content&stx=parse_get.js&sop=and
//#
//#	사용법 qa[get변수];
//#
//#################################################################
var se = document.location.search.substr(1); 
var qa = {}; // query array 
		 
se.replace(/([^=]+)=([^&]*)(&|$)/g, function(){ 
	qa[arguments[1]] = arguments[2];
	return arguments[0]; 
});








//#################################################################################
//#
//#	날짜 select테그 생성. : 사용법 <span id="date1" type='date' option=2></span> ----> id값은 꼭 달라야한다. 같으면 안나타남
//#
//#
//#
//#
//#
//#
//#
//#
//#################################################################################
var rankup_date	= function() {



//#################################################################
//#
//#	[행복한고니]님의 get값 자스로 활용하기
//#
//#	http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=52724&sca=&sfl=wr_subject%7C%7Cwr_content&stx=parse_get.js&sop=and
//#
//#	사용법 qa[get변수]; -> 잘 안되는 경우가 있는듯함..
//#
//#################################################################
	var se = document.location.search.substr(1); 
	var qa = {}; // query array 
			 
	se.replace(/([^=]+)=([^&]*)(&|$)/g, function(){ 
		qa[arguments[1]] = arguments[2];
		return arguments[0]; 
	});


//#################################################################
//#
//#	자스 객체 풀어서 보기
//#
//#	사용법 : rankup_date.object_view(form, 'test');  -> form : 객체, test : span, div아이디값
//#
//#################################################################
	this.object_view	= function (el, id) {

		var aa = "<table>";
		for(x in el)
			aa	+= "<tr><td>"+x+"</td><td>"+el[x]+"</td></tr>";
		aa	+= "</table>";
		document.getElementById(id).innerHTML	= aa;
	}




//#################################################################
//#
//#	이 함수가 있어야 사용할 수 있음. 최하단에 onload시키고 있음.
//#
//#################################################################
	//##### -span테그로 type이 date인값 찾아내기- #####//
	this.onload_control	= function() {

		var i=0, j=0, c=0;		//for문에서 사용할 js
		var spanObj, fname, form;	//span테그, form이름, form객체

		spanObj = document.getElementsByTagName('span');
		for(i=0, c=0; i<spanObj.length; i++) {

			var use_type	= spanObj[i].getAttribute('type');
			var spanName	= spanObj[i].getAttribute('id');
			var option		= spanObj[i].getAttribute('option');
			var nocheck	= spanObj[i].getAttribute('nocheck');
			var checked	= spanObj[i].getAttribute('checked');
			var disableds	= spanObj[i].getAttribute('disableds');
			var value		= spanObj[i].getAttribute('value');
			var hname		= spanObj[i].getAttribute("hname");
			var required		= spanObj[i].getAttribute("required");

			if(!use_type)	continue;

			switch(use_type) {

			//날짜검색(select테그검색) 사용.
				case "date":
					for(var j=0; j<option; j++) {

						//spanName		=> span테그 id값
						//j
						//nocheck		=> 날짜테그앞에 체크박스 안나오게 할지 여부
						//checked		=> checked여부
						//disableds		=> disabled(checked가 되어있어야지만 사용가능)
						//value			=> 값(날짜 자동 selected시키기 위해서 사용)
						//사용법 : <span id="date" type='date' option=1 checked disableds value="<?php echo date("Y-m-d");?>"></span>
						rankup_date.date_select_create(spanName, j, nocheck, checked, disableds, value);
					}
					break;


			//select테그 생성
				case "select":
					rankup_date.search_create(spanName, option, hname, required);
					break;
			}
		}
	}


//#################################################################
//#
//#	날짜 select테그 생성 함수.
//#
//#	사용법
//#
//#	<span id="date" type='date'></span>
//#
//#	id			=> (년:date0_yy), (월:date0_mm), (일:date0_dd) 로 name, id값이 생성.
//#	type		=> date값일때만 달력값이 나타나게 된다.
//#	option	=> 날짜 갯수만큼 나오게
//#	nocheck	=> 날짜select앞의 체크박스 안나오게 하려면 이 구문을 넣어줘야함

//#	----여기부터는 option이 1일때만 사용함----
//#	checked	=> 날짜select앞의 체크박스에 체크된 상태로 둘려면 checked넣어줘야함
//#	disableds	=> disabled여부. checked란 값이 있어야지만 사용가능
//#	value			=> 날짜값.
//#
//#
//#	<span id="date1" type='date'></span>
//#
//#	id			=> (년:date10_yy), (월:date10_mm), (일:date10_dd) 로 name, id값이 생성.
//#	type		=> date값일때만 달력값이 나타나게 된다.
//#	option	=> 날짜 갯수만큼 나오게
//#
//#################################################################
	//##### -날짜 값 모음- #####//
	this.date_set_value		= function () {

		var set	= new Array();
		set['Year_num']		= 1950;			//년도 시작일
		set['Month_num']		= 12;				//월
		set['Day_arr']			= [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];	//일 - 윤년때문에..

		return set;
	}



	//##### - date_select_create함수에서 날짜selecte테그 생성하는 select테그에서만 적용함. - #####//
	this.date_select_disableds_change	= function(name, num) {
		var Check	= document.getElementById(name+"_use");

		var Year		= document.getElementById(name+num+"_yy").disabled	= (Check.checked==false) ? true : false ;
		var Month	= document.getElementById(name+num+"_mm").disabled	= (Check.checked==false) ? true : false ;
		var Day		= document.getElementById(name+num+"_dd").disabled	= (Check.checked==false) ? true : false ;
	}



	//##### -날짜 select테그. -> 년,월,일 표현하는곳- #####//
	this.date_select_create	 = function (name, num, nocheck, checked, disableds, value) {

		var spanName	= name+num;

		var set	= rankup_date.date_set_value();
		var i=0, j=0, c=0, jj=0;		//for문에서 사용할 js
		var Year_num	= set['Year_num'], Month_num = set['Month_num'];	//년도
		var Day_Arr		= set['Day_arr'];	//일 - 윤년때문에..
		var Year, Month, Day;		//년, 월, 일
		var Today		= new Date();
		var disableds	= (disableds!=null && checked!=null) ? "disabled" : "";
		var check_onClick		= (disableds) ? " onClick=\"rankup_date.date_select_disableds_change('"+name+"', '"+num+"')\"" : "";
		var select_value		= (value) ? value.split("-") : "";


		document.getElementById(name).innerHTML	+= (num>0) ? " ~ " : "";

		//검색시 체크박스.. 제일 앞에만 나오게 된다.
		if(nocheck==null) {
			var date_use_chk	= (qa[name+'_use']=='yes' || checked!=null) ? "checked" : "";
			document.getElementById(name).innerHTML	+= (num==0) ? "<input type='checkbox' name='"+name+"_use' id='"+name+"_use' value='yes' "+date_use_chk+" "+check_onClick+">" : "";
		}
	
		//년
		Year	= "<select name='"+spanName+"_yy' id='"+spanName+"_yy' cname='"+spanName+"' "+disableds+" mode='year' onChange=\"rankup_date.date_change(this);\">\n";
		var selecteds	= "";
		for(j=Year_num; j<=Today.getFullYear(); j++) {
			jj	= (j>9) ? j : "0"+j;
			selecteds	= (qa[spanName+'_yy']==j) ? "selected" : ((select_value[0]==j) ? "selected" : ((Today.getFullYear()==j && !qa[spanName+'_yy'] && !select_value[0]) ? "selected" : ""));
			Year	+= "<option value='"+jj+"' "+selecteds+">"+jj+"</option>\n";
		}
		Year	+= "</select>\n";
		document.getElementById(name).innerHTML	+= " "+Year;

		//월
		Month	= "<select name='"+spanName+"_mm' id='"+spanName+"_mm' cname='"+spanName+"' "+disableds+" mode='month' onChange=\"rankup_date.date_change(this);\">\n";
		for(j=1; j<=Month_num; j++) {
			jj	= (j>9) ? j : "0"+j;
			selecteds	= (qa[spanName+'_mm']==j) ? "selected" : ((select_value[1]==j) ? "selected" : ((Today.getMonth()+1==j && !qa[spanName+'_mm'] && !select_value[1]) ? "selected" : ""));
			Month	+= "<option value='"+jj+"' "+selecteds+">"+jj+"</option>\n";
		}
		Month	+= "</select>\n";
		document.getElementById(name).innerHTML	+= Month;

		//일
		var Year_value		= document.getElementById(spanName+'_yy').value;
		var Month_value	= parseInt(document.getElementById(spanName+'_mm').value);
		if (Year_value % 400 == 0 || ( Year_value % 4 == 0 && Year_value % 100 != 0 )) Day_Arr[1] += 1;
		Day		= "<select name='"+spanName+"_dd' id='"+spanName+"_dd' cname='"+spanName+"' "+disableds+" mode='day'>\n";
		for(j=1; j<=Day_Arr[Month_value-1]; j++) {
			jj	= (j>9) ? j : "0"+j;
			selecteds	= (qa[spanName+'_dd']==j) ? "selected" : ((select_value[2]==j) ? "selected" : ((Today.getDate()==j && !qa[spanName+'_dd'] && !select_value[2]) ? "selected" : ""));
			Day	+= "<option value='"+jj+"' "+selecteds+">"+jj+"</option>\n";
		}
		document.getElementById(name).innerHTML	+= Day;
	}



	//##### -윤년 계산하는 함수- #####//
	this.date_change	= function (el) {

		var set	= rankup_date.date_set_value();

		var fname	= el.form.getAttribute('name');
		var cname	= el.getAttribute('cname');
		var mode	= el.getAttribute('mode');

		var day		= document.getElementById(cname+'_dd');
		var month	= document.getElementById(cname+'_mm').value;
		var year		= document.getElementById(cname+'_yy').value;

		var Day_Arr = set['Day_arr'];
		if (year % 400 == 0 || ( year % 4 == 0 && year % 100 != 0 )) Day_Arr[1] += 1;
		var dday = parseInt(Day_Arr[month-1]);

		day.length = dday;
		for(i=0; i < dday; i++){
			var dayvalue	= i+1;
			day.options[i].text = (dayvalue>9) ? i+1 : "0"+dayvalue;
			day.options[i].value = (dayvalue>9) ? i+1 : "0"+dayvalue;
		}
	}



//#################################################################
//#
//#	select테그 사용하기.
//#	
//#	사용법	: <span id="key" type="select" option="subject:제목,content:내용" noval="선택"></span>
//#	option	: subject:제목 --> 앞은 value, 뒤는 text
//#	select의 name명 : id값임
//#################################################################
	this.search_create	= function (name, option, hname, required) {

		var hname_value		= (hname) ? " hname="+hname : "";
		var required_value	= (required!=null) ? " required" : "";


		var arr1		= option.split(",");
		var tag_tail	= "<select name='"+name+"' id='"+name+"'"+hname_value+required_value+">";
		for(var i=0; i<arr1.length; i++) {
			var arr2	= arr1[i].split(":");
			var selecteds	= (qa[name]==arr2[0]) ? "selected" : "";
			tag_tail	+= "<option value='"+arr2[0]+"' "+selecteds+">"+arr2[1]+"</option>";
		}
		tag_tail		+= "</select>";
		document.getElementById(name).innerHTML	= tag_tail+" ";
	}





//#################################################################
//#	체크박스 - 전체선택기능, 선택된 체크박스 갯수도 뽑아온다. [ 체크박스 전체선택 ]
//#	체크박스로 전체선택, 선택한 갯수구하는함수
//#################################################################
	this.checkbox_allcheck	= function (el) {

		var id				= el.getAttribute('id');
		var tailname	= el.getAttribute('tailname');

		var chk_all		= (id) ? document.getElementById(id) : "";
		var chk			= document.getElementsByName(tailname);
		var chk_num		= 0;

		for(var i=0; i<chk.length; i++) {
			if(!!id)	chk[i].checked	= (chk_all.checked==true) ? true : false;
			chk_num	= (chk[i].checked==true) ? ++chk_num : chk_num ;
		}

		return chk_num;
	}
//#################################################################
//#	이미지 전체선택기능, 선택된 체크박스 갯수도 뽑아온다. [ 이미지 전체선택 ]
//#	선택여부값 필수. (예)<input type='hidden' name='check_all' id='check_all' value=''>여기에 선택됬으면 true, 안됬으면 false값 집어넣기, 즉 이 테그가 있어야함.
//#	이미지 값.. src1:전체선택이미지, src2:선택취소이미지
//#
//#	인자1 : this
//#	인자2 : check여부
//#	인자3 : img id값 --> 전체선택, 선택삭제 이미지 보이기여부
//#################################################################
	this.checkbox_allcheck_image	 = function(el, id, imgid) {
		var tailname	= el.getAttribute('tailname');
		var chk			= document.getElementsByName(tailname);
		var imgid			= (imgid) ? document.getElementById(imgid) : "";
		var chk_all		= (id) ? document.getElementById(id) : "";

		var src1			= imgid.getAttribute('src1');
		var src2			= imgid.getAttribute('src2');
		imgid.src			= (chk_all.value=='true') ? src1 : src2;
		chk_all.value	= (chk_all.value=='true') ? 'false' : 'true';
		for(var i=0; i<chk.length; i++) {
			if(!!id)	chk[i].checked	= (chk_all.value=='true') ? true : false;
		}
	}
//#################################################################
//#	선택삭제등... 선택해서 어떤 모종의 작업을 하기 위해서 사용함
//#################################################################
	this.checkbox_alldelete	= function (el, name) {
		var fname		= (name) ? name : el.form.getAttribute('name');
		var mode		= el.getAttribute('mode');
		var url			= el.getAttribute('url');
		var form		= document.forms[fname];
		
		//선택된 갯수 알아오기
		var num		= rankup_date.checkbox_allcheck(el);

		if(num<=0) {
			alert("최소한 한개 이상은 선택하셔야합니다.");
			return false;
		} else {
			var msg	= (document.URL.indexOf("http://company-test.rankup.co.kr/mypage/cart.html")==-1) ? "선택한 리스트를" : "선택한 상품을";
			var answer	= confirm(msg+" 삭제하시겠습니까?");
			if(answer == true) {
				form.mode.value	= mode;
				if(url)	form.action	= url;
				form.submit();
			}
		}
		return true;
	}


//#################################################################
//#	한개 삭제
//#################################################################
	this.list_one_delete	= function (el) {
		var no		= el.getAttribute('no');
		var mode	= el.getAttribute('mode');
		var fname	= el.form.getAttribute('name');
		var url		= el.getAttribute('url');
		var form		= document.forms[fname];

		var answer	= confirm("정말로 삭제하시겠습니까?");
		if(answer==true) {
			form.no.value	= no;
			form.mode.value	= mode;
			if(url)	form.action	= url;
			form.submit();
		}
	}






//상단 round테이블
	this.top_roundTable	= function() {
		var top_html;
		top_html="<table cellpadding=0 cellspacing=0 border=0 width="+w+">";
		top_html+="<tr height=1><td rowspan=4 width=1></td><td rowspan=3 width=1></td>";
		top_html+="<td rowspan=2 width=1></td><td width=2></td><td bgcolor="+c+"></td>";
		top_html+="<td width=2></td><td rowspan=2 width=1></td><td rowspan=3 width=1></td>";
		top_html+="<td rowspan=4 width=1></td></tr><tr height=1><td bgcolor="+c+"></td>";
		top_html+="<td bgcolor="+c+"></td><td bgcolor="+c+"></td></tr>";
		top_html+="<tr height=1><td bgcolor="+c+"></td><td colspan=3 bgcolor="+c+"></td>";
		top_html+="<td bgcolor="+c+"></td></tr><tr height=2><td bgcolor="+c+"></td>";
		top_html+="<td colspan=5 bgcolor="+c+"></td><td bgcolor="+c+"></td></tr></table>";
		document.write(top_html);
	}



//하단 round테이블
	this.bottom_roundTable	= function() {
		var bottom_html;
		bottom_html="<table cellpadding=0 cellspacing=0 border=0 width="+w+">";
		bottom_html+="<tr height=2><td rowspan=4 width=1></td><td width=1 bgcolor="+c+"></td><td width=1 bgcolor="+c+"></td>";
		bottom_html+="<td width=2 bgcolor="+c+"></td><td bgcolor="+c+"></td><td width=2 bgcolor="+c+"></td>";
		bottom_html+="<td width=1 bgcolor="+c+"></td><td width=1 bgcolor="+c+"></td><td rowspan=4 width=1></td></tr>";
		bottom_html+="<tr height=1><td rowspan=3></td><td bgcolor="+c+"></td><td colspan=3 bgcolor="+c+"></td>";
		bottom_html+="<td bgcolor="+c+"></td><td rowspan=3></td>  </tr><tr height=1><td rowspan=2></td>";
		bottom_html+="<td bgcolor="+c+"></td><td bgcolor="+c+"></td><td bgcolor="+c+"></td><td rowspan=2></td></tr>";
		bottom_html+="<tr height=1><td></td><td bgcolor="+c+"></td><td></td></tr></table>";
		document.write(bottom_html);
	}








/*
el		: this값
num		: 리스트 번호 -> 0번부터 시작
type	: over, out
notenum	: id값 번호 -> 1이면 note_func1[]임 이 단어의 1이란 의미임 - 규칙은 꼭 note_func번호 란 아이디값이 존재해야함.
*/
	this.note_view_func	= function(el, num, type, notenum) {
		var note_func	= document.getElementsByName("note_func"+notenum+"[]");
		note_func[num].style.display	= (type=="over") ? "block" : "none";
	}
}
var rankup_date		= new rankup_date;







//이게 있어야 js파일 사용법이 적용됨
if(window.addEventListener) window.addEventListener("load", rankup_date.onload_control, false);
else if(window.attachEvent) window.attachEvent("onload", rankup_date.onload_control);

