/**
 *
 * ペットショップにて使用するjs
 *
 * @author onozawa
 * @since 2007/04/23
 *
 */

/**
 * ボタン押下フラグ
 */
var pushFlg = false;

 /**
  * 提携先種別
  * G-Coins購入ページ遷移判断用に利用する。
  * undefined,0:アットゲームズ、1:ガンホー
  */
var allianceType;

 /**
 * 一覧表示処理
 * 
 * @param url 遷移先のURL
 * @param pageNum ページ数
 * @param salesCategory 販売カテゴリ
 * @param sortType ソート順
 */
function listDisp(url, pageNum, salesCategory, sortType) {
	document.listDispForm.action = url;
	document.listDispForm.pageNum.value = pageNum;
	document.listDispForm.salesCategory.value = salesCategory;
	document.listDispForm.sortType.value = sortType;
	document.listDispForm.submit();
}

 /**
 * 欲しいものリスト追加
 * 
 * @param itemId ItemID
 * @param itemType Item種別
 */
function addWantList(itemId, itemType) {
	// DWRのタイムアウト時間を設定する
	DWREngine.setTimeout(1000);
	// 同期するように設定
	DWREngine.setAsync(false);

	// 欲しいものリストに追加
	Want.addwant(callBackAddWantList, itemId, itemType);
}

 /**
 * 欲しいものリスト追加DWRコールバック関数
 * 
 * @param result 結果
 */
function callBackAddWantList(result) {
	if(result == 0) {
		alert("The item has been added to your Wish List");
	} else if(result == -3) {
		alert("Faield to add the item to your Wish List");
	}
}

 /**
 * 購入画面、Gift画面表示（ペット）
 * 
 * @param url 遷移先のURL
 * @param petId ペットID
 */
function buyOrPresentDispPet(url, petId) {
	document.buyOrPresentDispForm.petId.value = petId;
	document.buyOrPresentDispForm.action = url;
	//win = openWinBuyAndPresent('','buy');
	//document.buyOrPresentDispForm.target = 'buy';
	document.buyOrPresentDispForm.submit();
	/*if(win){
		win.focus();
	}*/
}

 /**
 * 購入画面、Gift画面表示（ペットItem）
 * 
 * @param url 遷移先のURL
 * @param petItemId ペットItemID
 */
function buyOrPresentDispPetItem(url, petItemId) {
	document.buyOrPresentDispForm.petItemId.value = petItemId;
	document.buyOrPresentDispForm.action = url;
	//win = openWinBuyAndPresent('','buy');
	//document.buyOrPresentDispForm.target = 'buy';
	document.buyOrPresentDispForm.submit();
	/*if(win){
		win.focus();
	}*/
}

 /**
 * 購入画面、Gift画面ポップアップ
 * 
 * @param url 遷移先のURL
 * @param winName ウィンドウ名
 */
function openWinBuyAndPresent(url, winName) {
	//return window.open(url, winName,'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=450,height=580');
	location.href = url;
}

 /**
 * 未ログイン時の処理
 * 
 */
function noLogin() {
	alert("Please log in");
}

 /**
 * 購入（G-Coins）処理
 * 
 * @param url 遷移先のURL
 * @param itemId ItemID
 * @param price Price
 */
function buyGCoin(url, itemId, price) {

	// ボタンが押されている場合は処理終了
	if(pushFlg) {
		return;
	} else {
		pushFlg = true;
	}

	// DWRのタイムアウト時間を設定する
	DWREngine.setTimeout(1000);
	// 同期するように設定
	DWREngine.setAsync(false);

	// 所持G-Coins数を定義する
	possessionGCoin = 0;

	// 所持しているG-Coins数を取得する
	GetGcoin.getGcoin(callBackGetGcoin);

	// G-Coins数が足りる場合
	if(price <= possessionGCoin) {
		document.buyForm.petId.value = itemId;
		document.buyForm.petItemId.value = itemId;
		document.buyForm.action = url;
		document.buyForm.submit();
	} else {
		// G-Coins購入画面をポップアップする
//		if( allianceType == 1 ){
//			window.open('http://www.gungho.jp/selfytown/gcoin.html', 'account');
//		} else if ( allianceType == 3 ){
//			window.open('https://www.tinierme.com/tinierme/html/charges/account_big.html', 'account');
//		} else {
//			window.open('https://www.tinierme.com/tinierme/html/charges/account3.html', 'account','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=650');
//		}
		alert('You do not have enough Coins.');
		pushFlg = false;
	}
}

/**
 * G-Coins数取得DWRコールバック関数
 * 
 * @param gCoin G-Coins数
 */
function callBackGetGcoin(gCoin) {
	possessionGCoin = gCoin;
}


 /**
 * 購入（Chibi Coin）処理
 * 
 * @param url 遷移先のURL
 * @param itemId ItemID
 * @param price Price
 */
function buyPetitCoin(url, itemId, price) {

	// ボタンが押されている場合は処理終了
	if(pushFlg) {
		return;
	} else {
		pushFlg = true;
	}

	// DWRのタイムアウト時間を設定する
	DWREngine.setTimeout(1000);
	// 同期するように設定
	DWREngine.setAsync(false);

	// 所持Chibi Coin数を定義する
	possessionPetitCoin = 0;

	// 所持しているChibi Coin数を取得する
	GetPetitCoin.getPetitCoin(callBackGetPetitCoin);

	// Chibi Coin数が足りる場合
	if(price <= possessionPetitCoin) {
		document.buyForm.petId.value = itemId;
		document.buyForm.petItemId.value = itemId;
		document.buyForm.action = url;
		document.buyForm.submit();
	} else {
		alert("You do not have enough Chibi Coins");
		pushFlg = false;
	}
}

