﻿
function enableHTML(item){    	
	var content;

	if (item != null) {
		content = item.innerHTML;
		content = content.replace(/&lt;/g, "<");
		content = content.replace(/&gt;/g, ">");
		content = content.replace(/&amp;/g, "&");
		item.innerHTML = content;
	}
}

/**
 * 브라우저의 AJAX사용 가능 확인
 * @return
 */
function getXMLHttpObject() {
    var xmlHttp;

    try {
        xmlHttp = new XMLHttpRequest();
    }catch (e) {
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }catch (e) {
                alert('ブラウザがAJAX非対応です。');
                return null;
            }
        }
    }

    return xmlHttp;
}

/**
 * ID중복확인
 * @param loginID
 * @param okMsg
 * @return
 */


function checkDuplicateLoginID(_loginID, _okMsg) {
    var xmlHttp;
    var isDuplicate;

    xmlHttp = getXMLHttpObject();
    if (xmlHttp == null) return;

    xmlHttp.onreadystatechange = function() 
    {
        if (xmlHttp.readyState == 4){
            if (xmlHttp.status == 200){
                if (xmlHttp.responseText == 0) {
                    isDuplicate = false;
                    alert('このIDは使用中です。');
                }else {
                    isDuplicate = true;
                    if (_okMsg)
                        alert('このIDは使用可能です。');
                }
            }
        }
    };    

    xmlHttp.open("GET", "ajax.action?mID=userCheck&loginID=" + _loginID +"&temp="+ new Date().getTime(), false);
    xmlHttp.send(null);

    if (!_okMsg) {
        return isDuplicate;
    }
   
}

/**
 * 우편번호 유효확인
 * @param postalCode
 * @param async
 * @return
 */
function checkPostalCode(_postalCode, async) {	
    var xmlHttp;
    var isValid;

    xmlHttp = getXMLHttpObject();
    if (xmlHttp == null) return;

    xmlHttp.onreadystatechange = function() 
    {
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
                if (xmlHttp.responseText == 1) {
                    isValid = true;
                }else {
                    isValid = false;
                    alert('存在しない郵便番号です。');
                }
            }
        }
    };    

    xmlHttp.open("GET", "ajax.action?mID=postalCode&postalCode=" + _postalCode +"&temp="+ new Date().getTime(), false);
    xmlHttp.send(null);

    if (!async) {
        return isValid;
    }
   
}

/**
 * 패키지 구입전 유효확인
 * @param packageID
 * @return
 */
function checkPackagePurchase(packageID) {
    var xmlHttp;
    var rc = -10; // HTTP status code is not 200

    xmlHttp = getXMLHttpObject();
    
    if (xmlHttp == null) return;

    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4) {        	
            if (xmlHttp.status == 200) {
                rc = xmlHttp.responseText;
            }
        }
    };    

    xmlHttp.open("GET", "check_purchase.action?isPackage=1&itemID=" + packageID +"&temp="+ new Date().getTime(), false);
    xmlHttp.send(null);
    
    return rc;
}

/**
 * 결제패이지에서 패키지 구입 / 유효 여부 확인
 */
function checkPackage(packageID){	
	var userForm = document.info;
    var rc;
    var bRtn = false;
    
    if (checkLoginConfirm()){	
    	rc = checkPackagePurchase(packageID);
        switch (Number(rc)) {
            case 0: alert("このパッケージは購入済みでまだ有効です。"); break;	//이 패키지는 구입이 끝난 상태로 아직 유효합니다
            case -1: alert("IDが存在しません。"); break;						//ID가 존재하지 않습니다
            case -2: alert("パッケージがシステムに存在しません。"); break;		//패키지가 시스템에 존재하지 않습니다
            case -4: alert("不明なエラーが発生しました。"); break;				//불명한 에러가 발생했습니다
        }        
    }
    
    if (rc == -3){
    	bRtn = true;	        	
    }

    return bRtn;
}
   
	
function logout() {
	document.logout.submit();
}
 
function assortedSearch() {
	var searchForm = document.assortedSearch;
	
    if (searchForm.startProductionYear.options[searchForm.startProductionYear.selectedIndex].text > searchForm.endProductionYear.options[searchForm.endProductionYear.selectedIndex].text) 
    {
        alert('放送年は同じか右側が大きくなるように選してください。');
        return;
    }

	searchForm.submit();
}

function checkForSearchSubmit() {
    var keyword;

    keyword = document.search.keyword_input.value;
    keyword = convertSearchKeyword(keyword);
    document.search.keyword.value = keyword;

    return true;
}

function search() {
    checkForSearchSubmit();
	document.search.submit();
}	

var hasFocus = false;
function searchFocused() {
    hasFocus = true;
}

