/**
 * @param source
 *            Usually referer
 */
jslt.SearchAnalyzer = function(source) {
	this.source=''
		try{
			this.source =decodeURIComponent(source)
		}catch(e){}
	/**
	 * 2 level struct separated by | - first level, space second level
	 */
	this._enginesConfig = 'google. q=|szukaj.onet.pl/query.html qt=|bing. q=|as_referer.html q='
	this._analyzed=false
		this._analyze = function() {
		if(this._analyzed){
			return
		}
		this._analyzed=true
		var engines=this._enginesConfig.split('|');
		var i;
		for ( i = 0; i < engines.length; i++) {
			engines[i]=engines[i].split(' ')
		}
		var q=''
		for ( i = 0; i < engines.length; i++) {
			if(this.source.indexOf(engines[i][0])>-1){
				if(String(this.source).indexOf(engines[i][1])==1){
					console.log('engine not have configured field')
				}
				q=String(this.source).substring(String(this.source).indexOf(engines[i][1])+engines[i][1].length)
				var ampIndex=q.indexOf('&')
				if(ampIndex>-1){
					q=q.substring(0, ampIndex)
				}
				break;
			}
		}
		q=q.replace(/\+/g," ")
		//q=decodeURIComponent(q)
		this._phrase=q
		this._tokens=q.split(' ')
	}
	/**
	 * @return Array array of words
	 */
	this.getTokens = function() {
		this._analyze()
		return this._tokens
	}
	/**
	 * @return String Whole phase
	 */
	this.getPhrase = function() {
		this._analyze()
		return this._phrase
	}
}

