/** 掲示板レスvalidate */
function check_res(){
	var str = ''
	if(document.getElementById('msg_res[res]').value==''){
		str += '本文を入力してください\n';	
	}
	if(str!=''){
		alert(str);
		return false;
	}else{
		return true;	
	}
}

/** 掲示板トピックvalidate */
function check_topic(){
	var str = ''
	if(document.getElementById('msg_topic[message]').value==''){
		str += '内容を入力してください';
	}
	if(str!=''){
		alert(str);
		return false;
	}else{
		return true;	
	}
}






/** 文字列の追加 */
function input_str(str,id){
	document.getElementById(id).value = str + document.getElementById(id).value;
}

/** 新規会社の追加フォームの表示 */
function exists_company(){
	var company_id = document.getElementById('company_id_select').value;

	get_person();
	company_clear_all();
	person_clear_all();

	if(company_id == "new"){
	  	document.getElementById('new_company').style.display = "block";
	  	document.getElementById('new_company_name').value = document.getElementById('company_name').value;
	  	document.getElementById('new_person').style.display = "block";
		get_info('company_name');
	}
	else{
		document.getElementById('new_company').style.display = "none";
		document.getElementById('new_person').style.display = "none";
	}
	
	document.getElementById('company_id').value = company_id;
}

/** 担当者の新規追加フォームを表示 */
function exists_person(){
	var person_id = document.getElementById('person_id').value;
	if(person_id == "new"){
  	document.getElementById('new_person').style.display = "block";
	}else{
    document.getElementById('new_person').style.display = "none";
	}
	person_clear_all();
}

/** プロジェクト選択時の動作 */
function select_project(){
	var project_code = document.getElementById('project_code').value;
	var project_id   = document.getElementById('project_id_select').value;

	//プロジェクトIDから企業情報取得
	var company_data = project.get_company_from_project_id(project_id);

	if(company_data){
		document.getElementById('rsCompany').innerHTML = project.get_company_form_from_company_id(company_data.project_client_id);
		document.getElementById('rsperson').innerHTML    = person.person_list(company_data.company_id);
		document.getElementById('project_id').value = project_id;
		
	}
	else{
		document.getElementById('formCompany').innerHTML = document.getElementById('_formCompany').innerHTML;
		document.getElementById('rsperson').innerHTML    = document.getElementById('_rsperson').innerHTML;
	}

}


/** 会社名のクエリを取得 */
function get_company(person_id, company_name) {
    
    var doneflg = false;
    
    //フォームに入力されている会社名
    var query = document.getElementById('company_name').value;
    //担当者idが存在する時は企業名を取得
    
    if(person_id && person_id != 'done') var company_name = company.get_company_name_person_id(person_id);

    if (query != query_old && query != company_name){
		//会社名から会社検索
        var result = company.company_list(query);
		document.getElementById('rsCompany').innerHTML = result;
		exists_company();
		//クエリーの保存
		query_old = query;
    }

    if(tmp['person_id']!=tmp['old_person_id'] || !tmp['old_person_id']){    
		if(person_id > 0 && (!query || query == company_name)){
			document.getElementById('rsCompany').innerHTML = company.company_list_person_id(person_id);
			document.getElementById('company_name').value  = company_name;
			exists_company();
			tmp['person_id'] = person_id;
			doneflg = true;
		}
		else if(person_id == "done"){
			document.getElementById('person_id').value = tmp['person_id'];
			tmp['old_person_id'] = tmp['person_id'];
			doneflg = true;
		}
    }

    //1000ms後に実行キューへ登録
    if(doneflg){
            setTimeout("get_company('done', '"+company_name+"')",1000);
	}
    else{
        if(person_id){
                    setTimeout("get_company('"+person_id+"', '"+company_name+"')",1000);
            }
            else{
                    setTimeout("get_company()",1000);
            }
    }
}


/** プロジェクトの一覧を取得 */
function get_project(id,name) {

	var query = document.getElementById('project_code' + id).value;
	var result = project.project_list(query,name);
	document.getElementById('rs_project_code' + id).innerHTML = result;

	if(project.get_project_count(query)==1){
		select_project();
	}
}

