jQuery.noConflict();
var j$ = jQuery;

var hikariFlg = 0;
var adslFlg   = 0;
var mobileFlg = 0;

/*=========================================================================
onLoad
=========================================================================*/
j$(function(){
	//クッキー
	cookieRef();

	//target="_blank"を使わない為
	j$('.popup').click(function(){
		window.open(this.href, '_blank');
	return false;
	});
	
	j$("#service h4:first-child").css("padding","2px 0 0 87px").css("border","none").css("background-position","0 0");

	//gyao特殊対応
	var gyaoCheck = location.href.split('/')
	if(gyaoCheck[4] == 'provider_gyao_plan') {
		var rankkingBox = document.getElementById('iRankking');
		rankkingBox.src = '/bb/iframe/bbranking.asp?line=ADSL123-VDSL-MVNO&p=210000000013000000000012&provider=99&sort=3&count=100';
	}
	//odn特殊対応
	var odnCheck = location.href.split('/')
	if(odnCheck[4] == 'provider_odn_plan') {
		var rankkingBox2 = document.getElementById('iRankking');
		rankkingBox2.src = '/bb/iframe/bbranking.asp?line=ADSL123-VDSL-MVNO&p=110000000022000000000012&provider=18&sort=3&count=15';
	}
	//ランキング検索
	Init();
});


/*=========================================================================
クッキー参照
=========================================================================*/
function cookieRef() {
	var cfm = document.FrmMain;
	var cookieObjData = [];
	j$.ajax({
	  type: 'GET',
	  url:  '/bb/cookies/getitem.asp',
	  dataType: 'xml',
	  data: 'ckitemcd=1001-1002-1003-1004',
	  success: function(httpObj) {
	    j$(httpObj).find('Item').each(function() {
			cookieObjData.push(j$(this).find('CkValue').text());
		});

		//都道府県
		cfm.PrefectureCD.value    = cookieObjData[0] - 0;
		//市区町村
		GetInstitutionCode(cookieObjData[1]);

		//住居
		cookieObjData[2] = cookieObjData[2]-0; 
		switch(cookieObjData[2]) {
		case 2 :
			cfm.DwellingHouse[0].checked = false;
			cfm.DwellingHouse[1].checked = true;
			break;
		case 1:
		default:
			cfm.DwellingHouse[0].checked = true;
			cfm.DwellingHouse[1].checked = false;
			break;
		}
		chkValue(cfm.DwellingHouse);

		//回線
		var testKaisen;
		if(cookieObjData[3].indexOf('-') != -1) {
			testKaisen = cookieObjData[3].split('-');
		}
		else {
			testKaisen = cookieObjData[3];
		}

		//回線ボタン処理
		if(testKaisen instanceof Array == false) { //配列かチェック
			kaisenChk(testKaisen)
		}
		else {
			for(var k =0; k<testKaisen.length; k++) {
				kaisenChk(testKaisen[k])
			}
		}

	  },
	  error : function(){
		GetInstitutionCode();
	  }
	});
}
/*=========================================================================
回線パラメータチェック
=========================================================================*/
function kaisenChk(_obj) {
	var frm = document.FrmMain;
	switch(_obj) {
		case 'ADSL1':
			adslFlg = 1
			frm.MaxDownLink.value = 1;
			break;
		case 'ADSL2':
			adslFlg = 1
			frm.MaxDownLink.value = 24;
			break;
		case 'ADSL3':
			adslFlg = 1
			frm.MaxDownLink.value = 40;
			break;
		case 'ADSL123':
			adslFlg = 1
			frm.MaxDownLink.value = 0;
			break;
		case 'MVNO':
			mobileFlg = 1
			break;
		case 'VDSL':
			hikariFlg = 1
			frm.DwellingHouse[1].checked = 'true';
			chkValue(frm.DwellingHouse);
			break;
		case 'FTTH':
		defalt:
			hikariFlg = 1
			frm.DwellingHouse[0].checked = 'true';
			chkValue(frm.DwellingHouse);
			break;
	}

	//ステータス処理
	if(frm.LineTypeCD_H.value != hikariFlg){
		if(frm.LineTypeCD_H.value != 1){ 
			kaisenStatusChk('hikari_on');
		}
		else {
			kaisenStatusChk('hikari_off');
		}
	}

	if(frm.LineTypeCD_A.value != adslFlg)  {
		if(frm.LineTypeCD_A.value != 1){ 
			kaisenStatusChk('adsl_on');
		}
		else {
			kaisenStatusChk('adsl_off');
		}
	}

	if(frm.LineTypeCD_M.value != mobileFlg){
		if(frm.LineTypeCD_M.value != 1){ 
			kaisenStatusChk('mobile_on');
		}
		else {
			kaisenStatusChk('mobile_off');
		}
	}

}


