var tab_mode="open";
var editing_mode=false;

function clear_text(){
document.getElementById('q_box').value='';
document.getElementById('q_box').focus();
document.getElementById('clear_button').style.display="none";
clear_suggest();
}


// 20080424 upside down
function tab_control(mode,e){
//	if(tab_mode==mode) return;

	var p_frame = getObject("lazy_frameset",1);
	var fc = getObject("framecontrol");
	var curtain = getObject("curtain");

curtain.style.display="none";

	tab_mode=mode;
	if (mode == "close")    {
	  if(!editing_mode) {
		 // p_frame.rows = "25,*";		 
		 // curtain.style.display="block";
	  }

	  fc.innerHTML="open";
	  
	}
	if (mode == "close2")    {
		if(	p_frame.rows == "160,*") {window.parent.document.location=main_frame_url;return}
		else {
		//	p_frame.rows = "25,*";
			//curtain.style.display="block";
		}

	}
	else  if (mode == "open")   {
		//say(window.event.clientX)
	if(window.event.clientX<3300 && !editing_mode) {
		q_box=document.getElementById('q_box');
		q_box.focus();
		//SetCaretPosition(q_box);
		q_box.select();
		editing_mode=true;
	}

	  if(editing_mode ) {
		  p_frame.rows = "*,0";
		  fc.innerHTML="close";
	  }
	  else {
		 // p_frame.rows = "160,*";
		   fc.innerHTML="remove";
	  }
	}

}


function getObject(objectId,parent){
	var doc=document;
	if(parent) doc = window.parent.document;
  if (doc.getElementById && doc.getElementById(objectId))  {
      return doc.getElementById(objectId);
	}
  else
    if (doc.all && doc.all(objectId)) {
        return doc.all(objectId);
      }
    else
      if (doc.layers && doc.layers[objectId]) {
          return doc.layers[objectId];
        }
      else  {
          return false;
        }
}

var browserName=navigator.appName; 

function CopyToClipboard(){
	return;
if (browserName!="Microsoft Internet Explorer") return;
   CopiedTxt = document.selection.createRange();
   CopiedTxt.execCommand("Copy");
}

function ClipBoard(value) {
	return;
	if (browserName!="Microsoft Internet Explorer") return;
holdtext=document.createElement("textarea");
holdtext.innerText = value
Copied = holdtext.createTextRange();
Copied.execCommand("Copy");
}

function PasteFromClipboard(el){ 
	return;
	if (browserName!="Microsoft Internet Explorer") {
return;
	}
	else{
   PastedText = el.createTextRange();
   PastedText.execCommand("Paste");
	}
} 




function fonetiks(){
	return;
val=document.getElementById('q_box').value;
fonetiks_frame = getObject("fonetiks");
if(val.match(/^\s*[a-zA-Z0-9 ]+\s*$/)) 
	fonetiks_frame.src="http://www.howjsay.com/index.php?word="+val;
}



// ½ÃÀÛ
function init(){
	suggestionTimerId = setInterval ( "autocomplete()", 1000 );
	q_box=document.getElementById('q_box');


	checked_type=document.getElementById('cat1');
	set_category(checked_type);

	if(q_box.value=="") {
		editing_mode=true;
		PasteFromClipboard(q_box);
		//SetCaretPosition(q_box);

	}
	//guess_word_obj=document.getElementById('guess_word');
	//guess_word_obj.onclick=set_guess_word("");
		
		q_box.select();
		q_box.focus();
}

function editingmodeon(){
	//selected_word_id=-1;
	editing_mode=true;
	tab_control("open");
	eCancel();
}

var searchword="";
var suggestionTimerId;
var suggestion_off=0;
var qs_ac_id=0;
var last_search_word;


// ÀÚµ¿¿Ï¼º È£Ãâ
function autocomplete(){
	//À§Ä¡
//	balloon_window2.style.top=suggest_keyword.offsetTop-13;

	q_box=document.getElementById('q_box');
	if(selected_word_id!=-1){
		predictive_window=document.getElementById('predictive');
		word_list=predictive_window.getElementsByTagName('LI');
		if(q_box.value==strip_html(word_list[selected_word_id].innerHTML) ) return;
	}

	suggestion(q_box.value);
}



var suggestion_server="http://searchredesign.com/lazysearch/suggestion.php?q=";  // utfÄõ¸®¸¦ euc-kr·Î º¯È¯ÇÏ¿© °á°ú¸¦ utf·Î º¯È¯
var suggestion_server="/lazysearch/suggestion.php?q=";  // utfÄõ¸®¸¦ euc-kr·Î º¯È¯ÇÏ¿© °á°ú¸¦ utf·Î º¯È¯
var direct_answer_server="/lazysearch/directanswer.php?q="; 
//var directanswer_server="/taekie/iphone/directanswer.php?q=";  
var gweb_server="http://www.google.com/uds/GwebSearch?callback=gweb_show&context=0&lstkp=0&rsz=small&hl=ko&gss=.com&sig=db97dedc53a7823c4e956f1147127ec7&start=0&key=notsupplied&v=1.0&q=";
var gweb_wiki_server="http://www.google.com/uds/GwebSearch?callback=gweb_wiki_show&context=0&lstkp=0&rsz=small&hl=ko&gss=.com&sig=db97dedc53a7823c4e956f1147127ec7&start=0&key=notsupplied&v=1.0&q=";
var xml_server="/lazysearch/xmlrequest.php?q=";
var music_server="http://book.interpark.com/gate/js/get_ac.jsp?p=1&fiter=CD&q=";
var gvideo_server="/iphone/kr2utf.php?q=http://www.google.com/uds/GvideoSearch?callback=gvideo_show&context=0&lstkp=0&rsz=small&hl=ko&gss=.com&sig=db97dedc53a7823c4e956f1147127ec7&start=0&key=notsupplied&v=1.0&nocache=1205075950029&q=";
var gbook_server="/iphone/kr2utf.php?q=http://www.google.com/uds/GbookSearch?callback=gbook_show&context=0&lstkp=0&rsz=small&hl=ko&gss=.com&sig=db97dedc53a7823c4e956f1147127ec7&start=0&key=notsupplied&v=1.0&nocache=1205075950029&q=";

var blog_api_server="/lazysearch/naver_blog_api.php?type=blog&q=";

var flickr_server="http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68608c092d0f3d670fe05f77367b2098&format=json&per_page=9&sort=relevance&text=";
//var flickr_server="http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68608c092d0f3d670fe05f77367b2098&format=json&per_page=9&sort=interestingness-desc&text=";

var img_proxy="/lazysearch/img.php?url=";


var suggest_list="";
var direct_answer="";
var book_list="";
var video_list="";
var suggest_type;

var last_call_script="none";
var last_call_script2;
var last_call_script3;

var last_suggest_word_search="";
var last_guess_word_search="";
var guess_word="";
var ban_guess_word;


//ÀÚµ¿ÃßÃµ¾î
function set_guess_word(word){
	if(word==ban_guess_word) return;
	guess_word_obj=document.getElementById('guess_word');
	q_box=document.getElementById('q_box');

	var word2=word;
	if(word=="") 	{
		word2=q_box.value;
		//ban_guess_word=guess_word;
	}
	
	guess_word=word2;
	guess_word_obj.style.display=(guess_word==q_box.value)? "none" : "block";

	guess_word_obj.innerHTML=guess_word+"<span style='color:#aaa;'> x</span>";
	//guess_word_obj.onclick=set_guess_word("");
	if(word) get_direct_answer();
}

function clear_suggest(){
	selected_word_id=-1;
	people_search="";
	music_list="";
	video_list="";
	direct_answer="";
	suggest_list="";
	book_list="";
	direct_wiki="";
	blog_search="";
	keyword_list="";
	keyword_list2="";
	google_search="";
	dictionary_search="";
	photo_list="";
	local_list="";
shopping_list="";
news_search="";
shortcut_search="";

	last_suggest_word_search="";
	last_guess_word_search="";

	set_guess_word("");
	update_suggest();
}

var last_call_time;


function suggestion(word){
	if(suggestion_off) return;

document.getElementById('clear_button').style.display= word ? 'block' : 'none';

	if(!word) {
		clear_suggest();
		return;
	}

	
	var e = e || window.event;
	try {
		var t=new Date(); var tt=t.valueOf( );
		last_call_time=tt;

		if(last_suggest_word_search!=word){
			last_suggest_word_search=word;
			word=encodeURIComponent(word);
			var script = document.createElement('script');
			script.type = 'text/javascript';
			script.charset = 'UTF-8';
			script.id="suggest_script1";
			script.src =suggestion_server+word+"&type="+suggest_type+"&refresh="+tt;
			last_call_script=document.getElementsByTagName('head')[0].appendChild(script);

			document.getElementById('askresult').innerHTML="";
		}

    } catch(e) {
     // this.dispatchEvent('Exception', e);
    }
}

