function filedIsNumber(field){
    var valid = "0123456789";
    var ok = "yes";
    var temp;
    for (var i=0; i<field.value.length; i++) {
        temp = "" + field.value.substring(i, i+1);
        if (valid.indexOf(temp) == "-1")
            ok = "no";
    }
    if (ok == "no") {
        field.focus();
        field.select();
        return false;
    }
    return true;
}
function isEmpty(textfield){
    if(textfield.value == ""){
        textfield.focus();
        textfield.select();
        return true;
    }
    return false;
}
function clear(textfield){
    textfield.value = "";
}
function _selectLogin(){
    clear(document.rankingFrom.TXVisitorName);
    clear(document.rankingFrom.TXMobileNumber);
    document.rankingFrom.RBIsUser[0].checked = true;
}
function _selectGuess(){
    clear(document.rankingFrom.TXLogin);
    clear(document.rankingFrom.TXPassword);
    document.rankingFrom.RBIsUser[1].checked = true;
}
function openReply(framesID){
    var html = '';
    var id = 'replyData_'+framesID;
    if (document.all) {
        if(frames['replyDetail_'+framesID].innerHTML.length <= 50){
            closeAll();
            frames['replyDetail_'+framesID].innerHTML = frames[id].document.body.innerHTML;
        }
    }else{
        if(document.getElementById('replyDetail_'+framesID).innerHTML.length <= 50){
            closeAll();
            document.getElementById('replyDetail_'+framesID).innerHTML = document.getElementById(id).contentWindow.document.body.innerHTML;
        }
    }
    refreshHtml();
    refreshReplyHtml();
}
function closeReply(framesID){
    if (document.all) {
        frames['replyDetail_'+framesID].innerHTML = '<img width="1" height="1">';
    }else{
        document.getElementById('replyDetail_'+framesID).innerHTML = '<img width="1" height="1">';
    }
}
function closeAll(){
        var dataArray;
        if (document.getElementsByTagName)
            dataArray = document.getElementsByTagName('IFRAME');
        else if (document.all)
            dataArray = document.all.tags('IFRAME');
		for (var i=0; i < dataArray.length; i++) {
            if (document.all) {
                if(frames['replyDetail_'+(i+1)] != null)
                    frames['replyDetail_'+(i+1)].innerHTML = '<img width="1" height="1">';
            }else{
                if(document.getElementById('replyDetail_'+(i+1)) != null)
                    document.getElementById('replyDetail_'+(i+1)).innerHTML = '<img width="1" height="1">';
            }
        }
}
function addIcon(icon){
    var id = frames['eip'].document.scripts(0).getAttribute('currentID');
    var inputElement = document.getElementById('reply_textarea_'+id);
    inputElement.value = inputElement.value + icon;
    dlgEmoticon(id);
    inputElement.focus();
    tr = inputElement.createTextRange();
    // move end
    if (tr!=null) {
        tr.move('character',tr.text.length);
        tr.select();
    }

}
function dlgEmoticon(id) {
    var oDialog = document.getElementById('eip');
    frames['eip'].document.scripts(0).setAttribute('currentID', id);
//    alert(frames['eip'].document.scripts(0).currentID);

    var buttonElement = document.getElementById('emoticon_'+id);
    var iLeftPos = getOffsetLeft(buttonElement);
    var iTopPos = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 4);
    oDialog.style.left = (iLeftPos) + "px";
    oDialog.style.top = (iTopPos) + "px";
    if (oDialog.style.visibility == "hidden") {
        showHideElement(oDialog, 'show');
    } else {
        showHideElement(oDialog, 'hide');
    }
}
function getOffsetLeft(elm) {
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent!= null) {
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetLeft;
}
function getOffsetTop(elm) {
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent!= null) {
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetTop;
}
function showHideElement(element, showHide) {
	if (document.getElementById(element)) {
		element = document.getElementById(element);
	}
	if (showHide == "show") {
		element.style.visibility = "visible";
	} else if (showHide == "hide") {
		element.style.visibility = "hidden";
	}
}

