<!--
// 変数定義
var click_flg = false;

function isChecked(frm, name){
	var elems = frm.elements;
	var n = elems.length;
	var cflg = false;
	for (var i = 0; i < n; ++i) {
		var e = elems[i];
		if(e.name == name && e.checked){
			cflg = true;
			break;
		}
	}
	return cflg;
}

function open_w(url) {
	return window.open(url, '_blank');
}

function open_w2(url, t, s) {
	return window.open(url, t, s);
}


//処理実行中メッセージ
function processRunningMsg(){
	if(window.opener == undefined){
		var con = confirm("【処理を中断しますか？】\n\n現在処理を行っております。\n処理を中断する場合は「ＯＫ」\n処理を継続する場合は「キャンセル」をクリックしてください。");
		if (con) return true;
	} else {
  	var con = confirm("【処理を中断しますか？】\n\n現在処理を行っております。\n処理を中断して画面を閉じる場合は「ＯＫ」\n処理を継続する場合は「キャンセル」をクリックしてください。");
		if (con) { 
			self.close();
		} 	
	}

	return false;
}


function click_chk() {

	if (click_flg==false){
		click_flg=true;
		return true;
	}

	return processRunningMsg();
}

// チェックボックス
function checked_all(frm, elm, ename) {
	var elems = frm.elements;
	var status = elm.checked;
	var n = elems.length;
	for (var i = 0; i < n; ++i) {
		var e = elems[i];
		if(e.name == ename) {
			e.checked = status;
		}
	}
}

// 日付を確認
function sub_checkDate(frm) {
	if (click_flg==true){
		processRunningMsg();
		return;
	}
	var a = frm;

  a.date.value = createDate(a.date.value);  

	var date0 = a.date.value;

	var d0 = isDate(date0);	// From日付をチェック
	if (d0 != 1) {
		return;
	}
	click_flg=true;
	frm.submit();
}

// 日付を確認
function sub_checkDates(frm) {
	if (click_flg==true){
		processRunningMsg();
		return;
	}
	var a = frm;

    a.from_date.value = createDate(a.from_date.value);  
    a.to_date.value = createDate(a.to_date.value);

	var date0 = a.from_date.value;
	var date1 = a.to_date.value;

	var d0 = isDate(date0);	// From日付をチェック
	if (d0 != 1) {
		return;
	}
	var d1 = isDate(date1);	// To日付をチェック
	if (d1 != 1) {
		return;			// [E] return false
	}
	var order = checkOrder(date0,date1);	// 日付の順番OK？
	if (order != 1) {
		return;			// [E] return false
	}
	click_flg=true;
	frm.submit();
	//location.href = frm.action + '?from_date=' + date0 + '&to_date=' + date1 + '&' + ctv;
}

function check_ElementDates(felm, telm) {

  felm.value = createDate(felm.value);  
  telm.value = createDate(telm.value);

	var date0 = felm.value;
	var date1 = telm.value;

	if(date0 != ""){
		var d0 = isDate(date0);	// From日付をチェック
		if (d0 != 1) {
			return false;
		}
	}

	if(date1 != ""){
		var d1 = isDate(date1);	// To日付をチェック
		if (d1 != 1) {
			return false;			// [E] return false
		}
	}
	
	if(date0 != "" && date1 != ""){
		var order = checkOrder2(date0,date1);	// 日付の順番OK？
		if (order != 1) {
			return false;			// [E] return false
		}
	}	
	return true;
}


