var openwin;

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function number_format( number, decimals, dec_point, thousands_sep ) {
	var n = number, prec = decimals, dec = dec_point, sep = thousands_sep;
	n = !isFinite(+n) ? 0 : +n;
	prec = !isFinite(+prec) ? 0 : Math.abs(prec);
	sep = sep == undefined ? ',' : sep;
 
	var s = n.toFixed(prec),
	abs = Math.abs(n).toFixed(prec),
	_, i;
 
	if (abs > 1000) {
	_ = abs.split(/\D/);
	i = _[0].length % 3 || 3;
 
	_[0] = s.slice(0,i + (n < 0)) +
		  _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
	s = _.join(dec || '.');
	}
 
	return s;
}

function package_select(version){
		switch(version){
			case 5:
				document.getElementById('usbsafe').value = 'USB세이프 10년권';
				document.getElementById('foldersafe').value = '폴더세이프 10년권';
				document.getElementById('backupsafe').value = '백업세이프 10년권';
				document.getElementById('filesafe').value = '';
				document.getElementById('product_count').value = 4;
				document.getElementById('package_count').value = 1;
				document.getElementById('product_detail').value = 'g05';
				break;
			case 4:
				document.getElementById('usbsafe').value = 'USB세이프 3년권';
				document.getElementById('foldersafe').value = '폴더세이프 3년권';
				document.getElementById('backupsafe').value = '백업세이프 3년권';
				document.getElementById('filesafe').value = '';
				document.getElementById('product_count').value = 3;
				document.getElementById('package_count').value = 1;
				document.getElementById('product_detail').value = 'g02';
				break;
			case 3:
				document.getElementById('usbsafe').value = 'USB세이프 1년권';
				document.getElementById('foldersafe').value = '폴더세이프 1년권';
				document.getElementById('backupsafe').value = '백업세이프 1년권';
				document.getElementById('filesafe').value = '';
				document.getElementById('product_count').value = 2;
				document.getElementById('package_count').value = 1;
				document.getElementById('product_detail').value = 'g03';
				break;
		}
}
function price_change(count){
	var total_price = document.getElementById('base_price').value*count;
	var comma_price = addCommas(document.getElementById('base_price').value*count);
	document.getElementById('total_price').innerHTML = comma_price;
	document.getElementById('total_price2').innerHTML = comma_price;
	document.getElementById('total_price3').innerHTML = comma_price+'원';
	document.getElementById('package_count2').innerHTML = count;
	document.getElementById('price').value = total_price;
	document.getElementById('package_count').value = count;
}

function price_combo(){
	var names = ['b12','b120','b36','b60','be12','be36','be60','f1','f10','f3','f5','fe1','fe3','fe5','g4','g6','g7','g8','ge4','ge6','ge8','n1','n3','n5','ne1','ne3','ne5','p10','p11','p12','p13','p14','p15','p16','p17','p18','p19','p2','p20','p3','p4','p5','p6','p7','p8','p9','u12','u120','u36','u60','ue12','ue36','ue60'];
	var total_price =0;
	var count =0;
	for (var i = 0; i < names.length; i++)
	{
		if(document.getElementById(names[i])){
			var before = document.getElementById(names[i]+'_before_price').innerHTML;
			before = before.split(",").join("");
			var count = document.getElementById(names[i]).value;
			
			if(document.getElementById(names[i]).id =='ge4' || document.getElementById(names[i]).id =='ge6' || document.getElementById(names[i]).id =='be12' || document.getElementById(names[i]).id =='be36' || document.getElementById(names[i]).id =='ue12' || document.getElementById(names[i]).id =='ue36' || document.getElementById(names[i]).id =='fe1' || document.getElementById(names[i]).id =='fe3' || document.getElementById(names[i]).id =='ge8' || document.getElementById(names[i]).id =='ue60' || document.getElementById(names[i]).id =='be60' || document.getElementById(names[i]).id =='fe5' || document.getElementById(names[i]).id =='ne1' || document.getElementById(names[i]).id =='ne3'  || document.getElementById(names[i]).id =='ne5'){
				var after = before * count/10;
			}else{
				var after = before * count;
			}
			
			var comma_set = number_format(after);
			document.getElementById(names[i]+'_after_price').innerHTML = comma_set;
			total_price += after;
			document.getElementById('price').value = total_price;
			comma_set = number_format(total_price);
			//document.getElementById('all_total_price').innerHTML = comma_set;
			document.getElementById('all_total_price2').innerHTML = comma_set+'원';
			if(document.getElementById(names[i]+'_count')){
				document.getElementById(names[i]+'_count').innerHTML = count;
			}
		}
		count++;
	}
}
//////////////////////////////////////////////////////////////////////