function searchBlurred() {
    hasFocus = false;
}

//	document.onkeypress = myEvent ;
//	function myEvent() {
//    	if (window.event.keyCode == 13) {
//			if (document.login != null && hasFocus == false) 
//				login();
//
//         	return true;
//    	} 
//	} 


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

function deletePost(url) {
    if (confirm("ほんとうに削除しますか?"))
        window.location = url;
    else
        return;
}
  
//Log In Check
/*
function checkLogin() {
	var userForm = document.info;        	
	
    if (userForm.loginID.value == ''){       
        if(userForm.cooperID.value == 'YH'){
           	fn_yahooLogin();        	
        }else{        
        	alert('先にログインしてください。');
        	location.replace('login.action?mID=login');
        }           
        return false;
    }else {        	
        return true;
    }
}
*/
/**
 * Check LOGIN 
 * Not Login Move LoginPage
 */
function checkLogin() {
	var userForm = document.info;
    
    if (userForm.loginID.value == '') {  
	   	if(userForm.cooperID.value == 'YH'){
           	fn_yahooLogin();	        	
        }else{
        	returnURL = encodeURIComponent(location.href);	        	
        	location.replace('login.action?returnURL=' + returnURL);
        }    	
    	return false;
    }else {        	
        return true;
    }    
}

function checkLoginAndGo(returnURL) {
	var userForm = document.info;  
    
    if (userForm.loginID.value == '') {        	
    	if(userForm.cooperID.value == 'YH'){
           	fn_yahooLogin();
        	//alert('Yahoo!決済ページへ移動中です。そのままお待ちください。');
        }else{        
        	alert('先にログインしてください。');
        	returnURL = returnURL.replace(/&/g, "%26");
        	location.replace('login.action?returnURL=' + returnURL);
        }            
        return false;
    }else {
        return true;
    }
}

function isLogin() {
	var userForm = document.info;  
    
    if (userForm.loginID.value == '') {        	
    	alert('先にログインしてください。');                    
        return false;
    }else {
        return true;
    }
}

/**
 * 로그인 체크후에 Confirm확인 하기
 * @param returnURL
 * @returns {Boolean}
 */
function checkLoginConfirm(returnURL) {
	var userForm = document.info;
    
    if (userForm.loginID.value == '') {
    	if(confirm('ログインが必要です。ログインしますか？')){    	
	    	if(userForm.cooperID.value == 'YH'){
	           	fn_yahooLogin();	        	
	        }else{	       
	        	if(typeof(returnURL) == 'undefined'){
	        		returnURL = location.href;
	        	}else{
	        		returnURL = encodeURIComponent(returnURL);
	        	}
	        	location.replace('login.action?returnURL=' + returnURL);
	        }
    	}
        return false;
    }else {
        return true;
    }
}


/**
 * 패키지 상품 구입
 * @param productType	삭제
 * @param programID		프로그램ID
 * @param itemID		packageID
 * @param pid			삭제(yahoo관련)
 * @return
 */
function buyPackage(programID, itemID, kID) 
{
	var userForm = document.info;
    var rc;
    
    if (checkLoginConfirm()){	
    	rc = checkPackagePurchase(itemID);
    	
    	//alert('buyPackage :: ' + rc);
    	
        switch (Number(rc)) {
            case 0: alert("このパッケージは購入済みでまだ有効です。"); break;		//이 패키지는 구입이 끝난 상태로 아직 유효합니다            		
            case -1: alert("IDが存在しません。"); break;							//ID가 존재하지 않습니다            		
            case -2: alert("パッケージがシステムに存在しません。"); break;			//패키지가 시스템에 존재하지 않습니다            		
            case -4: alert("不明なエラーが発生しました。"); break;					//불명한 에러가 발생했습니다            		
        }
            
        if (rc == -3){
        	moveToURL('check_purchase.action?stepNum=-2&method=ask&param=ppv&programID=' + programID + '&itemID=' + itemID + '&kID=' + kID +'&isPackage=1');	        	
        }
    }else{
    	return;
    }
}

/**
 * episode 구입
 * @param productType	light상품
 * @param programID		프로그램ID
 * @param itemID		에피소드ID
 * @param isPackage		삭제
 * @return
 */
function askPurchase(productType, programID, itemID, kID) {
	var userForm = document.info;
	
	if (checkLoginConfirm()) {        	        	
        if (productType == 1 && userForm.isSVOD.value != 1) {
            moveToURL('check_purchase.action?method=ask&param=svod&programID=' + programID + '&itemID=' + itemID + '&kID=' + kID +'&isPackage=0');
        }
        else if (productType == 0) {
            moveToURL('check_purchase.action?method=ask&param=ppv&programID=' + programID + '&itemID=' + itemID + '&kID=' + kID +'&isPackage=0');
        }        	
    }else{
    	return;
    }
}

