/**
 * モジュール名 : LPOスクリプト
 *
 * 例
 *
 * ▼ <head>〜</head>に記述する部分
 *
 * 	<script type="text/javascript" src="jslpo/jkl-parsexml.js"></script>
 * 	<script type="text/javascript" src="jslpo/prototype.js"></script>
 *
 * ▼ 本文中(<body>に記述する部分
 *
 * <div id="LPO_SPACE"><<ここにLPOコンテンツが配置される>></div>
 * <script type="text/javascript" src="jslpo/lpoChecker.js"></script>
 * <script>
 * <!--
 * 	lpoMaker.Config = 'jslpo/lpo/lpo-conf.txt';	// 設定ファイル
 * 	lpoMaker.create('LPO_SPACE');
 * //-->
 * </script>
 *
 **/

var lpoMaker = {

	Version: '1.0.0.0',

	Config: {	},

	Documents: {
		curHref: document.location,
		Referrer: document.referrer
	},

	create: function(div) {

		var divSpace = '';
		var sKeyword = '';

		if (document.getElementById(div))
			divSpace = document.getElementById(div);

		var sKeyword   = decodeURI(
								KeywordParser.create(this.Documents.Referrer)
							);

		var ConfigData = null;

		var url        = "jslpo/lpo/image-default.txt";

		try{
			var jXMLParser = new JKL.ParseXML.JSON( this.Config )
			ConfigData = jXMLParser.parse();
			if (ConfigData.length){
				for (var i = 0 ; i < ConfigData.length ; i++){
					if( sKeyword.match(ConfigData[i].name) ){
						url   = ConfigData[i].url;
						break;
					}
				}
			}else{
				;
			}
		}catch(e){alert(e.description);}

		this.load(url , divSpace);

	},
	load : function(url , div) {	new lpoContents.contents(url , div);	}

}

var lpoContents = {

	contents: function (url , div){

		var date   = new Date();
		url        = url + '?time=' + date.getTime() ;

		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: '', 
				onSuccess:function(httpObj){
					div.innerHTML = httpObj.responseText; },
				onFailure:function(httpObj){ 
					div.innerHTML = ''; }
			});

	}

};

var KeywordParser = {

	create : function(referrer){

		var queryString = '';

		if( referrer.match(/google/) ){
			queryString = referrer.substring( referrer.indexOf('q=',0) );
		}else if( referrer.match(/yahoo/) ){
			if(referrer.match(/p=/) ){
				queryString = referrer.substring( referrer.indexOf('p=',0) );
			}
			else if(referrer.match(/K=/) ){
				queryString = referrer.substring( referrer.indexOf('K=',0) );
				queryString = queryString.substring( 2,queryString.indexOf('/',0) );
			}
		}else if( referrer.match(/bing/) ){
			queryString = referrer.substring( referrer.indexOf('q=',0) );
		}else if( referrer.match(/biglobe/) ){
			queryString = referrer.substring( referrer.indexOf('p=',0) );
		}else if( referrer.match(/goo.ne/) ){
			queryString = referrer.substring( referrer.indexOf('MT=',0) );
		}else if( referrer.match(/nifty/) ){
			queryString = referrer.substring( referrer.indexOf('Text=',0) );
		}else if( referrer.match(/excite.co/) ){
			if(referrer.match(/search=/) ){
				queryString = referrer.substring( referrer.indexOf('search=',0) );
			}
			else if(referrer.match(/s=/) ){
				queryString = referrer.substring( referrer.indexOf('s=',0) );
			}
		}
		else if( referrer.match(/infoseek.co/) ){
			queryString = referrer.substring( referrer.indexOf('qt=',0) );
		}
		else if( referrer.match(/aol/) ){
			if(referrer.match(/query=/) ){
				queryString = referrer.substring( referrer.indexOf('query=',0) );
			}
			else if(referrer.match(/query_contain=/) ){
				queryString = referrer.substring( referrer.indexOf('query_contain=',0) );
			}
		}
		else if( referrer.match(/fresheye/) ){
			queryString = referrer.substring( referrer.indexOf('name=',0) );
		}
		else{
			if( referrer.match(/q=/) ){
				queryString = referrer.substring( referrer.indexOf('q=',0) );
			}
			else if( referrer.match(/p=/) ){
				queryString = referrer.substring( referrer.indexOf('p=',0) );
			}
		}

		if( queryString.match(/&/) ){	queryString = queryString.substring( 2,queryString.indexOf('&',0) );	}
		else{	queryString = queryString.substring( 2 );	}

		return queryString;

	}

};


