/*
 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
 *
 * http://www.lockon.co.jp/
 */
// 親ウィンドウの存在確認.
function fnIsopener() {
    var ua = navigator.userAgent;
    if( !!window.opener ) {
        if( ua.indexOf('MSIE 4')!=-1 && ua.indexOf('Win')!=-1 ) {
            return !window.opener.closed;
        } else {
        	return typeof window.opener.document == 'object';
        }
	} else {
		return false;
	}
}

// 郵便番号入力呼び出し.
function fnCallAddress(php_url, tagname1, tagname2, input1, input2, err_key) {
	zip1 = document.form1[tagname1].value;
	zip2 = document.form1[tagname2].value;

	if(zip1.length == 3 && zip2.length == 4) {
		$.get(
			php_url,
			{zip1: zip1, zip2: zip2, input1: input1, input2: input2},
			function(data) {
				arrdata = data.split(",");
				if (arrdata.length > 1) {
					fnPutAddress(input1, input2, arrdata[0], arrdata[1], arrdata[2], err_key);
				} else {
                                    　　// エラーメッセージを表示する
                                        if(err_key != "") {
                                            // お取り寄せサイト：複数お届け先設定対応
                                            id = "#zip_err_" + err_key;
                                            $(id).css("display", "block");
                                        } else {
                                            $("#zip_err").css("display", "block");
                                        }
				}
			}
		);
	}
}

// 郵便番号から検索した住所を渡す.
function fnPutAddress(input1, input2, state, city, town, err_key) {
	if(state != "") {
		// 項目に値を入力する.
		document.form1[input1].selectedIndex = state;
		document.form1[input2].value = city + town;
                // エラーメッセージを非表示にする
                if(err_key != "") {
                    // お取り寄せサイト：複数お届け先設定対応
                    id = "#zip_err_" + err_key;
                    $(id).css("display", "none");
                } else {
                    $("#zip_err").css("display", "none");
                }     
	}
}

function fnOpenNoMenu(URL) {
	window.open(URL,"nomenu","scrollbars=yes,resizable=yes,toolbar=no,location=no,directories=no,status=no");
}

function fnOpenWindow(URL,name,width,height) {
	window.open(URL,name,"width="+width+",height="+height+",scrollbars=yes,resizable=no,toolbar=no,location=no,directories=no,status=no");
}

function fnSetFocus(name) {
	if(document.form1[name]) {
		document.form1[name].focus();
	}
}

// セレクトボックスに項目を割り当てる.
function fnSetSelect(name1, name2, val) {
	sele1 = document.form1[name1];
	sele2 = document.form1[name2];

	if(sele1 && sele2) {
		index=sele1.selectedIndex;

		// セレクトボックスのクリア
		count=sele2.options.length
		for(i = count; i >= 0; i--) {
			sele2.options[i]=null;
		}

		// セレクトボックスに値を割り当てる。
		len = lists[index].length
		for(i = 0; i < len; i++) {
			sele2.options[i]=new Option(lists[index][i], vals[index][i]);
			if(val != "" && vals[index][i] == val) {
				sele2.options[i].selected = true;
			}
		}
	}
}

// Enterキー入力をキャンセルする。(IEに対応)
function fnCancelEnter()
{
	if (gCssUA.indexOf("WIN") != -1 && gCssUA.indexOf("MSIE") != -1) {
		if (window.event.keyCode == 13)
		{
			return false;
		}
	}
	return true;
}

// モードとキーを指定してSUBMITを行う。
function fnModeSubmit(mode, keyname, keyid) {
	switch(mode) {
	case 'delete_category':
		if(!window.confirm('選択したカテゴリとカテゴリ内のすべてのカテゴリを削除します')){
			return;
		}
		break;
	case 'delete':
	case 'del_deliv':
	case 'cart_all_delete':
		if(!window.confirm('一度削除したデータは、元に戻せません。\n削除しても宜しいですか？')){
			return;
		}
		break;
	case 'confirm':
		if(!window.confirm('登録しても宜しいですか')){
			return;
		}
		break;
	case 'delete_all':
		if(!window.confirm('検索結果をすべて削除しても宜しいですか')){
			return;
		}
		break;
	default:
		break;
	}
	document.form1['mode'].value = mode;
	if(keyname != "" && keyid != "") {
		document.form1[keyname].value = keyid;
	}
	document.form1.submit();
}

