function clickButton(strID, event) {
    var pButton = document.getElementById(strID);
    if (event && event.which) {
        if (event.which == 13) {
            pButton.click();
            return false;
        }
    } else if (window.event && window.event.keyCode) {
        if (event.keyCode == 13) {
            event.returnValue = false;
            event.cancel = true;
            pButton.click();
            return false;
        }
    }
    return true;
}

function clickKFButton(pElement, event) {
    var strID = pElement.id;
	if (event && event.which) {
		if (event.which == 13) {
			submitKFSearch(strID);
			return false;
		}
	} else if (window.event && window.event.keyCode) {
		if (event.keyCode == 13) {
			event.returnValue = false;
			event.cancel = true;
			submitKFSearch(strID);
			return false;
		}
	}
	return true;
}

function clickYPButton(strYPResultsUrl, pElement, event) {
    var strID = pElement.id;
	if (event && event.which) {
		if (event.which == 13) {
			submitYPSearch(strYPResultsUrl, strID);
			return false;
		}
	} else if (window.event && window.event.keyCode) {
		if (event.keyCode == 13) {
			event.returnValue = false;
			event.cancel = true;
			submitYPSearch(strYPResultsUrl, strID);
			return false;
		}
	}
	return true;
}

function submitKFSearch(strID) {
    var pInput = document.getElementById(strID);
    var strUrl = "http://www.google.com/cse?cx=" + encodeURIComponent(strID) + "&cof=FORID%3A0&q=" + encodeURIComponent(pInput.value) + "&sa=Search";
    document.location = strUrl;
    return false;
}

function submitYPSearch(strYPResultsUrl, strPipeId) {
    var pInput = document.getElementById(strPipeId);
    var strUrl = strYPResultsUrl + "?textinput1=" + encodeURIComponent(pInput.value) + "&_id=" + encodeURIComponent(strPipeId);
    document.location = strUrl;
    return false; 
}

function writeYPSearch(strYPResultsUrl, strPipeId) {
    var strDefaultSearchBoxValue = "Yahoo Pipes search";
    var strHtml = "<input id=\"{0}\" type=\"text\" class=\"yPipesSearchBox\" value=\"{3}\" onfocus=\"if (this.value == '{1}') {this.value = '';}\" onblur=\"if (this.value == '') {this.value = '{1}';}\" onkeypress=\"return clickYPButton('{2}', this, event);\" /><input type=\"submit\" class=\"yPipesSubmit\" value=\"Submit\" onclick=\"return submitYPSearch('{2}', '{0}');\" />";
    strHtml = strHtml.replace(/\{0\}/g, strPipeId);
    strHtml = strHtml.replace(/\{1\}/g, strDefaultSearchBoxValue);
    strHtml = strHtml.replace(/\{2\}/g, strYPResultsUrl);
    JSRequest.EnsureSetup(); 
    var strSearchWords = JSRequest.QueryString["textinput1"];
    if (strSearchWords == null) {
        strSearchWords = strDefaultSearchBoxValue;
    }
    strHtml = strHtml.replace(/\{3\}/g, strSearchWords);
    document.write(strHtml);
}
