/**
* @author Russ Tennant (russ@i2rd.com)
*/
// Used in SiteSearchGenerator.java
cmsSiteSearchGetForm = function (element) {
    while (element.parentNode && element.nodeName.toLowerCase() != "form") {
      	element = element.parentNode;
     }
    return element;
};
evt_Target = function(evt) {
    evt = evt || window.event;
    return evt.target || evt.srcElement;
};
cms_ss_OnBlur = function (evt) {
	var t = evt_Target(evt) || this;
	if(t.value.length == 0) {t.value = t.origValue || t.value;}
};
cms_ss_OnFocus = function (evt) {
	var t = evt_Target(evt) || this;
	if(t.value == t.origValue){t.value = "";}
};
cms_ss_SetRPP = function (evt) {
	var t = evt_Target(evt) || this;
	t.rpp.value = t.rppvalue;
	cms_ss_ResetOS(evt);
	t.rpp.form.submit();
};
cms_ss_ResetOS = function (evt) {
	var t = evt_Target(evt) ||  this;
    if(t.sso){t.sso.value = 0;}
};
cms_ss_Setup = function () {
	try {
		var nn, ssq, sso, rpp, f, h, i, el,  forms = document.forms;
		try { if(!forms) forms = document.forms();  } catch(e) { }
		for(h = 0; h < forms.length; h++) {
            rpp = null;
			f = forms[h];
			for(i = 0; i < f.elements.length; i++) {
				el = f.elements[i];
                nn = (el.nodeName ? el.nodeName.toLowerCase() : '');
				if(nn == "input") {
					if(el.name == "site_search_rpp"){
						rpp = el;
					}else if(el.name == "site_search_offset"){
						sso = el;
                    }else if(el.name == "site_search_query"){
                        ssq = el;
    					ssq.origValue = document.getElementById("site_search_query_default").value;
    					ssq.onfocus = cms_ss_OnFocus;
    					ssq.onblur = cms_ss_OnBlur;
    					ssq.onkeypress = cms_ss_ResetOS;
                    }
				}
			}
		}
        if(ssq != null) {
            ssq.sso = sso;
            ssq.rpp = rpp;
        }
		if(rpp != null) {
			var cn, a, anchors = document.anchors;
			try { if(!anchors) anchors = document.anchors(); } catch(e) { }
			for(i = 0; i < anchors.length; i++) {
				a = anchors[i];
                cn = a.className || '';
				if(cn.match(/site_search_rpp/)) {
					a.rpp = rpp;
					a.sso = sso;
					a.onclick = cms_ss_SetRPP;
					var idx = a.href.indexOf("#");
					var n = a.href.substring(idx + 1);
					a.rppvalue = n;
					a.href= "#";
				}
			}
		}
	} catch(e) {
		if(typeof log4js != 'undefined') {
			log4js.logger.error("Unable to setup sitesearch", e);
		}
	}
};

if(window.attachEvent) {
	window.attachEvent('onload', cms_ss_Setup);
} else if(window.addEventListener){
	window.addEventListener('load', cms_ss_Setup, true);
}