function refreshHtml(){
    for(var i = 1; refreshHtmlByID('blog_'+i); i++);
}
function refreshReplyHtml(){
    for(var i = 1; refreshHtmlByID('replyDisplay_'+i); i++);
}
function refreshHtmlByID(id){
    if(document.getElementById(id) == null)
        return false;
    var _tmp = document.getElementById(id).innerHTML;
// alert(_tmp);
    var startChangeCase = false;
    var result = "";
    var willChangeStr = "";
    if(_tmp.indexOf("<") < 0){
        result = replaceEmoticonToImage(_tmp);
    }else{
        for(var i = 0; i < _tmp.length; i++) {
            if( _tmp.charAt(i) == ">"){
                result += _tmp.charAt(i);
                startChangeCase = false;
            }
            if(startChangeCase){
                result += _tmp.charAt(i);
            }else{
                if( _tmp.charAt(i) != "<"  && _tmp.charAt(i) != ">"){
                    willChangeStr += _tmp.charAt(i);
                }
            }
            if( _tmp.charAt(i) == "<"){
                if(willChangeStr.length > 0){
                    result += replaceEmoticonToImage(willChangeStr);
                    willChangeStr = "";
                }
                startChangeCase = true;
                result += _tmp.charAt(i);
            }
        }
    }
    var x = frames['eip'].getImageData();
    for (var i=0; i < x.length; i++) {
        if(trim(x[i].alt).length >0 )
            document.getElementById(id).innerHTML = result+willChangeStr;
    }
    return true;
}
function replaceEmoticonToImage(str){
    var fourImage = "&gt;&lt;";
    var threeoneImage = "&gt;&lt;P";
    var isAdd = true;
    var tmpStr = str;
    var x = frames['eip'].getImageData();
    var count = 0;
    var arrayObj = new Array();
    for (var i=0; i < x.length; i++) {
        if(trim(x[i].alt).length >0 ){
            var tmpAltStr = x[i].alt;
            tmpAltStr = tmpAltStr.replace('<','&lt;');
            tmpAltStr = tmpAltStr.replace('>','&gt;');
//                alert(tmpAltStr);
            var startIndex = 0;
            while(startIndex >= 0){
                startIndex = tmpStr.indexOf(tmpAltStr,startIndex);
                if(startIndex >=0){
                    if( fourImage == tmpAltStr){
                        if(tmpStr.indexOf(tmpAltStr,startIndex) == tmpStr.indexOf(threeoneImage,startIndex) &&
                           tmpStr.indexOf(tmpAltStr,startIndex) == tmpStr.indexOf(fourImage,startIndex)
                           ){
                            isAdd = false;
                        }else{
                            isAdd = true;
                        }
                    }else{
                        isAdd = true;
                    }

                    if(isAdd){
                        var tmpName = 't_'+count;
//                    alert('<img src="'+x[i].src+'" name="'+tmpName+'" alt="'+x[i].alt+'">');
                        arrayObj[count] = new Array(getSoftCode(startIndex),
                                                    startIndex,
                                                    startIndex+tmpAltStr.length-1,
                                                    '<img src="'+x[i].src+'" name="'+tmpName+'" alt="'+x[i].alt+'">',
                                                    tmpAltStr+"\n");
//alert("["+tmpStr.substring(startIndex,startIndex+x[i].alt.length)+"]");
                        startIndex++;
                        count++;
                    }else{
                        startIndex++;
                    }
                }
            }
//            tmpStr = tmpStr.replace(x[i].alt, "<img src='"+x[i].src+"'>");
        }
    }
    arrayObj.sort();
//    alert("Array Obj : " + arrayObj);
    var arrayRemoveObj = new Array();
    count = 0;
    for (var i=arrayObj.length-1; i >= 0; i--) {
        var currentCompareObj = arrayObj[i];
        for (var j=i-1; j >= 0; j--) {
            if(
                (currentCompareObj[2] >= arrayObj[j][1] && currentCompareObj[2] <= arrayObj[j][2]) &&
                (currentCompareObj[1] >= arrayObj[j][1] && currentCompareObj[1] <= arrayObj[j][2])
               ){
//                alert("Current Compare Obj : "+currentCompareObj +" \narrayObj[j] : "+arrayObj[j]);
                if(currentCompareObj[4].length > arrayObj[j][4].length){
                    arrayRemoveObj[count] = j;
                }else{
                    arrayRemoveObj[count] = i;
                }
                count++;
            }
        }
    }
    for (var i=0; i < arrayRemoveObj.length; i++){
        arrayObj.splice(arrayRemoveObj[i],1);
    }
//    alert("Array Obj : " + arrayObj);
//    var tmpStr = "123456789";
//    alert(stringRepare(tmpStr,"ABC",0,2));
//    alert(stringRepare(tmpStr,"DEF",3,5));
//    alert(stringRepare(tmpStr,"GHI",6,8));
    for (var i=arrayObj.length-1; i >= 0; i--) {
//        alert(tmpStr+"\n"+stringRepare(str,arrayObj[i][3],arrayObj[i][1],arrayObj[i][2]));
        tmpStr = stringRepare(tmpStr,arrayObj[i][3],arrayObj[i][1],arrayObj[i][2]);
//        alert(tmpStr);
//        alert(arrayObj[i][0]);
    }

//    alert("After replaceEmoticonToImage call ["+tmpStr+"]");
    return tmpStr;
}

