//AJAX_SET
function chkAjaBrowser()
{
	var a,ua=navigator.userAgent;
	this.bw=
	{
		safari:((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124,
		konqueror:((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3,
		mozes:((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0)>=20011128,
		opera:(!!window.opera)&&((typeof XMLHttpRequest)=='function'),
		msie:(!!window.ActiveXObject)?(!!createHttpRequest()):false
	};

	return( this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie )
};

function createHttpRequest()
{
	if( window.XMLHttpRequest )
	{
		return new XMLHttpRequest();
	}
	else
	if( window.ActiveXObject )
	{
		try
		{
			return new ActiveXObject( "Msxml2.XMLHTTP" );
		}
		catch( e )
		{
			try
			{
				return new ActiveXObject( "Microsoft.XMLHTTP" );
			}

			catch( e2 )
			{
				return null;
			}
		}
	}
	else
	{
		return null;
	}
};

function sendRequest( callback,data,method,url,async,sload,user,password )
{
	var oj=createHttpRequest();

	if( oj == null )
	return null;

	var sload=( !!sendRequest.arguments[5] )?sload:false;

	if( sload||method.toUpperCase()=='GET' )url+="?";
	if( sload )url=url+"t="+( new Date() ).getTime();

	var bwoj=new chkAjaBrowser();
	var opera=bwoj.bw.opera;
	var safari=bwoj.bw.safari;
	var konqueror=bwoj.bw.konqueror;
	var mozes=bwoj.bw.mozes;

	if( typeof callback=='object' )
	{
		var callback_onload=callback.onload;
		var callback_onbeforsetheader=callback.onbeforsetheader
	}
	else
	{
		var callback_onload=callback;
		var callback_onbeforsetheader=null;
	};

	if( opera||safari||mozes )
	{
		oj.onload=function()
		{
			callback_onload( oj );
		}
	}
	else
	{
		oj.onreadystatechange=
		function()
		{
			if( oj.readyState==4 )
			{
				callback_onload( oj );
			}
		}
	};

	data=uriEncode( data, url );

	if( method.toUpperCase()=='GET' )
	{
		url+=data
	};

	oj.open( method,url,async,user,password );

	if( !!callback_onbeforsetheader )

	callback_onbeforsetheader( oj );
	setEncHeader( oj );
	oj.send( data );

	function setEncHeader(oj)
	{
		var contentTypeUrlenc='application/x-www-form-urlencoded; charset=UTF-8';

		if( !window.opera )
		{
			oj.setRequestHeader('Content-Type',contentTypeUrlenc);
		}
		else
		{
			if( ( typeof oj.setRequestHeader )=='function' )
			oj.setRequestHeader( 'Content-Type', contentTypeUrlenc );
		};
			return oj
		};

		function uriEncode( data, url )
		{
			var encdata=( url.indexOf( '?' )==-1 )?'?dmy':'';
			if( typeof data=='object' )
			{
				for( var i in data )encdata+='&'+encodeURIComponent( i )+'='+encodeURIComponent( data[i] );
			}
			else
			if( typeof data=='string' )
			{
				if( data=="" )
				return"";

				var encdata='';
				var datas=data.split( '&' );

				for( i=1;i<datas.length;i++ )
				{
					var dataq=datas[i].split( '=' );encdata+='&'+encodeURIComponent( dataq[0] )+'='+encodeURIComponent( dataq[1] );
				}
			};

			return encdata;
		};

	return oj
}

function jsgt_Indicator( src )
{
	this.div		= src_set( src );
	this.indi_append	= a;
	this.indi_start		= t;
	this.indi_stop		= o;
	this.img			= new Image();
	this.img.src		= src;

	function src_set( src )
	{
		id="_indicator"+( new Date() ).getTime();
		this.div=document.createElement( "DIV" );

		with( this.div.style )
		{
			position	= "relative";
			top			= "280px";
			left		= "0px";
			width		= "0px";
			height		= "0px";
			margin		= "0px";
			padding		= "0px";
		};
			return this.div
	};

	function a( id )
	{
		var d = document.getElementById( id );

		if( typeof d!='object' )
		return;

		d.appendChild( this.div );
	};

	function t()
	{
		this.div.style.height	="auto";
		this.div.style.width	="auto";
		this.div.innerHTML		='<center><img src="'+this.img.src+'"><br><h3>Now Loading...</h3><br><a href="http://www.portalgraphics.net/pg/ranking/">10秒以上ロードが続く場合ここをクリックで再読み込み</a></center>';
	};

	function o()
	{
		this.div.style.width	= "auto";
		this.div.style.height	= "auto";
		this.div.innerHTML		= '';
	};

	return this
}
//LOAD_IMAGE_SET
var indi = new jsgt_Indicator( 'http://www.portalgraphics.net/images/common/loading.gif' );
//インジケータを追加するDIVを指定
window.onload =
function()
{
	indi.indi_append( "indidiv" );
}

function data_send( value_mode, value_a, value_b, value_c, value_d, value_e, value_f )
{
//alert( document.getElementById( "res_id" ).value );

	prams = 'POST';
	indi.indi_start();
	document.getElementById( "load_data_res" ).innerHTML="";
	sendRequest( on_loaded_response,
	{
		res_id		:document.getElementById( "res_id" ).value,
		main		:value_mode,
		image_id	:value_a,
		action	  	:value_b,
		mode 		:value_c,
		ymd 		:value_d,
		terms 		:value_e,
		rows		:value_f
	},
	prams, 'http://www.portalgraphics.net/pg/ranking/frame_structure.php', true, true );
}

function on_loaded_response( oj )
{
	indi.indi_stop();
	//レスポンスを取得(encode無し->decode無し)
	//var res  =  decodeURIComponent( oj.responseText );
	var res  =  ( oj.responseText );
	document.getElementById( "load_data_res" ).innerHTML=res;
}
