var httpObjA,httpObjB,lastStrA,lastStrB,lasvStrA,lasvStrB;
var cgiName,cgiType,curAction,curParam,deReload;
var abReverse,curFocus,strAlert,typeAgent;

function initGlobals()
{
	if( window.location.pathname.indexOf( "manage.cgi" ) != (-1) ){ cgiName = "manage.cgi"; cgiType = 1; }
	else{ cgiName = "browse.cgi"; cgiType = 0; }
	if( document.forms[0].elements["action"] ) curAction = document.forms[0].elements["action"].value;
	else curAction = 0;
	if( document.forms[0].elements["param"] ) curParam = document.forms[0].elements["param"].value;
	else curParam = "";
	if( document.forms[0].elements["derel"] && document.forms[0].elements["derel"].value > 0 ) deReload = 1; else deReload = 0;
	abReverse = 0; curFocus = null;
	httpObjA = null; httpObjB = null; lastStrA = ""; lastStrB = ""; lasvStrA = ""; lasvStrB = "";
	strAlert = new Array();
	strAlert["regist"] = '登録します。よろしいですか？';
	strAlert["update"] = '更新します。よろしいですか？';
	strAlert["delete"] = '削除します。よろしいですか？';
	strAlert["upload"] = 'アップロードを行います。よろしいですか？';
	strAlert["review"] = 'レビューを書き込みます。よろしいですか？';
	strAlert["amazon"] = 'この商品を追加します。よろしいですか？';
	strAlert["writer"] = '書き込みます。よろしいですか？';
	strAlert["nostop"] = '有効にします。よろしいですか？';
	strAlert["gostop"] = '無効にします。よろしいですか？';
	strAlert["waiter"] = '<font color="#00aa00"><b>通信中です。しばらくお待ちください...</b></font>';
	if( navigator.userAgent.toLowerCase().indexOf( 'opera' ) != (-1) ) typeAgent = 1; else typeAgent = 0;
}

function makeHttpAjax( func )
{
	var XMLhttpObject = null;
	try{
		XMLhttpObject = new XMLHttpRequest();
	}catch( e ){
		try{
			XMLhttpObject = new ActiveXObject( "Msxml2.XMLHTTP" );
				}catch( e ){
			try{
				XMLhttpObject = new ActiveXObject( "Microsoft.XMLHTTP" );
			}catch( e ){
				return null;
			}
		}
	}
	if( XMLhttpObject && func ) XMLhttpObject.onreadystatechange = func;
	return XMLhttpObject;
}

function sendHttpAjax( http,post,param,alert,only )
{
	var query = "";
	if( post != 1 ) query = cgiName + "?";
	if( deReload == 1 ){
		var date = new Date();
		query += "derel=" + date.getTime() + "&";
	}
	if( curParam != "" ){
		query += "param=" + curParam + "&";
	}
	query += param;
	if( http == "A" ){
		if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resulta":"resultb" ).style.visibility = 'hidden';
		if( only == 1 ){
			if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resultb":"resulta" ).style.visibility = 'hidden';
			document.getElementById( abReverse == 0 ? "resultb":"resulta" ).innerHTML = "";
		}
		if( alert ){
			document.getElementById( abReverse == 0 ? "resulta":"resultb" ).innerHTML = strAlert[alert];
			if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resulta":"resultb" ).style.visibility = 'inherit';
		}
		httpObjA = makeHttpAjax( dispResA );
		if( httpObjA ){
			if( post != 1 ){
				httpObjA.open( "GET",query,true );
				httpObjA.send( null );
			}
			else{
				httpObjA.open( "POST",cgiName,true );
				httpObjA.send( query );
			}
		}
	}
	else if( http == "B" ){
		if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resultb":"resulta" ).style.visibility = 'hidden';
		if( only == 1 ){
			if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resulta":"resultb" ).style.visibility = 'hidden';
			document.getElementById( abReverse == 0 ? "resulta":"resultb" ).innerHTML = "";
		}
		if( alert ){
			document.getElementById( abReverse == 0 ? "resultb":"resulta" ).innerHTML = strAlert[alert];
			if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resultb":"resulta" ).style.visibility = 'inherit';
		}
		httpObjB = makeHttpAjax( dispResB );
		if( httpObjB ){
			if( post != 1 ){
				httpObjB.open( "GET",query,true );
				httpObjB.send( null );
			}
			else{
				httpObjB.open( "POST",cgiName,true );
				httpObjB.send( query );
			}
		}
	}
}