function replaceEmoticonToImage_bak(str){
    var tmpStr = str;
    var x = frames['eip'].getImageData();
    var count = 0;
    var arrayObj = new Array();
    for (var i=0; i < x.length; i++) {
        if(trim(x[i].alt.length) >0 ){
            var tmpAltStr = x[i].alt;
            tmpAltStr = tmpAltStr.replace('<','&lt;');
            tmpAltStr = tmpAltStr.replace('>','&gt;');
            var startIndex = 0;
            while(startIndex >= 0){
                startIndex = tmpStr.indexOf(tmpAltStr,startIndex);
                if(startIndex >=0){
                    var tmpName = 't_'+count;
                    arrayObj[count] = new Array(getSoftCode(startIndex),
                                                startIndex,
                                                startIndex+tmpAltStr.length-1,
                                                '<img src="'+x[i].src+'" name="'+tmpName+'" alt="'+x[i].alt+'">',
                                                tmpAltStr+"\n");
                    startIndex++;
                    count++;
                }
            }
        }
    }
    arrayObj.sort();
    var arrayRemoveObj = new Array();
    count = 0;
    for (var i=arrayObj.length-1; i >= 0; i--) {
        var currentCompareObj = arrayObj[i];
        for (var j=i-1; j >= 0; j--) {
            if(
                (currentCompareObj[2] >= arrayObj[j][1] && currentCompareObj[2] <= arrayObj[j][2]) &&
                (currentCompareObj[1] >= arrayObj[j][1] && currentCompareObj[1] <= arrayObj[j][2])
               ){
                if(currentCompareObj[4].length > arrayObj[j][4].length){
                    arrayRemoveObj[count] = j;
                }else{
                    arrayRemoveObj[count] = i;
                }
                count++;
            }
        }
    }
    for (var i=0; i < arrayRemoveObj.length; i++){
        arrayObj.splice(arrayRemoveObj[i],1);
    }
    for (var i=arrayObj.length-1; i >= 0; i--) {
        tmpStr = stringRepare(tmpStr,arrayObj[i][3],arrayObj[i][1],arrayObj[i][2]);
    }
    return tmpStr;
}
function getSoftCode(number){
    var returnString = number+"";
    if(number<=9){
        returnString = "0"+returnString;
    }
    if(number<=99){
        returnString = "0"+returnString;
    }
    if(number<=999){
        returnString = "0"+returnString;
    }
    if(number<=9999){
        returnString = "0"+returnString;
    }
    if(number<=99999){
        returnString = "0"+returnString;
    }
    return returnString;
}
function trim(inputString) {
   if (typeof inputString != "string") return inputString;
   var retValue = inputString;
   var ch = retValue.substring(0, 1);

   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length - 1, retValue.length);

   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length - 1);
      ch = retValue.substring(retValue.length - 1, retValue.length);
   }

   while (retValue.indexOf("  ") != -1) {
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ") + 1, retValue.length);
   }
   return retValue; // Return the trimmed string back to the user
}
function stringRepare(str,repareStr,startIndex,endIndex){
    if(startIndex == 0){
        return repareStr+str.substring(endIndex+1,str.length);
    }else{
        return str.substring(0,startIndex)+repareStr+str.substring(endIndex+1,str.length);
    }
}

