var APP_ROOT = '';

function focusSearchbox() {
	$('input#SearchCode').focus();
}



// ログインする
function login(){
	var mail = $('input#UserMail').attr('value');
	var pass = $('input#UserPassword').attr('value');
	var hold = $('input#UserHold').attr('checked');
	var redirect = $('input#HiddenRedirect').attr('value');

	// redirect先が指定されていない場合は銘柄管理ページをジャンプ先として指定する
	if(redirect == undefined || redirect == ''){
		redirect = APP_ROOT + '/users/manageStocks/';
	}

	// user,passwordでajaxなリクエスト
	var url = APP_ROOT + '/api/users/login/' + mail + '/' + pass + '/' + (hold !== undefined ? 1 : 0);
	$.get(url, null, function(res){
		// 結果コードを取得する
		var result = res.match(/<code>(\d+)<\/code>/);
		if(result[1] == 1){
			// login成功なのでredirect
			window.location = redirect;
		}
		// indicator 画像をhideしてエラーメッセージを表示する
		else{
			$('div#indicator').hide();
			$('div#loginerror').show();
		}
	});
	
	// loginの文字列を indicator に変更する
	$('div#loginerror').hide();
	$('div#indicator').show();
}



// 購読を解除する
function unsubscribeCompany(id){
	var url = APP_ROOT + '/api/users/unsubscribe/' + id;
	alert(url);
	$.get(url, null, function(){
		if(res == 1){
			window.location = APP_ROOT + '/users/config';
		}
	});
}





// 銘柄を削除する
function delStock(code, name){
	if(confirm(name + '(' + code + ')' + 'を削除しても宜しいですか？')){
		$.get(APP_ROOT + '/api/users/unsubscribe/' + code, null, function(res){
			var json = eval("(" + res + ")");
			var returnCode = json.result.code;
			switch(returnCode){
				case '10':
					window.location = APP_ROOT + '/users/manageStocks';
					break;
				case '01':
					alert('購読解除に失敗しました');
					break;
				default:
					alert('原因不明のエラーが発生しました');
					break;
			}
		});
	}
}




// 銘柄を追加する
function addStock() {
	var code = $('input#new_code').attr('value');
	if(confirm(code + 'を追加しても宜しいですか？' + "\n" + '次の更新で適時開示情報PDFがダウンロードされます。')){
		$.get(APP_ROOT + '/api/users/subscribe/' + code, null, function(res){
			var json = eval("(" + res + ")");
			var returnCode = json.result.code;
			switch(returnCode){
				case '10':
					window.location = APP_ROOT + '/users/manageStocks/' + code;
					break;
				case '01':
					alert('既に登録されています');
					break;
				case '02':
					alert('登録に失敗しました');
					break;
			}
		});
	}
}



// 指定された銘柄コードでGNews更新リクエストを非同期に投げる
function aggregateGNews(code) {
	$.post(APP_ROOT + '/api/feeds/aggregateGNews/' + code, null, function(res){
		$('span#' + code).hide();
	});
}