/**
 * @author balazs.suhajda
 */

String.prototype.searchtemplate = function ( o ) {
    return this.replace(/#([^##]*)#/g,
        function ( a, b ) {
            var r = o[b];
            return typeof r === 'string' || typeof r === 'number' ? r : a;
        }
    );
};


var valtech = valtech || {};
valtech.search = (function () {
    //	settings
    var formSelector = '.sitesearch';

    //	local vars
    var $form,
		defaultText;
    var init = function () {
        $form = $(formSelector);

        if ($form && $form.length > 0) {
            var inputfields = $form.find('input[type="text"]');
            if (inputfields.length > 0) {
                defaultText = inputfields[0].defaultValue;
            }
            //	press enter in search input
            var inputs = $form.find('input');
            if (inputs.length > 0) {
                inputs.keydown(function (e) {
                    if (e.keyCode == 13) {
                        e.preventDefault()
                        submit($(this).parent(formSelector));
                    }
                })
			.focus(function () {
			    if (this.value == this.defaultValue) {
			        this.value = '';
			    }
			})
			.blur(function () {
			    if ($.trim(this.value) == '') {
			        this.value = (this.defaultValue ? this.defaultValue : '');
			    }
			});
            }
            //	click on search submit buttom
            var formatag = $form.find('a');
            if (formatag.length > 0) {
                formatag.click(function (e) {
                    e.preventDefault()
                    submit($(this).parent(formSelector));
                });
            }
        }
    };

    var submit = function (form) {
        //	get search term from input
        var inp = form.find("input[type='text']"),
			st = inp.val();
        if (st == defaultText) st = '';

        //	create search url from search submit link's href
        var url = form.find('a').attr('href').toString();
        url = url + st;

        //console.log(url);
        window.location = url;
    }
    return {
        init: init
    }
})();

$( document ).ready( valtech.search.init );
