// JavaScript Document

// ---XMLHttpRequest OBJ---//
//
// @sample oj=createHttpRequest()
// @return XMLHttpRequestオブジェクト
//
function createHttpRequest(){
	if(window.ActiveXObject){
		//Win e4,e5,e6用
		try {
			return new ActiveXObject("Msxml2.XMLHTTP") ;
		}
		catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP") ;
			}
		catch (e2) {
			return null ;
			}
		}
	} else if(window.XMLHttpRequest){
		//Win Mac Linux m1,f1,o8 Mac s1 Linux k3用
		return new XMLHttpRequest() ;
	} else {
		return null ;
	}
}
//---END---//

//---SEND REQUEST---//
// @sample sendRequest(onloaded,'&prog=1','POST','./about2.php',true,true)
// @param callback 受信時に起動する関数名
// @param data   送信するデータ
// @param method "POST" or "GET"
// @param urlリクエストするファイルのURL
// @param async 非同期ならtrue 同期ならfalse
// @param sload スーパーロード trueで強制、省略またはfalseでデフォルト
//
function sendRequest(callback,data,method,url,async,sload){
	//XMLHttpRequestオブジェクト生成
	var oj = createHttpRequest()
	if( oj == null ){ return null}
	
	//強制ロードの設定
	var sload = (!!sendRequest.arguments[5])?sload:false;
	if(sload){url=url+"?t="+(new Date()).getTime()}
		
	//ブラウザ判定
	var ua = navigator.userAgent
	var safari = ua.indexOf("Safari")!=-1
	var konqueror = ua.indexOf("Konqueror")!=-1
	var mozes = ((a=navigator.userAgent.split("Gecko/")[1] )
	?a.split(" ")[0]:0) >= 20011128 
	
	//受信処理
	//operaはonreadystatechangeに多重レスバグがあるのでonloadが安全
	//Moz,FireFoxはoj.readyState==3でも受信するので通常はonloadが安全
	//Win ieではonloadは動作しない
	//Konquerorはonloadが不安定
	//参考http://jsgt.org/ajax/ref/test/response/responsetext/try1.php
	if(window.opera || safari || mozes){
		oj.onload = function () { callback(oj) }
	} else {
		oj.onreadystatechange =
			function () {
				if ( oj.readyState == 4 ){
				callback(oj)
			}
		}
	}
	
	//URLエンコード
	if(method == 'GET') {
		var encdata = ''
		var datas = data.split('&')
		for(i=0;i<datas.length;i++){
			var dataq = datas[i].split('=')
			encdata += '&'+encodeURI(dataq[0])+'='+encodeURI(dataq[1])
		}
		url=url + encodeURI(data)
	}

	//open メソッド
	oj.open( method , url , async )
	
	//ヘッダセット
	if(method == 'POST') {
		//このメソッドがWin Opera8でエラーになったので分岐
		if(!window.opera)
			oj.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
		}
	//send メソッド
	oj.send(data)
}

//---送受信関数---//
/*変数リセット*/
function reset(){
	t_obj=null;
	ratio=null;
	vert_scr = new Array();
	hori_scr = new Array();
	v_n = 0;
	h_n=0;
	initoff();
	photos=new Array();
	photo_caps=new Array();
	photo_dir=null;
	pre_ratio=null;
/*	var pj_title=set_OBJ('title_area');
	if(pj_title) obj.removeChild(pj_title);
	var photo_area=set_OBJ('photo_area');
	if(photo_area) obj.removeChild(photo_area);
	del_pb_comm();
	close_sub_win();*/
}
/*ウィンドウクロース*/
function close_win(){
	var win=set_OBJ('win');
	win.style.visibility="hidden";
	reset();
	now_obj=null;
	var po=set_OBJ('pointer');
	po.style.visibility="hidden";
}
/*サブウィンドウクローズ*/
function close_sub_win(){
	var profile=set_OBJ('ab_profile');
	var contents=set_OBJ('contents');
	if(profile){
		contents.removeChild(profile);
		vert_scr.reverse();
		vert_scr.shift();
		vert_scr.reverse();
		hori_scr.reverse();
		hori_scr.shift();
		hori_scr.reverse();
		v_n--;
	}
}