/*=========================================================================
回線ステータス
=========================================================================*/
function kaisenStatusChk(_status) {
	var frm = document.FrmMain;
	switch(_status) {
		case 'adsl_on':
			cssname = frm.IniLineTypeCD_A.value;
			j$("#" + cssname + " a").css('background-position','-260px -80px');
			j$('#adslCondition').css('display','block');
			frm.LineTypeCD_A.value = 1;
			break;
		case 'adsl_off':
			cssname = frm.IniLineTypeCD_A.value;
			j$("#" + cssname + " a").css('background-position','-260px 0');
			j$('#adslCondition').css('display','none');
			frm.LineTypeCD_A.value = '';
			break;
		case 'adsl_over':
			cssname = frm.IniLineTypeCD_A.value;
			j$("#" + cssname + " a").css('background-position','-260px -40px');
			break;

		case 'hikari_on':
			cssname = frm.IniLineTypeCD_H.value;
			j$("#" + cssname + " a").css('background-position','0 -80px');
			j$('#hikariCondition').css('display','block');
			frm.LineTypeCD_H.value = 1;
			break;
		case 'hikari_off':
			cssname = frm.IniLineTypeCD_H.value;
			j$("#" + cssname + " a").css('background-position','0 0');
			j$('#hikariCondition').css('display','none');
			frm.LineTypeCD_H.value = '';
			break;
		case 'hikari_over':
			cssname = frm.IniLineTypeCD_H.value;
			j$("#" + cssname + " a").css('background-position','0 -40px');
			break;

		case 'mobile_on':
			cssname = frm.IniLineTypeCD_M.value;
			j$("#" + cssname + " a").css('background-position','-520px -80px');
			frm.LineTypeCD_M.value = 1;
			break;
		case 'mobile_off':
			cssname = frm.IniLineTypeCD_M.value;
			j$("#" + cssname + " a").css('background-position','-520px 0');
			frm.LineTypeCD_M.value = '';
			break;
		case 'mobile_over':
			cssname = frm.IniLineTypeCD_M.value;
			j$("#" + cssname + " a").css('background-position','-520px -40px');
			break;
	}

}



/*--------------------------------------------------------
 onload　ランキング用
--------------------------------------------------------*/
function Init(){
	var frm = document.FrmMain;

	//ラベル制御
	chkDwellingHouse()
	chkValue(frm.DwellingHouse);

	//光ファイバーの絞込み
	if(document.FrmMain.LineTypeCD_H.value == 1) {
		kaisenStatusChk('hikari_on');
	}
	//ADSLの絞込み
	if(document.FrmMain.LineTypeCD_A.value == 1) {
		kaisenStatusChk('adsl_on');
	}
	//高速モバイルの絞込み
	if(document.FrmMain.LineTypeCD_M.value == 1) {
		kaisenStatusChk('mobile_on');
	}
}

/*====================================
オーバーレイ
====================================*/
 var closeFunction = function(page){
	if (page == 'planD') {
		j$('#overlay').hide();
		for (i = 0; i <= 100; i++)  {
			var layer = '#planD'+i;
				j$(layer).fadeOut('normal');
		}
	}

	j$('#popUchiwakeBox').hide();
		for (i = 0; i <= 100; i++)  {
			var layer = '#help'+i;
				j$(layer).fadeOut('normal');
		}

	j$('select').show();
}


