/* search funcitonality */
	$(function () {
	    try {
	
	        // do this first, in case of error
	        var searchTextbox = $("#searchinput input[type='text']:first");
	     
	        $("#searchbutton a").click(function () {
	            tryDoSearch();
	            return false;
	        });

	        searchTextbox.keydown(checkForEnter);	
	        // transferred to compiled code, to decode serverside
	        /* var searchPhrase = getParameterByName("search");
	        //alert(searchPhrase);
	        if (searchPhrase != '') {
	            searchTextbox.val($.URLDecode(searchPhrase));
	        }*/
	
	       
	    }
	    catch (err) {
	        alert(err);
	    }
	});

function checkForEnter(event) {
    if (event.keyCode == 13) {
        tryDoSearch();
        return false;
    }
}

function tryDoSearch() {
    try{
        var searchText = $("#searchinput input[type='text']:first").val();
        if (searchText.length > 0) {
            window.location.href = '/search?search=' + URLEncode(searchText);
        }
    }
    catch(err) {
    }
}

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
}




function URLEncode(c) {
    var o = ''; var x = 0; c = c.toString(); var r = /(^[a-zA-Z0-9_.]*)/;
    while (x < c.length) {
        var m = r.exec(c.substr(x));
        if (m != null && m.length > 1 && m[1] != '') {
            o += m[1]; x += m[1].length;
        } else {
            if (c[x] == ' ') o += '+'; else {
                var d = c.charCodeAt(x); var h = d.toString(16);
                o += '%' + (h.length < 2 ? '0' : '') + h.toUpperCase();
            } x++;
        }
    } return o;
}

function URLDecode(s) {
    var o = s; var binVal, t; var r = /(%[^%]{2})/;
    if (o)
        o = o.replace(/\+/g, '%20');
    while ((m = r.exec(o)) != null && m.length > 1 && m[1] != '') {
        b = parseInt(m[1].substr(1), 16);
        t = String.fromCharCode(b);
        //alert(t);
        o = o.replace(m[1], t);
    } return o;
}


/* jqurl */


jQuery.jqURL = {

    url: // returns a string
	function (args) {
	    args =
			jQuery.extend({
			    win: window
			},
			args);
	    return args.win.location.href;
	},

    loc:
	function (urlstr, args) {
	    args =
			jQuery.extend({
			    win: window,
			    w: 500,
			    h: 500,
			    wintype: '_top'
			},
			args);

	    if (!args.t) {
	        args.t = screen.height / 2 - args.h / 2;
	    }
	    if (!args.l) {
	        args.l = screen.width / 2 - args.w / 2;
	    }
	    if (args['wintype'] == '_top') {
	        args.win.location.href = urlstr;
	    }
	    else {
	        open(
			urlstr,
			args['wintype'],
			'width=' + args.w + ',height=' + args.h + ',top=' + args.t + ',left=' + args.l + ',scrollbars,resizable'
			);

	    }
	    return;
	},

    qs:
	function (args) {
	    args = jQuery.extend({
	        ret: 'string',
	        win: window
	    },
		args);

	    if (args['ret'] == 'string') {
	        return jQuery.jqURL.url({ win: args.win }).split('?')[1];
	    }

	    else if (args['ret'] == 'object') {

	        var qsobj = {};
	        var thisqs = jQuery.jqURL.url({ win: args.win }).split('?')[1];

	        if (thisqs) {
	            var pairs = thisqs.split('&');
	            for (i = 0; i < pairs.length; i++) {
	                var pair = pairs[i].split('=');
	                qsobj[pair[0]] = pair[1];
	            }
	        }
	        return qsobj;
	    }
	},

    strip:
	function (args) {
	    args = jQuery.extend({
	        keys: '',
	        win: window
	    },
			args);

	    if (jQuery.jqURL.url().indexOf('?') == -1) { // no query string found
	        return jQuery.jqURL.url({ win: args.win });
	    }
	    // if no keys passed in, just return url with no querystring
	    else if (!args.keys) {
	        return jQuery.jqURL.url({ win: args.win }).split('?')[0];
	    }
	    else { //return stripped url

	        var qsobj = jQuery.jqURL.qs({ ret: 'object', win: args.win });  // object with key/value pairs		
	        var counter = 0;
	        var url = jQuery.jqURL.url({ win: args.win }).split('?')[0] + '?';
	        var amp = '';

	        for (var key in qsobj) {
	            if (args.keys.indexOf(key) == -1) {
	                // pass test, add this key/value to string
	                amp = (counter) ? '&' : '';
	                url = url + amp + key + '=' + qsobj[key];
	                counter++;
	            }
	        }
	        return url;
	    }
	},

    get:
	function (key, args) {
	    args = jQuery.extend({
	        win: window
	    }, args);

	    qsobj = jQuery.jqURL.qs({ ret: 'object', win: args.win });
	    return qsobj[key];
	},

    set:
	function (hash, args) {
	    args = jQuery.extend({
	        win: window
	    }, args);

	    // get current querystring
	    var qsobj = jQuery.jqURL.qs({ ret: 'object', win: args.win });

	    // add/set values from hash
	    for (var i in hash) {
	        qsobj[i] = hash[i];
	    }

	    var qstring = '';
	    var counter = 0;
	    var amp = '';

	    // turn qsobj into string
	    for (var k in qsobj) {
	        amp = (counter) ? '&' : '';
	        qstring = qstring + amp + k + '=' + qsobj[k];
	        counter++;
	    }
	    return jQuery.jqURL.strip({ win: args.win }) + '?' + qstring;
	}

};



