﻿var XMLObjct;
function SetXMLObj()
{
	//XMLHttpRequestオブジェクトの取得	
	try
	{
		XMLObjct = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{		
		try
		{
			XMLObjct = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e)
		{
			XMLObjct = false;
		}
	}

	if (!XMLObjct && typeof XMLHttpRequest!='undefined')
	{
		XMLObjct = new XMLHttpRequest();
	}
}

//クッキーの取得
function getCookie(name){
	var search = name + '=';
	if (document.cookie.length>0)
	{
		offset = document.cookie.indexOf(search);
		if (offset != -1)
		{	
			offset += search.length;
			end = document.cookie.indexOf(';',offset);
			if (end == -1)
			{
				end = document.cookie.length;
			}
			return unescape(document.cookie.substring(offset,end));
		}
	}
	return null;
}

//コアになる関数
//【TagID】加算後の数字を入れるHTMLタグのID
//【Type】賛同数に加算なのか、参照数に加算なのか / agreesかview
//【ID】加算したいサイトID
//【Referer】どの画面からの投票か
function SendAndLoad(NumTagID,GraphTagID,Type,ID,SendURL,ClientHost,Referer)
{	
	SetXMLObj();
	if (XMLObjct)
	{
		XMLObjct.onreadystatechange = function()//コールバックを用意
		{
			//【readyState - オブジェクト状態を示す / 0=uninitialized / 1=loading / 2=loaded / 3=interactive / 4=complete】
			//【status - HTTPレスポンスステータスコード / 200とか404とか】
			//【responseText - HTTPレスポンスの内容を文字列として取得できるプロパティ】
			//【responseXML - HTTPレスポンスの内容をDOMドキュメントオブジェクトとして取得できるプロパティ】 
			if (XMLObjct.readyState == 4)
			{			
				var HTMLNumObj = document.getElementById(NumTagID);
				var HTMLGraphObj = document.getElementById(GraphTagID);			
				HTMLNumObj.innerHTML = XMLObjct.responseXML.getElementsByTagName("count").item(0).firstChild.data;
				HTMLGraphObj.innerHTML = "<img src=\"/images/spacer.gif\" height=\"1\" width=\"" + XMLObjct.responseXML.getElementsByTagName("percent").item(0).firstChild.data + "\" />";
			}
		}
			
		//データを送信
		XMLObjct.open('GET', SendURL + '?type=' + Type + '&id=' + ID + '&ref=' + Referer + '&host=' + ClientHost + '&guid=' + getCookie("GUID") + '&rnd=' + Math.random());//どうやら同じデータ内容だと、連続で受付してくれないようなので乱数をてきとうに
		//ここにスペースないとなぜか動かなくなる　クソバグ
		XMLObjct.send(null);		
	}
}

//コアになる関数 SendAndLoadの、TagIDがないバージョン
//【Type】賛同数に加算なのか、参照数に加算なのか / agreesかview
//【ID】加算したいサイトID
function OnlySend(Type,ID,SendURL,ClientHost,Referer)
{	
	SetXMLObj();
	if (XMLObjct)
	{	
		//データを送信
		XMLObjct.open('GET', SendURL + '?type=' + Type + '&id=' + ID + '&ref=' + Referer + '&host=' + ClientHost + '&guid=' + getCookie("GUID") + '&rnd=' + Math.random());//どうやら同じデータ内容だと、連続で受付してくれないようなので乱数をてきとうに
		//ここにスペースないとなぜか動かなくなる　クソバグ
		XMLObjct.send(null);
	}
}

//コアになる関数その2
//【pID】テイストID
//【gID】内容ID
//【cID】カラーID
//【fOnly】Flashのみ
//【fWord】フリーワード
//【tID】テクノロジID
//【sID】スクリーンサイズ
//【iID】国内・海外
//【aDate】追加日
//【aOnly】現行のみ
//【rOnly】オススメのみ
//【sKey】ソートキー
//【aType】アクションタイプ
//【guid】GUID
//【host】クライアントホスト
function PostSearchLog(pID,gID,cID,fOnly,fWord,tID,sID,iID,aDate,aOnly,rOnly,sKey,aType,guid,host,SendURL)
{	
	SetXMLObj();
	if (XMLObjct)
	{
		//データを送信
		XMLObjct.open('GET', SendURL + '?pID=' + pID + '&gID=' + gID + '&cID=' + cID + '&fOnly=' + fOnly + '&fWord=' + fWord + '&tID=' + tID + '&sID=' + sID + '&iID=' + iID + '&aDate=' + aDate + '&aOnly=' + aOnly + '&rOnly=' + rOnly + '&sKey=' + sKey + '&aType=' + aType + '&guid=' + guid + '&host=' + host + '&rnd=' + Math.random());
		//ここにスペースないとなぜか動かなくなる　クソバグ
		XMLObjct.send(null);
	}
}

//ムービー閲覧者管理
//【Type】アクションタイプ
//【ClientHost】クライアントホスト
//【Referer】どの画面からか
function VisitMovie(Type,ClientHost,SendURL)
{	
	SetXMLObj();
	if (XMLObjct)
	{	
		//データを送信
		XMLObjct.open('GET', SendURL + '?type=' + Type + '&host=' + ClientHost + '&guid=' + getCookie("GUID") + '&rnd=' + Math.random());//どうやら同じデータ内容だと、連続で受付してくれないようなので乱数をてきとうに
		//ここにスペースないとなぜか動かなくなる　クソバグ
		XMLObjct.send(null);
	}
}

//BRクリック報告
function BRClick(SendURL)
{	
	SetXMLObj();
	if (XMLObjct)
	{	
		//データを送信
		XMLObjct.open('GET', SendURL + '?rnd=' + Math.random());//どうやら同じデータ内容だと、連続で受付してくれないようなので乱数をてきとうに
		//ここにスペースないとなぜか動かなくなる　クソバグ
		XMLObjct.send(null);
	}
}
