/**
 *
 * PCモバイルメインJavaScriptファイル
 *
 */

/**
*
* 数値チェック
*
* @param string in_str チェックする文字列
* @return true チェックOK／false チェックNG
*
*/
function NumChk(in_str){ 
  var result = in_str.match(/[0-9 ]*/); 
  if (in_str == result)
     {return true;}
  else
     {return false;}
}

/**
*
* 値存在チェック
*
* @param string val チェックする文字列
* @return true チェックOK／false チェックNG
*
*/
function ChkExistValue(val)
{
	if(val == '')
	{
		return false;
	}
	if(isNaN(val) == true)
	{
		return true;
	}
	if(parseInt(val) == 0)
	{
		return false;
	}
	return true;
}

/**
*
* 一ヶ月のパケット数の入力チェック
*
* @param object packetOnemonth 一ヶ月のパケット数入力テキストボックス
* @return true チェックOK／false チェックNG
*
*/
function checkPacketOnemonth(packetOnemonth){

    str = packetOnemonth.value.replace(/^\s+|\s+$/g, "");
    str = str.replace("　", "");

    if(NumChk(str)){
    	packetOnemonth.value = str;
        return true;
    }else{
    	alert("パケット数に入力された値が不正です。");
    	packetOnemonth.focus();
        return false;
    }
}

/**
*
* 利用予定月数の入力チェック
*
* @param object packetOnemonth 利用予定月数入力テキストボックス
* @return true チェックOK／false チェックNG
*
*/
function checkExpiremonth(checkExpiremonth){
	
	
	str = checkExpiremonth.value.replace(/^\s+|\s+$/g, "");
	str = str.replace("　", "");
	
	if(str.length<=0){
    	checkExpiremonth.focus(); 
        alert("今後の利用予定に値を入力してください。");
        return false;
	}
	
    if(!NumChk(str)){
    	checkExpiremonth.focus(); 
        alert("今後の利用予定に入力された値が不正です。");
        return false;
    }
    
    if (parseInt(str)<1){
    	checkExpiremonth.focus(); 
        alert("今後の利用予定に入力された値が不正です。");        
    	return false;
    }
    
    if (parseInt(str)>60){
    	checkExpiremonth.focus(); 
        alert("今後の利用予定は60ヶ月以内で入力してください。");
    	return false;
    }
    
    checkExpiremonth.value=str;
    
    return true;
}

/**
*
* 料金プラン比較入力フォームをSUBMIT処理
*
* @param object frmObject 料金プラン比較入力フォーム
* @return true チェックOK／false チェックNG
*
*/
function doSubmitPlanCompare(frmObject){

	//キャリア・シリーズ・プランチェック
	var ret = ChkExistValue(document.fm1.Career.value);
	var ret2 = ChkExistValue(document.fm1.Series.value);
	var ret3 = ChkExistValue(document.fm1.Plan.value);
	
	if(ret == true || ret2 == true || ret3 == true)
	{
		if(ret == false || ret2 == false || ret3 == false)
		{
			alert('契約しているキャリアが新規契約以外の場合は、契約している端末シリーズ・現在のご契約プランを選択してください。');
			return false;
		}
	}

    if(!checkPacketOnemonth(frmObject.pac)){
        return false;
    }
    
    if(!checkExpiremonth(frmObject.exp)){
    	return false;
    }

	c1=document.getElementById('chk3g');
	c2=document.getElementById('chkpcd');
	c3=document.getElementById('chkfom');
	c4=document.getElementById('chkmov');
	c5=document.getElementById('chkwin');
	c6=document.getElementById('chkcdk');
	c7=document.getElementById('chkcdo');
	c8=document.getElementById('chkwil');
	
	if (!c1.checked && !c2.checked && !c3.checked && !c4.checked && !c5.checked && !c6.checked && !c7.checked && !c8.checked){
		alert("比較したいキャリアをお選びください。");
		return false;
	}
    
    frmObject.submit();
    
}

/**
*
* 料金プラン詳細（内訳）へ遷移するときのSUBMIT処理
*
* @param object frmObject 料金プラン結果画面フォーム
* @param string detailLink プラン詳細のID
* @param string rankIndex プラン詳細のランキングIndex
* @return true チェックOK／false チェックNG
*
*/
function goToPlanDetail(frmObject,detailLink,rankIndex){
	frmObject.detailLink.value=detailLink;
	frmObject.rankIndex.value=rankIndex;
	frmObject.submit();
}

