// initParam을 자바스크립트 공용으로 사용하기 위한 변수
var ST_MBC_HOSTURL;
var ST_MBC_SSLHOSTURL;
var ST_MBC_IMGURL;

function needLogin() {
	alert("ご利用にはログインが必要です。\n ページ上段よりログインしてください。");
	document.loginFrm.loginID.focus();
	return;
}

function login(action) {
    if (document.loginFrm.loginID.value == '') {
        alert('IDを入力してください。');
    } else if (document.loginFrm.password.value == '') {
        alert('パスワードを入力してください。');
    } else {
    	document.loginFrm.action = action;
    	document.loginFrm.submit();
    }
    return;
}

function checkEnter(event, action) {
	if (!event) event = window.event;
	if (event.keyCode==13) {
		login(action);
		return false;
	}
	return true;
}

function logout(action) {
	document.loginFrm.action = action;
	document.loginFrm.submit();
	return false;
}	

function moveToURL(url) {
    window.location = url;
}

function deletePost(url) {
    if (confirm("ほんとうに削除しますか?")) {
        window.location.href = url;
	}
}

function handleExternal() {
    document.external.submit();
}

function confirmDelete() {
    return confirm("本当に削除しますか?");
}
    
function checkStringValidity(str) {
    var ch;

    for (i = 0; i < str.length; i++) {
        ch = str.charAt(i);   
        if (ch >= 'ｦ' && ch <= 'ﾟ') {
            alert('カタカナは全角で入力してください。');
            return false;
        }
        else if (ch >= '０' && ch <= '９') {
            alert('数字は半角で入力してください。');
            return false;
        }
        else if ((ch >= 'Ａ' && ch <= 'Ｚ') || (ch >= 'ａ' && ch <= 'ｚ')) {
            alert('アルファベットは半角で入力してください。');
            return false;
        }
        else if (ch == '･') {
            alert('「・」は全角で入力してください。');
            return false;
        }
        else if (ch == '／') {
            alert('「/」は半角で入力してください。');
            return false;
        }
    }

    return true;
}

function checkStringPronounceValidity(str) {
    return checkStringValidity(str);
}

function checkTitlePronounceValidity(str) {
    var ch;
    var pos;
    var HI = "あいうえおかきくけこがぎぐげごさしすせそざじずぜぞたちつてとだぢづでどなにぬねのはひふへほばびぶべぼぱぴぷぺぽまみむめもやゆよらりるれろわをん";

    if (str.length > 0) {
        ch = str.charAt(0);

        if ((pos = HI.indexOf(ch)) == -1) {
            alert('タイトルのフリガナはひらがなで始めてください。');
            return false;
        }
    }

    return checkStringValidity(str);
}

function checkNamePronounceValidity(str) {
    var KF = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョ、。「」（）ー－゛゜ヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ";
    var ch;

    for (i = 0; i < str.length; i++) {
        ch = str.charAt(i);   

        if (KF.indexOf(ch) == -1) {
            return false;
        }
    }

    return true;
}

function toZenkaku(org) {

    txt = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮ､｡｢｣()ｰﾞﾟ";
    zen = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョ、。「」（）－゛゜";
    duk = "　　ヴ　　ガギグゲゴザジズゼゾダヂヅデド　　　　　バビブベボ";
    you = "　　　　　　　　　　　　　　　　　　　　　　　　　パピプペポ";
    str = "";
    count = 1;
	
    for (i=0; i<org.length; i++) {
        c = org.charAt(i);
        if (c < "ア" || c > "ン") {
            if (c != "-" && c != "ー" && c != "‐" && c != "-" && c != "-" && c != "ー" && c != "―" && c != "‐" && c != "－" && c != "─" && c != "━" && c != "ヴ") {
            //if (intChr != "（" && intChr != "）" && intChr != "(" && intChr != ")") {
                if (c != "（" && c != "）" && c != "(" && c != ")") {
                    n = txt.indexOf(c,0);
                    if (i > 0 && (n == 61 || n == 62)) {	// ﾞ or ﾟ
                        c = org.charAt(i-1);
                        if (n == 61) {  // ﾞ
                            n = txt.indexOf(c,0);
                            c = "　";
                            if (n < duk.length)
                                c = duk.charAt(n);
                        } else {        // ﾟ
                            n = txt.indexOf(c,0);
                            c = "　";
                            if (n < you.length)
                                c = you.charAt(n);
                        }
                        if (c == "　") {    // 濁音も 半濁音も ない 場合
                            c = org.charAt(i);
                            n = txt.indexOf(c,0);
                            c = zen.charAt(n);
                        } else {
                            str = str.substring(0, i-count);
                            count++;
                        }
                    } else if (n >= 0) {
                        c = zen.charAt(n);
                    }
                }
            }
        }
        //半角のハイフン（半角カナのハイフンではない）は全角に変換
        if (c == "-") {
            c = "－";
        }
        str += c;
    }
    return str;
}

