sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars4  
extra_vars5  
extra_vars6  
완전... 삽질 그자체... 2일동안 이것만 했는데 결국은... 읽기는 되는데 쓰기가 안됨

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>Cugain’s Home</title>
<meta http-equiv=Content-Type content=text/html; charset=EUC-KR>
<link rel="StyleSheet" HREF="./cugain_css/default_style.css" type="text/css" title="style">
</head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" bgcolor="white">

<SCRIPT LANGUAGE="JavaScript">
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
xmlLoadMain();

/******************************************
        Main.
******************************************/
function xmlLoadMain() {
        var song_list = getMusicList("favorite");
        var apply_value = randSort(0, song_list.length);
        var new_song_list = getSortedList(song_list, apply_value);

        var newXmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); //새로운 xml문서 생성
        newXmlDoc.async = false;        
        newXmlDoc.load("./cugain_musicplayer/mp3/mp3_list.xml"); // XML 파일 로드
        newXmlDoc.save("./mp3.xml"); //세이브안됨... 아마도 스크립트가 서버에 파일을 생성하는 부분이 막힌듯함
}

/******************************************
        category정보를 받아서 음악리스트를 가져온다.
        return <song> Array
******************************************/
function getMusicList(category) {
        var music_tag_list = null;

        if(xmlDoc) {
                var finded_node = null;
                var index_node_list = xmlDoc.getElementsByTagName("index");
                var attribute_list = null;
                for(index_i=0; index_i<index_node_list.length; index_i++) {
                        attribute_list = index_node_list.item(index_i).attributes;
                        for(attribute_i=0; attribute_i<attribute_list.length; attribute_i++) {
                                if(attribute_list.item(attribute_i).text == category)
                                        finded_node = index_node_list.item(index_i);
                        }        
                }

                if(finded_node) {
                        music_tag_list = finded_node.childNodes;
                        return music_tag_list;
                } else {        alert("해당하는 카테고리가 없습니다.");        }
        } else {        alert("파일을 찾을 수 없습니다.");        }
}

/******************************************
        start_var부터 end_var까지 랜덤정렬된 숫자배열 리턴
        return Array
******************************************/
function randSort(start_var, end_var) {
    var_array = new Array();
        var rand_var = null;
        var looping = false;
        var array_loc = 0;
    for (i = start_var ; i <= end_var ; i++) {
                do {
                        looping = false;
                        rand_var = Math.floor(Math.random()*(end_var+1));

                        if(rand_var < start_var) { // 랜덤값이 시작값보다 작은 경우는 스킵하고 루프
                                looping = true;
                        } else {
                                if(var_array.length <= 0) { //최초 숫자는 그냥 입력 후 다시 루프
                                        var_array[array_loc] = rand_var;
                                        array_loc++;
                                        looping = true;
                                        //alert(rand_var);
                                } else if(var_array.length < (end_var-start_var+1)) {         //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다                        
                                        for (j = 0 ; j < var_array.length ; j++) {
                                                if(var_array[j] == rand_var) { //배열에 이미 있는 숫자일 경우 다시 스킵하고 루프
                                                        looping = true;
                                                }
                                        }
                                }
                        }
                }while(looping);

                if(var_array.length < (end_var-start_var+1)) { //배열이 꽉 찼을 경우 그냥 루프를 빠져나간다
                        var_array[array_loc] = rand_var;
                        array_loc++;
                        //alert(rand_var);
                }
        }
        return var_array;
}

/******************************************
        배열과 소트방식을 받아 소팅후 배열로 리턴
        return Array
******************************************/
function getSortedList(list, apply_value) {
        var new_list = new Array();
        for(i=0; i<list.length; i++) {
                new_list[i] = list[apply_value[i]];
        }
        return new_list;
}
</SCRIPT>

</body>
</html>