function recent_keyword(){
//	window.alert(guess_word);
		var t=new Date(); var tt=t.valueOf( );
if(guess_word=="" && suggest_type=="news"){
	var script2 = document.createElement('script');
	script2.type = 'text/javascript';
	script2.charset = 'UTF-8';
	script2.src =direct_answer_server+"%3F&type="+suggest_type+"&refresh="+tt;
	last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
	last_guess_word_search="?";
document.getElementById('q_box').value="?";
}
}

function get_direct_answer(){
//window.alert(1);
	try {
	var t=new Date(); var tt=t.valueOf( );
		//´ÙÀÌ·ºÆ® ¾Ø¼­
		if(last_guess_word_search!=guess_word) {
			last_guess_word_search=guess_word;
			word=encodeURIComponent(guess_word.trim());

			var script2 = document.createElement('script');
			script2.type = 'text/javascript';
			script2.charset = 'UTF-8';

			if(suggest_type=="book"){//µµ¼­°Ë»ö
				if(!guess_word.match(/[^a-z A-Z0-9\-]+/)){ //¿µ¾î¸é
					script2.src =gbook_server+word+"&type="+suggest_type+"&nocache="+tt;
					last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
				}
				else {
					book_search(xml_server+word+"&type="+suggest_type+"&refresh="+tt);
				}
			}
			
			if(suggest_type=="shopping"){//¼îÇÎ°Ë»ö
					shopping_search(xml_server+word+"&type="+suggest_type+"&refresh="+tt);
			}	

			if(suggest_type=="word"){//»çÀü
				
				//script2.src =gweb_server+word+" site:wikipedia.org&nocache="+tt; //À§Å°
				script2.src =direct_answer_server+word+"&type="+suggest_type+"&refresh="+tt; //¾ßÈÄ»çÀü
				last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
				//dictionary_search(xml_server+word+"&type=dictionary&refresh="+tt);
			}
			if(suggest_type=="web" ){
				script2.src =gweb_server+word+"&nocache="+tt;
				last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
			

				var script3 = document.createElement('script');
				script3.type = 'text/javascript';
				script3.charset = 'UTF-8';
				script3.src =gweb_server+word+" site:wikipedia.org -site:zh.wikipedia.org&nocache="+tt;
					script3.src =direct_answer_server+word+"&type=shortcut&refresh="+tt;
				last_call_script2=document.getElementsByTagName('head')[0].appendChild(script3);
			}
			if(suggest_type=="music" ){
				var script3 = document.createElement('script');
				script3.type = 'text/javascript';
				script3.charset = 'UTF-8';
				script3.src =suggestion_server+word+"&type=music_album&refresh="+tt;
				last_call_script2=document.getElementsByTagName('head')[0].appendChild(script3);
			}

			if(suggest_type=="video" ){
				script2.src =gvideo_server+word+"&nocache="+tt;
				last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
			}
			if(suggest_type=="photo" ){
				script2.src =flickr_server+word.replace("%20","_")+"&page="+1+"&refresh="+tt;
				last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
			}
	
			if(suggest_type=="blog" ){
				script2.src =blog_api_server+word+"&nocache="+tt;
				last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
			}

			if(suggest_type=="web" || suggest_type=="music" || suggest_type=="map" || suggest_type=="photo" || suggest_type=="blog" || suggest_type=="video" || suggest_type=="book"|| suggest_type=="news" ){
				var script2 = document.createElement('script');
				script2.type = 'text/javascript';
				script2.charset = 'UTF-8';
				script2.src =direct_answer_server+word+"&type="+suggest_type+"&refresh="+tt;
			//	last_call_script2=document.getElementsByTagName('head')[0].appendChild(script2);
			}
		}
	} catch(e) {
     // this.dispatchEvent('Exception', e);
    }
}