/*====================================
プラン詳細
====================================*/
function GetPlanDetail() {
	j$('#overlay').show();
	j$('.planD').fadeIn('normal');
	j$('select').hide();
}


/*====================================
マウスオーバー
====================================*/
function smartOver() {
	smartRollover('bb');
}
function smartRollover(idName) {
	if(document.getElementsByTagName) {
	var images = document.getElementById(idName).getElementsByTagName("img");
	for(var i=0; i < images.length; i++) {
	if(images[i].getAttribute("src").match(/_off\./)) {
	fileName = new Array(images[i].getAttribute("src").replace("_off.", "_on."));
	preImages = new Array();
	for (j=0; j<fileName.length; j++) {
	preImages[j] = new Image();
	preImages[j].src = fileName[j]; 
	}

	images[i].onmouseover = function() {
	this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on.")); 
	}
	images[i].onmouseout = function() {
	this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off.")); 
	}
	}
	}
	}
	}
	if(window.addEventListener) {
	window.addEventListener("load", smartOver, false);
	}
	else if(window.attachEvent) {
	window.attachEvent("onload", smartOver);
	}
	else{
	window.onload = smartOver;
}


/*====================================
ランキングiframe用
====================================*/
function variable() { 

	var rankkingBox = document.getElementById('iRankking');
	//alert(rankkingBox.contentWindow.document.getElementsByTagName('body')[0].offsetHeight);
	rankkingBox.height = rankkingBox.contentWindow.document.getElementsByTagName('body')[0].offsetHeight;
	rankkingBox.height = eval(rankkingBox.height) + eval(rankkingBox.height)/1.8;

/*css追加*/
	var cssAdd = rankkingBox.contentWindow.document.createElement('link');
	cssAdd.setAttribute("type","text/css");
	cssAdd.setAttribute("rel","stylesheet");
	cssAdd.setAttribute("href","/css/bb/oem/iframeP.css");
	rankkingBox.contentWindow.document.getElementsByTagName('head')[0].appendChild(cssAdd);

/*js追加*/
	var jsAdd = rankkingBox.contentWindow.document.createElement('script');
	jsAdd.setAttribute("type","text/javascript");
	jsAdd.setAttribute("src","/script/bb/oem/ranking_ifP.js");
	rankkingBox.contentWindow.document.getElementsByTagName('head')[0].appendChild(jsAdd);
}



/*=====================================================
　このページの先頭へ
=====================================================*/
function jumpToPageTop(){
    //スクロールpxを取得
    var obj = new Object();
        obj.x = document.body.scrollLeft || document.documentElement.scrollLeft;
        obj.y = document.body.scrollTop  || document.documentElement.scrollTop;
    //スクロールpxを取得を格納
    var pos = obj;
    //スクロール処理
    window.scrollTo(Math.max(Math.floor(pos.x / 2),0), Math.max(Math.floor(pos.y -(pos.y / 10)),0));
    if((pos.x>0)||(pos.y>0)){
        window.setTimeout("jumpToPageTop()", 10);
        return false;
    }
}
/*--------------------------------------------------------
06 検索ボタン押下
--------------------------------------------------------*/
function ChkSearchItem() {
	var cfm = document.FrmMain;

	var typeA;
	var typeH;
	var typeM;

	typeA = cfm.LineTypeCD_A.value;
	typeH = cfm.LineTypeCD_H.value;
	typeM = cfm.LineTypeCD_M.value;

	if (typeA == '0')
	{
		typeA = ''
	}

	if (typeH == '0')
	{
		typeH = ''
	}

	if (typeM == '0')
	{
		typeM = ''
	}

	if ((typeA == '') && (typeH == '') && (typeM == '')) {
	    window.alert("回線種類を選択してください");
	} else {
		cfm.page.value = 0;
		cfm.action = '/bb/ranking' + GetParamValue();
		//alert(cfm.action);
		cfm.submit();
	}
}
/*--------------------------------------------------------
12 回線ボタン
--------------------------------------------------------*/

