/*--------------------------------------------------
// ページ読み込み時の処理
--------------------------------------------------*/
/*
// window.onload にイベント追加
// map.js でも wimdow.onload を使用しているためイベントの監視
*/
/*
 IE で使用できないためコメントアウト（Event.observe～）･･･
 今までどおり<a mouseover="pdmenu(1,this);">で対応
// Event.observe(window, 'load', addEvent, false);
*/

function addEvent() { // 
    /*
    // javascriptイベントの設定
    // 読み込みタイミングにより「pdmenu is not defined」エラー回避のため
    */
    var headernavi = document.getElementsByClassName('headernavi');
    if (headernavi.length > 0) {
        for (var i = 0; i < headernavi.length; i++) {
            var elem = headernavi[i];
            var elemid = elem.id;
            switch (elemid) {
                case 'pm1':
                    //elem.setAttribute("onmouseover", new Function("pdmenu(1,this);"));
                    //elem.onmouseover = "pdmenu(1,this)";
                    Event.observe(elem, 'mouseover', pdmenu(1,this));
                    break;
                case 'pm3':
                    //elem.setAttribute("onmouseover", "pdmenu(3,this);");
                    elem.onmouseover = pdmenu(3,this);
                    break;
                case 'pm4':
                    //elem.setAttribute("onmouseover", "pdmenu(4,this);");
                    elem.onmouseover = pdmenu(4,this);
                    break;
                default:
                    //elem.setAttribute("onmouseover", "pdmenu(0,this);");
                    elem.onmouseover = pdmenu(0,this);
                    break;
            }
        }
    }
    var pdmenuclose = document.getElementsByClassName('pdmenuclose');
    if (pdmenuclose.length > 0) {
        for (var i = 0; i < pdmenuclose.length; i++) {
            var elem = pdmenuclose[i];
            //elem.setAttribute("onclick", "pdmenu(0,this);");
            elem.onclick = pdmenu(0,this);
        }
    }
}

document.onclick = function() {
    if ($('subpm1')) {
        $('subpm1').style.visibility = 'hidden';
    }
    if ($('subpm2')) {
        $('subpm2').style.visibility = 'hidden';
    }
    if ($('subpm3')) {
        $('subpm3').style.visibility = 'hidden';
    }
    if ($('subpm4')) {
        $('subpm4').style.visibility = 'hidden';
    }
}

function pdmenu(id,elem) {
    if ($('subpm1')) {
        $('subpm1').style.visibility = 'hidden';
    }
    if ($('subpm2')) {
        $('subpm2').style.visibility = 'hidden';
    }
    if ($('subpm3')) {
        $('subpm3').style.visibility = 'hidden';
    }
    if ($('subpm4')) {
        $('subpm4').style.visibility = 'hidden';
    }
/*
    Element.hide($('subpm1'),$('subpm2'),$('subpm3'));
*/
    
    if(id > 0){
        subpm = $('subpm' + id);
        var retxy = Position.cumulativeOffset(elem); 
        var retheight = Element.getHeight(elem);
        //Element.show(subpm);
        Element.setStyle(subpm, {
            'left':retxy[0],
            'top':retxy[1] + retheight,
            'visibility':'visible'
        });
    }
}