function isDate(date, name) {
	// [入力なし] true
	if (date == '') {
		return true;
	}
	var target = ((name == undefined || name == '') ? '' : name + 'の');
	
	//文字列桁数チェック
	if (date.length != 10) {
        alert(target + "'YYYY/MM/DD' または 'YYYY-MM-DD' でご入力ください");
        return 0;					// [E] return 0
    }

    var yy = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 29);
	date.match(/(\d+)(\D)(\d+)(\D)(\d+)/);
    var wYear  = RegExp.$1;			// 年
    var hifuna  = RegExp.$2;		// ハイフン
    var wMonth = wMChk = RegExp.$3;	// 月
    var hifunb  = RegExp.$4;		// ハイフン
    var wDay   = RegExp.$5;			// 日

	/*
    var wYear, wMonth,wDay,wMChk,hifunb,hifuna;
    wYear  = date.substring(0,4);
    wMonth  = date.substring(5,7);
    wDay   = date.substring(8,10);
    wMChk = wMonth;
    */

    hifuna  = date.substring(4,5);
    hifunb  = date.substring(7,8);

    //半角数字チェック
    if(!(CheckNum(wYear + wMonth + wDay))){
        alert(target + "年月日は半角数字でご入力ください");
        return 0;					// [E] return 0
    }

    //ハイフンチェック
    if (!(hifuna == "-" || hifuna == "/")) {
        alert(target + "区切り文字は '-' または '/' でご入力ください");
        return 0;					// [E] return 0
    }
    if (!(hifunb == "-" || hifunb == "/")) {
        alert(target + "区切り文字は '-' または '/' でご入力ください");
        return 0;					// [E] return 0
    }
    if (!(hifuna == hifunb)) {
        alert(target + "区切り文字は '-' または '/' で統一してください");
        return 0;					// [E] return 0
    }
    // 年の範囲をチェック
    if (!(wYear >= "2000" && wYear <= "2100")) {
        alert(target + "年の指定が正しくありません");
        return 0;
    }
    // 月の範囲をチェック
    if (!(wMonth >= 1 && wMonth <= 12)) {
        alert(target + "月の指定が正しくありません");
        return 0;					// [E] return 0
    }
    // 閏年を確認
    if (!(wYear % 4) && wMonth == 2) {
        wMChk = 12;     // 閏年テーブル
        if (!(wYear % 100)) {
            if (wYear % 400) {
                wMChk = 1;
            }
        }
    }
	else {
        wMChk--;
    }
    // 日の範囲検証
    if (!(1 <= wDay && yy[wMChk] >= wDay)) {
        alert(target + "日付の指定が間違ってます");
        return 0;					// [E] return 0
    }
    // [OK] return 1

    return 1;
}

// 日付を整形
function createDate(date) {
	var tmpYY;
	var tmpMM;
	var tmpDD;
	var Delimiter;
	var tmpDate = date;
	// 年,デリミタの検索
	if (tmpDate.indexOf("-",0)!=-1){
		tmpYY=tmpDate.substring(0,tmpDate.indexOf("-",0))
		tmpDate = tmpDate.substring(tmpDate.indexOf("-",0)+1,tmpDate.length)
		Delimiter="-"
	}else{
		if (tmpDate.indexOf("/",0)!=-1){
			tmpYY=tmpDate.substring(0,tmpDate.indexOf("/",0))
			tmpDate = tmpDate.substring(tmpDate.indexOf("/",0)+1,tmpDate.length)
			Delimiter="/"
		}else{
			return date;
		}
	}
	// 月,日の検索
	if (tmpDate.indexOf(Delimiter,0)!=-1){
		tmpMM=tmpDate.substring(0,tmpDate.indexOf(Delimiter,0))
		tmpDD = tmpDate.substring(tmpDate.indexOf(Delimiter,0)+1,tmpDate.length)
	}else{
		return date;
	}
	// 月の前zero補てん
	if(tmpMM.length==1){
		tmpMM="0"+tmpMM;
	}
	// 日の前zero補てん
	if(tmpDD.length==1){
		tmpDD="0"+tmpDD;
	}
	if(!(tmpYY.length==4 && tmpMM.length==2 && tmpDD.length==2)){
		return date;
	}
	tmpDate=tmpYY + Delimiter + tmpMM + Delimiter + tmpDD
	return tmpDate;
}


////////////// 

function CheckDown(frm,el) {
	if (click_flg==true){
		processRunningMsg();
		return false;
	}
	if (frm.fileoutput.value > 0 ){
		OpenDataOutView ( frm );
	} else {
		alert("出力形式を選択してください");
	}
}

function ExportClick(frm,value) {
	if (click_flg==true){
		processRunningMsg();
		return false;
	}
	frm.fileoutput.value = value;
	OpenDataOutView ( frm );
}

//「戻る」ボタン対応　強制的にフラグを無効に
function initClickFlag(){
	if (click_flg==false){
		return true;
	}
}

// 半角数字を確認
function CheckNum(str) {
	var code;
	for (var i = 0; i < str.length; i++) {
		code = str.charCodeAt(i);
		if (code < 48 || code > 57) {
			if (!((i==0)&&(code==45))){
				return false;
			}
		}
	}
	return true;
}

