var $qunar = {};

new function(){

	var searchURL = "http://deals.qunar.com/cdnWebservices.jcp?";
	//var searchURL = "http://192.168.100.63/cdnWebservices.jcp?";
	var resultPanel;
	var target = '_blank';
	var entries = null;
	var otherEnteries = null;
	var view_title="";
	var view_content="";

	$qunar.setPanel = function(id){
		resultPanel = document.getElementById(id);
	}

	$qunar.setTarget = function(t){
		target = t;
	}

	var _destroyContainer = null;
	function destroyElement(node){
		try{
			if(!_destroyContainer){
				_destroyContainer = document.createElement("div");
			}
			_destroyContainer.appendChild(node.parentNode ? node.parentNode.removeChild(node) : node);
			_destroyContainer.innerHTML = ""; 
		}catch(e){}		
	}
	
	var searchPort = null;

	var encs={"UTF-8":"UTF-8","GB2312":"GB2312","GBK":"GBK"};

	function utf8(wide) {
		var c, s;
		var enc = "";
		var i = 0;
		while(i<wide.length) {
		c= wide.charCodeAt(i++);
		// handle UTF-16 surrogates
		if (c>=0xDC00 && c<0xE000) continue;
		if (c>=0xD800 && c<0xDC00) {
		if (i>=wide.length) continue;
		s= wide.charCodeAt(i++);
		if (s<0xDC00 || c>=0xDE00) continue;
		c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
		}
		// output value
		if (c<0x80) enc += String.fromCharCode(c);
		else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));
		else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));
		else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));
		}
		return enc;
	}
	
	function toHex(n) {
		var hexchars = "0123456789ABCDEF";
		return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF);
	}
	
	function encodeURIComponentNew(s) {
		var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
		var s = utf8(s);
		var c;
		var enc = "";
		for (var i= 0; i<s.length; i++) {
			if (okURIchars.indexOf(s.charAt(i))==-1)
				enc += "%"+toHex(s.charCodeAt(i));
			else
				enc += s.charAt(i);

		}
		return enc;
	}

	$qunar.dealsSearch = function(from,count,discount,enc,ex_track,options){
		if(!encs[enc])
			alert("字符集设定错误！");
		var url = [ searchURL,
			"callback=$qunar.handle&from=",encodeURIComponentNew(from),"&count=",count,"&enc=",enc,"&discount=",discount,"&ex_track=",ex_track,"&v="+parseInt(new Date().valueOf()/1000000)
		].join('');
		if(searchPort)
			destroyElement(searchPort);

		searchPort = document.createElement("script");
		searchPort.type = "text/javascript";
		searchPort.src = url;
		document.getElementsByTagName("head")[0].appendChild(searchPort);
	}

	$qunar.handle = function(result){

		var htmls = [];		
		entries = result.entries;		
		for(var i=0;i<entries.length;i++){
			var entry = entries[i];
			if(i == 0) htmls.push('<ul class="from"><li>',entry.from,'折扣机票</li></ul>');
			if(i%6 == 0)  htmls.push('<ul class="guoneiflights">');
			htmls.push('<li><a href="',entry.url,'" target="_blank"><span class="date">',entry.flightDate,'</span>',entry.from,'-',entry.to,'<span class="price">',entry.price,'</span>(',entry.discount,')</a></li>');			
			if(i%6 == 5) htmls.push('</ul>');
		}
		htmls.push('<div class="clear"></div>');
		resultPanel.innerHTML = htmls.join('');
	}
}