function convertSearchKeyword(str) {
    var ch, newStr;       
    var pos; 
    var AF = "０１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ";
    var AH = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    var KH = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯ､｡ｰ｢｣ﾞﾟ";
    var KF = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」　　";

    newStr = "";
    for (i = 0; i < str.length; i++) {
        ch = str.charAt(i);  

        if ((pos = AF.indexOf(ch)) != -1) {
            ch = AH.charAt(pos);
        }
        else if (ch == '･') { 
            ch = '・'; // to full-width
        }

        newStr += ch;
    }
    newStr = toZenkaku(newStr);

    return newStr;
}   

//program vote div show
function showVoteProgramRate() {
	$("voteRateSection").show();	$("voteViewSection").hide();
}

//program vote div hide
function hideVoteProgramRate() {
	$("voteViewSection").show();	$("voteRateSection").hide();
}

//program vote Ajax
function voteProgramRate(_voteProtramID) {							
	var rateChecked = false;
	var rateRadio = document.listFrm.rate;
	var votePoint = 0;
	
	for(var i=0;i<rateRadio.length;i++) {
		if(rateRadio[i].checked) {
			rateChecked = true;
			votePoint = rateRadio[i].value;
		}
	}						

	if(rateChecked) {							
		new Ajax.Request( ST_MBC_HOSTURL + "/program/voteProgram", {
			parameters : {
					programID : _voteProtramID,
					rate : votePoint
			},
			onSuccess : function(_response){
				var json = _response.responseText.evalJSON();

				hideVoteProgramRate();

				var rateImg = ''; 

				for(var j = 2 ; j <= 10 ; j += 2){
					if(json.rate >= j){
						rateImg += '<img src="'+ ST_MBC_IMGURL +'/images/body_2100/star_01.gif" valign="center" />';
					}
				}
				
				if((json.rate % 2) == 1){
					rateImg += '<img src="'+ ST_MBC_IMGURL +'/images/body_2100/star_02.gif" valign="center" />';
				}
				
				for(var k = 2 ; k <= 10 ; k += 2){
					if((10 - json.rate) >= k){
						rateImg += '<img src="'+ ST_MBC_IMGURL +'/images/body_2100/star_03.gif" valign="center" />';
					}
				}														
				$("rateStarImg").innerHTML = rateImg;
				$("ratePoint").innerHTML = json.rate;
				$("rateTotalCount").innerHTML = json.count;										
			},									
			onFailure : function(){
				hideVoteProgramRate();
			}								
		});								
	} else {
		hideVoteProgramRate();
	}
}	
   
//sub program tab
function goProgramSub(stype, _subProgramID)
{
	switch(stype){
		case 1 : location.href = ST_MBC_HOSTURL +"/program/view?programID=" + _subProgramID;
				 break;
		case 2 : location.href = ST_MBC_HOSTURL +"/program/characters?programID=" + _subProgramID;
				 break;		 
		case 3 : location.href = ST_MBC_HOSTURL +"/program/relatePhoto?programID=" + _subProgramID;
		 		 break;
		case 4 : location.href = ST_MBC_HOSTURL +"/program/special?programID=" + _subProgramID;
				 break;
		case 5 : location.href = ST_MBC_HOSTURL +"/program/wallpaper?programID=" + _subProgramID;
				 break;
		case 6 : location.href = ST_MBC_HOSTURL +"/program/commentBoard?programID=" + _subProgramID;
				 break;
		case 7 : location.href = ST_MBC_HOSTURL +"/program/club?programID=" + _subProgramID;
				 break;
		case 8 : location.href = ST_MBC_HOSTURL +"/program/blog?programID=" + _subProgramID;
		 		 break;								
	}						
}