/*
Watermark v3.0.6 (June 21, 2010) plugin for jQuery
http://jquery-watermark.googlecode.com/
Copyright (c) 2009-2010 Todd Northrop
http://www.speednet.biz/
Dual licensed under the MIT or GPL Version 2 licenses.
*/
(function (b) { var l = "function", j = "password", d = "maxLength", f = "type", c = true, a = "", e = false, t = "watermark", u, m = t, i = "watermarkClass", q = "watermarkFocus", k = "watermarkSubmit", o = "watermarkMaxLength", h = "watermarkPassword", g = "watermarkText", s = ":data(" + m + ")", n = ":text,:password,:search,textarea", p = ["Page_ClientValidate"], r = e; b.extend(b.expr[":"], { search: function (b) { return "search" === (b.type || a) }, data: function (g, i, h) { var f, d = /^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(h[3]); if (d) { f = b(g).data(d[1]); if (f !== u) { if (d[2]) { f = a + f; switch (d[2]) { case "=": return f == d[3]; case "!=": return f != d[3]; case "^=": return f.slice(0, d[3].length) == d[3]; case "$=": return f.slice(-d[3].length) == d[3]; case "*=": return f.indexOf(d[3]) !== -1 } } return c } } return e } }); b.watermark = { version: "3.0.6", options: { className: t, useNative: c }, hide: function (a) { b(a).filter(s).each(function () { b.watermark._hide(b(this)) }) }, _hide: function (b, n) { var m = b.val() || a, k = b.data(g) || a, l = b.data(o) || 0, j = b.data(i); if (k.length && m == k) { b.val(a); if (b.data(h)) if ((b.attr(f) || a) === "text") { var e = b.data(h) || [], c = b.parent() || []; if (e.length && c.length) { c[0].removeChild(b[0]); c[0].appendChild(e[0]); b = e } } if (l) { b.attr(d, l); b.removeData(o) } if (n) { b.attr("autocomplete", "off"); window.setTimeout(function () { b.select() }, 1) } } j && b.removeClass(j) }, show: function (a) { b(a).filter(s).each(function () { b.watermark._show(b(this)) }) }, _show: function (e) { var t = e.val() || a, k = e.data(g) || a, p = e.attr(f) || a, s = e.data(i); if ((t.length == 0 || t == k) && !e.data(q)) { r = c; if (e.data(h)) if (p === j) { var n = e.data(h) || [], m = e.parent() || []; if (n.length && m.length) { m[0].removeChild(e[0]); m[0].appendChild(n[0]); e = n; e.attr(d, k.length) } } if (p === "text" || p === "search") { var l = e.attr(d) || 0; if (l > 0 && k.length > l) { e.data(o, l); e.attr(d, k.length) } } s && e.addClass(s); e.val(k) } else b.watermark._hide(e) }, hideAll: function () { if (r) { b.watermark.hide(n); r = e } }, showAll: function () { b.watermark.show(n) } }; b.fn.watermark = function (r, o) { var p = "string"; if (!this.length) return this; var s = e, t = typeof r === p; if (typeof o === "object") { s = typeof o.className === p; o = b.extend({}, b.watermark.options, o) } else if (typeof o === p) { s = c; o = b.extend({}, b.watermark.options, { className: o }) } else o = b.watermark.options; if (typeof o.useNative !== l) o.useNative = o.useNative ? function () { return c } : function () { return e }; return this.each(function () { var v = "dragleave", u = "dragenter", x = this, e = b(x); if (!e.is(n)) return; if (e.data(m)) { if (t || s) { b.watermark._hide(e); t && e.data(g, r); s && e.data(i, o.className) } } else { if (o.useNative.call(x, e)) if ((a + e.css("-webkit-appearance")).replace("undefined", a) !== a && (e.attr("tagName") || a) !== "TEXTAREA") { t && e.attr("placeholder", r); return } e.data(g, t ? r : a); e.data(i, o.className); e.data(m, 1); if ((e.attr(f) || a) === j) { var y = e.wrap("<span>").parent(), l = b(y.html().replace(/type=["']?password["']?/i, 'type="text"')); l.data(g, e.data(g)); l.data(i, e.data(i)); l.data(m, 1); l.attr(d, r.length); l.focus(function () { b.watermark._hide(l, c) }).bind(u, function () { b.watermark._hide(l) }).bind("dragend", function () { window.setTimeout(function () { l.blur() }, 1) }); e.blur(function () { b.watermark._show(e) }).bind(v, function () { b.watermark._show(e) }); l.data(h, e); e.data(h, l) } else e.focus(function () { e.data(q, 1); b.watermark._hide(e, c) }).blur(function () { e.data(q, 0); b.watermark._show(e) }).bind(u, function () { b.watermark._hide(e) }).bind(v, function () { b.watermark._show(e) }).bind("dragend", function () { window.setTimeout(function () { b.watermark._show(e) }, 1) }).bind("drop", function (c) { var b = c.originalEvent.dataTransfer.getData("Text"); e.val().replace(b, a) === e.data(g) && e.val(b); e.focus() }); if (x.form) { var p = x.form, w = b(p); if (!w.data(k)) { w.submit(b.watermark.hideAll); if (p.submit) { w.data(k, p.submit); p.submit = function (c, a) { return function () { var d = a.data(k); b.watermark.hideAll(); if (d.apply) d.apply(c, Array.prototype.slice.call(arguments)); else d() } } (p, w) } else { w.data(k, 1); p.submit = function (a) { return function () { b.watermark.hideAll(); delete a.submit; a.submit() } } (p) } } } } b.watermark._show(e) }) }; p.length && b(function () { for (var a, c, d = p.length - 1; d >= 0; d--) { a = p[d]; c = window[a]; if (typeof c === l) window[a] = function (a) { return function () { b.watermark.hideAll(); return a.apply(null, Array.prototype.slice.call(arguments)) } } (c) } }) })(jQuery);