function fnFormModeSubmit(form, mode, keyname, keyid) {
	switch(mode) {
	case 'delete':
		if(!window.confirm('一度削除したデータは、元に戻せません。\n削除しても宜しいですか？')){
			return;
		}
		break;
	case 'confirm':
		if(!window.confirm('登録しても宜しいですか')){
			return;
		}
		break;
	case 'regist':
		if(!window.confirm('登録しても宜しいですか')){
			return;
		}
		break;
	default:
		break;
	}
	document.forms[form]['mode'].value = mode;
	if(keyname != "" && keyid != "") {
		document.forms[form][keyname].value = keyid;
	}
	document.forms[form].submit();
}

function fnSetFormSubmit(form, key, val) {
	document.forms[form][key].value = val;
	document.forms[form].submit();
	return false;
}

function fnSetFormVal(form, key, val) {
	document.forms[form][key].value = val;
}

function fnChangeAction(url) {
	document.form1.action = url;
}

function fnChangeFormAction(form, url) {
    document.forms[form].action = url;
}

// ページナビで使用する。
function fnNaviPage(pageno) {
	document.form1['pageno'].value = pageno;
	document.form1.submit();
}

function fnSearchPageNavi(pageno) {
	document.form1['pageno'].value = pageno;
	document.form1['mode'].value = 'search';
	document.form1.submit();
	}

function fnSubmit(){
	document.form1.submit();
}

// ポイント入力制限。
function fnCheckInputPoint() {
	if(document.form1['point_check']) {
		list = new Array(
						'use_point'
						);

		if(!document.form1['point_check'][0].checked) {
			color = "#dddddd";
			flag = true;
		} else {
			color = "";
			flag = false;
		}

		len = list.length
		for(i = 0; i < len; i++) {
			if(document.form1[list[i]]) {
				document.form1[list[i]].disabled = flag;
				document.form1[list[i]].style.backgroundColor = color;
			}
		}
	}
}

// 別のお届け先入力制限。
function fnCheckInputDeliv() {
	if(!document.form1) {
		return;
	}
	if(document.form1['deliv_check']) {
		list = new Array(
						'deliv_name01',
						'deliv_name02',
						'deliv_kana01',
						'deliv_kana02',
						'deliv_pref',
						'deliv_zip01',
						'deliv_zip02',
						'deliv_addr01',
						'deliv_addr02',
						'deliv_tel01',
						'deliv_tel02',
						'deliv_tel03'
						);

		if(!document.form1['deliv_check'].checked) {
			fnChangeDisabled(list, '#dddddd');
		} else {
			fnChangeDisabled(list, '');
		}
	}
}


// 購入時会員登録入力制限。
function fnCheckInputMember() {
	if(document.form1['member_check']) {
		list = new Array(
						'password',
						'password_confirm',
						'reminder',
						'reminder_answer'
						);

		if(!document.form1['member_check'].checked) {
			fnChangeDisabled(list, '#dddddd');
		} else {
			fnChangeDisabled(list, '');
		}
	}
}

// 最初に設定されていた色を保存しておく。
var g_savecolor = new Array();

function fnChangeDisabled(list, color) {
	len = list.length;

	for(i = 0; i < len; i++) {
		if(document.form1[list[i]]) {
			if(color == "") {
				// 有効にする。
				document.form1[list[i]].disabled = false;
				document.form1[list[i]].style.backgroundColor = g_savecolor[list[i]];
			} else {
				// 無効にする。
				document.form1[list[i]].disabled = true;
				g_savecolor[list[i]] = document.form1[list[i]].style.backgroundColor;
				document.form1[list[i]].style.backgroundColor = color;//"#f0f0f0";
			}
		}
	}
}


