function popupWin(tgt,wname,ww,wh) {
	
	ScrWidth = screen.width - ww;
	
	hdl = window.open(tgt,wname,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,titlebar=no,width='+ww+',height='+wh+',screenX=0,screenY=0,left='+ScrWidth+',top=50');
	hdl.focus();

}

function checkSubmit(FmObj, Mode, ConfirmMsg){
	
	var Bool = true;
	
	if(ConfirmMsg) Bool = confirm(ConfirmMsg);
	
	if(Bool) {
		
		if(Mode) FmObj.mode.value = Mode;
		
		
		FmObj.submit();
	}
}

function checkLink(Link, ConfirmMsg){
	
	var Bool = true;
	
	if(ConfirmMsg) Bool = confirm(ConfirmMsg);
	
	if(Bool) {
		
		location.href=Link;
	}
}


function number_format(num) {
  return num.toString().replace(/([0-9]+?)(?=(?:[0-9]{3})+$)/g , '$1,')
}

/****************************************************************
* 機　能： 入力されたキーを取得(SELECTボックス版)
* 引　数： オブジェクト
* 戻り値： なし
****************************************************************/
function getSelectData(Obj) {
	
	var index = Obj.selectedIndex;
	Obj[index];
	
    return Obj[index].value;
    
}

/****************************************************************
* 機　能： 入力されたキーを取得(RADIOボタン版)
* 引　数： オブジェクト
* 戻り値： なし
****************************************************************/
function getRadioData(Obj) {
	
	var Len	= Obj.length;
	for( var i = 0; i < Len; i++ ) {
		
		if(Obj[i].checked == true) {
			
			return Obj[i].value;
		}
	}
	
	return "";
	
}

/****************************************************************
* 機　能： 入力されたキーを選択状態にする
* 引　数： セレクトする値
* 引　数： オブジェクト
* 戻り値： なし
****************************************************************/
function checkSelect(Num, Obj) {
	
	var Len	= Obj.length;
	for( var i = 0; i < Len; i++ ) {
		Obj.options[i].selected = ( Obj.options[i].value == Num )? true: false;
	}
}

/****************************************************************
* 機　能： 入力されたキーを選択状態にする
* 引　数： セレクトする値
* 引　数： オブジェクト
* 戻り値： なし
****************************************************************/
function checkCheckBox(Num, Obj) {
	
	var Len	= Obj.length;
	for( var i = 0; i < Len; i++ ) {
		
		Obj[i].checked = (Num & Obj[i].value)? true: false;
	}
}

/****************************************************************
* 機　能： チェックされた値を取得する
* 引　数： セレクトする値
* 引　数： オブジェクト
* 戻り値： なし
****************************************************************/
function getCheckBoxData(Obj) {
	
	var Data=0;
	
	var Len	= Obj.length;
	for( var i = 0; i < Len; i++ ) {
		
		if(Obj[i].checked) {
			
			Data += eval(Obj[i].value);
		}
		
	}
	
	return Data;
}

/****************************************************************
* 機　能： 数値のみで構成されているかチェック
* 引　数： 値
* 戻り値： なし
****************************************************************/
function isNumeric(num){
	
    if (num.match(/^[0-9]+$/)) {
        return true;
    }else{
    	return false;
	}
}

/****************************************************************
* 機　能： 乱数生成
* 引　数： なし
* 戻り値： なし
****************************************************************/
function getRandomNumeric(Len) {
	
	var Num = "";
	for (i=0;i<Len;i++) {
		Num += (parseInt(Math.random()*100));
	}
	
	return Num;
}

/****************************************************************
* 機　能： 数字以外の文字を除去
* 引　数： 対象文字列
* 戻り値： 整数
****************************************************************/

function delBesideNum( Str ) {
	var Len = Str.length;
	var TmpStr = '';
	for( var i = 0; i < Len; i++ ) {
		var Char = Str.substring( i, ( i + 1 ) );
		if( Char.match( /^[0-9]+$/ ) ) TmpStr += Char;
	}
	return TmpStr;
}

/****************************************************************
* 機　能： タグ追加
* 引　数： タグ名
* 引　数： ID
* 引　数： Name
* 引　数： 追加する先のオブジェクト
* 引　数： Type
* 戻り値： なし
****************************************************************/
function addTag(Tag, TagId, TagName, AddFieldId, TagType) {
	
	var inputTag = document.createElement(Tag);
	inputTag.type = TagType;
	inputTag.id = TagId;
	inputTag.name = TagName;
	document.getElementById(AddFieldId).appendChild(inputTag);
}


/****************************************************************
* 機　能： タグ削除
* 引　数： ID
* 戻り値： なし
****************************************************************/
function removeTag(TagId) {
	
	var delNode = document.getElementById(TagId);
	delNode.parentNode.removeChild(delNode);
}

/****************************************************************
* 機　能： 指定タグのクラス名からオブジェクトを取得
* 引　数： タグ名
* 引　数： CLASS NAME
* 戻り値： 取得したオブジェクトを配列でかえす
****************************************************************/
function getTagIdByClassName(Tag, ClassName){
	
	var inputTag=document.getElementsByTagName(Tag);
	var length=inputTag.length;
	
	var data_ary = new Array();
	
	var Num=0;
	for(var i=0; i<length; i++){
		
		if(inputTag[i].className == ClassName) {
			data_ary[Num] = inputTag[i].id;
			Num ++;
		}
	}
	
	return data_ary;
}

/****************************************************************
* 機　能： ポップアップウィンドウ
* 引　数： ターゲットURL
* 引　数： ウィンドウ名
* 引　数： 幅
* 引　数： 高さ
* 戻り値： なし
****************************************************************/
function popupWin(tgt,wname,ww,wh) {
	
	hdl = window.open(tgt,wname,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,titlebar=no,width='+ww+',height='+wh+',screenX=0,screenY=0,left=0,top=50');
	hdl.focus();

}

/****************************************************************
* 機　能： クリップボードにコピー
* 引　数： オブジェクト
* 戻り値： なし
****************************************************************/
function CopyText(arg){
    var obj=document.all && document.all(arg) || document.getElementById && document.getElementById(arg);
    if (obj.value) {
        var doc = document.body.createTextRange();
        doc.moveToElementText(obj);
        doc.execCommand("copy");
        alert('クリップボードにコピーしました。');
    } else {
        alert('コピーするデータがありません。');
    }
}

/****************************************************************
* 機　能： 値を0埋めする
* 引　数： 桁数
* 引　数： 値
* 戻り値： なし
****************************************************************/
function setNumFormat(keta, num) {
	var src = new String(num);
	var cnt = keta - src.length;
	if (cnt <= 0) return src;
	while (cnt-- > 0) src = "0" + src; return src;
}

// -------------------------------------------------------------------------
// チェックボックスのon/offで指定したIDのインプットエリアを入力不可にする
// 引数：オブジェクト
// 引数：入力項目を不可にするオブジェクトID
// 返値：なし
// -------------------------------------------------------------------------
function hiddenInputArea(Switch, id_array){
	
	if( Switch == 1 ){
		
		for( var i in id_array ) {
			
			document.getElementById(id_array[i]).disabled = true;
		}
	}
	else{
		
		for( var i in id_array ) {
			
			document.getElementById(id_array[i]).disabled = false;
		}
	}
}

/****************************************************************
* 機　能： イベント登録
* 引　数： オブジェクト
* 引　数： イベント
* 引　数： 関数
* 戻り値： なし
* 例
* observe(Obj, 'click', function(){alert('TEST')});
****************************************************************/
function observe(target, type, listener) {
    if (target.addEventListener) target.addEventListener(type, listener, false);
    else target.attachEvent('on' + type, function() { listener.call(target, window.event); });
}

/****************************************************************
* 機　能： ブラウザ判別
* 引　数： なし
* 戻り値： 
****************************************************************/
function getBrowser() {
	
	
	// alert(navigator.userAgent);
	
	if(navigator.userAgent.indexOf("Opera") != -1){ // 文字列に「Opera」が含まれている場合
		
		return 'Opera';
	}
	else if(navigator.userAgent.indexOf("MSIE") != -1){ // 文字列に「MSIE」が含まれている場合
		
		return 'MSIE';
	}
	else if(navigator.userAgent.indexOf("Firefox") != -1){ // 文字列に「Firefox」が含まれている場合
		
		return 'Firefox';
	}
	else if(navigator.userAgent.indexOf("Netscape") != -1){ // 文字列に「Netscape」が含まれている場合
		
		return 'Netscape';
	}
	else if(navigator.userAgent.indexOf("Safari") != -1){ // 文字列に「Safari」が含まれている場合
		
		return 'Safari';
	}
	else{
		
		
		return false;
	}
}

/****************************************************************
* 機　能： 生年月日と指定の日付から年齢を取得する
* 引　数： なし
* 戻り値： 年齢
****************************************************************/
function mkAge(BirthYear, BirthMonth, BirthDays, SpYear, SpMonth, SpDays) {
	
	var Age=0;
	
	if(BirthMonth.length == 1) BirthMonth  = "0" + BirthMonth;
	if(BirthDays.length == 1) BirthDays  = "0" + BirthDays;
	
	if(SpMonth.length == 1) SpMonth  = "0" + SpMonth;
	if(SpDays.length == 1) SpDays  = "0" + SpDays;
	
	if(SpYear<1900) {SpYear=SpYear+1900;}
	if(SpMonth < BirthMonth){Age=SpYear-BirthYear-1}
	if(SpMonth > BirthMonth){Age=SpYear-BirthYear}
	if(SpMonth == BirthMonth){

	if(SpDays < BirthDays){
		Age=SpYear-BirthYear-1}
	else{
		Age=SpYear-BirthYear}
	}
	
	return Age;
	
}



// -------------------------------------------------------------------------
// 入力エリアを全てクリア
// 引数：なし
// 返値：なし
// -------------------------------------------------------------------------
function clearFormAll() {
    for (var i=0; i<document.forms.length; ++i) {
        clearForm(document.forms[i]);
    }
}
function clearForm(form) {
    for(var i=0; i<form.elements.length; ++i) {
        clearElement(form.elements[i]);
    }
}
function clearElement(element) {
    switch(element.type) {
        case "hidden":
        case "submit":
        case "reset":
        case "button":
        case "image":
            return;
        case "file":
            return;
        case "text":
        case "password":
        case "textarea":
            element.value = "";
            return;
        case "checkbox":
        case "radio":
            element.checked = false;
            return;
        case "select-one":
        case "select-multiple":
            element.selectedIndex = 0;
            return;
        default:
    }
}


// -------------------------------------------------------------------------
// チェックボックス全選択/解除
// 引数：なし
// 返値：なし
// -------------------------------------------------------------------------
function checkAllCheckBox(Obj ,Bool) {
	
	var Len = Obj.length;
	
	var Msg = "";
	if(Bool == true)
		Msg = "全選択します。よろしいですか？";
	else if(Bool == false)
		Msg = "全解除します。よろしいですか？";
	
	if(confirm(Msg)) {
		
		if(Len != undefined) {
			
			for(i = 0; i < Len; i++) {
		    	
		    	Obj[i].checked = Bool;
		    	
		    }
	    }
	    else {
			
			
			Obj.checked = Bool;
			
		}
	}
}











/****************************************************************
* 機　能： 送信チェック
* 引　数： なし
* 戻り値： なし
****************************************************************/
function switchDeliverInput(obj) {
	
	var Bool = document.getElementById("inputDeliverFlag").checked;
	
	var DisplayBool = (Bool)? false: true;
	
	
	document.shopping_fm.DeliverLastName.disabled = DisplayBool;
	document.shopping_fm.DeliverFirstName.disabled = DisplayBool;
	document.shopping_fm.DeliverLastNameKana.disabled = DisplayBool;
	document.shopping_fm.DeliverFirstNameKana.disabled = DisplayBool;
	document.shopping_fm.DeliverZipCode1.disabled = DisplayBool;
	document.shopping_fm.DeliverZipCode2.disabled = DisplayBool;
	document.shopping_fm.DeliverPreCode.disabled = DisplayBool;
	document.shopping_fm.DeliverAddress1.disabled = DisplayBool;
	document.shopping_fm.DeliverAddress2.disabled = DisplayBool;
	document.shopping_fm.DeliverTel1.disabled = DisplayBool;
	document.shopping_fm.DeliverTel2.disabled = DisplayBool;
	document.shopping_fm.DeliverTel3.disabled = DisplayBool;
	
	document.shopping_fm.DeliverFax1.disabled = DisplayBool;
	document.shopping_fm.DeliverFax2.disabled = DisplayBool;
	document.shopping_fm.DeliverFax3.disabled = DisplayBool;
	
}