function Kaisen(Kaisen,Action) {
	var kaisen = Kaisen;
	var action = Action;
	var frm;
	var hidval;
	var cssname = ''
	frm = document.FrmMain;

	if(kaisen == "hikari") {
		hidval = frm.LineTypeCD_H.value;
		cssname = frm.IniLineTypeCD_H.value;
		if(action == "click") {
			if(hidval != '1') {
				frm.LineTypeCD_H.value = '1';
				j$("#" + cssname + " a").css('background-position','0 -80px');
				j$('#hikariCondition').slideDown('normal');
			} else {
				frm.LineTypeCD_H.value = '';
				j$("#" + cssname + " a").css('background-position','0 -40px');
				j$('#hikariCondition').slideUp('normal');
			}
		}
		else if(action == "over") {
			if(hidval != '1') {
				j$("#" + cssname + " a").css('background-position','0 -40px');
			} else {
				j$("#" + cssname + " a").css('background-position','0 -80px');
			}
		}
		else if(action == "out") {
			if(hidval != '1') {
				j$("#" + cssname + " a").css('background-position','0 0');
			} else {
				j$("#" + cssname + " a").css('background-position','0 -80px');
			}
		}
		else if(action == "sel") {
				j$("#" + cssname + " a").css('background-position','0 -80px');
		}
	}
	if(kaisen == "adsl") {
		hidval = frm.LineTypeCD_A.value;
		cssname = frm.IniLineTypeCD_A.value;

		if(action == "click") {
			if(hidval != '1') {
				frm.LineTypeCD_A.value = '1';
				j$("#" + cssname + " a").css('background-position','-260px -80px');
				j$('#adslCondition').slideDown('normal');
			} else {
				frm.LineTypeCD_A.value = '';
				j$("#" + cssname + " a").css('background-position','-260px -40px');
				j$('#adslCondition').slideUp('normal');
			}
		}
		else if(action == "over") {
			if(hidval != '1') {
				j$("#" + cssname + " a").css('background-position','-260px -40px');
			} else {
				j$("#" + cssname + " a").css('background-position','-260px -80px');
			}
		}
		else if(action == "out") {
			hidval = frm.LineTypeCD_A.value;
			if(hidval != '1') {
				j$("#" + cssname + " a").css('background-position','-260px 0');
			} else {
				j$("#" + cssname + " a").css('background-position','-260px -80px');
			}
		}
		else if(action == "sel") {
				j$("#" + cssname + " a").css('background-position','-260px -80px');
		}
	}

	if(kaisen == "mobile") {
		hidval = frm.LineTypeCD_M.value;
		cssname = frm.IniLineTypeCD_M.value;
		if(action == "click") {
			if(hidval != '1') {
				frm.LineTypeCD_M.value = '1';
				j$("#" + cssname + " a").css('background-position','-520px -80px');
			} else {
				frm.LineTypeCD_M.value = '';
				j$("#" + cssname + " a").css('background-position','-520px -40px');
			}
		}
		else if(action == "over") {
			if(hidval != '1') {
				j$("#" + cssname + " a").css('background-position','-520px -40px');
			} else {
				j$("#" + cssname + " a").css('background-position','-520px -80px');
			}
		}
		else if(action == "out") {
			hidval = frm.LineTypeCD_M.value;
			if(hidval != '1') {
				j$("#" + cssname + " a").css('background-position','-520px 0');
			} else {
				j$("#" + cssname + " a").css('background-position','-520px -80px');
			}
		}
		else if(action == "sel") {
				j$("#" + cssname + " a").css('background-position','-520px -80px');
		}
	}
	var ret = '';
	if(action == "click" || action == "sel") {
		if (frm.LineTypeCD_H.value == '1')
		{
			ret = '1'
		} else {
			ret = '0'
		}

		if (frm.LineTypeCD_A.value == '1')
		{
			ret += ',2'
		} else {
			ret += ',0'
		}

		if (frm.LineTypeCD_M.value == '1')
		{
			ret += ',4'
		} else {
			ret += ',0'
		}

		frm.LineTypeCD.value = ret;
	}

}