function chk(obj)	{
	

	if($(obj).checked)	{
		$(obj.value).disabled=false;
		$(obj.value).value = 1;
		$(obj.value).focus();
	}
	else {
		$(obj.value).disabled=true;
		$(obj.value).value = 0;
	}
}
function chk2(obj)	{
	

	if($(obj).checked)	{
		$(obj.value).disabled=false;
		$(obj.value).value = 10;
		$(obj.value).focus();
	}
	else {
		$(obj.value).disabled=true;
		$(obj.value).value = 0;
	}
}

function redraw_email_notice(){
	var buyeremail=document.getElementById('buyeremail');
	
	var email_notice=document.getElementById('email_notice');
	
	email_notice.style.left=300+'px';
	email_notice.style.top=170+'px';

	email_notice.style.display='block';
}

function count(){
	new Ajax.Request('/download_counter.php',{
		onSuccess: function(result){
		},
		onFailure: function(result){
			alert(result.responseText);
		}
	});
}

function usbsafe_count(){
	new Ajax.Request('/usbsafe_download_counter.php',{
		onSuccess: function(result){
		},
		onFailure: function(result){
			alert(result.responseText);
		}
	});
}

function backupsafe_count(){
	new Ajax.Request('/backupsafe_download_counter.php',{
		onSuccess: function(result){
		},
		onFailure: function(result){
			alert(result.responseText);
		}
	});
}