// ログイン時の入力チェック
function fnCheckLogin(formname) {
	var lstitem = new Array();

	if(formname == 'login_mypage'){
	lstitem[0] = 'mypage_login_email';
	lstitem[1] = 'mypage_login_pass';
	}else{
	lstitem[0] = 'login_email';
	lstitem[1] = 'login_pass';
	}
	var max = lstitem.length;
	var errflg = false;
	var cnt = 0;

	//　必須項目のチェック
	for(cnt = 0; cnt < max; cnt++) {
		if(document.forms[formname][lstitem[cnt]].value == "") {
			errflg = true;
			break;
		}
	}

	// 必須項目が入力されていない場合
	if(errflg == true) {
		alert('メールアドレス/パスワードを入力して下さい。');
		return false;
	}
}

// 時間の計測.
function fnPassTime(){
	end_time = new Date();
	time = end_time.getTime() - start_time.getTime();
	alert((time/1000));
}
start_time = new Date();

//親ウィンドウのページを変更する.
function fnUpdateParent(url) {
	// 親ウィンドウの存在確認
	if(fnIsopener()) {
		window.opener.location.href = url;
	} else {
		window.close();
	}
}

//特定のキーをSUBMITする.
function fnKeySubmit(keyname, keyid) {
	if(keyname != "" && keyid != "") {
		document.form1[keyname].value = keyid;
	}
	document.form1.submit();
}

//文字数をカウントする。
//引数1：フォーム名称
//引数2：文字数カウント対象
//引数3：カウント結果格納対象
function fnCharCount(form,sch,cnt) {
	document.forms[form][cnt].value= document.forms[form][sch].value.length;
}


// テキストエリアのサイズを変更する.
function ChangeSize(button, TextArea, Max, Min, row_tmp){

	if(TextArea.rows <= Min){
		TextArea.rows=Max; button.value="小さくする"; row_tmp.value=Max;
	}else{
		TextArea.rows =Min; button.value="大きくする"; row_tmp.value=Min;
	}
}

//郵便番号から住所を検索するため情報を非同期的にフォームからデータベースに送信する。
function fnSendZipcode(){

	var zip01 = document.getElementsByName("order_zip01").item(0).value;
	var zip02 = document.getElementsByName("order_zip02").item(0).value;
	var checkNum = new RegExp("[^0-9]","g");

	if(checkNum.test(zip01 + zip02)){
		alert("数字を入力してください。");
		document.getElementsByName("order_zip01").item(0).value = "";
		document.getElementsByName("order_zip02").item(0).value = "";
	}else if(zip01.length >= 3 && zip02.length >= 4){
		//input_zip_json.phpに郵便番号を送信して戻ってきたデータをfnReturnAddressに渡す
		sendRequest(fnReturnAddress,'&zip01='+zip01+'&zip02='+zip02,'GET','../input_zip_json.php',true,true);
	}
}

function fnReturnAddress(val){

	eval("var log ="  + val.responseText);
	if(log.flag ==1){
	document.getElementsByName("order_pref").item(0).value = log.pref;
	document.getElementsByName("order_addr01").item(0).value =log.city + log.town;
	}
}

// チェックされているラジオボタンを取得する
// 引数1：form.name属性
function getCheckedRadioValue (namedControls) {
    for (var i = 0, I = namedControls.length; i < I; i++) {
        if (namedControls[i].checked) {
            return namedControls[i].value;
            return null;
        }
    }
}

//** 文字サイズ変更
// 文字サイズ変更初期化関数
function fnChangeFontSizeInit() {
	var fontSize = fnGetCookie('fontsize');
	if (fontSize === null) {
		// デフォルト文字サイズ小
		fontSize = 0;
	}
	
	fnChangeFontSize('body', fontSize);
}