/** プロジェクトの一覧を取得 */
function getJournalProject(id,name) {

	var query = document.getElementById('project_code' + id).value;
	var result = project.project_list(query,name);
	document.getElementById('rs_project_code' + id).innerHTML = result;
}

/** 日報編集画面での初期読み込み */
function loadJournalProjects(){
	
	for(i=1; i<=12; i++){
		getJournalProject(i, 'report['+i+'][project_id]');
	}
	
}


/** プロジェクトの初期選択 */
function get_project_from_id(project_id) {
	if(project_id){
		var result = project.get_project_from_id(project_id);
		document.getElementById('rs_project_code').innerHTML = result;
		select_project();
	}
}


/** 見積もりのタイトルをID番号から取得 */
function get_estimate_pattern(id){
	var result = company.get_estimate_name(id);
	if(result){
		document.getElementById('rs_estimate_pattern').value = result;
	}

}

/** 担当者名の取得 */
function get_person() {
	var company_id = document.getElementById('company_id_select').value;
	document.getElementById('rsperson').innerHTML = person.person_list(company_id);
}

/** 会社名のプルダウンを初期化 */
function clear_company() {
  document.getElementById('new_company').style.display = "none";
 	document.getElementById('company_id').value = "";
	document.getElementById('new_person').style.display = "none";
	document.getElementById('person_id').value = "";
	person.person_list();
}

/** 担当者名のプルダウンを初期化 */
function clear_person() {
	if(document.getElementById('company_id').value=='new'){
		alert('担当者は必ず入力してください。');
	}else{
	  document.getElementById('new_person').style.display = "none";
		document.getElementById('person_id').value = "";
	}
}

/** 担当者情報のコピー */
function person_copy(from,to,id) {
	/** 会社IDの取得 */
	var company_id = document.getElementById('company_id').value;
	/** 新しい会社の場合 */
	if(company_id == "new"){
	  document.getElementById(to).value = document.getElementById(from).value;
	}else{
		var value = company.get_company_value(company_id,id);
		if(value){
			document.getElementById(to).value = value;
		}else{
//			alert("本社データに値がありません。");
		}
	}
}

/** 日付曜日の取得 */
function get_date(str){
	var year			= document.getElementById(str+'[year]').value;
	var month			= document.getElementById(str+'[month]').value;
	var date			= document.getElementById(str+'[date]').value;
	var result	= common.get_date(year,month,date,str);
	document.getElementById(str).innerHTML = result;

}

/** 担当者の項目へコピー */
function person_copy_all(){
	person_copy('new_company_zip','new_person_zip','company_zip');
	person_copy('new_company_pref','new_person_pref','company_pref');
	person_copy('new_company_addr','new_person_addr','company_addr');
	person_copy('new_company_bldg','new_person_bldg','company_bldg');
	person_copy('new_company_tel','new_person_tel','company_tel');
	person_copy('new_company_fax','new_person_fax','company_fax');
}

/** 会社の値の初期化 */
function company_clear_all(){
	document.getElementById('new_company_name').value = "";
	document.getElementById('new_company_f_name').value = "";
	document.getElementById('new_company_zip').value = "";
	document.getElementById('new_company_pref').value = "";
	document.getElementById('new_company_addr').value = "";
	document.getElementById('new_company_bldg').value = "";
	document.getElementById('new_company_tel').value = "";
	document.getElementById('new_company_fax').value = "";
	document.getElementById('new_company_url').value = "";
	document.getElementById('new_company_memo').value = "";
}

/** 担当者の値の初期化 */
function person_clear_all(){
	document.getElementById('new_person_name').value = "";
	document.getElementById('new_person_f_name').value = "";
	document.getElementById('new_person_unit').value = "";
	document.getElementById('new_person_appointment').value = "";
	document.getElementById('new_person_zip').value = "";
	document.getElementById('new_person_pref').value = "";
	document.getElementById('new_person_addr').value = "";
	document.getElementById('new_person_bldg').value = "";
	document.getElementById('new_person_tel').value = "";
	document.getElementById('new_person_fax').value = "";
	document.getElementById('new_person_memo').value = "";
}