function product_count(){
	var i=0;
	var arr = $('ini').getInputs('checkbox', 'check');
	
	arr.each(function(item) {
		if(item.checked)	{
			i++;
		}
	});
	
	if(i == 0)	{
		alert('구매하실 상품을 선택하세요');
		return false;
	}
}
function choice()	{
	var arr = $('ini').getInputs('checkbox', 'check');
	//USBSafe 결제 페이지에 복합상품 결제 붙이기 위한 부분
	var ar = $('ini').getInputs('hidden', 'in_usb');
	var j=0;
	ar.each(function(item){
		j++;
	});
	//-------------------------------------
	
	
	//FILESafe 결제 페이지
	var file_arr = $('ini').getInputs('hidden', 'in_file');
	var l=0;
	file_arr.each(function(item){
		l++;
	});
	/* 이벤트
	//-------------------------------------
	
	
	//이벤트 적용

	if(Object.isElement($('ini').in_event).toString()=='false'){
		var event = 'false'; //초기화
	}else{
		var event = $('ini').in_event.value;
	}
	//-----------------------------------------
	
	//이벤트 페이지
	if(Object.isElement($('ini').in_eventPage).toString()=='false'){
		var eventPage = 'false'; //초기화
	}else{
		var eventPage = $('ini').in_event.value;
	}
	//-------------------------------------
	*/
	var param = '{';
	var i=0;
	arr.each(function(item) {
		if(item.checked)	{
			param += '"'+item.value+'":'+$F(item.value)+', ';
			i++;
		}
	});
	param = param.substring(0,(param.length-2));
	param += '}';
	
	if(i == 0)	{
		alert('구매하실 상품을 선택하세요');
		return false;
	}
	
	new Ajax.Request('/download/make_order.php',	{
		parameters: {goods: param},
		onSuccess: function(transport) {
			var json = transport.responseText.evalJSON();

			if(l>0){			//파일세이프
				$('bill').update();
				for(i=0; json[i]; i++)	{
					$('bill').insert(new Template('<tr><td class="purchase_tl04" style="font-weight:bold; text-align:center;">#{name}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{price}</td>' +
							'<td class="purchase_tl04" style="text-align:center;">#{count}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{total}</td></tr>').evaluate({
						name: json[i].name,
						price: json[i].price,
						count: json[i].count,
						total: json[i].total
					})); 
				}
				
				$('bill').insert(new Template('<tr><td colspan="3" class="purchase_won" align="right" style="background-color:#8894CA; font-weight:bold; padding-right:15px;">합 계</td>' +
						'<td class="style5" style="background-color:#2F3288; text-align:right; padding-right:5px;">￦ #{total}</td></tr>').evaluate({
					total: json.str_total
				}));
			}
			else{
				$('bill').update();
				for(i=0; json[i]; i++)	{
					$('bill').insert(new Template('<tr><td class="purchase_tl04" style="font-weight:bold; text-align:left;">#{name}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{price}</td>' +
							'<td class="purchase_tl04" style="text-align:center;">#{count}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{total}</td></tr>').evaluate({
						name: json[i].name,
						price: json[i].price,
						count: json[i].count,
						total: json[i].total
					})); 
				}
				
				$('bill').insert(new Template('<tr><td colspan="3" class="purchase_won" style="background-color:#ccc6bb; font-weight:bold;">합 계</td>' +
						'<td class="style5" style="background-color:#ff5400; text-align:right; padding-right:5px;">￦ #{total}</td></tr>').evaluate({
					total: json.str_total
				})); 
			}
			
			if( i == 1)	{
				$('fild_goodname').update(json[0].name+'<font color="black"> + Orange Drive 3개월(10G)</font>');
				$('goodname').value = json[0].name;
			}
			else	{
				$('fild_goodname').update(json[0].name+'외 '+(i-1)+'건'+'<font color="black"> + Orange Drive 3개월(10G)</font>');
				$('goodname').value = json[0].name+'외 '+(i-1)+'건';
			}

			$('price').value = json.total;
			$('fild_price').update(json.str_total+'원');
//			$('detail').value = param;
			
			//USBSafe 결제 페이지에 복합상품 결제 붙이기 위한 부분
			if(j>0){
				$('fs_us').hide();		//가격정보 숨김
				$('fs_info').hide();	//공간 확보를 위해 FoderSAFE 설명 숨김
				
				$('download').hide();		//공간 확보에 의한 FolderSAFE 다운로드 버튼 style 수정
				$('download').setStyle({
					margin:'100px 0 0 100px'
				});
				$('download').show();
				
				$('go_foldersafe').hide();	//폴더세이프 홈페이지 이동 이미지 위치를 다시 잡기위해 숨김
				show_box();					//위치 다시 계산 후 보임
			}
			//------------------------------------------
			
			//FILESafe 결제 페이지
			if(l>0){
				$('file_safe').hide();
			}
			//------------------------------------------
			
			
			$('pay').show();
			$('order').scrollTo();
			$('buyername').focus();
		}
	});
}
function choice2()	{
	var arr = $('ini').getInputs('checkbox', 'check');
	//USBSafe 결제 페이지에 복합상품 결제 붙이기 위한 부분
	var ar = $('ini').getInputs('hidden', 'in_usb');
	var j=0;
	ar.each(function(item){
		j++;
	});
	//-------------------------------------
	
	
	//FILESafe 결제 페이지
	var file_arr = $('ini').getInputs('hidden', 'in_file');
	var l=0;
	file_arr.each(function(item){
		l++;
	});
	/* 이벤트
	//-------------------------------------
	
	
	//이벤트 적용

	if(Object.isElement($('ini').in_event).toString()=='false'){
		var event = 'false'; //초기화
	}else{
		var event = $('ini').in_event.value;
	}
	//-----------------------------------------
	
	//이벤트 페이지
	if(Object.isElement($('ini').in_eventPage).toString()=='false'){
		var eventPage = 'false'; //초기화
	}else{
		var eventPage = $('ini').in_event.value;
	}
	//-------------------------------------
	*/
	var param = '{';
	var i=0;
	arr.each(function(item) {
		if(item.checked)	{
			param += '"'+item.value+'":'+$F(item.value)+', ';
			i++;
		}
	});
	param = param.substring(0,(param.length-2));
	param += '}';
	
	if(i == 0)	{
		alert('구매하실 상품을 선택하세요');
		return false;
	}
	
	new Ajax.Request('/download/make_order2.php',	{
		parameters: {goods: param},
		onSuccess: function(transport) {
			var json = transport.responseText.evalJSON();

			if(l>0){			//파일세이프
				$('bill').update();
				for(i=0; json[i]; i++)	{
					$('bill').insert(new Template('<tr><td class="purchase_tl04" style="font-weight:bold; text-align:center;">#{name}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{price}</td>' +
							'<td class="purchase_tl04" style="text-align:center;">#{count}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{total}</td></tr>').evaluate({
						name: json[i].name,
						price: json[i].price,
						count: json[i].count,
						total: json[i].total
					})); 
				}
				
				$('bill').insert(new Template('<tr><td colspan="3" class="purchase_won" align="right" style="background-color:#8894CA; font-weight:bold; padding-right:15px;">합 계</td>' +
						'<td class="style5" style="background-color:#2F3288; text-align:right; padding-right:5px;">￦ #{total}</td></tr>').evaluate({
					total: json.str_total
				}));
			}
			else{
				$('bill').update();
				for(i=0; json[i]; i++)	{
					$('bill').insert(new Template('<tr><td class="purchase_tl04" style="font-weight:bold; text-align:left;">#{name}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{price}</td>' +
							'<td class="purchase_tl04" style="text-align:center;">#{count}</td>' +
							'<td class="purchase_tl03" style="text-align:right;padding-right:5px;">￦ #{total}</td></tr>').evaluate({
						name: json[i].name,
						price: json[i].price,
						count: json[i].count,
						total: json[i].total
					})); 
				}
				
				$('bill').insert(new Template('<tr><td colspan="3" class="purchase_won" style="background-color:#ccc6bb; font-weight:bold;">합 계</td>' +
						'<td class="style5" style="background-color:#ff5400; text-align:right; padding-right:5px;">￦ #{total}</td></tr>').evaluate({
					total: json.str_total
				})); 
			}
			
			if( i == 1)	{
				$('fild_goodname').update(json[0].name);
				$('goodname').value = json[0].name;
			}
			else	{
				$('fild_goodname').update(json[0].name+'외 '+(i-1)+'건');
				$('goodname').value = json[0].name+'외 '+(i-1)+'건';
			}

			$('price').value = json.total;
			$('fild_price').update(json.str_total+'원');
//			$('detail').value = param;
			
			//USBSafe 결제 페이지에 복합상품 결제 붙이기 위한 부분
			if(j>0){
				$('fs_us').hide();		//가격정보 숨김
				$('fs_info').hide();	//공간 확보를 위해 FoderSAFE 설명 숨김
				
				$('download').hide();		//공간 확보에 의한 FolderSAFE 다운로드 버튼 style 수정
				$('download').setStyle({
					margin:'100px 0 0 100px'
				});
				$('download').show();
				
				$('go_foldersafe').hide();	//폴더세이프 홈페이지 이동 이미지 위치를 다시 잡기위해 숨김
				show_box();					//위치 다시 계산 후 보임
			}
			//------------------------------------------
			
			//FILESafe 결제 페이지
			if(l>0){
				$('file_safe').hide();
			}
			//------------------------------------------
			
			
			$('pay').show();
			$('order').scrollTo();
			$('buyername').focus();
		}
	});
}
			