// 文字サイズ変更
function fnChangeFontSize(target,fontSize){
	var tags = new Array('div','td','tr');
	var sizing = new Array('75%','90%');
	
    if (!document.getElementById) return
    
    var dore = document,tarS = null,fontSize =fontSize,value,su,cTags;
    if (fontSize < 0) fontSize = 0;
    if (fontSize > 1) fontSize = 1;
    
    if (!(tarS = dore.getElementById(target))) tarS = dore.getElementsByTagName(target)[0];
    tarS.style.fontSize = sizing[fontSize];
    for (value = 0 ; su < tags.length ; value++){
        cTags= tarS.getElementsByTagName(tags[value]);
        for (su = 0 ; su < cTags.length ; su++) cTags[su].style.fontSize = sizing[fontSize];
    }
    
    // クッキーに保存
    fnSetCookie('fontsize', fontSize);
    // 文字サイズ変更ボタン描画
    fnSetFontSizeButton(fontSize);
}

// クッキーを取得
function fnGetCookie(name) {
	var cookies = document.cookie.split(';');
	for (var i=0; i<cookies.length; i++) {
		var cookieList = cookies[i].split('=');
		var cookieName = cookieList[0];
		var cookieVal = cookieList[1];
		if (cookieName.indexOf(name,0)!=-1) {
			return unescape(cookieVal);
		}
	}
	return null;
}

// クッキーに保存
function fnSetCookie(name, value) {
	var str = name + "=" + escape(value);
	domain = document.domain.replace(/^[^\.]*/, "");
	str += "; domain=" + domain;

	path = "/";
	str += "; path=" + path;

	expires = new Date();
	expires.setTime(expires.getTime() + (30 * 1000 * 60 * 60 * 24));
	expires2 = expires.toGMTString();
	str += "; expires=" + expires2;

	if(location.protocol == "https:") {
		str += "; secure";
	}

	str += ";";
	document.cookie = str;
}

// 文字サイズ変更ボタン描画
function fnSetFontSizeButton(fontSize){
	var html = "<img src='/img/global_images/header/font_size_message.jpg' alt='文字サイズ' />";
	if(fontSize == 1){
		html += '<a href="javascript:fnChangeFontSize(';
		html += "'body',0)";
		html += '"><img src="/img/global_images/header/font_size_small.gif" onmouseover="chgImgImageSubmit(';
		html += "'/img/global_images/header/font_size_small_mouseover.gif'";
		html += ',this)" onmouseout="chgImgImageSubmit(';
		html += "'/img/global_images/header/font_size_small.gif',this)";
		html += '" alt="小" /></a> <img src="/img/global_images/header/font_size_large_mouseover.gif" alt="大" />';
	} else {
		html += '<img src="/img/global_images/header/font_size_small_mouseover.gif" alt="小" /> <a href="javascript:fnChangeFontSize(';
		html += "'body',1)";
		html += '"><img src="/img/global_images/header/font_size_large.gif" onmouseover="chgImgImageSubmit(';
		html += "'/img/global_images/header/font_size_large_mouseover.gif'";
		html += ',this)" onmouseout="chgImgImageSubmit(';
		html += "'/img/global_images/header/font_size_large.gif',this)";
		html += '" alt="大" /></a>';
	}

	document.getElementById('fontSizeChangeArea').innerHTML = html;
}


// クーポン入力時の入力チェック
function fnCheckCoupon(formname, chkFlg) {

        $tmp_coupon = document.forms[formname]['coupon_cd'].value;        
        if (chkFlg) {
	    //　桁数のチェック(クーポンコードが決定されていない場合)
            if($tmp_coupon.trim().length != 6) {
	        alert('クーポンコードは6桁で入力して下さい。');
	        return false;       
            } else {
                // エラーなし
                document.coupon_form.submit();
            }
        }
}

String.prototype.trim = function () {
     return this.replace(/^[ 　]+|[ 　]+$/g, '');
}
 