/** 会社情報の取得 */
function get_info(id){
	var query = document.getElementById(id).value;
	var addr = company_info.get_company_info(query);
	if(addr['furigana']) document.getElementById('new_company_f_name').value	= check_value(addr['furigana']);
	if(addr['zip']) document.getElementById('new_company_zip').value 	= check_value(addr['zip']);
	if(addr['pref']['key']) document.getElementById('new_company_pref').value 	= check_value(addr['pref']['key']);
	if(addr['addr']) document.getElementById('new_company_addr').value = check_value(addr['addr']);
	if(addr['tel']) document.getElementById('new_company_tel').value 	= check_value(addr['tel']);
	if(addr['url']) document.getElementById('new_company_url').value 	= check_value(addr['url']);
	if(addr['bldg']) document.getElementById('new_company_bldg').value = check_value(addr['bldg']);
}
function check_value(query){
	if(query==null || query=='undefined') return '';
	return query;
}

/** 住所の取得 */
function zip2addr(str){
	var num = document.getElementById(str + '_zip').value;
//	debug.p(zip);
	var addr = common.get_addr(num);
	if(addr['pref']){
		document.getElementById(str + '_pref').value = addr['pref'];
	}
	if(addr['city']){
		if(!addr['addr']) addr['addr'] = '';
		document.getElementById(str + '_addr').value = addr['city'] + addr['addr'];
	}
	if(!num){
		document.getElementById(str + '_pref').value = 0;
		document.getElementById(str + '_addr').value = '';
	}
}

/** 入力チェック */
function check(type){
  var value = '';
  var msg = '';
	
	if(type == "project_input"){
		msg += blank_check('project_code','プロジェクトIDを選択してください');
		msg += blank_check('project_name','プロジェクト名を記入してください');
		if (msg != ''){
			error(msg);
		    	return false;
		}
		msg += select_all();

	}
	if(type == "schedule_input"){
		msg += select_all();
	}
	
	/** 既存企業、既存担当者の場合 */
	
//	msg += blank_check('company_id','会社を選択してください');
//	msg += blank_check('person','担当者を選択してください');
	msg += blank_check('subject','タイトルを入力してください');

	if (msg != ''){
		error(msg);
	    	return false;
	}
	
	/** 既存企業、新規担当者の場合 */
	
	if(value = document.getElementById('person').value == "new"){
		msg += blank_check('new_person_name','新しい担当者名を入力してください');
//		msg += blank_check('new_person_f_name','新しい担当者名のフリガナを入力してください');
		if (msg != '') {
			error(msg);
			return false;
		}else{
			return comfirm();
		}
	}
	
	/** 新規企業、新規担当者の場合 */
	
	if(value = document.getElementById('company_id').value == "new"){
		msg += blank_check('new_company_name','新しい会社名を入力してください');
//		msg += blank_check('new_company_f_name','新しい会社名のフリガナを入力してください');
		msg += blank_check('new_person_name','新しい担当者名を入力してください');
//		msg += blank_check('new_person_f_name','新しい担当者名のフリガナを入力してください');
	
		if (msg != '') {
			return error(msg);
		}
	}
  return comfirm();
}

/** 見積もりチェック */
function estimate_check(type){
  var value = '';
  var msg = '';

	msg += blank_check('estimate_subject','見積もり名を入力してください');
	if (msg != ''){
		error(msg);
    	return false;
	}
	
  return comfirm();
}



/** 空白のチェック */
function blank_check(id,str){
	var msg = '';
	var value = '';
	value = document.getElementById(id).value;
	if (value == '') msg = '\n - ' + str;
	return msg;
}

/** エラー出力 */
function error(msg){
    msg = '入力エラーがあります。' + msg;
    msg = msg + '\n';
    alert(msg);
}

/** エラー出力 */
function comfirm(){
	var msg = '';
//	var msg = document.getElementById(comfirm_msg).value;
	if(!msg) msg = '登録してよろしいでしょうか？';
	if(window.confirm(msg)){ 
		return true;	
	} 
	else{
		return false;
	}
}