//user location check
function ipCheck() {	
   	var url	= ST_MBC_HOSTURL + "/front/etc/ipCheck";  
   	var result = false;
   	var rc = 0;
   	new Ajax.Request(url, { 
   		method: 'post', 
   		asynchronous : false,
   		onSuccess: function(_response) {
	  		var json = _response.responseText.evalJSON();
			rc = json.result;
		}   	  	
   	});
	
   	if(rc == 1) {
       	result = true;
   	} else {
		alert("本サイトの動画配信は日本国内向けのサービスです。\nお客様のIPはサービス対象地域外のため、\nご視聴いただけません。");
   	}
   	
   	//alert('IP CHECK ::' + result);
   	
    return result;
}

/** 결제 관련 함수 시작 **/
//패키지 구입 
function buyPackage(productType, programID, itemID) 
{   
	//alert('buyPackage : ' + programID );
	if(!ipCheck()) return;
   	if(!loginCheck()) return;
    
	rc = checkPackagePurchase(programID, itemID);
	//WatchVideo(itemID, productType, programID, 1); break;
	switch (rc) {
        case 0: alert("このパッケージは購入済みでまだ有効です。"); break;		
        case -1: alert("IDが存在しません。"); break;
        case -2: alert("パッケージがシステムに存在しません。"); break;
        case -3: location.href = ST_MBC_SSLHOSTURL + "/purchase/ppvBuy?programID="+programID+"&itemID=" + itemID + "&isPackage=1"; break;
        case -4: alert("不明なエラーが発生しました。"); break;
        //case -5: svodPreWatchErrorTxt(); break;
    }       
   return;
}  

//에피소드 구입
function askPurchase(productType, programID, itemID, isPreWatch, isPackage) 
{
	//alert('askPurchase : ' + programID );
	//IP 
   	if(!ipCheck()) return;
   	//login
	if(!loginCheck()) return;
	//M+전용
	if(!svodOnlyProgram(programID)) return;
	//M+선시청
	if(!svodPreWatchEpisode(isPreWatch)) return;	
	
   	location.href = ST_MBC_SSLHOSTURL + "/purchase/ppvBuy?programID="+programID+"&itemID=" + itemID + "&isPackage="+ isPackage;
   	//return;
}

//결제 가능한지 체크
function checkPackagePurchase(programID, packageID) 
{	
	var url	= ST_MBC_HOSTURL + "/purchase/purchaseCheck";
	var data = "isPackage=1&programID="+programID+"&itemID="+packageID;
	var rc = 1;
	new Ajax.Request(url, { 
		method: 'post', 
		asynchronous : false,
		parameters: data,
	  	onSuccess: function(_response) {
	  		var json = _response.responseText.evalJSON();
			rc = json.result;
		}
	});
	
	//alert('checkPackagePurchase : ' + rc);
	
    return rc;
}
/** 결제 관련 함수 끝**/

// 월정액회원 선시청프로그램 알림
// 시청 권한 체크
// mypage에서 구입이 되었다고 한다면 그것은 이미 선시청이 끝난 후 구입이 된것이기 때문에
// 체크하지 않는다 프로세스가 바뀐다면 Ajax로 수정해야 함.
function svodPreWatchEpisode(_isPreWatch)
{		
	var bRtn = true;		
	var preWatch = _isPreWatch;
	var userSvod = document.info.isSVOD.value;
	
	if(preWatch != 0){
		if(userSvod != 1){
			svodPreWatchComfirm(preWatch);
			bRtn = false;
		}
	}		
	
	//alert('svodPreWatchEpisode :: preWatch=' + preWatch + ', userSvod='+ userSvod + ' :: ' + bRtn );		
		
	return bRtn;
}