/**
*
* 機種比較の表示内容切り替え
*
* @param string blockId 表示したい内容のblockId
* @return なし
*
*/
function switchDisp(blockId){
	switch(blockId){
    case 'cpspec':
    	
		document.getElementById('cpspec').style.display ='block';
		document.getElementById('cpfunc').style.display ='none';
		document.getElementById('cpservice').style.display ='none';
		document.getElementById('cpreview').style.display ='none';
		
		document.getElementById('cpcategory_all').style.display ='none';
		document.getElementById('cpcategory_cpspec').style.display ='block';
		document.getElementById('cpcategory_cpfunc').style.display ='none';
		document.getElementById('cpcategory_cpservice').style.display ='none';
		document.getElementById('cpcategory_cpreview').style.display ='none';

        break;
    case 'cpfunc':
        document.getElementById('cpspec').style.display ='none';
		document.getElementById('cpfunc').style.display ='block';
		document.getElementById('cpservice').style.display ='none';
		document.getElementById('cpreview').style.display ='none';

		document.getElementById('cpcategory_all').style.display ='none';
		document.getElementById('cpcategory_cpspec').style.display ='none';
		document.getElementById('cpcategory_cpfunc').style.display ='block';
		document.getElementById('cpcategory_cpservice').style.display ='none';
		document.getElementById('cpcategory_cpreview').style.display ='none';
		
        break;
    case 'cpservice':
         document.getElementById('cpspec').style.display ='none';
		document.getElementById('cpfunc').style.display ='none';
		document.getElementById('cpservice').style.display ='block';
		document.getElementById('cpreview').style.display ='none';

		document.getElementById('cpcategory_all').style.display ='none';
		document.getElementById('cpcategory_cpspec').style.display ='none';
		document.getElementById('cpcategory_cpfunc').style.display ='none';
		document.getElementById('cpcategory_cpservice').style.display ='block';
		document.getElementById('cpcategory_cpreview').style.display ='none';

        break;
    case 'cpreview':
        document.getElementById('cpspec').style.display ='none';
		document.getElementById('cpfunc').style.display ='none';
		document.getElementById('cpservice').style.display ='none';
		document.getElementById('cpreview').style.display ='block';

		document.getElementById('cpcategory_all').style.display ='none';
		document.getElementById('cpcategory_cpspec').style.display ='none';
		document.getElementById('cpcategory_cpfunc').style.display ='none';
		document.getElementById('cpcategory_cpservice').style.display ='none';
		document.getElementById('cpcategory_cpreview').style.display ='block';
		
        break;
    default:
        document.getElementById('cpspec').style.display ='block';
		document.getElementById('cpfunc').style.display ='block';
		document.getElementById('cpservice').style.display ='block';
		document.getElementById('cpreview').style.display ='block';

		document.getElementById('cpcategory_all').style.display ='block';
		document.getElementById('cpcategory_cpspec').style.display ='none';
		document.getElementById('cpcategory_cpfunc').style.display ='none';
		document.getElementById('cpcategory_cpservice').style.display ='none';
		document.getElementById('cpcategory_cpreview').style.display ='none';
		
        break;
	}
}
/**
*
* 機種比較へ遷移
*
* @param なし
* @return なし
*
*/
function cmpCheck(){
	var cpmUrl = '/mobile/product/compare.php';
	var prdId = '';
	var chks = document.getElementsByName("chkMob");
	var checkedCout = 0;
	for(i =0 ; i < chks.length ;i++){
		if(chks[i].checked){
			checkedCout++ ;
			prdId = prdId + (chks[i].value) + '.';
		}
	}
	var bFlg = true;
	if(checkedCout < 2 ){
		alert("2つ以上の機種を選択してください。");
		bFlg = false;
	}else if(checkedCout > 4){
		alert("5つ以上の機種を選択することはできません。");
		bFlg = false;
	}
	if(bFlg){
	    prdId = prdId.replace(/(^\s*)|(\s*$)/g, "");  
		cpmUrl = cpmUrl + '?prdId=' + prdId.substr(0 , prdId.length-1);
		location.href = cpmUrl;
	}
	
	return bFlg;
}