/** 選択の追加 */
function add_select(cname,sname){
	var list_from		= document.getElementById(cname).options;
	var list_to			= document.getElementById(sname).options;
	for(i=0;i<list_from.length-1;i++)	{
		var co = list_from[i];
		if( ! co.selected || ! co.value ) continue;
		var f = false;
		var li = list_to.length - 1;
		for(j= 0;j<li;j++){
			if(list_to[j].value==co.value){
				f = true; break;
				}
			}
		if(f) continue;
		list_to[list_to.length] = new Option(list_to[li].text,list_to[li].value);
		list_to[li] = new Option(co.text,co.value,true,true);
	}
}

/** 選択の削除 */
function remove_select(sname){
	var u = document.getElementById(sname).options;
	li = u.length - 1;
	for(i=0;i<li;i++){
		if(u[i].selected){
			u[i] = null;
			li -=1;
			i-=1;
		}
	}
}

function multiple_select_all(element_id){
	var options_obj = document.getElementById(element_id).options;
	
	for(i=0; i<options_obj.length; i++){
		options_obj[i].selected = true;
	}
}

/** すべて選択 */
function select_all(){
	var u = document.getElementById('user_id').options
	for(i=0;i<u.length-1;i++){
		u[i].selected = true ;
	}
	u[i].selected = false;
	if(u.length<2){
		return "\n - 参加者を選択してください";
	}
	var u = document.getElementById('facility_id').options
	for(i=0;i<u.length-1;i++){
		u[i].selected = true ;
	}
	u[i].selected = false;
	return "";
}

/** 時間の自動選択 */
function get_time(time,time_to){
	var hour = document.getElementById(time + "[hour]").value;
	var hour_to = Number(hour) + 1;
	if(hour_to>23) hour_to = "";
	if(!document.getElementById(time_to+'[minuit]').value){
		document.getElementById(time_to+'[minuit]').value = "00";
	}
	if(!document.getElementById(time + '[minuit]').value){
		document.getElementById(time + '[minuit]').value = "00";
	}
	document.getElementById(time_to + '[hour]').value = hour_to;
}

/* 時間の自動選択(複数) */
function get_array_time(time,key,num){

	var hour = document.getElementById(time + "[" + key + "]" + "[hour]").value;
	var hour_to = Number(hour) + 2;
	var next_hour_from = new Array(num);
	var next_key = new Array(num);

	//同フィールド
	if(hour_to>23) hour_to = "";

	if(!document.getElementById(time + "[" + key + "]" + "[minuit]").value){
		document.getElementById(time + "[" + key + "]" + "[minuit]").value = "00";
	}

	document.getElementById('time_to' + "[" + key + "]" + '[hour]').value = hour_to;

	//それ以下のフィールド
	for(i=0;i<num;i++){
		next_key[i] = Number(key) + i;
		next_hour_from[i] = Number(hour) + i;
		if(!document.getElementById('time_from' + "[" + (next_key[i]) + "]" + '[hour]').value){
			document.getElementById('time_from' + "[" + (next_key[i]) + "]" + '[hour]').value = next_hour_from[i];
		}
		if(!document.getElementById('time_to' + "[" + (next_key[i]) + "]" + '[hour]').value){
			document.getElementById('time_to' + "[" + (next_key[i]) + "]" + '[hour]').value = next_hour_from[i];
		}
		if(!document.getElementById('time_from' + "[" + (next_key[i]) + "]" + '[minuit]').value){
			document.getElementById('time_from' + "[" + (next_key[i]) + "]" + '[minuit]').value = "00";
		}
		if(!document.getElementById('time_to' + "[" + (next_key[i]) + "]" + '[minuit]').value){
			document.getElementById('time_to' + "[" + (next_key[i]) + "]" + '[minuit]').value = "00";
		}
	}
}