var shopping_list="";
function shopping_search(url){
if(window.ActiveXObject){var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
else if(window.XMLHttpRequest){var xmlhttp = new XMLHttpRequest();}

	xmlhttp.open("GET",url,true);
	xmlhttp.send();
	xmlhttp.onreadystatechange = function() {


		if (xmlhttp.readyState != 4 ) return;
		var items= xmlhttp.responseXML.getElementsByTagName('item');
		var s="";
		for (var i = 0; i < items.length && i<5; i++ ) { 
			var desc="";
			title=items[i].childNodes[0].firstChild.nodeValue;
			link=items[i].childNodes[1].firstChild.nodeValue;
			image=items[i].childNodes[2].firstChild.nodeValue;
		//	if(items[i].childNodes[3].firstChild) author=items[i].childNodes[3].firstChild.nodeValue;
		//	else author="";
			if(items[i].childNodes[3].firstChild) price=items[i].childNodes[3].firstChild.nodeValue;
 

			link="<li onclick='go(\""+link +"\")'>";
			title=title.replace("<b>","<strong>").replace("</b>","</strong>");
			desc="<br><span class=desc>"+commify(price)+"¿ø</span><br><nobr class=desc2>"+desc+"</nobr>";
			cover="<img class=bookcover style='width:60px;border:1px solid #888;' src="+image+" />";
			s=s+link+"<div style='width:200;*width:210px;'><div style='float:left;'>"+cover+"</div><div style='float:left;width:130;'>"+title+desc+"</div><br clear  style='clear:both;'></div>";
			
			thumb_img="<img class=thumb src='"+image+"'>";
			//s=s+link+"<div style='width:200; '><div style='float:left;clear:left;padding-right:5px;'>"+thumb_img+"</div> "+title+desc+" <br clear  style='clear:both;'></div>";

		}
		shopping_list=s;
		update_suggest();
	}
}

function commify( n )
{
 var reg = /(^[+-]?\d+)(\d{3})/;   // Á¤±Ô½Ä
 n += '';                          // ¼ýÀÚ¸¦ ¹®ÀÚ¿­·Î º¯È¯ 
 while( reg.test( n ) )
  n = n.replace( reg, '$1' + ',' + '$2' );

 return n;
}



function book_search(url){
if(window.ActiveXObject){var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
else if(window.XMLHttpRequest){var xmlhttp = new XMLHttpRequest();}

	xmlhttp.open("GET",url,true);
	xmlhttp.send();
	xmlhttp.onreadystatechange = function() {


		if (xmlhttp.readyState != 4 ) return;
		var items= xmlhttp.responseXML.getElementsByTagName('item');
		var s="";
		for (var i = 0; i < items.length && i<3; i++ ) { 
			var desc="";
			title=items[i].childNodes[0].firstChild.nodeValue;
			link=items[i].childNodes[1].firstChild.nodeValue;
			image=items[i].childNodes[2].firstChild.nodeValue;
			if(items[i].childNodes[3].firstChild) author=items[i].childNodes[3].firstChild.nodeValue;
			else author="";
			if(items[i].childNodes[4].firstChild) price=items[i].childNodes[4].firstChild.nodeValue;
			if(xmlhttp.responseXML.getElementsByTagName('description')[i+1].hasChildNodes())
			desc=xmlhttp.responseXML.getElementsByTagName('description')[i+1].firstChild.nodeValue;

			link="<li onclick='go(\""+link +"\")'>";
			title=title.replace("<b>","<strong>").replace("</b>","</strong>");
			desc="<br><span class=desc>"+author+"<br>"+commify(price)+"¿ø</span><br><nobr class=desc2>"+desc+"</nobr>";
			cover="<img class=bookcover src="+image+" />";
			s=s+link+"<div style='width:200;'><div style='float:left;'>"+cover+"</div><div style='float:left;width:150;'>"+title+desc+"</div><br clear  style='clear:both;'></div>";
		}
		book_list=s;
		update_suggest();
	}
}

var direct_answer_dict;
function dictionary_search(url){
	if(window.ActiveXObject){var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
	else if(window.XMLHttpRequest){var xmlhttp = new XMLHttpRequest();}

	xmlhttp.open('GET',url,'true');
	xmlhttp.send();
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState != 4 ) return;
		var items= xmlhttp.responseXML.getElementsByTagName('item');
		var s="";
		var n=0;
		for (var i = 0; i < items.length ; i++ ) { 
			var desc="";
			title=items[i].childNodes[0].firstChild.nodeValue;
			link=items[i].childNodes[1].firstChild.nodeValue;
			if(xmlhttp.responseXML.getElementsByTagName('description')[i+1].hasChildNodes())
			desc=xmlhttp.responseXML.getElementsByTagName('description')[i+1].firstChild.nodeValue;
			
			if(link.match("en.wikipedia.org")) continue; //ÇÑ±Û¸¸

			link="<li onclick='go(\""+link +"\")'>";
			title=title.replace("<b>","<strong>").replace("</b>","</strong>");
			
			if(n++>0) desc="<br><span class=desc_dict >"+desc+"</span>";
			else desc="<br><span class=desc_dict style='display:block'>"+desc+"</span>";

			favicon_url="http://"+link.split("/")[2]+"/favicon.ico";
			favicon="<img src="+favicon_url+" style='margin-left:-20px;padding:0px;margin-right:0px;' width=16 height=16 align=absmiddle onerror=this.src='/lazysearch/favicon.png'; />";
			//favicon="<a href=xx.xx>"+favicon+"</a>";
			if(link.match("encyber")) favicon="";
			s=s+link+favicon+title+desc;
			//s=s+link+title+desc;
		}
		direct_answer_dict=s;
		update_suggest();
	}
}

function set_cc(qs_q, qs_ac_list, qs_ac_id, qs_m, qs_opp_list, qs_errata, qs_err_ac_list, qs_err_opp_list){
}

// ÀÚµ¿¿Ï¼º Ç¥½Ã

function common_part(w1,w2){
	var i=0;
	var phrase1=w1.split(" ");
	var phrase2=w2.split(" ");
	var phrase="";
	while(phrase1[i]==phrase2[i]){
		phrase+=phrase1[i++]+" ";
	}
  return phrase.trim();
}

var q_history_str=getCookie("query");
var q_history=q_history_str.split(",");

function ac_show(qs_q, qs_ac_list, qs_ac_id, qs_m, qs_opp_list, qs_errata, qs_err_ac_list, qs_err_opp_list,time){
//	if(q_word!==qs_q) return; //´À¸°ÀÀ´ä ¹«½Ã
	if(time && time!=last_call_time) return; //´À¸°ÀÀ´ä ¹«½Ã

var s="";

//Äõ¸® È÷½ºÅä¸® ÄíÅ°

say("q="+q_history_str);

var r=0;
for (var i = 0; i < q_history.length && r<3  ; i++ ) {
	if(q_history[i] && qs_q.length>=3 && q_history[i].match(qs_q) && q_history[i]!=qs_ac_list[0]) {
		qs_ac_list.unshift(q_history[i]);
		r++;
	}
}

if(qs_ac_list.length ) {
	var phase=qs_ac_list[0];
	var q_word=document.getElementById('q_box').value;
	var q_word_len=q_word.length;



//	var theright=phase.indexOf(" ",fromindex);
//	if(theright!=-1) qs_ac_list.unshift(phase.substring(0,theright));
	if(suggest_type!="book" && qs_ac_list.length>1) {
		//var theright=phase.lastIndexOf(" ");
	//if(theright >= fromindex) qs_ac_list.unshift(phase.substring(0,theright));
	var common_phrase=common_part(qs_ac_list[0],qs_ac_list[1]);
	if(common_phrase!=qs_ac_list[0] && common_phrase.length >=q_word_len) qs_ac_list.unshift(common_phrase);
	}
	var pattern=new RegExp("^"+selected_suggest_keyword+"$","i");
	if(q_word==selected_suggest_keyword && !qs_ac_list[0].match(pattern) ) {
		qs_ac_list.unshift(selected_suggest_keyword);
		selected_suggest_keyword="";
	}
}

	if(qs_ac_list.length) set_guess_word(qs_ac_list[0]);
	else set_guess_word("");

	for (var i = 0; i < qs_ac_list.length  ; i++ ) { //ÀÔ·Â¿¹»ó
	//if(qs_q==qs_ac_list[i] || !qs_ac_list[i]) continue;
		link="<li onclick='select_suggest(\""+qs_ac_list[i].quote()+"\")'>";
		var reg = new RegExp("("+qs_q+")", "i");
		suggest_word=qs_ac_list[i].replace(reg,"<strong>$1</strong>");
		//suggest_word=qs_ac_list[i].replace(qs_q,"<strong>"+qs_q+"</strong>");
		s=s+link+suggest_word+"</li>";
	  }

if(qs_q.length>1){ 
	for (var i = 0; i < qs_opp_list.length  ; i++ ) { //ÀÔ·Â¿¹»ó
	if(qs_q==qs_opp_list[i]|| !qs_opp_list[i]) continue;
		link="<li onclick='select_suggest(\""+qs_opp_list[i].quote()+"\")'>";
		suggest_word=qs_opp_list[i].replace(qs_q,"<strong>"+qs_q+"</strong>");
		s=s+link+suggest_word+"</li>";
	  }
}

se="http://search.naver.com/search.naver?where=nexearch&query=";
s=s.replace(/select_suggest\(\"/g,"go(\""+se);

	// s=s.replace("<li","<span class=keyword");
	s=s.replace(/<\/span>/g,"</span><br>");
	//if(s) s="<li id='suggestion_keyword'><span class=desc><span class=red>Suggestion</span><br>"+s+"</desc>";
	suggest_list=s;

	update_suggest();

}


var player="";

//daum map
function local_suggest_show(json_obj){
	if(json_obj.rq!=document.getElementById('q_box').value.trim()) return;
	var s="";
	player="";
	var suggest_word;
	

//say(suggest_word);

	if( json_obj.items.length) set_guess_word(json_obj.items[0]);
	else set_guess_word("");

	
	for (var i = 0; i < json_obj.items.length; i++ ) {
		suggest_word=json_obj.items[i];
		link="<li onclick='select_suggest(\""+suggest_word+"\")'>";
		suggest_word=suggest_word.replace(json_obj.rq,"<strong>"+json_obj.rq+"</strong>");
		s=s+link+suggest_word+"";
	}


	for (var i = 0; i < json_obj.r_items.length; i++ ) {
		suggest_word=json_obj.r_items[i];
		link="<li onclick='select_suggest(\""+suggest_word+"\")'>";
		suggest_word=suggest_word.replace(json_obj.rq,"<strong>"+json_obj.rq+"</strong>");
		s=s+link+suggest_word+"";
	}

	suggest_list=s;
	update_suggest();
}



//daum dictionary
function dictionary_suggest_show(json_obj){
	//if(json_obj.query!=document.getElementById('q_box').value.trim()) return;
	var s="";
	player="";
	var suggest_word="";
	

//say(suggest_word);

if(json_obj.pre.length ) {
	var phrase=json_obj.pre[0];
	var fromindex=document.getElementById('q_box').value.length;
	var theright=phrase.indexOf(" ",fromindex);
//	if(theright!=-1) json_obj.pre.unshift(new Array(phrase.substring(0,theright)));
	if(theright!=-1) json_obj.pre.unshift(phrase.substring(0,theright));


var typed_word=document.getElementById('q_box').value;
	for (var i = 1; i < json_obj.pre.length; i++ ) {
		var phrase=json_obj.pre[i];
		var theright=phrase.indexOf(" ",fromindex);
		if(theright!=-1){
			var tok=phrase.substring(0,theright);
			if(tok.search(typed_word,"i")==0) {
				//if(tok!=json_obj.pre[0]) json_obj.pre.unshift(new Array(tok));
				if(tok!=json_obj.pre[0]) json_obj.pre.unshift(tok);
				break;
			}
		}
	}

}

	if( json_obj.pre.length) set_guess_word(json_obj.pre[0]);
	else set_guess_word("");

	
	for (var i = 0; i < json_obj.pre.length; i++ ) {
		var suggest_word=json_obj.pre[i];
		if(suggest_word){
			link="<li onclick='select_suggest(\""+suggest_word+"\")'>";
			try{
			suggest_word=suggest_word.replace(json_obj.query,"<strong>"+json_obj.query+"</strong>");
			}catch(e){}
			s=s+link+suggest_word+"";
		}
	}

if(json_obj.query.length>2){
	for (var i = 0; i < json_obj.pos.length; i++ ) {
		var suggest_word=json_obj.pos[i];
		link="<li onclick='select_suggest(\""+suggest_word+"\")'>";
		suggest_word=suggest_word.replace(json_obj.query,"<strong>"+json_obj.query+"</strong>");
		s=s+link+suggest_word+"";
	}
}
	//suggest_list=s+player;
	suggest_list=s;
	update_suggest();
}


//±¸±Û»çÀü
function dictionary_suggest_show2(json_obj){
	//if(json_obj.query!=document.getElementById('q_box').value.trim()) return;
	var s="";
	player="";
	var suggest_word="";
	

//say(suggest_word);
var query=json_obj[0];
var wordlist=json_obj[1];

/*
if(wordlist.length ) {
	var phrase=json_obj[0];
	var fromindex=document.getElementById('q_box').value.length;
	var theright=phrase.indexOf(" ",fromindex);
//	if(theright!=-1) json_obj.pre.unshift(new Array(phrase.substring(0,theright)));
	if(theright!=-1) wordlist.unshift(phrase.substring(0,theright));


var typed_word=document.getElementById('q_box').value;
	for (var i = 1; i < json_obj.pre.length; i++ ) {
		var phrase=json_obj.pre[i];
		var theright=phrase.indexOf(" ",fromindex);
		if(theright!=-1){
			var tok=phrase.substring(0,theright);
			if(tok.search(typed_word,"i")==0) {
				//if(tok!=json_obj.pre[0]) json_obj.pre.unshift(new Array(tok));
				if(tok!=json_obj.pre[0]) json_obj.pre.unshift(tok);
				break;
			}
		}
	}

}
*/

	if( wordlist.length) set_guess_word(wordlist[0][0]);
	else set_guess_word("");

	
	for (var i = 0; i <wordlist.length; i++ ) {
		var suggest_word=wordlist[i][0];
		if(suggest_word){
			//link="<li onclick='select_suggest(\""+suggest_word+"\")'>";
			link="<span onclick='select_suggest(\""+suggest_word+"\")' class=active_link style='padding-right:10px;font-size:13px;line-height:20px;font-weight:800;color:#fff;'>";
			try{
			suggest_word=suggest_word.replace(query,"<strong>"+query+"</strong>");
			}catch(e){}
	
//			desc="<br><nobr class=desc2>"+content+"</nobr>";
			//desc=" <span class=desc2 style='padding-left:10px;padding-right:5px;'>"+wordlist[i][1]+"</span>";
			desc=wordlist[i][1];
			//s=s+link+"<nobr>"+suggest_word+desc+"</nobr>";
s=s+"<tr><td class=desc2 >"+link+suggest_word+"</span>"+desc+"</td></tr>";
			//s=s+link+"<div style='width:200;'><div style='float:left;'>"+suggest_word+"</div><div style='float:right;'>"+desc+"</div><br clear style='clear:both;'></div>";


		}
	}

	//suggest_list=s+player;
	suggest_list="<table class=fixed_table>"+s+"</table>";
	update_suggest();
}

/*
//yahoo dictionary
function dictionary_suggest_show(json_obj){
	if(json_obj.query!=document.getElementById('q_box').value.trim()) return;
	var s="";
	player="";
	var suggest_word;
	

//say(suggest_word);

if(json_obj.pre.length ) {
	var phrase=json_obj.pre[0][0];
	var fromindex=document.getElementById('q_box').value.length;
	var theright=phrase.indexOf(" ",fromindex);
	if(theright!=-1) json_obj.pre.unshift(new Array(phrase.substring(0,theright)));


var typed_word=document.getElementById('q_box').value;
	for (var i = 1; i < json_obj.pre.length; i++ ) {
		var phrase=json_obj.pre[i][0];
		var theright=phrase.indexOf(" ",fromindex);
		if(theright!=-1){
			var tok=phrase.substring(0,theright);
			if(tok.search(typed_word,"i")==0) {
				if(tok!=json_obj.pre[0][0]) json_obj.pre.unshift(new Array(tok));
				break;
			}
		}
	}

}

	if( json_obj.pre.length) set_guess_word(json_obj.pre[0][0]);
	else set_guess_word("");

	
	for (var i = 0; i < json_obj.pre.length; i++ ) {
		suggest_word=json_obj.pre[i][0];
		if(suggest_word){
			link="<li onclick='select_suggest(\""+suggest_word+"\")'>";
			suggest_word=suggest_word.replace(json_obj.query,"<strong>"+json_obj.query+"</strong>");
			s=s+link+suggest_word+"";
		}
	}


	for (var i = 0; i < json_obj.pos.length; i++ ) {
		suggest_word=json_obj.pos[i][0];
		link="<li onclick='select_suggest(\""+suggest_word+"\")'>";
		suggest_word=suggest_word.replace(json_obj.query,"<strong>"+json_obj.query+"</strong>");
		s=s+link+suggest_word+"";
	}

	//suggest_list=s+player;
	suggest_list=s;
	update_suggest();
}
*/
// answers
function answer_show(qs_q, qs_ac_list, ac_desc, ac_link,xx){

	var s="";
	for ( var i = 0; i < qs_ac_list.length  ; i++ ) { //ÀÔ·Â¿¹»ó
		link="<li onclick='go(\"http://www.answers.com/topic/"+ac_link[i]+"\")'>";
		suggest_word=qs_ac_list[i]
		if(ac_desc[i]) suggest_word+=" <span class=desc>("+ac_desc[i]+")</span>";
		s=s+link+suggest_word;
	  }

	suggest_list=s;
	update_suggest();

}

var music_list="";

function music_show(qs_q, qs_ac_list){
	var s="";
	for ( var i = 0; i < qs_ac_list.length  ; i++ ) { //ÀÔ·Â¿¹»ó
	
		var re = new RegExp(/(.+) \* (.+) \^ (.+) > (.+) < (.+) # (.+) \$ (.+) ~ (.+) - (.+)/);
		var tok = re.exec(qs_ac_list[i]);
		if (tok != null) {
			link=tok[1];
			image=tok[2];
			artist=tok[8];
			label=tok[4];
			price=tok[5];
			album=tok[9];

			link="<li onclick='go(\""+link +"\")'>";	
			title=artist+"<br>"+album;
			var reg = new RegExp("("+qs_q+")", "i");
			title=title.replace(reg,"<strong>$1</strong>");

			desc="<br><span class=desc>"+price+"¿ø"+"</span>";
			cover="<img class=peoplecover src="+image+" />";
			s=s+link+"<div style='width:200;'><div style='float:left;'>"+cover+"</div><div style='float:left;width:140;'>"+title+desc+"</div><br clear  style='clear:both;'></div>";
		}
	  }

	music_list=s;
	update_suggest();

}

var dictionary_search="";

function dictionary_show(pname,desc){
	var s="";

	
	pname=pname.toLowerCase();
	title=pname;
	var reg = new RegExp("("+pname+")", "i");
	title=title.replace(reg,"<strong>$1</strong>");
	

//	link_url="http://kr.dictionary.search.yahoo.com/search/dictionaryp?subtype=eng&prop=0&fr=kr-front_sprit&p="+pname;
	link_url="http://www.google.co.kr/dictionary?langpair=en%7Cko&hl=ko&aq=0&oq=&q="+pname;
	//link="<li onclick='go(\""+link +"\")'>";	

	desc="<br><span class=desc onclick='go(\""+link_url +"\")'> "+desc+"</span>";

	favicon_url="http://kr.dictionary.search.yahoo.com/favicon.ico";
	favicon="<img src="+favicon_url+" style='margin-left:-20px;padding:0px;margin-right:3px;' width=16 height=16 align=absmiddle onerror=this.src='/lazysearch/favicon.png'; />";

if(pname.match(/[a-zA-Z -_]+/))
	mp3_src='http://msrv.yahoo.co.kr/SOUND/'+pname.charAt(0).toUpperCase()+'/'+pname.trim()+'.mp3';
else mp3_src="";
//player='<br><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,29,0" width="70" height="20" style="vertical-align: -3;"><param name="movie" value="http://img.yahoo.co.kr/dic3/2007/flash/y_mini_player3.swf"><param name="allowScriptAccess" value="always" /><param name=FlashVars value="mp3Src='+mp3_src+'"> <param name="quality" value="high"><param name="wmode" value="transparent"><embed src="http://img.yahoo.co.kr/dic3/2007/flash/y_mini_player3.swf" quality="high" FlashVars="mp3Src='+mp3_src+'" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always" type="application/x-shockwave-flash" width="70" height="20"></embed></object>';

//	player='<OBJECT width="0" height="0" CLASSID="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> <PARAM NAME="FileName" VALUE="'+mp3_src+'"> <PARAM NAME="PlayCount" VALUE="1"><param name="autostart" value="true" /><EMBED  id="phoneticsound" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" autostart="1" controller="1" PlayCount="1" src="'+mp3_src+'" width="0" height="0"></EMBED> </OBJECT>'

	link="<li onclick='soundplay(\""+mp3_src+"\")'>";	

	s=s+link+favicon+title+desc;
if (browserName=="Microsoft Internet Explorer") soundplay(mp3_src);
	dictionary_search = s;
//	say(s);
	update_suggest();
}

var keyword_list="";
var keyword_list2="";

var last_time_stamp=0;
var last_time_stamp2=0;

function show_interwiki(json_obj,time_stamp){

	if(time_stamp< last_time_stamp2) return;
else last_time_stamp2=time_stamp;

	var interwiki="";
	var i_index=0;
	var s="";
for (var i = 0; i < json_obj.results.length && i<100 ; i++ ) {
		var item= json_obj.results[i].item;
		var link="<span class=keyword  onclick='select_suggest(\""+item.replace("<b>","").replace("</b>","")+"\")'>";
		interwiki+=link+item+"</span>";
	}

		//link="<li onclick='go(\""+link +"\")'>";	
	if( json_obj.results.length){
		keywords="<span class=red>InterWiki</span><br>"+interwiki +"<br>";

			link="<li>";
			s=s+link+"<span class=desc>"+keywords+"</desc>";
	}
		keyword_list2 = s;
	//	say(s);
		update_suggest(1);
	
}

function keyword_show(pname,json_obj,time_stamp){

if(time_stamp< last_time_stamp) return;
else last_time_stamp=time_stamp;

//	var reg = new RegExp("("+last_suggest_word_search+")", "i");
//	if(!pname.match(reg)) return;
	
	var s="";
	var keywords="";
	var narrow="";
	var expand="";
	var names="";
	var n_index=0; var e_index=0; var p_index=0;
	var max_expand=12;
	if(suggest_type=="photo") max_expand=100;
	if(pname=="_realtime_") max_expand=100;

var reg = new RegExp(" ", "g");
var ptok=pname.replace(reg,"|");

	for (var i = 0; i < json_obj.results.length && i<100 ; i++ ) {
		var item= json_obj.results[i].item;
		var person= json_obj.results[i].person;
	

		if(person){
			var link="<span class=keyword  onclick='select_suggest(\""+person.replace("<b>","").replace("</b>","")+"\")'>";
			var reg = new RegExp("("+ptok+")", "i");
			
			if(!person.match("<b>")) person=person.replace(reg,"<b>$1</b>");
				if(p_index++>0) names+="";
				names+=link+person+"</span>";
		}else{
			var link="<span class=keyword  onclick='select_suggest(\""+item.replace("<b>","").replace("</b>","")+"\")'>";
			var reg = new RegExp("("+ptok+")", "ig");
			if(!item.match("<b>")) item=item.replace(reg,"<b>$1</b>");
			
			if(item.match("´ÙÀ½ >")) link="<br>"+link;

	//		if(item.search(pname)!=-1) {
			if(item.search("<b>")!=-1) {
			//	item=item.replace(pname,"<font style='color:#888;line-height:10px;'>"+pname+"</font>")
				if(n_index++>0) narrow+="";
				if(n_index<=8) narrow+=link+item+"</span><br>";
			}
			else {
				if(e_index++>0) expand+="";
				if(e_index<=max_expand)expand+=link+item+"</span>";
			}
		}
		
	}


		//link="<li onclick='go(\""+link +"\")'>";	
	if( json_obj.results.length){
		 narrow=narrow.replace(/<b>/ig,"<strong>").replace(/<\/b>/ig,"</strong>");
		if(n_index) keywords="<span class=red>Narrow</span><br>"+narrow +"";
		if(n_index && e_index) keywords+="<br>";
		if(e_index) keywords+="<span class=red>Expand</span><br>"+expand +"<br>";
		if(p_index) keywords+="<span class=red>Names</span><br>"+names +"<br>";

			link="<li>";
			s=s+link+"<span class=desc>"+keywords+"</desc>";
	}
		keyword_list = s;
	//	say(s);
		update_suggest(1);
	
}

var photo_list="";
function jsonFlickrApi(gJSONObject){
	s="";
	if(!gJSONObject || gJSONObject.stat != "ok" || gJSONObject.photos.page>gJSONObject.photos.pages) {
		return;
	}
var f_count=0;
	for (var i = 0; i < gJSONObject.photos.photo.length && i<9; i++ ) {
		var p=gJSONObject.photos.photo[i];
		img_src="http://farm"+p.farm+".static.flickr.com/"+p.server+"/"+p.id+"_"+p.secret+"_s.jpg";
		//org_image="http://farm"+p.farm+".static.flickr.com/"+p.server+"/"+p.id+"-"+p.originalsecret +"_o."+p.originalformat ;
		img_page="http://www.flickr.com/photos/"+p.owner+"/"+p.id;
		title=p.title;
		//if(width>document.body.clientWidth-50) width=document.body.clientWidth-50;
		image="<a href='"+img_page+"' target=_blank>"+"<img src='"+img_src+"' class='' ></a>";

		//s=s+image+"<span class='tag' onclick=go('"+img_page+"')>"+title+"</span><br>";
		s=s+image;
		//s=start;
		//s=s+link+"<div style='width:200; '><div style='float:right;clear:right;padding-left:5px;'>"+thumb_img+"</div> "+title+desc+" <br clear  style='clear:both;'></div>";

		if(++f_count==3){
			f_count=0;
		//	s=s+"<br style='clear:both;'>";
		}
	}
	photo_list = "<li style='padding-left:8px;width:225px;*width:240px;'>"+s;
	update_suggest();
}

var blog_search="";
function blog_show(pname,gJSONObject){
	s="";

	for (var i = 0; i < gJSONObject.results.length && i<3; i++ ) {
		link=gJSONObject.results[i].link;
		title=gJSONObject.results[i].title;
		date=gJSONObject.results[i].date;
		desc=gJSONObject.results[i].desc;
		blogger=gJSONObject.results[i].blogger;
		thumb=gJSONObject.results[i].thumb;

var thumb_img="";
var more_thumb="";
		for(var j=0;j<thumb.length;j++){
		image= thumb[j][0];
		if(j<1){
			if(image.match("thumb.search"))
			thumb_img+="<img class=thumb src='"+image+"'>";
			else thumb_img+="<img class=thumb src='"+img_proxy+image+"' onerror='hide_img(this)'>";
		}
		//else more_thumb+=image+",";
		}

nid="r"+i;
link="<li onclick='go(\""+link +"\")'>";	
			//var reg = new RegExp("("+pname+")", "i");
			//title=title.replace(reg,"<strong>$1</strong>");
desc=desc.substring(0,60);
		desc="<br><span class=desc>"+desc+"</span>";
		//cover="<img class=peoplecover src="+image+" />";
		//s=s+link+"<div style='width:200;'><div style='float:left;'>"+thumb_img+"</div><div style='float:left;width:100;'>"+title+desc+"</div><br clear  style='clear:both;'></div>";
		s=s+link+"<div style='width:200; '><div style='float:right;clear:right;padding-left:5px;'>"+thumb_img+"</div> "+title+desc+" <br clear  style='clear:both;'></div>";

//Á¦¸ñÀÌ¹ÌÁö
//s=s+"<li><div><a href='"+link+"' target=_blank><span class=doc_title>"+title+"</span><div style='float:right;'><span class=doc_info> "+blogger+"</span> &nbsp; <span class=doc_info2>"+date+"</span></div><br><div class=text_panel><div id="+nid+" class=img_panel imgcount=4 link='"+link+"' more_thumb='"+more_thumb+"'>"+thumb_img+"</div><span class=desc>"+desc+"</span></a></div><br style='clear:both;'></div>";


	}
	blog_search = s;
//	say(s);
	update_suggest();
}


function smart_date(d_str){
var d=new Date();
var now=new Date();
var year=d_str.substring(0,4);
var month=d_str.substring(4,6);
var day=d_str.substring(6,8);
var hour=d_str.substring(8,10);
var min=d_str.substring(10,12);


d.setFullYear(year);
d.setMonth(month-1);
d.setDate(day);
d.setHours(hour);
d.setMinutes(min);

var offset=(now.getTime()-d.getTime())/1000/60
if(offset<60) return Math.ceil((offset))+"ºÐ Àü";
if(offset<60*3) return Math.round((offset)/60)+"½Ã°£ Àü";

weeks="ÀÏ¿ùÈ­¼ö¸ñ±ÝÅä";
ampm="¿ÀÀü ";
hour=hour-0;
if(hour>=12) ampm="¿ÀÈÄ ";
if(hour>12) hour-=12;

//var thetime=ampm+hour+"½Ã "+min+"ºÐ";
var thetime=ampm+hour+":"+min+"";
var thedate=year+"³â "+(month-0)+"¿ù "+(day-0)+"ÀÏ ("+weeks.substr(d.getDay(),1)+") ";
//if(now.getYear()==d.getYear()) thedate="<span style='color:#ccc;'>"+year+"³â</span> "+(month-0)+"¿ù "+(day-0)+"ÀÏ "+weeks.substr(d.getDay(),1)+" ";
if(now.getYear()==d.getYear()) thedate=(month-0)+"¿ù "+(day-0)+"ÀÏ ("+weeks.substr(d.getDay(),1)+") ";

if(offset<60*24+now.getHours()*60+now.getMinutes()){
	if(now.getDate()==d.getDate()) thedate="¿À´Ã ";
	else thedate="¾îÁ¦ "
}
else thetime="";

s=thedate+thetime
//	s=d+s;
return s;
}

var news_search="";
function news_show(pname,gJSONObject){
	var s="";

	for (var i = 0; i < gJSONObject.channel.item.length && i<3 ; i++ ) {
		link=gJSONObject.channel.item[i].link;
		title=gJSONObject.channel.item[i].title;
		date=gJSONObject.channel.item[i].pubDate;
		desc=gJSONObject.channel.item[i].description;
		image=gJSONObject.channel.item[i].image;
		author=gJSONObject.channel.item[i].author;

title=title.replace(/&lt;/g,"<").replace(/&gt;/g,">");
desc=desc.replace(/&lt;/g,"<").replace(/&gt;/g,">");

var thumb_img="";
if(image)
	thumb_img+="<img class=thumb src='"+image+"'>";

nid="r"+i;
link="<li onclick='go(\""+link +"\")'>";	
			//var reg = new RegExp("("+pname+")", "i");
			//title=title.replace(reg,"<strong>$1</strong>");
desc=desc.substring(0,60);
		desc="<br><span class=desc><b>"+smart_date(date)+"</b> <span style='color:#585;'>"+author+"</span><br> "+desc+"</span>";
		//cover="<img class=peoplecover src="+image+" />";
		//s=s+link+"<div style='width:200;'><div style='float:left;'>"+thumb_img+"</div><div style='float:left;width:100;'>"+title+desc+"</div><br clear  style='clear:both;'></div>";
		s=s+link+"<div style='width:200; '><div style='float:right;clear:right;padding-left:5px;'>"+thumb_img+"</div> "+title+desc+" <br clear  style='clear:both;'></div>";

//Á¦¸ñÀÌ¹ÌÁö
//s=s+"<li><div><a href='"+link+"' target=_blank><span class=doc_title>"+title+"</span><div style='float:right;'><span class=doc_info> "+blogger+"</span> &nbsp; <span class=doc_info2>"+date+"</span></div><br><div class=text_panel><div id="+nid+" class=img_panel imgcount=4 link='"+link+"' more_thumb='"+more_thumb+"'>"+thumb_img+"</div><span class=desc>"+desc+"</span></a></div><br style='clear:both;'></div>";


	}
	news_search = s;
//	say(s);
	update_suggest();
}

function hide_img(obj){
	obj.style.display='none';
}


var people_search="";
function people_show(pname,json_obj){
	var s="";
	for (var i = 0; i < json_obj.people.length && i<2 ; i++ ) {

		image= json_obj.people[i].image;
		if(image.indexOf("charge.gif")!=-1) continue;
		job= json_obj.people[i].job;
		var link= json_obj.people[i].link;
		if(link.indexOf("http://")==-1) link="http://search.naver.com"+link;
		name= json_obj.people[i].name;
		desc= json_obj.people[i].desc;
		link="<li onclick='go(\""+link +"\")'>";	
		title=name;
		job=job.replace("[","_<font color='#aaaaaa'>").replace("]","</font>");
		desc="<span class=desc> "+job+"<br>"+desc+"</span>";
		cover="<img class=peoplecover2 src="+image+" />";
		s=s+link+"<div style='width:210;padding-bottom:5px;'><div style='float:right;'>"+cover+"</div>"+title+desc+"<br style='clear:both;'></div >";
		
	}
	people_search = s;
//	say(s);
	update_suggest();
}


var shortcut_link="";

function shortcut_show(pname,json_obj){
	var s="";
	max=3;

	for (var i = 0; i < json_obj.results.length && i<max ; i++ ) {
		title= json_obj.results[i].title;
		url= json_obj.results[i].url;	
		content="";
		style="border: 1px solid #333; background-color: #282828;-moz-border-radius: 3px;-webkit-border-radius: 3px;"
		style="";
		link="<li onclick=go(\""+url.quote()+"\") style='"+style+"'>";	
		title=title.replace("<b>","<strong>").replace("</b>","</strong>");
		title=title+" <span class=red style='font-size:11px;line-height:11px;font-weight:200;'>¹Ù·Î°¡±â</span>";
		desc="<br><nobr class=desc2>"+url+"</nobr>";
		favicon_url="http://"+url.split("/")[2]+"/favicon.ico";
		favicon="<img src="+favicon_url+" style='margin-left:-20px;padding:0px;margin-right:3px;' width=16 height=16 align=absmiddle onerror=this.src='/lazysearch/favicon.png'; />";

		shortcut_link=url.quote();
		 
		 s=s+link+favicon+title+desc;
		// if(i==0) s=link+favicon+title+"<br><img style='border:solid 1px #555;margin-top:5px;' width=100 src='http://db53.kilho.net:2212/linkview?url="+url.quote()+"' onerror=this.style.display='none';>"+desc;
	}
	shortcut_search = s;
	update_suggest();
}





var direct_wiki="";
var google_search="";
function gweb_show(a,gJSONObject,b,c,d,e){
	var s="";
	var wiki_result=true;
	max=3;
	var mr=gJSONObject.cursor.moreResultsUrl;
	if(mr.match("wikipedia.org")) {max=1;
	keyword_list2="";}

//	if(suggest_type=="word") max=1;
	for (var i = 0; i < gJSONObject.results.length && i<1 ; i++ ) {
		url=gJSONObject.results[i].unescapedUrl;
		//url=encodeURIComponent(url);
		title=gJSONObject.results[i].title.quote();
		content=gJSONObject.results[i].content;
		link="<li onclick=go(\""+url.quote()+"\")>";	
		title=title.replace("<b>","<strong>").replace("</b>","</strong>");
		desc="<br><nobr class=desc2>"+content+"</nobr>";
		desc_full="<br><span class=desc2f>"+content+"</span>";
		favicon_url="http://"+url.split("/")[2]+"/favicon.ico";
		favicon="<img src="+favicon_url+" style='margin-left:-20px;padding:0px;margin-right:3px;' width=16 height=16 align=absmiddle onerror=this.src='/lazysearch/favicon.png'; />";
		
		if(max==1) {
			title=title.replace("- À§Å°¹é°ú","");
			title=title.replace("- Wikipedia, the free encyclopedia","");

			s=s+link+favicon+title+desc_full;
			search_interwiki(url);
		}
		else {
			s=s+link+favicon+title+desc;
			//s=s+link+favicon+title+desc_full;

		}
		//if(!url.match(/wikipedia/)) wiki_result=false;
	}
/*
	if(wiki_result && suggest_type=="web") {
		s=s.substring(0,s.indexOf("<li",4)); 
	 s=s.replace("<nobr class=desc2>","<span class=desc2f>");
	 direct_wiki=s;
	 }*/
	if(max==1) direct_wiki=s;
	else google_search = s;
	update_suggest();
}

function search_interwiki(url){
	var t=new Date(); var tt=t.valueOf( );

	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.charset = 'UTF-8';
	script.src ="/lazysearch/interwiki.php?q="+url+"&refresh="+tt;
	document.getElementsByTagName('head')[0].appendChild(script);
}



function gvideo_show(a,gJSONObject,b,c,d,e){
	s="";
	for (var i = 0; i < gJSONObject.results.length && i<5 ; i++ ) {
		url=gJSONObject.results[i].url;
		title=gJSONObject.results[i].title;
		content=gJSONObject.results[i].content;
		image=gJSONObject.results[i].tbUrl;
		playUrl=gJSONObject.results[i].playUrl;

		link="<li onclick='lazy_video(\""+playUrl +"\")'>";	
		var reg = new RegExp("("+qs_q+")", "i");
		title=title.replace(reg,"<strong>$1</strong>");
		desc="<br><nobr class=desc3>"+content+"</nobr>";
		cover="<img class=videocover src="+image+" />";
		s=s+link+"<div style='width:200;'><div style='float:left;'>"+cover+"</div><div style='float:left;width:100;'>"+title+desc+"</div><br clear style='clear:both;'></div>";
	}
	video_list = s;
	update_suggest();
}

var local_list="";

function local_show(a,gJSONObject){
	s="";
	for (var i = 0; i < gJSONObject.results.length && i<5 ; i++ ) {
		url=gJSONObject.results[i].link;
		title=gJSONObject.results[i].name;
		content=gJSONObject.results[i].addr;
		image=gJSONObject.results[i].image;

		link="<li onclick='go(\""+url +"\")'>";	
		//var reg = new RegExp("("+qs_q+")", "i");
		//title=title.replace(reg,"<strong>$1</strong>");
		title=title.replace("<b>","<strong>").replace("</b>","</strong>");
		desc="<br><span class=desc3 >"+content+"</span>";
		cover="<img class=localcover src="+image+" />";
		if(image!="") s=s+link+"<div style='width:200;'><div style='float:left;width:110;'>"+title+desc+"</div><div style='float:left;'>"+cover+"</div><br clear style='clear:both;'></div>";
		else s=s+link+"<div style='width:200;'><div style='float:left;'>"+title+desc+"</div><br clear style='clear:both;'></div>";


	}
	local_list = s;
	update_suggest();
}



function gbook_show(a,gJSONObject,b,c,d,e){
	s="";
	for (var i = 0; i < gJSONObject.results.length && i<3 ; i++ ) {
		url=gJSONObject.results[i].url;
		title=gJSONObject.results[i].title;
		//content=gJSONObject.results[i].content;
		author=gJSONObject.results[i].authors;
		image=gJSONObject.results[i].tbUrl;
		publishedYear=gJSONObject.results[i].publishedYear;
		pageCount=gJSONObject.results[i].pageCount;
		desc="<br>"+publishedYear+"³â<br>"+pageCount+"p";

		link="<li onclick='go(\""+unescape(url) +"\")'>";
		title=title.replace("<b>","<strong>").replace("</b>","</strong>");
	//	desc="<br><span class=desc>"+author+desc+"</span><br><nobr class=desc2>"+desc+"</nobr>";
		desc="<br><span class=desc>"+author+desc+"</span>";
		cover="<img class=bookcover src="+image+" />";
		s=s+link+"<div style='width:200;'><div style='float:left;'>"+cover+"</div><div style='float:left;width:150;'>"+title+desc+"</div><br clear  style='clear:both;'></div>";
	}
	book_list=s;
	update_suggest();
}



// ÃßÃµ¾î Ç¥½Ã
function update_suggest(optional_data){
	balloon_window=document.getElementById('balloon');
	predictive_window=document.getElementById('predictive');

	balloon_window2=document.getElementById('balloon2');
	predictive_window2=document.getElementById('predictive2');

//	balloon_window3=document.getElementById('balloon3');
//	predictive_window3=document.getElementById('predictive3');

	direct_answer1=document.getElementById('directanswer1');
	direct_answer2=document.getElementById('directanswer2');
	shortcut_list=document.getElementById('shortcut');

	people_answer=document.getElementById('peopleanswer');
	search_list=document.getElementById('searchlist');
	relative_keyword=document.getElementById('relativekeyword');
	suggest_keyword=document.getElementById('suggestkeyword');
hr_list=predictive_window.getElementsByTagName('HR');
hr_list2=predictive_window2.getElementsByTagName('HR');


if(suggest_type!="web"){ google_search="";}
if(suggest_type!="web"){ direct_wiki="";}
if(suggest_type!="web"){ shortcut_search="";}
if(suggest_type!="photo"){ photo_list="";}
if(suggest_type!="video"){ video_list="";}
if(suggest_type!="book"){ book_list="";}
if(suggest_type!="word"){ direct_answer_dict="";}
if(suggest_type!="word"){ dictionary_search="";}
if(suggest_type!="blog"){ blog_search="";}
if(suggest_type!="map"){ local_list="";}
if(suggest_type!="music"){ music_list="";}
if(suggest_type!="shopping"){ shopping_list="";}
if(suggest_type!="news"){ news_search="";}

	s=blog_search+photo_list+video_list+book_list+local_list+music_list+shopping_list+news_search;

var	a=direct_wiki+dictionary_search;
	if(direct_answer1.innerHTML!=a) direct_answer1.innerHTML=a;



	hr_list[0].style.display=(a&&google_search)?"block":"none";
	if(direct_answer2.innerHTML!=google_search) direct_answer2.innerHTML=shortcut_search+google_search;
	a+=google_search;

	if(shortcut_search) direct_answer2.innerHTML=shortcut_search;
	a+=shortcut_search;

	hr_list[1].style.display=(a&&people_search)?"block":"none";
	if(people_answer.innerHTML!=people_search) people_answer.innerHTML=people_search;
	a+=people_search;

	hr_list[2].style.display=(a&&s)?"block":"none";
	if(search_list.innerHTML!=s) search_list.innerHTML=s;
	a+=s;


	hr_list[2].style.display=(a&&suggest_list)?"block":"none";
	if(suggest_keyword.innerHTML!=suggest_list) suggest_keyword.innerHTML=suggest_list;
	a+=suggest_list;


if(a)
	balloon_window.style.display="block";
else
balloon_window.style.display="none";


if(keyword_list + keyword_list2){
	if(relative_keyword.innerHTML!=keyword_list2+keyword_list)
	relative_keyword.innerHTML=keyword_list2+keyword_list;
	balloon_window2.style.display="block";
	//balloon_window2.style.left=(suggest_list)? "520px":"260px";
}else balloon_window2.style.display="none";

//	hr_list2[0].style.display=((keyword_list + keyword_list2)&&suggest_list)?"block":"none";
//hr_list2[0].style.display="none";
//	if(suggest_keyword.innerHTML!=suggest_list) suggest_keyword.innerHTML=suggest_list;


//balloon_window2.style.top=suggest_keyword.offsetTop-13;

if(!optional_data)	selected_word_id=-1;
}

var selected_word_id=-1;


function show_wikiimg(src,w,h){
	if(w&&h) return;
	say("<img src="+src+">");
//	if(h<80 && w) return;

sizeoption="";
if(w&&h){
	max_height=100;
	if(h<w) {
		img_width=Math.min(max_height*w/h,150);
		img_height=img_width*h/w;
	}else{
		img_height=Math.min(max_height,h);
		img_width=img_height*w/h;
	}
	sizeoption=" width="+img_width+" height="+img_height
}

	wikiimg=document.getElementById('askresult');
//	wikiimg.style.display="block";
	wikiimg.innerHTML="<li><img src="+src+sizeoption+" style='border:1px solid #333;background-color:#fff;' onload='this.parent.style.display:block;'>";

}

function find(s,new_window){
	//var search_word=document.getElementById('q_box').value;
	var search_word=guess_word;
	search_word=encodeURI(search_word);
	if(s.match(/aladdin/)) search_word = escape(val);
	if(s.match(/clusty/))search_word = escape(val);;
	url=s.replace(/%s/,search_word);
	//window.open(url,new_window?'_blank':'search_main');
	if(new_window) {
		window.open(url,'_blank');
	}
	else //window.alert(url)
		go(url);
}

var main_frame_url="about:blank";

var last_sound_div;

function soundplay(mp3_src){
	try{

		var player_div=document.createElement('div');

//	var player='<object type="application/x-mplayer2"><param name="autostart" value="true"><param name="src" value="'+mp3_src+'"><param name="autoplay" value="true"><EMBED  id="phoneticsound" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" autostart="1" controller="1" PlayCount="1" src="'+mp3_src+'" width="0" height="0" enablejavascript="true"></EMBED></object>'

var player='<EMBED  id="phoneticsound" type="audio/mpeg" autostart="true" autoplay="true" controller="0" PlayCount="1" src="'+mp3_src+'" width="0" height="0" enablejavascript="true" />'


fonetiks_frame = getObject("fonetiks");
last_sound_div=fonetiks_frame.appendChild(player_div);
last_sound_div.innerHTML=player;

	}catch(e){	}

}





function go(url,new_win){
//window.alert(url);
bakeCookie(guess_word);

	url = url.replace(/\¡®/g, "%27");
	new_win=0;
	document.getElementById('q_box').blur()
	ClipBoard(document.getElementById('q_box').value);
	editing_mode=false;
	tab_control("close");
	//url=encodeURIComponent(url);
	if(window.event.shiftKey || new_win)
		window.open(url,'_blank');	
	else{
		main_frame_url=url;
		//window.open(url,"search_main");
		document.location=url;
		//parent.getElementById('search_main').location.href = url;

	}
}

function default_search(stype){
	say(stype);
	se="http://www.google.com/search?num=20&hl=en&ie=euc-kr&oe=euc-kr&q=";
	se="http://search.naver.com/search.naver?where=nexearch&query=";
	//if(suggest_type=="word") se="http://kr.dictionary.search.yahoo.com/search/dictionaryp?subtype=eng&prop=0&fr=kr-front_sprit&p=";
	if(suggest_type=="word") {
		//se="/iphone/dictionary.php?shell=1&q=";
		//se="http://kr.dictionary.search.yahoo.com/search/dictionaryp?subtype=eng&prop=0&fr=kr-front_sprit&p=";
		se="http://www.google.co.kr/dictionary?langpair=en%7Cko&hl=ko&aq=0&oq=&q=";
		fonetiks_frame = getObject("fonetiks");
		//fonetiks_frame.innerHTML=player;
	}


	if(suggest_type=="blog") se="/lazysearch/lazy_blog.php?engine=blog_api&q=";
	if(suggest_type=="book") se="http://book.naver.com/search/book_search.php?where=book&query=";
	if(suggest_type=="map") se="http://local.daum.net/localsearch/search.daum?nil_suggest=btn&q=";
	if(suggest_type=="photo") se="/lazysearch/lazy_blog.php?engine=flickr&q=";
	if(suggest_type=="video") se="/enswer/?q=";
	if(suggest_type=="music") se="http://www.maniadb.com/search.asp?sr=P&hl=ko&cof=FORID%3A1&srp=P&ql2=&srs=A&q=";
	if(suggest_type=="shopping") se="http://shopping.naver.com/search/all_search.nhn?where=all&adchk=&aquery=&uieq=0&query=";
	if(suggest_type=="news") se="/lazysearch/lazy_blog.php?engine=daum_news&q=";


	var search_word=guess_word;

//search_word=document.getElementById('q_box').value;
	url=se+search_word;
	if(suggest_type=="photo") url=se+search_word.replace(" ","_");

	if(document.getElementById('q_box').value.match("http://")) url=document.getElementById('q_box').value;

		var ev = ev || window.event;
if(shortcut_search && ev.ctrlKey) url=shortcut_link;

	go(url,1);
}

var selected_suggest_keyword;

function select_suggest(keyword){
	//keyword.replace("&prime;","'");
	ev = window.event;

	q_box=document.getElementById('q_box');
	if(ev.shiftKey || ev.ctrlKey) q_box.value=q_box.value+" "+keyword;
	else q_box.value=keyword;
	//q_box.focus();
	if(browser!="iphone") SetCaretPosition(q_box);
	selected_word_id=-1;

guess_word=q_box.value;
selected_suggest_keyword=guess_word;
	get_direct_answer();
}

// Å°Á¶ÀÛ
function 	eCancel( e ) {
		e = e || window.event;
		e.returnValue = false;
		if ( e && e.preventDefault )
			e.preventDefault();
}

var max_category=10;

function handlewheel(delta) {
	return;
	var s = delta + ": ";
	if (delta < 0) c=Number(checked_type.id.substr(3))+1;
	else c=Number(checked_type.id.substr(3))-1;
		if(c>max_category)c=1;
		if(c<1)c=max_category;
		//eCancel(ev);
		set_category(document.getElementById('cat'+c));
}

function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		//if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}

	if (delta)
		handlewheel(delta);
	if (event.preventDefault)
                event.preventDefault();
	event.returnValue = false;
}

/* Initialization code. */
if (window.addEventListener) 	window.addEventListener('DOMMouseScroll', wheel, false);
//window.onmousewheel = wheel;
document.onmousewheel = wheel;

function springload(ev){
	ev = ev || window.event;
	if(ev.keyCode==17){
		balloon_window2=document.getElementById('balloon2');
		predictive_window2=document.getElementById('predictive2');
		if(predictive_window2.innerHTML) balloon_window2.style.display="block";
	}
}

function nav(ev){
	ev = ev || window.event;
	say(ev.keyCode);

if(last_suggest_word_search!=document.getElementById('q_box').value) set_guess_word("");


	if(ev.keyCode==17){
	//	balloon_window2.style.display="none";
	}

	if(ev.keyCode==34 || ev.keyCode==33 ||ev.keyCode==220){ //pgdn Ä«Å×°í¸® º¯°æ

		if(ev.keyCode==33 || (ev.keyCode==220 && ev.shiftKey)) c=Number(checked_type.id.substr(3))-1;
		else if(ev.keyCode==34 ||ev.keyCode==220 ) c=Number(checked_type.id.substr(3))+1;
		if(c>max_category)c=1;
		if(c<1)c=max_category;
		eCancel(ev);
		set_category(document.getElementById('cat'+c));
	}

/*
	if(ev.keyCode==229){ //ÇÑ±Û ÀÔ·Â±â pgdn Ä«Å×°í¸® º¯°æ
		if(ev.shiftKey) c=Number(checked_type.id.substr(3))-1;
		else c=Number(checked_type.id.substr(3))+1;
		if(c>6)c=1;
		if(c<1)c=6;
		eCancel(ev);
		q_box=document.getElementById('q_box');
//	q_box.value=q_box.value.replace("\\",""); //¹®Á¦ ¸ð¸£°ÚÀ½
		set_category(document.getElementById('cat'+c));
	}
	*/


	predictive_window=document.getElementById('predictive');
	word_list=predictive_window.getElementsByTagName('LI');
suggestion_keyword=document.getElementById('suggestion_keyword');
	if(suggestion_keyword){
		//Å°¿öµå°³º° ¼±ÅÃ ¹Ì¿Ï¼º
	//word_list=word_list.pop();
	//word_list=word_list.concat(suggestion_keyword.getElementsByTagName('SPAN'));
	//word_list=suggestion_keyword.getElementsByTagName('SPAN');
	}
	q_box=document.getElementById('q_box');
	balloon_window=document.getElementById('balloon');
	if(selected_word_id>=0) sel_word=word_list[selected_word_id];

	if(ev.keyCode==9){ //tab ÀÚµ¿¿Ï¼º
	//say(guess_word);
		if(guess_word && q_box.value!=guess_word){
			q_box.value=guess_word+" ";
			eCancel(ev);
		}
	}

	if(ev.keyCode==46){ //delete ÃßÃµ Á¦°Å
	//say(guess_word);

		if(ev.ctrlKey || ev.shiftKey){ //shift delete °Ë»öÃ¢ Áö¿ì±â
		 clear_text()
		}else{

		ban_guess_word=guess_word;
		set_guess_word("");
		 }
	}

	if(ev.keyCode==8 && ev.shiftKey){ //delete ÃßÃµ Á¦°Å
	//say(guess_word);
		 clear_text()
	}


	if(balloon_window.style.display=="none") {
		suggestion(q_box.value);
		return;
	}

	if(ev.keyCode==27 && selected_word_id>=0){ 
		sel_word.className="";
		selected_word_id=-1;
		q_box.value=last_search_word;
		q_box.focus();
	}

	if(ev.keyCode==13){ //enter ÃßÃµ¾î ¼±ÅÃ
		
		if( selected_word_id>=0){
			//window.alert(browserName);
			if(browserName=="Netscape") { 
				gofunc=sel_word.getAttribute("onclick");
				eval(gofunc);
			}
			else sel_word.click();	
		}
		else{
		if(window.event.ctrlKey || window.event.shiftKey){
			find('http://www.google.com/search?btnI=I%27m+Feeling+Lucky&ie=UTF-8&oe=UTF-8&q=%s',1)
			}else{
			//say(suggest_type);
			default_search(suggest_type);
			}
		}
		eCancel();
	}

	if(ev.keyCode==40){  //¾Æ·¡
		if(selected_word_id>=0) {
			if(sel_word.tagName=="SPAN") sel_word.className="keyword";
			else sel_word.className="";
		}
		selected_word_id++;
		if(window.event.ctrlKey) selected_word_id+=4;
		if(selected_word_id < word_list.length) {
			sel_word=word_list[selected_word_id];
			sel_word.className="sel_word";
			if(sel_word.parentNode.className=="suggest_word")
				q_box.value=strip_html(sel_word.innerHTML);
			else q_box.value=last_suggest_word_search;
		}else selected_word_id=-1;
		if(selected_word_id==-1) q_box.value=last_suggest_word_search;
	}

	if(ev.keyCode==38){ //À§
		if(selected_word_id<0) 	return;
			if(sel_word.tagName=="SPAN") sel_word.className="keyword";
			else sel_word.className="";
		selected_word_id--;
		if(window.event.ctrlKey) {
			if(selected_word_id<2) selected_word_id=-1;
			else selected_word_id+=-4;
		}
		if(selected_word_id==-1) q_box.value=last_suggest_word_search;
		else {
			sel_word=word_list[selected_word_id];
			sel_word.className="sel_word";
			if(sel_word.parentNode.className=="suggest_word")
				q_box.value=strip_html(sel_word.innerHTML);
			else q_box.value=last_suggest_word_search;
		}
	}


}

function strip_html(html_str){
	text=html_str.replace(/(<([^>]+)>)/ig,""); 
	desc=text.indexOf(" (");
	if(desc!=-1) text=text.substr(0,desc);
	return text;
}

function Array_pop() {
  var response = this[this.length - 1]
  this.length--
  return response
  }

if (typeof(Array.prototype.pop) == "undefined") {
  Array.prototype.pop = Array_pop
  }

String.prototype.quote = function() {
a = this.replace(/\'/g, "&lsquo;");
a = a.replace(/&amp;#39;/g, "&lsquo;");
return a;
};


String.prototype.trim = function() {
a = this.replace(/^\s+/, '');
return a.replace(/\s+$/, '');
};


var checked_type;

function set_category(obj){
	//say(obj)
	checked_type.className="category";
	obj.className="category_sel";
	//checked_type.parentNode.childNodes[2].childNodes[0].style.color="";
	//obj.parentNode.childNodes[2].childNodes[0].style.color="#51af10";
	checked_type=obj;
	
	suggest_type=obj.innerHTML;
	clear_suggest();
//	SetCaretPosition(document.getElementById('q_box'));
	document.getElementById('q_box').select();
}

function SetCaretPosition (oField, iCaretPos) {
	oField.focus;
	if(!iCaretPos) iCaretPos=oField.value.length;
 // IE Support
	if (document.selection) { 

		// Set focus on the element
		oField.focus ();

		// Create empty selection range
		var oSel = document.selection.createRange ();

		// Move selection start and end to 0 position
		oSel.moveStart ('character', -oField.value.length);

		// Move selection start and end to desired position
		oSel.moveStart ('character', iCaretPos);
		oSel.moveEnd ('character', 0);
		oSel.select ();
	}

	// Firefox support
	else if (oField.selectionStart || oField.selectionStart == '0') {
		oField.selectionStart = iCaretPos;
		oField.selectionEnd = iCaretPos;
		oField.focus ();
	}
}

function say(what){
	document.getElementById('testbox').innerHTML=what
	//window.alert(what)
	//window.status=what;
}


function lazy_video(url){

	var code='<object ><param name="movie" value="'+url+'"/><param name="wmode" value="transparent"/><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="'+url+'" allowScriptAccess="always" type="application/x-shockwave-flash" allowFullScreen="true" wmode="transparent" width=480 height=385 ></embed></object>';
	var video_frame=document.getElementById("lazyvideo");
	video_frame.style.display="block";
	video_frame.innerHTML="<div>"+code+"</div><div>&nbsp;&nbsp;&nbsp;&nbsp;<span class=tag onclick=closevideo()>close</span></div>";
	//videoframe
}


function closevideo(){
	var video_frame=document.getElementById("lazyvideo");
	video_frame.style.display="none";
}

// ÄíÅ°

function getCookie(c_name){
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}




function setCookie(c_name,value,expiredays){
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function clearCookie(){
setCookie("query","",365);
}

function bakeCookie(q){
query=getCookie('query');
var pattern=new RegExp(","+q+"[,$]","i");
if(query.match(pattern)) return;
setCookie("query",q+","+query.substring(0,500),365);
q_history.unshift(q);
}