//전용 프로프로그램 체크
function svodOnlyProgram(programID)
{
	var bRtn = true;
	
	var userSvod = document.info.isSVOD.value;
	var onlyProgram = document.listFrm.mPulsOnlyProgram.value;
	
	if(onlyProgram == 1)
	{
		bRtn = false;		
		if(userSvod == 0)
		{	//M+가 아니면 확인창
			svodMemberOnlyComfirm();			
		}		
	}
	
	return bRtn;
}

//M+선행시청
function svodPreWatchComfirm(preWatch)
{	
	if(confirm("こちらの番組は、現在M+加入者のみご利用できます。\n\nM+にご加入されていない方は \n\n"+preWatch+"よりご視聴いただけます。\n\nM+についてもっと詳しく知りたいですか?"))
		location.href = ST_MBC_HOSTURL + "/guide/mPlus";
	else
		return;
}
//M+전용
function svodMemberOnlyComfirm()
{
	//login
	if(!loginCheck()) return;
	
	if(confirm("こちらの番組は M+加入者だけが無料で視聴できます。\n\nM+に加入されていない方はご視聴いただけません。\n\nM+についてもっと詳しく知りたいですか?"))
		goGuideMPlus();
	else
		return;
}

function noMpMemberWallpaperComfirm()
{
	//login
	if(!loginCheck()) return;
	
	if(confirm("壁紙は、現在M+加入者のみご利用できます。\n\nM+についてもっと詳しく知りたいですか?"))
		goGuideMPlus();
	else
		return;
}

function noMpMemberSpacalComfirm()
{
	//login
	if(!loginCheck()) return;
	
	if(confirm("特別映像は、現在M+加入者のみご利用できます。\n\nM+についてもっと詳しく知りたいですか?"))
		goGuideMPlus();
	else
		return;
}

function mPlusGuideComfirm()
{
	if(confirm("M+についてもっと詳しく知りたいですか?"))
		goGuideMPlus();
	else
		return;
}

function mPlusNotOpen()
{
	alert("M+は現在オープン準備中です。\n\n本日2010年2月1日午後オープン予定です。\n\n皆様のご利用お待ちしております。");
	
	return;
}

function goGuideMPlus()
{
	window.location.href = ST_MBC_HOSTURL + "/guide/mPlus";
}

//Side Munu
function menuProgram(type) {
	if(type == 1){
		document.getElementById('menuTab1').src = ST_MBC_IMGURL + "/images/left/contents_tab_01.gif";
		document.getElementById('menuTab2').src = ST_MBC_IMGURL + "/images/left/contents_tab_02_d.gif";
	}else{
		document.getElementById('menuTab1').src = ST_MBC_IMGURL + "/images/left/contents_tab_01_d.gif";
		document.getElementById('menuTab2').src = ST_MBC_IMGURL + "/images/left/contents_tab_02.gif";
	}
	var url	= ST_MBC_HOSTURL + "/front/etc/menuProgram";
	var data = "menuType="+type;
	new Ajax.Request(url, { 
		method: 'post', 
		parameters: data,
	  	onSuccess: function(req) {
			document.getElementById("menuProgram").innerHTML = req.responseText;	
		}
	});
	return;    	
}
//Select Year Program
function mbcYearProgram(programYear) {
	var url	= ST_MBC_HOSTURL + "/front/etc/mbcYearProgram";
	var data = "programYear="+programYear;
	new Ajax.Request(url, { 
		method: 'post', 
		parameters: data,
	  	onSuccess: function(req) {
			document.getElementById("mbcYearProgram").innerHTML = req.responseText;			
		}
	});
	return;    	
}
/**
 * 트위터 프로그램 제목+URL 보내기
 * @param _AObject 링크
 * @return
 */
function twitterTweet(_AObject){	
	if(_AObject.href.length < 20){
		var param = '【MBC JAPAN】' + document.getElementById('programTitle').innerHTML + '::' + 'http://mbcjapan.co.jp/ #MBCJAPAN ';
		var href = _AObject.href + 'home?status=';	
		href += encodeURIComponent(param);	
		_AObject.href = href ;
	}	
}