function pay(frm)	{
	// MakePayMessage()를 호출함으로써 플러그인이 화면에 나타나며, Hidden Field
	// 에 값들이 채워지게 됩니다. 일반적인 경우, 플러그인은 결제처리를 직접하는 것이
	// 아니라, 중요한 정보를 암호화 하여 Hidden Field의 값들을 채우고 종료하며,
	// 다음 페이지인 INIsecureresult.php로 데이터가 포스트 되어 결제 처리됨을 유의하시기 바랍니다.
	var email = document.getElementById('buyeremail');
	
	if($F('clickcontrol') == "enable")	{

		// 필수항목 체크 (상품명, 상품가격, 구매자명, 구매자 이메일주소, 구매자 전화번호)

		// 개인정보보호정책 추가됨. - 2008-11-04 해외마케팅
		if( frm.authchk.checked == false ) { 
			alert("개인정보보호정책에 동의하여 주시기 바랍니다.");
			return false;
		}
		if( $F('goodname').blank() ) { 
			alert("상품명이 빠졌습니다. 필수항목입니다.");
			return false;
		}
		else if( $F('buyername').blank() ) {
			alert("구매자성명을 입력해주세요.");
			$('buyername').focus();
			return false;
		}
		else if( $F('buyeremail').blank() )	{
			alert("이메일주소을 입력해주세요.");
			$('buyeremail').focus();	
			return false;
		}else if(!emailCheck(email.value))    {
			$('buyeremail').focus();	
			return false;
		}
		else if( $F('buyertel').blank() )	{
			alert("핸드폰번호를 입력해주세요.");
			$('buyertel').focus();
			return false;
		}
		else if( $F('gopaymethod')=='none' )	{
			alert("결재방법을 선택해주세요.");
			return false;
		}
		else if(document.INIpay == null || document.INIpay.object == null)  { // 플러그인 설치유무 체크
			alert("\n이니페이 플러그인 128이 설치되지 않았습니다. \n\n안전한 결제를 위하여 이니페이 플러그인 128의 설치가 필요합니다. \n\n다시 설치하시려면 Ctrl + F5키를 누르시거나 메뉴의 [보기/새로고침]을 선택하여 주십시오.");
			return false;
		}
		else	{
			// 플러그인이 참조하는 각종 결제옵션을 이곳에서 수행할 수 있습니다.
			// (자바스크립트를 이용한 동적 옵션처리)
						 
			if (MakePayMessage(frm))	{
				disable_click();
				return true;
			}
			else	{
				alert("결제를 취소하셨습니다.");
				return false;
			}
		}
	}
	else {
		return false;
	}
}
function emailCheck (emailStr) {

	var checkTLD=1;


	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

	var emailPat=/^(.+)@(.+)$/;

	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

	var validChars="\[^\\s" + specialChars + "\]";

	var quotedUser="(\"[^\"]*\")";

	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

	var atom=validChars + '+';

	var word="(" + atom + "|" + quotedUser + ")";

	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {

		alert("E-Mail 주소 형식이 잘못되었습니다.");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];


	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alert("E-Mail 사용자 ID가 잘못되었습니다.");
			return false;
	   }
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			alert("E-Mail 도메인이 잘못되었습니다.");
			return false;
	   }
	}


	if (user.match(userPat)==null) {

		alert("E-Mail 사용자 ID가 잘못되었습니다.");
		return false;
	}

	

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {

		for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
				alert("Destination IP address is invalid!");
				return false;
		   }
		}
		
		return true;
	}


	 
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
	if (domArr[i].search(atomPat)==-1) {
			alert("E-Mail 주소 형식이 잘못되었습니다.");
			return false;
	   }
	}


	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert("E-Mail의 도메인이 잘못되었습니다.");
		return false;
	}

	if (len<2) {
		alert("E-Mail의 도메인이 잘못되었습니다.");
		return false;
	}


	return true;
}

function enable_click(){
	document.ini.clickcontrol.value = "enable"
}

function disable_click(){
	document.ini.clickcontrol.value = "disable"
}
