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

/**
 * 로그인 체크 :: fn_CheckLogin로 수정 할것.
 */
function loginCheck(){
	alert('loginCheck delete!!');	
}	

/**
 * 로그인 확인
 * 로그인 되지 않았다면 Cooper에 따라 로그인 화면으로 이동
 * 
 * @returns true : 로그인
 */
function fn_CheckLogin(_gotoURL){
	var bRtn = false;
	var userForm = document.info;
	
	if(userForm.loginID.value == '')
	{
		if(userForm.cooperID.value == 'YH'){
			fn_NeedLogin_YH();
		}else{			
			fn_NeedLogin();
		}		
	}
	else
	{
		if(typeof _gotoURL === 'string'){
			location.href = _gotoURL;
		}
		bRtn = true;
	}
	
	return bRtn;
}

/**
 * MBC 로그인 레이어 보이기
 */
function fn_ShowLoginLayer(){
	fn_showScreen();
	jQuery('#layer-login').css({'left':jQuery('#gnb-login').offset().left+'px'}).show();	
	document.loginFrm.loginID.focus();
}

/**
 * MBC 비로그인 메세지 
 * @returns
 */
function fn_NeedLogin() {
	alert("ご利用にはログインが必要です。\n ページ上段よりログインしてください。");
	fn_scrollTop();
	jQuery('#gnb-login').addClass('on');	
}

/**
 * MBC YAHOO 비로그인 메세지 
 * @returns
 */
function fn_NeedLogin_YH() {
	if(confirm('ログインが必要です。ログインしますか？')){		
		fn_YahooOauth();
	}else{
		return false;
	}		
}

/**
 * MBC YAHOO 로그인 화면으로 이동 
 */
function fn_YahooOauth() {
	fn_showScreen();
	location.replace(ST_MBC_HOSTURL + "/user/yhOauth?returnUrl="+encodeURIComponent(location.href));		
}


function login(action) {
	alert('common.js > 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;
}


/**
 * 로그인 ID/PW 체크
 */
function fmLoginSubmit(_fm) {
    if (_fm.loginID.value == ''){
    	_fm.loginID.focus();
        alert('IDを入力してください。');
        return false;
    }
    
    if (_fm.password.value == '') {
    	_fm.password.focus();
        alert('パスワードを入力してください。');
        return false;
    }      
    
    return true;
}


function checkEnter(event, action) {
	alert('common.js > checkEnter 호출 됨');
//	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
 * @param stype				tab No
 * @param _subProgramID		ProgramID
 */
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;								
	}						
}

/**
 * 동영상 시청 가능 지역 확인
 * @returns true : 시청가능
 */
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ご視聴いただけません。");
   	}  	
   	   	
    return result;
}

/** **************************************************** **/
/** 결제 관련 함수 시작 **/
/** **************************************************** **/
/**
 * 패키지 구입 
 * @param productType
 * @param programID
 * @param itemID
 */
function buyPackage(productType, programID, itemID){   
	//alert('buyPackage : ' + programID );
	if(!ipCheck()) return;
   	if(!fn_CheckLogin()) 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;
}  

/**
 * 에피소드 구입
 * @param productType
 * @param programID
 * @param itemID
 * @param isPreWatch
 * @param isPackage
 */
function askPurchase(productType, programID, itemID, isPreWatch, isPackage){
	//alert('askPurchase : ' + programID );
	//IP 
   	if(!ipCheck()) return;
   	
   	//login
	if(!fn_CheckLogin()) 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;
}

/**
 * 결제 가능한지 체크
 * @param programID
 * @param packageID
 * @returns {Number}
 */
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;
}

/** **************************************************** **/
/** 결제 관련 함수 끝**/
/** **************************************************** **/


/**
 *  M+ 선행시청 에피소드
 *  
 *  1.월정액회원 선시청프로그램 알림
 *  2.시청 권한 체크
 *  3.mypage에서 구입이 되었다고 한다면 그것은 이미 선시청이 끝난 후 구입이 된것이기 때문에 체크하지 않는다 
 *  4.프로세스가 바뀐다면 Ajax로 수정해야 함.
 * @param _isPreWatch
 * @returns {Boolean}
 */
function svodPreWatchEpisode(_isPreWatch){		
	var bRtn = true;		
	var preWatch = _isPreWatch;
	var userSvod = document.info.isSVOD.value;
	
	if(preWatch != 0){
		if(userSvod != 1){
			bRtn = false;
			if(confirm("こちらの番組は、現在M+加入者のみご利用できます。\n\nM+にご加入されていない方は \n\n"+preWatch+"よりご視聴いただけます。\n\nM+についてもっと詳しく知りたいですか?")){
				goGuideMPlus();
			}			
		}
	}			
	//alert('svodPreWatchEpisode :: preWatch=' + preWatch + ', userSvod='+ userSvod + ' :: ' + bRtn );		
	return bRtn;
}

/**
 * 전용 프로프로그램 체크
 * @param programID
 * @returns {Boolean}
 */
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 svodMemberOnlyComfirm(){
	//login
	if(!fn_CheckLogin()) return;
	
	if(confirm("こちらの番組は M+加入者だけが無料で視聴できます。\n\nM+に加入されていない方はご視聴いただけません。\n\nM+についてもっと詳しく知りたいですか?")){
		goGuideMPlus();
	}else{
		return;
	}
}

/**
 * 특별영상 M+ 가입자만 시청 가능
 * M+ 소개 페이지 이동 확인
 */
function noMpMemberSpacalComfirm(){
	//login
	if(!fn_CheckLogin()) return;
	
	if(confirm("特別映像は、現在M+加入者のみご利用できます。\n\nM+についてもっと詳しく知りたいですか?")){
		goGuideMPlus();
	}else{
		return;
	}
}

/**
 * M+ 소개 페이지 이동 확인
 */
function mPlusGuideComfirm(){
	if(confirm("M+についてもっと詳しく知りたいですか?")){
		goGuideMPlus();
	}else{
		return;
	}
}

/**
 * M+ 소개 페이지로 이동
 */
function goGuideMPlus(){
	window.location.href = ST_MBC_HOSTURL + "/guide/mPlus";
}


/**
 * 트위터 프로그램 제목+URL 보내기
 * @param _AObject 링크
 * @return
 */
function twitterTweet(_AObject){	
	if(_AObject.href.length < 20){
		var param = '【MBCオンデマンド】' + document.getElementById('programTitle').innerHTML + '::' + 'http://mbcjapan.co.jp/ #MBCJAPAN ';
		var href = _AObject.href + 'home?status=';	
		href += encodeURIComponent(param);	
		_AObject.href = href ;
	}	
}

/**
 * Twitter로 글 보내기
 */
function twitterShare(){
	var title = '【' + document.getElementById('programTitle').innerHTML +'】';
	var url = 'http://twitter.com/share?count=none&original_referer='+ encodeURIComponent(location.href)+ '&text='+ encodeURIComponent(title)+' %23'+encodeURIComponent('MBCオンデマンド ') + '&url='+ encodeURIComponent(location.href);
	window.open(url, 'intent','width=632,height=456,location=yes,resizable=yes,toolbar=no,menubar=no,scrollbars=no,status=no');
}

/**
 * Coupon Banner클릭시 이동할 공지사항
 * @param _category
 * @returns
 */
function clickSalesCouponBanner(){
	var postID = 73;
	location.href='http://www.mbcjapan.co.jp/notice/view?id='+postID;	
}
