////////////////////////////////////////////////////////////////////////////////////////////////////
function loadMyCoin() {
	ajaxHttpRequest('/shop/myCoin.nhn', 'setMyCoin');
}

function setMyCoin(response) {
	var obj = document.getElementById("myCoin");
	if (obj != null && typeof(obj) == 'object') {
		obj.innerHTML = comma(response.balance);
	}
}

function failedToUpdate() {
	alert('Failed to load page. Please try again.');
}

function comma(s) {
	if (isNaN(s)) return s;
	var len = s.length;
	var result = "";
	
	for(var i=1; i<=len; i++) {
		result = s.charAt(len - i) + result;
		if( (i % 3 == 0) && (len - i != 0) ) result = "," + result;
	}
	return result;
}

function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		alert("[Warning] Handler could not be attached");
	}
} 

function removeEvent(obj, evType, fn, useCapture){
	if (obj.removeEventListener){
		obj.removeEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.detachEvent){
		var r = obj.detachEvent("on"+evType, fn);
		return r;
	} else {
		alert("[Warning] Handler could not be removed");
	}
} 


////////////////////////////////////////////////////////////////////////////////////////////////////
function clickPeriod(period) {
	if (period != '') {
		alert('The item usage period will begin at the time of purchase and not when the item is equipped.');
	}
}

function confirmBuyItem() {
	var f = document.form0;
	if (isRadioButtonChecked(f.period) == false) {
		alert('Please choose price.');
		return;
	}
	if (f.setItem.value == 'true')
		f.action = '/shop/confirmBuyItemSet.nhn';
	else
		f.action = '/shop/confirmBuyItem.nhn';
	f.method = 'get';
	f.submit();
}

function confirmGiftItem() {
	var f = document.form0;
	if (isRadioButtonChecked(f.period) == false) {
		alert('Please choose price.');
		return;
	}
	if (f.receiverGameId.value == '') {
		alert('Please enter recipient\'s Game ID.');
		return;
	}
	if (f.setItem.value == 'true')
		f.action = '/shop/confirmGiftItemSet.nhn';
	else
		f.action = '/shop/confirmGiftItem.nhn';
	f.method = 'get';
	f.submit();
}

////////////////////////////////////////////////////////////////////////////////////////////////////
var BUY_CONFIRM_MSG = 'You already have this item.  \n\nAre you sure you want to buy this item?'; //\n\n(You may only buy up to 4 of the same item.)
var GIFT_CONFIRM_MSG = 'Recipient already has this item.  \n\nAre you sure you want to gift this item?';//\n\n(You may only buy up to 4 of the same item.)

function checkout() {
	var target = $('checkout');
	var url = '/shop/inputPassword.nhn';
	var method = 'post';
	var params = Form.serialize(document.form0);
	target.innerHTML = '<div align="center" style="padding-top:20px;">Please wait while processing...</div>';
	new Ajax.Updater({success: target}, url, {method: method, parameters: params, onFailure: failedToUpdate});
}

function buyItem(possess) {
	if (possess == true) {
		if (confirm(BUY_CONFIRM_MSG) == false)
			return;
	}
	checkout();
}

function giftItem(possess) {
	if (possess == true) {
		if (confirm(GIFT_CONFIRM_MSG) == false)
			return;
	}
	checkout();
}

////////////////////////////////////////////////////////////////////////////////////////////////////
var submitted = false;
function submitOrder() {
	var f = document.orderForm;
	if (f.password.value == '') {
		alert('Please enter password.');
		f.password.focus();
		return;
	}

	if (submitted == true) {
		return;
	}
	submitted = true;

	f.action = '/shop/submitPassword.nhn';
	f.method = 'post';
	var submitPanel = document.getElementById('submitPanel');
	submitPanel.innerHTML = '<div style="height:31px;">Please wait while processing...</div>';
	//document.getElementById("password").value = getSecureEncryptValue(document.getElementById("password").value);
	f.submit();
}

function submitOrder_fb() {
	var f = document.orderForm;
	
	if (submitted == true) {
		return;
	}
	submitted = true;
	
	f.action = '/shop/submitPassword.nhn';
	f.method = 'post';
	var submitPanel = document.getElementById('submitPanel');
	submitPanel.innerHTML = '<div style="height:31px;">Please wait while processing...</div>';
	//document.getElementById("password").value = getSecureEncryptValue(document.getElementById("password").value);
	f.submit();
}

////////////////////////////////////////////////////////////////////////////////////////////////////
function loadMyItemsCategory(page) {
	var target = $('myItemsEntry');
	var url = '/shop/myItemsEntry.nhn';
	var method = 'get';
	var params = 'category=' + document.myItemsForm.category.value + '&page=' + page;
	//target.innerHTML = '<div align="center">Please wait while loading...</div>';
	new Ajax.Updater({success: target}, url, {method: method, parameters: params, onFailure: failedToUpdate});
}

function loadItemDetails(id) {
	var target = $('setItemDetails');
	var url = '/shop/setItemDetails.nhn';
	var method = 'get';
	var params = 'id=' + id;
	//target.innerHTML = '<div align="center">Please wait while loading...</div>';
	new Ajax.Updater({success: target}, url, {method: method, parameters: params, onFailure: failedToUpdate});
}

////////////////////////////////////////////////////////////////////////////////////////////////////
function goItemList(page) {
	var f = document.form0;
	f.action = '/shop/itemList.nhn';
	f.method = 'get';
	f.page.value = page;
	f.submit();
}

function goItemDetails(id, view, setItem) {
	//if (view == 'gift') {
	//	alert('The gifting function is temporarily closed.  Please check the forums for more information.');
	//	return;
	//}
	var f = document.form0;
	f.action = '/shop/itemDetails.nhn';
	f.method = 'get';
	f.id.value = id;
	f.view.value = view;
	f.setItem.value = setItem;
	f.submit();
}

function backtoItemList() {
	var f = document.shopNavigation;
	f.action = 'itemList.nhn';
	f.method = 'get';
	f.submit();
}

function backtoItemListLuckyBox() {
	var f = document.shopNavigation;
	f.action = '/shop/luckybox/itemList.nhn';
	f.method = 'get';
	f.submit();
}

function backtoItemListItemOfTheDay() {
	location.href = '/shop/itemoftheday/itemList.nhn';
}

function backtoItemListRareItemShop() {
	location.href = '/shop/rareitemshop/itemList.nhn';
}

////////////////////////////////////////////////////////////////////////////////////////////////////
function isRadioButtonChecked(o) {
	if (typeof(o) != 'object') 
		return true;
	
	if (typeof(o.length) == 'number') {
		for (var i=0;i<o.length;i++) {
			if (o[i].checked == true) {
				return true;
			}
		}
	} else {
		if (o.checked == true) {
			return true;
		}	
	}
	return false;
}

///////////////////////////////////////////////////
// FACEBOOK
///////////////////////////////////////////////////

function fb_reauth() {
	var login_from = getCookie("NHN_LOGIN_FROM");
	
	switch(login_from) {
		case "FB":
			var auth_url = 'https://www.facebook.com/dialog/oauth?client_id=295295517212&auth_type=reauthenticate&auth_nonce=jldk&redirect_uri='+encodeURIComponent(location.href);
			location.href=auth_url;
			break;
	}
}