function dispResA()
{
	if( httpObjA.readyState == 4 && httpObjA.status == 200 ){
		document.getElementById( (abReverse == 0 ? "resulta":"resultb") ).innerHTML = httpObjA.responseText;
		if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resulta":"resultb" ).style.visibility = 'inherit';
		var i = httpObjA.responseText.indexOf( "<!-- AFTERLOADFLAG=" );
		if( i >= 0 && httpObjA.responseText.charAt( i + 19 ) == 'Y' ){
			document.getElementById( (abReverse == 0 ? "resultb":"resulta") ).innerHTML = lastStrB;
			if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resultb":"resulta" ).style.visibility = 'inherit';
			lastStrA = httpObjA.responseText.substring( i );
		}
		if( i >= 0 && httpObjA.responseText.charAt( i + 19 ) == 'Z' ){
			lastStrA = httpObjA.responseText.substring( i );
		}
		if( i >= 0 && httpObjA.responseText.charAt( i + 19 ) == 'V' ){
			lasvStrA = httpObjA.responseText.substring( i );
		}
		if( document.forms[0].elements["UTFbody"] ) document.forms[0].elements["UTFbody"].focus();
	}
}

function dispResB()
{
	if( httpObjB.readyState == 4 && httpObjB.status == 200 ){
		document.getElementById( (abReverse == 0 ? "resultb":"resulta") ).innerHTML = httpObjB.responseText;
		if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resultb":"resulta" ).style.visibility = 'inherit';
		var i = httpObjB.responseText.indexOf( "<!-- AFTERLOADFLAG=" );
		if( i >= 0 && httpObjB.responseText.charAt( i + 19 ) == 'Y' ){
			document.getElementById( (abReverse == 0 ? "resulta":"resultb") ).innerHTML = lastStrA;
			if( typeAgent == 1 ) document.getElementById( abReverse == 0 ? "resulta":"resultb" ).style.visibility = 'inherit';
			lastStrB = httpObjB.responseText.substring( i );
		}
		if( i >= 0 && httpObjB.responseText.charAt( i + 19 ) == 'Z' ){
			lastStrB = httpObjB.responseText.substring( i );
		}
		if( i >= 0 && httpObjB.responseText.charAt( i + 19 ) == 'V' ){
			lasvStrB = httpObjB.responseText.substring( i );
		}
		if( document.forms[0].elements["UTFbody"] ) document.forms[0].elements["UTFbody"].focus();
	}
}

function loadLasv( http )
{
	var result;
	
	if( http == "A" ) result = (abReverse == 0 ? "resulta":"resultb");
	else result = (abReverse == 0 ? "resultb":"resulta");
	
	if( typeAgent == 1 ) document.getElementById( result ).style.visibility = 'hidden';
	document.getElementById( result ).innerHTML = (http == "A" ? lasvStrA:lasvStrB);
	if( typeAgent == 1 ) document.getElementById( result ).style.visibility = 'inherit';
}

function initReverse()
{
	if( abReverse == 0 ) return;
	abReverse = 0;
	if( typeAgent == 1 ){
		document.getElementById( "resulta" ).style.visibility = 'hidden';
		document.getElementById( "resultb" ).style.visibility = 'hidden';
	}
	document.getElementById( "resulta" ).innerHTML = lastStrA;
	document.getElementById( "resultb" ).innerHTML = lastStrB;
	if( typeAgent == 1 ){
		document.getElementById( "resulta" ).style.visibility = 'inherit';
		document.getElementById( "resultb" ).style.visibility = 'inherit';
	}
}