/**
 * 마이페이지에서의 episode 구입 :: from mypage-bilinglist
 * @param productType
 * @param programID
 * @param itemID
 * @param isPackage
 * @param pid
 * @return
 */
function askPurchaseFromMyPage(productType, programID, itemID, isPackage, pid) {
	var userForm = document.info;
	
    if (checkLoginConfirm()) {
        if (productType == 1 && userForm.isSVOD.value != 1) {
            moveToURL('check_purchase.action?mypage=1&method=ask&param=svod&programID=' + programID + '&itemID=' + itemID + '&isPackage=' + isPackage);
        }
        else if (productType == 0) {
            moveToURL('check_purchase.action?mypage=1&method=ask&param=ppv&programID=' + programID + '&itemID=' + itemID + '&isPackage=' + isPackage);
        }
    }else{
    	return;
    }
}

function checkForPostEdit() {
    count = 0;
    postID = 0;

    if (document.wm.postIDs == null)
        return;

    if (document.wm.postIDs.length == null) {
        if (document.wm.postIDs.checked == true) {
            postID = document.wm.postIDs.value;
            count++;                
        }
    }
    else {
        for (i = 0; i < document.wm.postIDs.length; i++) {
            if (document.wm.postIDs[i].checked == true) {
                postID = document.wm.postIDs[i].value;
                count++;                
                if (count > 1)
                    break;
            }
        }
    }    

    if (count == 0) {
        alert("編集する掲示物を選択してください。");
    }
    else if (count > 1) {
        alert("1つだけ選択してください。");
    }
    else {
        document.wm.mode.value = "view";
        document.wm.op.value = "edit";
        document.wm.postID.value = postID;
        document.wm.submit();
    }
}

function confirmAgreement() {
    if (document.signup.agreement.checked != true) {
        alert("次に進むには同意にチェックしてください。");
        return false;
    }
    return true;
}

function confirmPostDelete() {
    isChecked = false;

    if (document.wm.postIDs == null)
        return false;

    if (document.wm.postIDs.length == null) {
        if (document.wm.postIDs.checked == true) {
            isChecked = true;
        }
    }
    else {
        for (i = 0; i < document.wm.postIDs.length; i++) {
            if (document.wm.postIDs[i].checked == true) {
                isChecked = true;
                break;
            }
        }
    }

    if (!isChecked) {
        alert("削除する掲示物を選択してください。");
        return false;
    }
    else {
        return confirm("ほんとうに削除しますか?");
    }
}

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;
}

//input validation check
function containsCharsOnly(input, addChars)
{
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + (addChars ? addChars : '');

	for(var i=0 ; i < input.value.length; i++){
		if(chars.indexOf(input.value.charAt(i)) < 0)
			return false;
	}    	
	return true;
}
      
function fn_denyCountryUser(){
	alert("KBS Download Mallは日本国内でのみ視聴が可能です。\n " + "本サービスは 日本国内の居住者向けにサービスしております。\n" +
		  "（お客様がお使いのIPアドレスは、IP判定データベース上、\n" + "  国内のIPアドレスではございませんのでご利用いただくことができません） ");
}

/**
 * Yahoo Package Button 
 * @param _object
 * @return
 */
function fn_purchMouseOverOut(_object){       	
	if(_object.className == "purchOn"){
		_object.className = "purchOff";
	}else if(_object.className == "purchOff"){
		_object.className = "purchOn";
	}
}

/**
 * KBS-Y에서 KBS페이지로 이동
 * @param _kbsUrl
 * @return
 */
function goKBS(_kbsUrl){    	
	if(typeof _kbsUrl == 'undefined'){
		_kbsUrl = "/top.action";
	}
	
	if(confirm("ここから先はYahoo! JAPAN IDおよび\nYahoo！ウォレットが使用できません")){
		moveToURL(_kbsUrl);
	}else{
		return;
	}    	
}    



/**
 * Coupon Banner클릭시 이동할 공지사항
 * @param _category
 * @returns
 */
function clickSalesCouponBanner(){
	var postID = 227;
	location.href='board.action?category=0&method=board&boardID=2&op=view&postID='+postID;
}

/**
 * 드림콘서트용 
 * @returns
 */
function dreamConcert()
{
	if(confirm('DREAM CONCERT試写会専用IDのため\n有料番組の購入はできません。\nご購入のためには会員登録（無料）が必要です。')){
		location.replace('/accountRegist.action');
	}else{
		location.replace('/top.action');
	}
}