// 空白チェック
function checkRequire(obj, name) {
	if(trim(obj.value) == '') {
		alert(name + ' が入力されていません。');
		obj.focus();
		return false;
	}
	return true;
}

function checkOrder(d0,d1) {
/*
	if (d0 != "" ||d1 != ""){
		return 1;
	}
	if (d0>d1){
		alert("集計期間が不正です。");
		return 0;
	}
	return 1;
	*/
	d0.match(/(\d+)\D(\d+)\D(\d+)/);
    var Year1  = RegExp.$1;			// 年
    var Month1 = RegExp.$2;     	// 月
    var Day1   = RegExp.$3;			// 日
    var dd0 = Year1 + '-' + Month1 + '-' + Day1;

	d1.match(/(\d+)\D(\d+)\D(\d+)/);
    var Year2  = RegExp.$1;			// 年
    var Month2 = RegExp.$2;     	// 月
    var Day2   = RegExp.$3;			// 日
    var dd1 = Year2 + '-' + Month2 + '-' + Day2;

	var cmp = dd0 > dd1;
	if (cmp == true) {
		alert("集計期間が不正です。");
		return 0;
	}
	return 1;
	
}

function checkOrder2(d0,d1) {
/*
	if (d0 != "" ||d1 != ""){
		return 1;
	}
	if (d0>d1){
		alert("期間が不正です。");
		return 0;
	}
	return 1;
	*/
	d0.match(/(\d+)\D(\d+)\D(\d+)/);
    var Year1  = RegExp.$1;			// 年
    var Month1 = RegExp.$2;     	// 月
    var Day1   = RegExp.$3;			// 日
    var dd0 = Year1 + '-' + Month1 + '-' + Day1;

	d1.match(/(\d+)\D(\d+)\D(\d+)/);
    var Year2  = RegExp.$1;			// 年
    var Month2 = RegExp.$2;     	// 月
    var Day2   = RegExp.$3;			// 日
    var dd1 = Year2 + '-' + Month2 + '-' + Day2;

	var cmp = dd0 > dd1;
	if (cmp == true) {
		alert("期間が不正です。");
		return 0;
	}
	return 1;
	
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		tab_top_over = newImage("images/tab_top_f1.gif");
		tab_basic_over = newImage("images/tab_basic_f1.gif");
		tab_sem_over = newImage("images/tab_sem_f1.gif");
		tab_seo_over = newImage("images/tab_seo_f1.gif");
		tab_crm_over = newImage("images/tab_crm_f1.gif");
		tab_affiliate_over = newImage("images/tab_affiliate_f1.gif");
		tab_tracker_over = newImage("images/tab_tracker_f1.gif");
		tab_tracker_over = newImage("images/tab_tracker_f1.gif");
		tab_mobile_over = newImage("images/tab_mobile_f1.gif");
		preloadFlag = true;
	}
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function OpenExpWindow(url,wid) {
var w = window.open(url, "exp", "width=" + wid + ",height=540,resizable=yes,scrollbars=yes,menubar=no,toolbar=no,location=no,directories=no,status=0");
return false;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

  function Trim(el){
  	var str = el.value;
    str = str.replace(/^[ 　]+/,"");
    str = str.replace(/[ 　]+$/,"");
    el.value = str;
  }
  

function trim(str) {
	while(str.charAt(0)==" "){str=str.substring(1,str.length)}
	while(str.charAt(str.length-1)==" "){str=str.substring(0,str.length-1)}
	return str;
}

function OpenDataOutView ( frm ){

		if ( frm.fileoutput.value == 1 ){
			frm.dtype.value = "Csv";
		} else if ( frm.fileoutput.value == 2 ){
			frm.dtype.value = "Pdf";
		} else if ( frm.fileoutput.value == 3 ){
	 	  window.open('view/print/dataout.htm','dataout','menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes,width=650,height=700');
	 	  return;
		} else if ( frm.fileoutput.value == 4 ){
			frm.dtype.value = "Excel";
		} else {
			frm.dtype.value = ''
		}

		frm.m.value = 'fileout';
		frm.submit();
		frm.target.value = '';
		frm.dtype.value  = '';

}


function openClose(objId, imgObjId, srcOpen, srcClose)
{
	var obj = getObjById(objId);
	
	var status = (obj.style.display == "none");
	status = !status;
	
	obj.style.display = (status ? "none" : "");
	
	if(imgObjId != undefined && imgObjId != '') {
		var imgObj = getObjById(imgObjId);
		imgObj.src = "view/images/" + (status ? srcClose : srcOpen);
	}
}


function openObj(objId)
{
	var obj = getObjById(objId);
	
	obj.style.display = "";
	
}


function openCloseAll(objName)
{
	var elements = document.getElementsByName(objName);
	for(var i = 0; i < elements.length; i++) {
		var obj = elements[i];
		var status = (obj.style.display == "none");
		status = !status;
		
		obj.style.display = (status ? "none" : "");
	}
}

function getObjById(objId)
{
	return document[document.all ? "all": "getElementById"](objId);
}


function openCloseMenu(menuId, arrowId)
{
	openClose(menuId, arrowId, 'node_open.gif', 'node_close.gif');
}

function openCloseSidemenu()
{
	openClose('sidemenu', 'side_bar_arrow', 'arrow_left.gif', 'arrow_right.gif');
	var obj = getObjById('sidemenu');
	
	var frm = document.mainform;
	if(frm != undefined && frm.elements['sidemenu_display'] != undefined) {
		frm.elements['sidemenu_display'].value = obj.style.display;
	}
	
	frm = document.inputform;
	if(frm != undefined && frm.elements['sidemenu_display'] != undefined) {
		frm.elements['sidemenu_display'].value = obj.style.display;
	}
}

function openCloseSearchDetail()
{
	openClose('search_detail');
	var obj = getObjById('search_detail');
	
	var frm = document.mainform;
	if(frm != undefined && frm.elements['search_detail_display'] != undefined) {
		frm.elements['search_detail_display'].value = (obj.style.display == 'none' ? 0 : 1);
	}
}

// 一括チェック
function check_all(isCheck, target_name){
	var elements = document.getElementsByName(target_name);
	for(var i = 0; i < elements.length; i++) {
		elements[i].checked = isCheck;
	}
}

function getWindowWidth(){
	if (window.innerWidth){
		return window.innerWidth;}	
	else if (document.documentElement && document.documentElement.clientWidth != 0){
		return document.documentElement.clientWidth;	}
	else if (document.body){return document.body.clientWidth;}		
		return 0;
}

// ラジオボタンのチェックされた値を取得
function getRadioValue(obj_name){
	var elements = document.getElementsByName(obj_name);
	for(var i = 0; i < elements.length; i++) {
		if(elements[i].checked) {
			return elements[i].value;
		}
	}
	return null;
}

// ラジオボタンをチェックする
function setRadioValue(obj_name, value){
	var elements = document.getElementsByName(obj_name);
	for(var i = 0; i < elements.length; i++) {
		if(elements[i].value == value) {
			elements[i].checked = true;
			return;
		}
	}
}

// class="class1" の値を書き換える
function setClassName(obj_id, class_name) {
	var obj = getObjById(obj_id);
	if(obj != undefined) {
		obj.setAttribute((document.all ? 'className' : 'class'), class_name);
	}
}

// 特定の文字列で始まる
function startsWith(text, val) {
	if(text == '' || val == '') return false;
	if(text.length < val.length) return false;
	var left = text.substring(0, val.length);
	return (left == val);
}

// 特定の文字列で終わる
function endsWith(text, val) {
	if(text == '' || val == '') return false;
	if(text.length < val.length) return false;
	var right = text.substring(text.length - val.length, text.length);
	return (right == val);
}

// htmlの書き換え
function setInnerHtml(obj_id, src) {
	var obj = getObjById(obj_id);
	
	var updater = function() {
		obj.innerHTML = src;
	}
	setTimeout(updater, 0);
}


// 文字列を数値に変換
function toNumber(text) {
	var sum = 0;
	for(var i = 0; i < text.length; i++) {
		var c = text.charAt(i);
		if(c < '0' || '9' < c) continue;
		c -= 0;	// 数値に型変換
		sum *= 10;
		sum += c;
	}
	return sum;
}

// ３桁カンマ区切り
function numberFormat(str) {
	var num = new String(str).replace(/,/g, "");
	while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
	return num;
}

//-->