//-------------------------------------------
// ラベル
//-------------------------------------------
/*建物種類*/
function chkDwellingHouse() {
	var frm = document.FrmMain;
	var target = frm.DwellingHouse;
	for(i = 0; i < target.length; i++){
			target[i].onclick = function (){
			chkValue(target);
			}
	}
}
/*ラベル制御*/
function chkValue(F){
	var F;
	for(i = 0; i < F.length; i++){
	    if(F[i].checked == true) {
	        F[i].parentNode.className ='select';
	    }
	    else {
			F[i].parentNode.className ='';
	    }
	}
}

//-------------------------------------------
// 市区町村
//-------------------------------------------
//市町村の取得
function GetInstitutionCode(_getCookieInstCD){
	document.FrmMain.InstitutionCode.disabled = false;
	j$.ajax({
	  type: 'GET',
	  url:  '/bb/city.asp',
	  data: 'Pref=' + document.FrmMain.PrefectureCD.value,
	  success: function(httpObj) {
			GetInstitutionCodeComplete(httpObj)
	  },
	  complete: function(){
			document.FrmMain.InstitutionCode.value = _getCookieInstCD;  
	  }
	});
}



//読み込み完了
function GetInstitutionCodeComplete(httpObj) {
	var dat;
	var obj;
	var ret = httpObj;
	var rec = ret.split(",");
	
	
	//操作するオブジェクトとプルダウンの活性を設定
	obj = document.FrmMain.InstitutionCode;
	
	if(ret.length == 0){
		//プルダウンのオブジェクト数を設定
		obj.length = 1;
		
		//プルダウンのデフォルトを設定
		obj.selectedIndex = 0;
		
		return;
	}
	
	document.FrmMain.InstitutionCode.disabled = false;
	
	//プルダウンのオブジェクト数を設定
	obj.length = rec.length + 1;
	
	//プルダウンのデフォルトを設定
	obj.selectedIndex = 0;
	
	//プルダウンのオブジェクトを設定
	for(var i = 0; i < rec.length; i++){
		dat = rec[i].split(":");
		obj.options[i + 1].text = dat[1];
		obj.options[i + 1].value = dat[0];
		
		if(dat[0] == document.FrmMain.InstCD.value){
			obj.selectedIndex = i + 1;
			document.FrmMain.InstCD.value = "";
		}
	}
	
}


