/*global de*/
de = this.de || {};
de.datev = de.datev || {};
de.datev.portal = de.datev.portal || {};
de.datev.portal.nav1 = function () {
    var thisNamespace = de.datev.portal.nav1 || {};

	///////////////////////////////////////////////////////
	// Funktionen
	///////////////////////////////////////////////////////
	var init = function() {
		var popup = de.datev.portal.popup;
		var events = de.datev.events;

		popup.setPopupHandler('nav1Kontakt', popup.openWindowKontakt);

		var defaultSearchExpr = JS_GLOBAL_VAR_Nav1SearchDefaultExpr || '';
		var searchForm = document.getElementById('nav1Search');
		if (searchForm) {
			searchForm.onsubmit = function(evt) {
	            evt = evt || window.event;
	            // Submit-Vorgang abbrechen
                de.datev.events.preventDefault(evt);

                // Such-URL generieren
                var query = '?';
                var searchExprAvail = false;
                var elems = searchForm.elements;
                for (var i = 0; i < elems.length; i++) {
                	var elem = elems[i];
                	if (elem.type === 'text' || elem.type === 'hidden') {
               			var value = elem.value.trim();
                		if (elem.name === 'suchausdruck') {
                			if (value !== defaultSearchExpr && value.length > 0) {
                				searchExprAvail = true;
                			} else {
                				value = '';
                			}
                		}
		                query += query.lastChar() === '?' ? '' : '&';
	                	query += encodeURIComponent(elem.name) + '=' + encodeURIComponent(value);
	                }
                }
                var url = 'http://www2.datev.de' + (searchExprAvail === true ?
                	'/dpisearch/Wait.do' : '/dpisearch/ShowExpertSearch.do') + query;

                // Popup öffnen
                popup.openWindowSearch(url);
			};
		} // if (searchForm)

		var searchExpr = document.getElementById('metasuche');
		if (searchExpr) {
			searchExpr.value = defaultSearchExpr;

			events.addEvent(searchExpr, 'focus', function() {
				if (searchExpr.value === defaultSearchExpr) {
					searchExpr.value = '';
				}
			});
			events.addEvent(searchExpr, 'blur', function() {
				if (searchExpr.value.trim() === '') {
					searchExpr.value = defaultSearchExpr;
				}
			});
		}// if (searchExpr)
	};

    //////////////////////////////////////////////////////
    // PUBLIC
    //////////////////////////////////////////////////////
    thisNamespace.init = init;

    return thisNamespace;
}(); // de.datev.portal.nav1

////////////////////////////////////////////////////////////////
// Ausfuehrung
////////////////////////////////////////////////////////////////
de.datev.events.addEvent(window, "load", de.datev.portal.nav1.init);