/**
 * Chibi Coin数取得DWRコールバック関数
 * 
 * @param petitCoin Chibi Coin数
 */
function callBackGetPetitCoin(petitCoin) {
	possessionPetitCoin = petitCoin;
}

/**
 * 画面を切り替える
 * 
 * @param url 遷移先のURL
 * @param itemId ItemID
 */
function changeDisp(url, itemId) {
	document.changeForm.petId.value = itemId;
	document.changeForm.petItemId.value = itemId;
	document.changeForm.action = url;
	document.changeForm.submit();
}

 /**
 * 購入Gift（G-Coins）処理
 * 
 * @param url 遷移先のURL
 * @param itemId ItemID
 * @param price Price
 * @param buyKind 購入種別
 */
function presentGCoin(url, itemId, price, buyKind) {

	// ボタンが押されている場合は処理終了
	if(pushFlg) {
		return;
	} else {
		pushFlg = true;
	}

	// DWRのタイムアウト時間を設定する
	DWREngine.setTimeout(1000);
	// 同期するように設定
	DWREngine.setAsync(false);

	// 所持G-Coins数を定義する
	possessionGCoin = 0;

	// 所持しているG-Coins数を取得する
	GetGcoin.getGcoin(callBackGetGcoin);

	// G-Coins数が足りる場合
	if(price <= possessionGCoin) {

		// To:ニックネーム
		var nickname = document.aform.textfield.value;
		// Message
		var body = document.aform.message.value;

		// To:の必須チェック
		if(!chkempty(nickname)) {
			alert("You did not fill in the required fields.");
			pushFlg = false;
			return;
		}

		// Messageの文字数チェック
		if(betweenchk(body, -1, 1024)) {
			alert("The message can only contain a maximum of 1024 characters");
			pushFlg = false;
			return;
		}

		// 禁止文字フラグ
		prohibitionLetterFlg = true;
		// 禁止文字チェック
		NG.checkBadLanguage(callBackCheckBadLanguage, body);
		if(prohibitionLetterFlg == true){
			alert("The message contains forbidden words");
			pushFlg = false;
			return;
		}

		// フォームに値を設定する
		document.buyPreForm.petId.value = itemId;
		document.buyPreForm.petItemId.value = itemId;
		document.buyPreForm.nickname.value = nickname;
		document.buyPreForm.body.value = body;
		document.buyPreForm.action = url;

		// ペット衣装の場合
		if(buyKind == 1) {
			// 未実装
		// ペット衣装以外の場合
		} else {
			// ニックネームのチェックを行う
			NickNameCheck.isNickName(callBackNickNameCheck, nickname);
		}

	} else {
		// G-Coins購入画面をポップアップする
//		if( allianceType == 1 ){
//			window.open('http://www.gungho.jp/selfytown/gcoin.html', 'account');
//		} else if ( allianceType == 3 ){
//			window.open('https://www.tinierme.com/tinierme/html/charges/account_big.html', 'account');
//		} else {
//			window.open('https://www.tinierme.com/tinierme/html/charges/account3.html', 'account');
//		}
		alert("You do not have enough Coins.");
		pushFlg = false;
	}
}

 /**
 * 購入Gift（Chibi Coin）処理
 * 
 * @param url 遷移先のURL
 * @param itemId ItemID
 * @param price Price
 * @param buyKind 購入種別
 */
function presentPetitCoin(url, itemId, price, buyKind) {

	// ボタンが押されている場合は処理終了
	if(pushFlg) {
		return;
	} else {
		pushFlg = true;
	}

	// DWRのタイムアウト時間を設定する
	DWREngine.setTimeout(1000);
	// 同期するように設定
	DWREngine.setAsync(false);

	// 所持Chibi Coin数を定義する
	possessionPetitCoin = 0;

	// 所持しているChibi Coin数を取得する
	GetPetitCoin.getPetitCoin(callBackGetPetitCoin);

	// Chibi Coin数が足りる場合
	if(price <= possessionPetitCoin) {

		// To:ニックネーム
		var nickname = document.aform.textfield.value;
		// Message
		var body = document.aform.message.value;

		// To:の必須チェック
		if(!chkempty(nickname)) {
			alert("You did not fill in the required fields.");
			pushFlg = false;
			return;
		}

		// Messageの文字数チェック
		if(betweenchk(body, -1, 1024)) {
			alert("The message can only contain a maximum of 1024 characters");
			pushFlg = false;
			return;
		}

		// 禁止文字フラグ
		prohibitionLetterFlg = true;
		// 禁止文字チェック
		NG.checkBadLanguage(callBackCheckBadLanguage, body);
		if(prohibitionLetterFlg == true){
			alert("The message contains forbidden words");
			pushFlg = false;
			return;
		}

		// フォームに値を設定する
		document.buyPreForm.petId.value = itemId;
		document.buyPreForm.petItemId.value = itemId;
		document.buyPreForm.nickname.value = nickname;
		document.buyPreForm.body.value = body;
		document.buyPreForm.action = url;

		// ペット衣装の場合
		if(buyKind == 1) {
			// 未実装
		// ペット衣装以外の場合
		} else {
			// ニックネームのチェックを行う
			NickNameCheck.isNickName(callBackNickNameCheck, nickname);
		}

	} else {
		alert("You do not have enough Chibi Coins");
		pushFlg = false;
	}
}

/**
 * 禁止文字チェックDWRコールバック関数
 * 
 * @param result 結果
 */
function callBackCheckBadLanguage(result) {
	prohibitionLetterFlg = result;
}

/**
 * ニックネームチェックDWRコールバック関数
 * 
 * @param result 結果
 */
function callBackNickNameCheck(result) {
	if(result) {
		document.buyPreForm.submit();
	} else {
		alert("The Nickname does not exist");
		pushFlg = false;
		return;
	}
}