function funcReview( step,items,pages,newno )
{
	if( step == 2 && !window.confirm( strAlert["review"] ) ) return;
	if( step == 3 && !window.confirm( strAlert["delete"] ) ) return;
	if( step == 4 && !window.confirm( strAlert["gostop"] ) ) return;
	if( step == 5 && !window.confirm( strAlert["nostop"] ) ) return;
	var req = "action=40&step=" + step + "&items=" + items +
		"&pages=" + pages + "&newno=" + newno;
	if( document.forms[0].elements["no"] ){
		req += "&no=" + document.forms[0].elements["no"].value;
	}
	if( step == 2 ){
		var si = document.forms[0].elements["point"].selectedIndex;
		req += "&point=" +
		document.forms[0].elements["point"].options[si].value + "&UTFbody=" + 
		encodeURIComponent( document.forms[0].elements["UTFbody"].value ) + "&newno=" + newno;
		sendHttpAjax( "A",1,req,null,0 );
	}else sendHttpAjax( "A",0,req,null,0 );
}

function funcAmazon( step,items,pages,newno,index )
{
//	if( step == 3 && !window.confirm( strAlert["amazon"] ) ) return;
//	if( step == 3 ) step = 4;
	if( step == 5 && !window.confirm( strAlert["delete"] ) ) return;
	if( step == 6 && !window.confirm( strAlert["gostop"] ) ) return;
	if( step == 7 && !window.confirm( strAlert["nostop"] ) ) return;
	var chgca = 0;
	if( step == 1 ) abReverse = 1;
	var req = "action=50&step=" + step + "&items=" + items + "&pages=" + pages;
	if( document.forms[0].elements["no"] ) req += "&no=" + document.forms[0].elements["no"].value;
	if( newno < 0 ){ chgca = 1; newno = 0; } req += "&newno=" + newno;
	if( step == 2 || step == 3 ){
		var si = (chgca == 1 ? index:document.forms[0].elements["category"].selectedIndex);

		var exurl = "http://ecs.amazonaws.jp/onca/xml?AWSAccessKeyId=0PEWZ6CP2HHX7BGMYQ82&AssociateTag=compass080-22" +
		"&ItemPage=" + (newno > 0 ? newno:1) + "&Keywords=" + document.forms[0].elements["UTFkeyword"].value +
		"&Operation=ItemSearch&ResponseGroup=ItemAttributes,Images&SearchIndex=" + document.forms[0].elements["category"].options[si].value +
		"&Service=AWSECommerceService";
//		document.forms[0].elements["UnsignedURL"].value = exurl;
		var exreq = invokeRequest( exurl );
//		window.alert( exreq );
		req += "&THEamaexreq=" + encodeURIComponent( exreq );

		req += "&category=" +
		document.forms[0].elements["category"].options[si].value + "&UTFkeyword=" + 
		encodeURIComponent( document.forms[0].elements["UTFkeyword"].value );
		if( index >= 0 ){
 			req += "&cateback=";
			if( chgca == 1 ) req += document.forms[0].elements["category"].options[index].value;
			else document.forms[0].elements["cateback"].value;
			req += "&UTFkeyback=" + encodeURIComponent( document.forms[0].elements["UTFkeyback"].value );
		}
	}
	if( step == 3 || step == 4 ){
		req += "&amaid=" + document.forms[0].elements["amaid" + index].value + 
		"&UTFamaname=" + encodeURIComponent( document.forms[0].elements["amaname" + index].value ) + 
		"&RAWamalink=" + document.forms[0].elements["amalink" + index].value + 
		"&UTFamaactor=" + encodeURIComponent( document.forms[0].elements["amaactor" + index].value ) + 
		"&UTFamamaker=" + encodeURIComponent( document.forms[0].elements["amamaker" + index].value ) + 
		"&RAWamaimage=" + document.forms[0].elements["amaimage" + index].value + 
		"&RAWamaimbig=" + document.forms[0].elements["amaimbig" + index].value + 
		"&UTFamaprice=" + encodeURIComponent( document.forms[0].elements["amaprice" + index].value ) + 
		"&UTFamafamily=" + encodeURIComponent( document.forms[0].elements["amafamily" + index].value ) + 
		"&amardate=" + document.forms[0].elements["amardate" + index].value;
		if( step == 4 && document.forms[0].elements["UTFbody"] ){
			req += "&UTFbody=" + encodeURIComponent( document.forms[0].elements["UTFbody"].value );
		}
		sendHttpAjax( "B",1,req,"waiter",(step != 0 && step != 4 ? 1:0) );
	}else sendHttpAjax( "B",0,req,(step != 0 ? "waiter":null),(step != 0 && step != 4 ? 1:0) );
}

