
Event.observe(window,'load',window_onload);

function window_onload(evt){

	Event.observe('search_btn','click',search_btn_onclick);

}


function search_btn_onclick(evt) {

	google_search( 0 );

	return false;
}


function google_search( start ) {

	//kbwinserv2003sp2fix

	show_searching_sign(true);
	clear_cursor();
	
	var search_url = 'kbviag.php';
	var q = new Array();
	q.push( $('kwd').value );
	q.push( 'site:support.microsoft.com' );
	if($('p_iis7').checked){
		q.push('"Internet Information Services 7.0"'); 
	}
	if($('p_iis6').checked){
		q.push('"Internet Information Services 6.0"'); 
	}
	if($('p_iis5').checked){
		q.push('"Internet Information Services 5.0"'); 
	}
	
	if($('t_kbbug').checked){ q.push('kbbug'); }
	if($('t_kbfix').checked){ q.push('kbfix'); }
	if($('t_kbfaq').checked){ q.push('kbfaq'); }
	if($('t_kbinfo').checked){ q.push('kbinfo'); }
	if($('t_kbprb').checked){ q.push('kbprb'); }
	if($('t_kbhowto').checked){ q.push('kbhowto'); }
		
	new Ajax.Request( 
		search_url,
		{ 
			method: 'POST', 
			parameters: { 
				'start': start,
				'lr': ( $('lang_ja').checked ? 'lang_ja' : 'lang_en' ),
				'q': q.join(' ')
			},
			onComplete: function(trans){
			
				show_searching_sign(false);
				set_result( trans.responseText );

			} 
		}
	);
}


function set_result( res ) {

	var r = eval('(' + res + ')');
	var cur = r.responseData.cursor;
	
	// Set Resultset
	if ( r.responseData.results.length == 0 ){
	
		$('results').innerHTML = '<p><b>該当する情報がありませんでした。</b></p>';
		$('cursor').innerHTML = '';
		return;
		
	}	
	
	var sb = new TKStringBuffer();
	
	// Search Summary
	
	sb.a('<div>検索結果: 見積総件数 <b>');
	sb.a( cur.estimatedResultCount );
	sb.a('</b> 件中 <b>');
	sb.a( parseInt( cur.pages[cur.currentPageIndex].start ) + 1 );
	sb.a('</b> 件目から <b>');
	sb.a( r.responseData.results.length );
	sb.a('</b> 件を表示');
	sb.a('</div>');
	
	// Search Result
	
	for( var i=0; i<r.responseData.results.length; i++){
		
		var d = r.responseData.results[i];
		
		sb.a('<p style="padding-left:10px;">');
		sb.a('<a style="font-size:10pt;font-weight:bold;" href="' + d.url + '" target="_blank">');
		sb.a(d.title);
		sb.a('</a><br><span style="font-size:9pt;">');
		sb.a(d.content);
		sb.a('</span><br>');
		sb.a('<span style="color:#33a033;font-size:9pt;">');
		sb.a(d.visibleUrl);
		sb.a('</span>&nbsp;');
		if(d.cacheUrl){
			sb.a('-&nbsp;<a href="');
			sb.a(d.cacheUrl);
			sb.a('" target="_blank" style="color:#9999c0;">Cached</a>');
		}
		sb.a('</p>');
		
	}
	
	$('results').innerHTML = sb.toString();
		
	// Set Cursor
	
	if ( cur.pages.length > 1 ) {

		sb = new TKStringBuffer();
	
		sb.a('<div align="center">');
		sb.a('<div style="font-size:11pt;font-weight:bold;">');
		
		// Prev
		if( cur.currentPageIndex > 0 ){
		
			sb.a('<a class="cpage_a" href="javascript:void(0);" start="');
			sb.a( cur.pages[cur.currentPageIndex-1].start );
			sb.a('">前へ</a>&nbsp;');
		
		}
				
		for( var i=0; i<cur.pages.length; i++){
		
			if( i == cur.currentPageIndex ){
				sb.a('<b>');
			}
			else{
				sb.a('<a class="cpage_a" href="javascript:void(0);" start="');
				sb.a( cur.pages[i].start );
				sb.a('">');
			}
			
			sb.a(cur.pages[i].label);
	
			if( i == cur.currentPageIndex ){
				sb.a('</b>');
			}
			else{
				sb.a('</a>');
			}
	
			sb.a('&nbsp;');
			
		}
				
		// Next
		if( cur.currentPageIndex < cur.pages.length - 1 ){
		
			sb.a('<a class="cpage_a" href="javascript:void(0);" start="');
			sb.a( cur.pages[cur.currentPageIndex+1].start );
			sb.a('">次へ</a>');
		
		}
		
		sb.a('</div>');
		
		if( cur.moreResultsUrl ) {
			sb.a('<div style="text-align:left;width:390px;padding:10px;">最も的確な結果を表示するために、似たページは除外されている場合があります。検索結果をすべて表示するには');
			sb.a('<a href="');
			sb.a(cur.moreResultsUrl);
			sb.a('" target="_blank">ここから再検索</a>してください。</div>');
		}

		sb.a('</div>');
		
		$('cursor').innerHTML = sb.toString();

		set_page_handler();

	}
	else {
	
		$('cursor').innerHTML = '';
		
	}
	
}


function set_page_handler() {


	var elms = document.getElementsByClassName('cpage_a');
	for(var i=0;i<elms.length;i++){
		Event.observe(elms[i],'click',cpage_onclick);
	}

}


function cpage_onclick(evt){

	var e = Event.element(evt);
	var start = e.attributes['start'].value;
	//var id = e.id;
	//var pid = e.attributes['pid'].value;
	//var label = $( pid ).attributes['label'].value;
	//var start = $( pid ).attributes['start'].value;
	
	// clear all 
	//var elms = document.getElementsByClassName('cpage');
	//for(var i=0;i<elms.length;i++){
	//	var l = elms[i].attributes['label'].value;		
	//	elms[i].innerHTML = '<a class="cpage_a" href="javascript:void(0);" pid="'
	//		+ elms[i].id + '">' + l + '</a>&nbsp;';
	//}
	
	// set curr
	//$(pid).innerHTML = '<b pid="' + pid + '">' + label + '</b>&nbsp;';
	
	//set_page_handler();
	
	// send request
	google_search( start );
	
	//
	location = "#top";

}


function show_searching_sign( b ){

	if(b){
		$('results').innerHTML = '<div align="center">検索中。少々お待ちください...<br><br><img src="../img/ajax-loader-bar.gif" alt="Loading..."></div>';
	}
	else{
		$('results').innerHTML = '';
	}

}


function clear_cursor(){
	$('cursor').innerHTML = '';
}