/** フォームの追加 */
function add_estimate_field(str){
//	alert('sss');
//	document.getElementById(str).innerHTML = "sssssssssssssss";
/**	document.getElementById(str).innerHTML += "<td><input type=\"text\" name=\"est[][estimate_item_name]\" value=\"\" id=\"est[][estimate_item_name]\" style=\"width:380px\" /></td>";
	document.getElementById(str).innerHTML += "<td><input type=\"text\" name=\"est[][estimate_item_price]\" value=\"\" id=\"est[][estimate_item_name]\" style=\"width:70px\" /></td>";
	document.getElementById(str).innerHTML += "<td><input type=\"text\" name=\"est[][estimate_item_count]\" value=\"\" id=\"est[][estimate_item_name]\" style=\"width:50px\" /></td>";
	document.getElementById(str).innerHTML += "<td><input type=\"text\" name=\"est[][estimate_item_measure]\" value=\"\" id=\"est[][estimate_item_name]\" style=\"width:50px\" /></td>";
	document.getElementById(str).innerHTML += "</tr>";*/
}

/** 担当者の一覧を取得 */
function get_client_table(company_id){
	var result = person.get_client_table(company_id);
//	document.getElementById('company'+company_id + 'tr').style.display = "block";
	document.getElementById('company'+company_id).innerHTML = result;
}

/** 担当者の一覧を削除 */
function clear_client_table(company_id){
//	document.getElementById('company'+company_id + 'tr').style.display = "none";
	document.getElementById('company'+company_id).innerHTML = '';
}

/** 電話発信確認 */
function call(str){
	var msg = str + 'に電話をかけます。'+"\n"+'クリック後はキャンセルできませんので注意してください。';
	if(window.confirm(msg)){
		return true;
	}else{
		return false;
	}
}

/** 表示非表示の切り替え */
function showswich(normal,open){
    document.getElementById(normal).style.display = "none";
    document.getElementById(open).style.display   = "block";
}

/** Enter入力をタブに変える */
function enter2tab(){
	if (event.keyCode == 13){
		event.keyCode = 9;
	}

}

/**プロジェクトコードの重複チェック**/
function get_project_code(str){

	var query = str;
	var msg_true  = "NG";
	var msg_false = "OK!";

	if(project.get_project_code(query)){
		document.getElementById('get_project_message').innerHTML = msg_true;
	}
	else{
		document.getElementById('get_project_message').innerHTML = msg_false;
	}
}

//日報の入力チェック
function journal_check(){
  var value = '';
  var msg = '';

  //項目が一つもなかったら
	msg += blank_check('report_text','日報の内容を入力してください');
	if (msg != ''){
		error(msg);
    	return false;
	}
  return comfirm();
}

function check_star(obj){
	switch(obj.className){
		case "one":
			var star_class = "rating onestar";
			var star_num = "1"; 
			break;
		case "two":
			var star_class = "rating twostar";
			var star_num = "2";
			break;
		case "three":
			var star_class = "rating threestar";
			var star_num = "3";
			break;
		case "four":
			var star_class = "rating fourstar";
			var star_num = "4";
			break;
		case "five":
			var star_class = "rating fivestar";
			var star_num = "5";
			break;
	}
	document.getElementById('starClass').className = star_class;
	document.getElementById('starValue').value = star_num;
}

/** 担当者の新規追加フォームを表示 */
function get_replist(obj)
{
	if(obj == "new"){
		document.getElementById('new_rep').style.display = "";	
	}
	else{
		document.getElementById('new_rep').style.display = "none";	
	}
}

/** 期間の開始日と終了日を一致 */
function same_date(str){
	if(str=="date"){
		document.getElementById('d_end').value = document.getElementById('d_start').value;
	}else if(str=="month"){
		document.getElementById('m_end').value = document.getElementById('m_start').value;
	}else{
		document.getElementById('y_end').value = document.getElementById('y_start').value;
	}
}

/** 初期化 */
var company = new company();
var person  = new person();
var company_info  = new company_info();
var project       = new project();
var common         = new common();
var query_old;
var tmp = {};



function kwdComment(obj){
	if (obj.value == obj.defaultValue){
  	obj.value = "";
  	obj.style.color = "#000";
	}
}