// map.js用コールバック関数
// （地図読み込み処理時に処理する関数）
// 非同期通信からの戻り値（xml）を処理
var callbackProcess = afterProcessMap;
function afterProcessMap(xmlDoc) {
    // fidの値を入れる変数
    var fidParam = "";
    // urlパラメータ値を入れる変数
    var strUrlParameter = window.location.search.substring(1);
    if (strUrlParameter.length > 0) {
        arr = strUrlParameter.split("&");
        if(arr[0].indexOf("fid",0)>-1)  {
            fidParam = arr[0].split("=")[1];
        }
    }


    var resultmain = $('resultmain');
    var reslist = $('resultslist');
    var valuefid;
    var valuename;
    var valuekana;
    var valuesetumei;
    var reshtml = '';
    var resmainhtml = '';

    var featurecount = xmlDoc.documentElement.getElementsByTagName('featurecount').item(0).firstChild.nodeValue;

	Array.prototype.shuffle = function() {
	    var i = this.length;
	    while(i){
	        var j = Math.floor(Math.random()*i);
	        var t = this[--i];
	        this[i] = this[j];
	        this[j] = t;
	    }
	    return this;
	}
	xx = new Array(featurecount);
	
	for(var i = 0 ; i < featurecount ; i++) {
		xx[i] = i;
	}
	xx.shuffle();
	//alert(featurecount);
	//alert(xx.length);
	//prompt("",xx);

    if(featurecount > 0) {
        var items = xmlDoc.documentElement.getElementsByTagName('item');
        var resmainflg = false;
        //for(var i = 0 ; i < featurecount ; i++) {
        for(var iRand = 0 ; iRand < xx.length ; iRand++) {
			i = xx[iRand];
            if(items[i].getElementsByTagName('attributeinfo').item(0).hasChildNodes()) {
                var attinfo = items[i].getElementsByTagName('attributeinfo');
                var mapinfo = items[i].getElementsByTagName('mapscriptinfo');
                if(attinfo[0].getElementsByTagName('fid').item(0).hasChildNodes()) {
                    valuefid = attinfo[0].getElementsByTagName('fid').item(0).firstChild.nodeValue;
                } else {
                    valuefid = '';
                }
                if(attinfo[0].getElementsByTagName('name').item(0).hasChildNodes()) {
                    valuename = attinfo[0].getElementsByTagName('name').item(0).firstChild.nodeValue;
                } else {
                    valuename = '';
                }
                if(attinfo[0].getElementsByTagName('kana').item(0).hasChildNodes()) {
                    valuekana = attinfo[0].getElementsByTagName('kana').item(0).firstChild.nodeValue;
                } else {
                    valuekana = '';
                }
                if(attinfo[0].getElementsByTagName('setumei').item(0).hasChildNodes()) {
                    valuesetumei = attinfo[0].getElementsByTagName('setumei').item(0).firstChild.nodeValue;
                } else {
                    valuesetumei = '';
                }
            }
            var html = '';
            html = '<div class="resitembody">\n';
            if(valuefid != '') {
                html += '<h3 class="resitemtitle"><strong>';
                html += '<a href="./entry.php?fid=' + valuefid + '">';
                var namekana = valuename;
                if(valuekana != '') {
                    namekana += '(' + valuekana + ')';
                }
                html += namekana;
                html += '</a></strong></h3>\n';
                if (mapinfo[0].getElementsByTagName('photo')) {
                    if (mapinfo[0].getElementsByTagName('photo').item(0).hasChildNodes()) {
                        var photopath = mapinfo[0].getElementsByTagName('photo').item(0).firstChild.nodeValue;
                        html += '<img class="resitemimg" src="' + photopath + '" align="left" width="80" height="60" hspace="5" alt="' + namekana + '">\n';
                    }
                }
                if(valuesetumei !='') {
                    html += valuesetumei.substring(0,128);
                }
                html += '...<a href="./entry.php?fid=' + valuefid + '">詳細ページへ</a>';
            }
            html += '</div>\n';
            html += '<div class="both"></div>\n';
            if (valuefid == fidParam) {
                resmainhtml = html;
                resmainflg = true;
            } else {
                //resmainhtml = '';
                reshtml += html;
            }
       }
        if (resmainflg) {
            Element.setStyle(resultmain, {'display':'block'});
            resultmain.innerHTML = resmainhtml;
        } else {
            Element.setStyle(resultmain, {'display':'none'});
            resultmain.innerHTML = '';
        }
        //reslist.style.display = 'block';
        Element.setStyle(reslist, {'display':'block'});
        //Element.show(reslist);
        reslist.innerHTML = reshtml;
    } else {
        resultmain.innerHTML = '';
        reslist.innerHTML = '';
    }
}

/*
 コメント文字数チェック（500文字）
 */
function chkComment(){
    var strcomment = $('commentarea').value;
    if(strcomment.length > 500) {
        alert('コメントは500文字以内でお願いします。');
        return false;
    } else {
        return true;
    }
}
