
// **************************
// Google Search API
// **************************

function GoogleSearch(qry) {
  if (lrGoogle!='') {
    var lang = '&lr=' + lrGoogle;
  } else {
    var lang = '';
  }
  if (glGoogle!='') {
    var region = '&gl=' + glGoogle;
  } else {
    var region = '';
  }
  if (ft[0] != "") {
		qry += "+filetype%3A" + ft[0];
  }
  var requestStr = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0"
      + "&key=ABQIAAAArvRopgX2DPQscTNByVGl9RQ7Uzxsdsp5h_CNs7OMkqUC_-tdkxQ3SI6nWTieR6gBASJKWtLwFuAWew"
      + "&q=" + qry
      + lang
      + region
      + "&rsz=large"
      + "&safe=moderate"
      + "&start=" + (currentpage * 8)
      + "&callback=GoogleSearchCompleted";
  var requestScript = document.getElementById("searchCallbackGoogle");
  requestScript.src = requestStr;
}

function GoogleSearchCompleted(response) {
  if (response.responseData.results) {
    var results = response.responseData.results;
    for (i in results) {
        var result = results[i];
        google_list[i] = new Array(result.title,result.content,result.unescapedUrl,'Google');
    }
  }
  google_ok = true;
  genList();
}

// **************************
// Bing Search API
// **************************

// Replace the following string with the AppId you received from the
// Bing Developer Center.
var AppId = "E0FCF3CD9A788E24C2EFC02C4FBD87F169DB3571";

// Bing API 2.0 code sample demonstrating the use of the
// Web SourceType over the JSON Protocol.
function BingSearch(qry) {
	if (bmarket!='') {
		var market = '&Market=' + bmarket;
	} else {
		var market = '';
	}
  if (ft[2] != "") {
		var file_format = "&Web.FileType=" + ft[2];
  } else {
		var file_format = "";
  }
	var requestStr = "http://api.bing.net/json.aspx?"
	
			// Common request fields (required)
			+ "AppId=" + AppId
			+ "&Query=" + qry
			+ "&Sources=Web"
			
			// Common request fields (optional)
			+ "&Version=2.0"
			+ market
			+ "&UILanguage=hu"
			+ "&Adult=Moderate"
			+ "&Options=EnableHighlighting"

			// Web-specific request fields (optional)
			+ "&Web.Count=8"
			+ "&Web.Offset=" + currentpage
			+ file_format
			+ "&Web.Options=DisableHostCollapsing+DisableQueryAlterations"
			//+ "&Web.FileType=DOC"

			// JSON-specific request fields (optional)
			+ "&JsonType=callback"
			+ "&JsonCallback=SearchCompleted";

	 var requestScript = document.getElementById("searchCallbackBing");
	 requestScript.src = requestStr;
}

function ReplaceHighlightingCharacters(text) {
  if (text) {
    var regexBegin = new RegExp("\uE000", "g");
    var regexEnd = new RegExp("\uE001", "g");
    return text.replace(regexBegin, "<strong>").replace(regexEnd, "</strong>");
  } else {
    return "";
  }
}

function SearchCompleted(response) {
  var errors = response.SearchResponse.Errors;
  if (errors != null) {
      // There are errors in the response. Display error details.
      //DisplayErrors(errors);
  } else {
      // There were no errors in the response. Display the
      // Web results.
      DisplayResults(response);
  }
  bing_ok = true;
  genList();
}

function DisplayResults(response) {
  if (response.SearchResponse.Web) {
    var results = response.SearchResponse.Web.Results;
    for (i in results) {
        var result = results[i];
        bing_list[i] = new Array(ReplaceHighlightingCharacters(result.Title),ReplaceHighlightingCharacters(result.Description),result.Url,'Bing');
    }
  }
}


// **************************
// Yahoo! Search API
// **************************

function YahooSearch(qry) {
  if (lrYahoo!='') {
    var lang = '&language=' + lrYahoo;
  } else {
    var lang = '';
  }
  if (glYahoo!='') {
    var region = '&region=' + glYahoo;
  } else {
    var region = '';
  }
  if (ft[1] != "") {
		var file_format = "&format=" + ft[1];
  } else {
		var file_format = "";
  }
  var requestStr = "http://search.yahooapis.com/WebSearchService/V1/webSearch?"
      + "appid=5Dbg1anV34FCqxUpv_x4MixwmLfnoco_LATBlYUwNtTMWG9b57CZe2VA50hWJ0u4Zj9xsg--"
      + "&query=" + qry
      + "&results=8"
      + "&start=" + currentpage
      + lang
      + region
      + file_format
      + "&output=json"
      + "&callback=YahooSearchCompleted";
   var requestScript = document.getElementById("searchCallbackYahoo");
   requestScript.src = requestStr;
}

function YahooSearchCompleted(response) {
  if (response.ResultSet) {
    var results = response.ResultSet.Result;
    for (i in results) {
        var result = results[i];
        yahoo_list[i] = new Array(result.Title,result.Summary,result.Url,'Yahoo!');
    }
  }
  yahoo_ok = true;
  genList();
}

// ************************************************************

function draw_result() {
	var output = document.getElementById("searchcontrol");
	var text = '';
	if (np != 2) {
		var target = "";
	} else {
		var target = ' target="_blank"';
	}
	for (var i = 0; i < result_list.length; i++) {
    var result = result_list[i];
		if (result[2].length > 150) {
      var link = result[2].slice(150) + '...';
    } else {
      var link = result[2];
    }
		text += '<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td width="30" align="center"></td><td>';
		text += '<a href="' + result[2] + '"' + target + ' onclick="set_visited(this)" class="web_data">';
		text += '<span class="zu_title">' + result[0] + "</span><br>";
		text += '<span class="zu_content">' + result[1] + "</span><br>";
		text += '<span class="zu_visibleUrl">' + link + '</span> <span class="zu_added">(Nájdené: ' + result[3] + ")</span>";
		text += '</a>';
		//text += '<td width="40">G = ' + result[10] + '</td>';
		//text += '<tr><td>Y = ' + result[11] + '</td></tr>';
		//text += '<tr><td>B = ' + result[12] + '</td></tr>';
		text += '</td></tr></table>';
	}
	text += draw_pages();
	output.innerHTML = output.innerHTML + text;
}