function openWebsite( url,target )
{
	var win = window.open( url,target );
	win.focus();
}

function openAmasite( url,asin )
{
	var obj = makeHttpAjax( null );
	if( obj ){
		obj.open( "GET","amazon.cgi?id=" + asin,true );
		obj.send( null );
	}
	var win = window.open( url,"_blank" );
	win.focus();
}

function innerChange( dst,src,key )
{
	if( typeAgent == 1 ) document.getElementById( dst ).style.visibility = 'hidden';
	var inn = document.getElementById( src ).innerHTML;
	if( key ) inn = inn.replace( /REPLACE/g,key );
	document.getElementById( dst ).innerHTML = inn;
	if( typeAgent == 1 ) document.getElementById( dst ).style.visibility = 'inherit';
}

function addEmojiKey( key,obj )
{
	document.forms[0].elements[obj].value += '#' + key + ';';
}

function techAction( flg )
{
	if( flg == 0 ){
		var i; var ike = document.forms[0].elements["ike"]; 
		for( i = 0; i < ike.length; i++ ){
			if( ike[i].checked ) break;
		}
		if( i >= ike.length ){
			window.alert( "イケてる・イケてない どちらかをご選択下さい。" );
		}
		else{
			document.forms[0].elements["step"].value = "1";
			cgiType = 1; document.forms[0].submit(); cgiType = 0;
		}
	}
	else{
		window.alert( "ご投票ありがとうございました！" );
	}
}

function writeAddress( ac,fg )
{
	if( fg == 0 ) document.write( ac + "@jorudan.co.jp" );
	else document.write( "<a href='mailto:" + ac + "@jorudan.co.jp'>" );
}

function happenSubmit( name,value )
{
	if( strAlert[name] && !window.confirm( strAlert[name] ) ) return;
	document.forms[0].elements[name].value = value;
	document.forms[0].submit();
}

function happenSubmitEx( name,value,naex,valex )
{
	if( strAlert[name] && !window.confirm( strAlert[name] ) ) return;
	document.forms[0].elements[name].value = value;
	document.forms[0].elements[naex].value = valex;
	document.forms[0].submit();
}

function handleSubmit()
{
	if( cgiType == 1 ) return true;
	if( !curFocus ) return false;
	if( curFocus == document.forms[0].elements["allkey"] ){
		if( curFocus.value.length <= 0 ) return false;
		document.forms[0].elements["action"].value = "15";
		return true;
	}
	if( curFocus == document.forms[0].elements["eml"] ||
		curFocus == document.forms[0].elements["pass"] ){
		document.forms[0].elements["step"].value = "1";
		return true;
	}
	if( curFocus == document.forms[0].elements["UTFkeyword"] ){
		if( curFocus.value.length <= 0 ) return false;
		funcAmazon( 2,0,0,0,(-1) );
	}
	return false;
}

function handleLoaded()
{
	initGlobals();
	if( document.forms[0].elements["funcreview"] ){
		funcReview( document.forms[0].elements["funcreview"].value,0,0,0 );
	}
	if( document.forms[0].elements["funcamazon"] ){
		funcAmazon( document.forms[0].elements["funcamazon"].value,0,0,0,(-1) );
	}
}
