
// 画像ポップアップ表示関数
function openImage(valSrc){
    var img = new Image();
    img.src = valSrc;

    img.onload = function() {
        var subWin1 = window.open('', '_blank', 'width=' + img.width + ', height=' + (img.height + 30) + ',location=no,status=no,scrollbars=no,menubar=no,resizable=yes,toolbar=no');

        subWin1.window.document.open();
        subWin1.window.document.write(
         '<html>'
        +'<head><title>'+img.alt+'</title></head>'
        +'<body style="margin:0;padding:0;border:0;">'
        +'<div align="center">'
        +'<img src="' + img.src + '" /><br />'
        +'<div style="margin-top:12px; font-size:12px;"><a href="javascript:void(0);" onClick="window.close(); return false;">閉じる</a></div>'
        +'</div>'
        +'</body>'
        +'</html>'
        );
        subWin1.window.document.close();
    }

	// Safari用
	if(navigator.userAgent.indexOf("Safari") != -1){
		if (img.complete) {
	        var subWin1 = window.open('', '_blank', 'width=' + (img.width + 20) + ', height=' + (img.height + 40) + ',location=no,status=no,scrollbars=no,menubar=no,resizable=yes,toolbar=no');

	        subWin1.window.document.open();
	        subWin1.window.document.write(
	         '<html>'
	        +'<head><title>'+img.alt+'</title></head>'
	        +'<body style="margin:0;padding:0;border:0;">'
	        +'<div align="center">'
	        +'<img src="' + img.src + '" /><br />'
	        +'<div style="margin-top:12px; font-size:12px;"><a href="javascript:void(0);" onClick="window.close(); return false;">閉じる</a></div>'
	        +'</div>'
	        +'</body>'
	        +'</html>'
	        );
	        subWin1.window.document.close();
		}
	}
}

// 数字しか入力できないようにする関数
function checkNum(){
    if((33 <= event.keyCode && event.keyCode <= 47) || (58 <= event.keyCode && event.keyCode <= 65417)){
        event.returnValue = false;
    }
}

//日付の正当性を確かめる関数
function isDate(dateStr) {
    parseDate = new Array(3);
    parseDate = dateStr.split("/");
    if(parseDate.length == 3) {
        if(parseDate[0].match(/^\d?\d?\d\d$/) == null) return false;
        if(parseDate[1].match(/^\d?\d$/) == null) return false;
        if(parseDate[2].match(/^\d?\d$/) == null) return false;
        //日付が存在するかどうかチェック
        years  = parseInt(eval(parseDate[0]));
        if(years < 100 && years > 70){
            years = years + 1900
        }else if(years <= 70 && years >= 0){
            years = years + 2000
        }
        months = parseInt(eval(parseDate[1])) - 1;
        days   = parseInt(eval(parseDate[2]));
        var dates = new Date(years, months, days);
        if(dates.getYear() < 1900){
            if(years != dates.getYear() + 1900) return false;
        } else {
            if(years != dates.getYear()) return false;
        }
        if(months != dates.getMonth()) return false;
        if(days != dates.getDate())    return false;
    }else if(parseDate.length == 2) {
        if(parseDate[0].match(/^\d?\d$/) == null) return false;
        if(parseDate[1].match(/^\d?\d$/) == null) return false;
        //日付が存在するかどうかチェック
        dammyYears = 2000;
        months     = parseInt(eval(parseDate[0])) - 1;
        days       = parseInt(eval(parseDate[1]));
        var dates = new Date(dammyYears, months, days);
        if(dates.getYear() < 1900){
            if(dammyYears != dates.getYear() + 1900) return false;
        } else {
            if(dammyYears != dates.getYear()) return false;
        }
        if(months != dates.getMonth()) return false;
        if(days != dates.getDate())    return false;
    } else {
        return false;
    }
    return true;
}


function createHttpRequest()
{
    //Win ie用
    if (window.ActiveXObject) {
        try {
            //MSXML2以降用
            return new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try{
                //旧MSXML用
                return new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e2){
                return null;
            }
        }

    } else if (window.XMLHttpRequest) {
        //Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
        return new XMLHttpRequest();
    } else {
        return null;
    }
}

function requestFile(data, method, fileName, async, callback)
{
    //XMLHttpRequestオブジェクト生成
    var httpoj = createHttpRequest();

    //受信時に起動するイベント
    httpoj.onreadystatechange = function(){
        //readyState値は4で受信完了
        if (httpoj.readyState == 4) {
            //レスポンスを取得
            callback(httpoj)
        }
    }

    //open メソッド
    httpoj.open(method, fileName, async);

    //send メソッド
    httpoj.send(data);
}