/*--------------------------------------------------------
05 パラメータ作成
--------------------------------------------------------*/
//パラメータ作成
function GetParamValue() {
	var retVal;
	var cfm;
	var tmp;
	var linetypecd  = '';
	
	cfm = document.FrmMain;
	
	//------------------------------------------------
	//line
	//------------------------------------------------
	
	var line = '';
	
	//ADSL
	if (document.FrmMain.LineTypeCD_A.value == '1'){
		line += 'ADSL';
		
		switch(cfm.MaxDownLink.value)
		{
			case '1':
				line += '1';
				break;
			case '24':
				line += '2';
				break;
			case '40':
				line += '3';
				break;
			default:
				line += '123';
				break;
		}
	}
	
	//光
	if (document.FrmMain.LineTypeCD_H.value == '1'){
		if (line.length > 0){
			line += '-';
		}
		
		if(GetRadioValue(cfm.DwellingHouse) == 2){
			line += 'VDSL';
		}else{
			line += 'FTTH';
		}
	}
	
	//モバイル
	if (document.FrmMain.LineTypeCD_M.value == '1'){
		if (line.length > 0){
			line += '-';
		}
		
		line += 'MVNO';
	}
	
	//------------------------------------------------
	//p
	//------------------------------------------------
	
	var p = '';
	
	
	//住居
	tmp = GetRadioValue(cfm.DwellingHouse);
	if (tmp == '')
	{
		tmp = '0';
	}
	
	p += tmp;
	
	
	//電話回線
	tmp = cfm.TelSubscriber.value;
	if (tmp == '')
	{
		tmp = '0';
	}
	
	p += tmp;
	
	
	//回線速度
	p += CreateParam(cfm.MaxDownLink.value,4);
	
	//電話
	if(cfm.IPPhone.value){
		//ADSL
		switch (cfm.IPPhone.value){
			//なし
			case '3':
				switch(cfm.HikariPhone.value){
					//なし
					case '3':
						tmp = '9';
						break;
					//光IP電話
					case '1':
						tmp = '9';
						break;
					//050IP電話
					case '2':
						tmp = '1';
						break;
					//全て
					case '4':
						tmp = '5';
						break;
					default:
						tmp = '5';
						break;
				}
				break;
			//050IP電話セット
			case '2':
				switch(cfm.HikariPhone.value){
					//なし
					case '3':
						tmp = '2';
						break;
					//光IP電話
					case '1':
						tmp = '2';
						break;
					//050IP電話
					case '2':
						tmp = '3';
						break;
					//全て
					case '4':
						tmp = '4';
						break;
					default:
						tmp = '4';
						break;
				}
				break;
			//全プラン表示
			case '4':
				switch(cfm.HikariPhone.value){
					//なし
					case '3':
						tmp = '7';
						break;
					//光IP電話
					case '1':
						tmp = '7';
						break;
					//050IP電話
					case '2':
						tmp = '6';
						break;
					//全て
					case '4':
						tmp = '0';
						break;
					default:
						tmp = '0';
						break;
				}
				break;
				//0,7,6
				tmp = '4';
				break;
			default:
				tmp = '0';
				break;
		}
	}else{
		tmp = '0';
	}
	p += tmp;


	if(cfm.HikariPhone.value){
		switch(cfm.HikariPhone.value){
			//なし
			case '3':
				tmp = '9';
				break;
			//光IP電話
			case '1':
				tmp = '1';
				break;
			//050IP電話
			case '2':
				tmp = '9';
				break;
			//全て
			case '4':
				tmp = '0';
				break;
			default:
				tmp = '0';
				break;
		}
	} else {
		tmp = '0';
	}
	p += tmp;


	//セキュリティ
	if(cfm.Security.checked){
		p += '1';
	}else{
		p += '0';
	}
	//動画
		p += '0';

	//都道府県
	p += CreateParam(cfm.PrefectureCD.value, 2)
	
	//市町村
	p += CreateParam(cfm.InstitutionCode.value, 5)

	//便宜上設置
		p += '0000012';
	
	//------------------------------------------------
	//結合
	//------------------------------------------------
	var urlParam = '';
	urlParam += '_' + encodeURIComponent(line);
	urlParam += '_' + encodeURIComponent(p) + '/';
	return urlParam;

}
/*--------------------------------------------------------
04 パラメータ編集
--------------------------------------------------------*/
function CreateParam(val, len) {
	var sTemp='';
	for(var i=0; i < len; i++) {
		sTemp+='0';
	}
	sTemp+=val
	return sTemp.substring(sTemp.length - len);
}

//ラジオボタン値取得
function GetRadioValue(ObjRadio) {
	var ChkVal='';
	for(var i = 0; i < ObjRadio.length; i++) {
		if(ObjRadio[i].checked) {
			ChkVal = ObjRadio[i].value;
		}
	}
	return ChkVal;
}
//チェックボックス値取得
function GetCheckValue(ObjCheck) {
	var OptVal='';
	
	if(!ObjCheck.length) {
		if(ObjCheck.checked) {
			OptVal = '1';
		}
		else {
			OptVal = '0';
		}
	}
	else {
		for(var i = 0; i < ObjCheck.length; i++) {
			if(ObjCheck[i].checked)	{
				OptVal += '1';
			}
			else {
				OptVal += '0';
			}
		}
	}
	return OptVal;
}
