
function writethis(what) {
	document.write(what);
}

function setClassName(obj,clsname)
{
	if (obj.getAttribute("class")) obj.setAttribute("class",clsname);
	else obj.setAttribute("className",clsname);
}

function getClassName(obj)
{
	if (obj.getAttribute("class")) return obj.getAttribute("class");
	else return obj.getAttribute("className");
}

function radiocsekk2()
{
	d = document.lakaskereso;
        var para = "";
        if (d.hirdetes_csoport_id && 1 == d.hirdetes_csoport_id.value)
        {
            para = "&onkormanyzati=1";
        }
	if (d.elements["mod_"][0].checked && d.mod.value!=1) reszletesKeresoLoader(1,'',para);
	if (d.elements["mod_"][1].checked && d.mod.value!=2) reszletesKeresoLoader(2,'',para);
}

function radiocsekk3()
{
	d = document.lakaskereso;
	if (d.elements["mod_"][0].checked && d.mod.value!=1) reszletesKeresoLoader(1,101,"&uid="+document.lakaskereso.uid.value+"&pwd="+document.lakaskereso.pwd.value);
	if (d.elements["mod_"][1].checked && d.mod.value!=2) reszletesKeresoLoader(2,101,"&uid="+document.lakaskereso.uid.value+"&pwd="+document.lakaskereso.pwd.value);
}

function rk_mezogazdasagi_load()
{
	document.getElementById("mezogazdasagiak").style.display="block";
	document.getElementById("telepulesek").style.display="block";
	document.getElementById("arak").style.display="block";
	document.getElementById("megyek").style.display="block";
	document.getElementById("kulcsszavas").style.display="block";
	document.getElementById("keresesgomb").style.display="block";
	document.getElementById("kepes").style.display="block";
	document.getElementById("felirat").style.display="block";
	document.getElementById("felirat1").style.display="block";
	document.getElementById("telterminmax").style.display="block";
	document.getElementById("telterminmax2").style.display="inline";
	document.getElementById("esetlegek").style.display="block";
}

function bp_lapoz(str,szam){
	var x = document.getElementById(str);	
	if (x.checked == 1)
    	{
			try
			{
		if(window.terkep2) window.document["terkep2"].GotoFrame(szam);
		if(document.terkep2) document.terkep2.GotoFrame(szam);
			} catch (e) {}
		}
	else
		{
			try
			{
		szam=szam+23;
		if(window.terkep2) window.document["terkep2"].GotoFrame(szam);
		if(document.terkep2) document.terkep2.GotoFrame(szam);
			} catch(e) {}
		}	
} 

function bpterkeponclick()
{
	if ( document.getElementById('bpterkep').style.display=='block')
	{
		document.getElementById('bpterkep').style.display='none';
	}
	else
	{
		document.getElementById('bpterkep').style.display='block';
		setTimeout('_bpt()',500);
	}
}

function _bpt()
{
	for(var i=1; i<=23; i++)
		{
			var str = "keru" + i;
			var x = document.getElementById(str);
			if(x.checked)
				{	
					if(window.terkep2) window.document["terkep2"].GotoFrame(i);
					if(document.terkep2) document.terkep2.GotoFrame(i);									
				}
		}
}

// jquery function for client side image resize
function img_resize(selector)
{
    $(selector).each(function() {
        var h = $(this).height();
        var w = $(this).width();
        var ch = $(this).parent().parent().height();
        var cw = $(this).parent().parent().width();
        
        if (h > 100 && w > 100 && w != 186 && h != 186)
        {
            if (h > w)
            {
                $(this).width(cw);
                w = cw;
                h = $(this).height();
                mtop = Math.round((h - ch) / 2);
                $(this).css('marginTop', -mtop);
            }
            else
            {
                $(this).height(ch);
                h = ch;
                w = $(this).width();
                mleft = Math.round((w - cw) / 2);
                $(this).css('marginLeft', -mleft);
            }
        }
    });
}

var Popupper = {
    actions: {
        'belepes': {
            link: '/?page=popup&action=login',
            options: {savetab: 'icomusertype' }
        },
        'regisztracio':      {
            link: '/?page=popup&action=registration'
        },
        'uj_office_belepes': {
            link: '/?page=popup&action=uj_office_belepes'
        },
        'elfelejtettjelszo': {
            link: '/?page=popup&action=forgotten_password',
            options: {savetab: 'icomusertype'}
        },
        'kedvencek': {
            link: '/favourite/dialog'
        },
        'licit-editor': {
            link: '/service_v2/office.php?page=licit_editor',
            options: { nohash: true, focusInput: false }
        },
        'varosresz_valaszto': {
            link: '/?page=varosresz_valaszto',
            options: { nohash: true }
        }
    },
    options: false,
    doAction: function(action, params) {
        var a = Popupper.actions[action];
        if (!a) {
            return true;
        }
        var options = $.extend({}, a.options);

        var p = params ? params.split(';') : [];
        for (var i=0; i<p.length; i++) {
            param = p[i];
            if (param.length) {
                var kv = param.split('=');
                var key = kv.shift();
                var value = kv.join('=');
                if (!value) {value = 1;}
                options[key] = value;
            }
        }
        if ('belepes' == action && true == icom_logged_in)
        {
            if(!options.redirect)
            {
                if (!Popupper.options.nohash) document.location.hash = "";
            }
            else
            {
                document.location = '/' + options.redirect;
            }
            return true;
        }
        Popupper.show(a.link, options);
        if (!Popupper.options.nohash) document.location.hash = action;
        return false;
    },
    hide: function() {
        if (typeof Popupper.onClose == 'function') {
            if (Popupper.onClose() == false) {
                return false;
            }
        }
        $.unblockUI({
            fadeIn: 0,
            fadeOut: 0
        });
        if (!Popupper.options.nohash) document.location.hash = '';
        Popupper.onClose = null;
        return false;
    },
    show: function(url, options) {
        Popupper.options = options;
        Popupper.onClose = null;
        $.blockUI({
            message: '<img src="/images/design2/loading_8.gif" alt="Betöltés..." title="Betöltés..." class="loading" />',
            css: {top: '40%', border: '0', background: 'none'},
            fadeIn: 0,
            fadeOut: 0,
            focusInput: Popupper.options.focusInput === false ? false : true,
            onBlock: function() {
                $.ajax({url: url, data: options, success: function(content){
                    if (content == '') {
                        Popupper.hide();
                    }
                    if (content.substr(0,1) == '#') {
                        var action = content.match(/^#(.*?)(?:;(.*?))?$/);
                        if (action) Popupper.doAction(action[1], action[2] ? action[2]:'');
                        return false;
                    }
                    $.blockUI({
                        message: content,
                        css: {border: 'none', background: 'none'},
                        fadeIn: 0,
                        fadeOut: 0,
                        focusInput: Popupper.options.focusInput === false ? false : true,
                        onBlock: function() {
                            // centering
                            var el = $('.blockMsg'); var p = $(window);
                            el.width($('.blockMsg .popup').width());
                            var t = ((p.height() - el.height())/2);
                            el.css('top', t > 0 ? t+'px' : '0');
                            var t = ((p.width() - el.width())/2);
                            el.css('left', t > 0 ? t+'px' : '0');
                            if (options.savetab) {
                                var id = $('.blockMsg').children().attr('id');
                                var state = $.cookie(options.savetab);
                                if (state) {
                                    Popupper.switchTab(state);
                                }
                            }
                            if (options.loadtab) {
                                Popupper.switchTab(options.loadtab);
                            }
                            if (options.email)
                            {
                                $('.blockMsg input[name="user"]').val(options.email);
                            }

                            $('.blockOverlay').attr('title','Bezárás').click(function(){
                                Popupper.hide();
                            });
                            $('.blockMsg').attr('tabIndex', -1).css('outline', 0).keydown(function(e){
                                if (e.keyCode == 27) {
                                    Popupper.hide();
                                };
                            });
                            $('.blockMsg .popup-button-close').click(function(){
                                Popupper.hide();
                            });
                            $('.blockMsg .popup-tabs li').click(function(){
				Popupper.switchTab($('a', this).attr('href').match(/#(.*?)$/)[1]);
                                return false;
                            });
                            $('.blockMsg form').submit(function(){
                                /*
                                $('.blockMsg input.defaultValue').each(function(n, i){
                                    i.value = '';
                                });
                                */
                                var submitDiv = $('<div class="popup popup-progress"></div>');
                                submitDiv.height($('.blockMsg').height()-2); // -border
                                submitDiv.width($('.blockMsg .popup').width()-2); // -border
                                $('.blockMsg').prepend(submitDiv).focus();
                                $.ajax({
                                   type: this.method,
                                   url: this.action,
                                   dataType: 'json',
                                   data: $(this).serialize(),
                                   success: function(response){
                                      submitDiv.remove();
                                      
                                      if(response.hide || response.show) 
                                      {
                                          if(response.hide)
                                          {
                                              var t = response.hide;
                                              for(var i=0;i<t.length;i++)
                                              {
                                                  $(""+t[i]).hide();
                                              }
                                          }
                                          if(response.show)
                                          {
                                              var t = response.show;
                                              for(var i=0;i<t.length;i++)
                                              {
                                                  $(""+t[i]).show();
                                              }
                                          }
                                      }

                                      if (response.status == 'OK') 
                                      {
                                          if (response.close) {
                                            Popupper.hide();
                                          }
                                          if (options && options.forceReload)
                                          {
                                              document.location.reload();
                                          }
                                          else if(response.link && response.link!='') 
                                          {
                                              if (response.link.substr(0, 1) == '#')
                                              {
                                                  var action = response.link.match(/^#(.*?)(?:;(.*?))?$/);
                                                  if (action) Popupper.doAction(action[1], action[2] ? action[2]:'');
                                              }
                                              else
                                              {
                                                  if (document.location.href.replace(/#.*?$/, '') != response.link.replace(/#.*?$/, ''))
                                                  {
                                                      document.location = response.link;
                                                  }
                                                  else
                                                  {
                                                      document.location = response.link;
                                                      document.location.reload();
                                                  }
                                              }
                                              return false;
                                          }
                                          else if(!response.hide && !response.show)
                                          {
                                              document.location.reload();
                                          }
                                      }
                                      else
                                      {
                                          if (response.alert) {
                                            Popupper.onClose = null;
                                            Popupper.hide();
                                            setTimeout(function(){
                                                alert(response.alert);
                                                document.location.reload();
                                            }, 100);
                                            return false;
                                          }
                                          $('.blockMsg .popup-error-message').html(response.message);
                                      }
                                  }
                                });
                                /*
                                $('.blockMsg input.defaultValue').each(function(n, i){
                                    i.value = i.defaultValue;
                                });
                                */
                                return false;
                            });
                            /*
                            $('.blockMsg input').each(function(n, i){
                                if (i.parentNode.className=='input') {
                                    if (i.value == i.defaultValue) {
                                        if (i.type == 'password') {
                                            $(i).addClass('defaultPassword');
                                            i.type = 'text';
                                        }
                                        $(i).addClass('defaultValue');
                                    }
                                    $(i).focus(function(){
                                        if (i.value == i.defaultValue) {
                                            $(i).removeClass('defaultValue');
                                            i.value = '';
                                            if ($(i).hasClass('defaultPassword')) {
                                                i.type = 'password';
                                            }
                                        }
                                    });
                                    $(i).blur(function(){
                                        if (i.value == '') {
                                            if ($(i).hasClass('defaultPassword')) {
                                                i.type = 'text';
                                            }
                                            $(i).addClass('defaultValue');
                                            i.value = i.defaultValue;
                                        }
                                    });
                                }
                            });
                           */
                        }
                    });
                }});
            }
        });
        $('.blockOverlay').attr('title','Bezárás').click(function(){
            Popupper.hide();
        })
    },
    switchTab: function(tab) {
        var m;
        if (m = tab.match(/#(.*?)$/)) {
            tab = m[1];
        }
        var options = Popupper.options;
        var link = $('.blockMsg .popup-tabs li a[href$=#'+tab+']');
        var item = link.parent().get(0);
        var id = $('.blockMsg').children().attr('id');
        $('.blockMsg .popup-tabs li').removeClass('active');
        $(item).addClass('active');
        var active = '.blockMsg #'+id+'-'+tab;
        $('.popup-tab-content').removeClass('popup-tab-content-active');
        $(active).addClass('popup-tab-content-active');
        if (options.savetab) {
            var date = new Date();
            date.setTime(date.getTime() + (31 * 24 * 60 * 60 * 1000));
            $.cookie(options.savetab, tab, {path: '/', expires: date});
        }
        return false;
    }
}


$(function(){
    $.ajaxSetup({ cache: false });

    function hideFavourites()
    {
        if (layerFavouritesActions)
        {
            layerFavouritesActions.hide();
            $('body').append(layerFavouritesActions);
        }

        if (layerFavourites)
        {
            layerFavourites.remove();
                layerFavourites = null;
        }

        $('#navbar-favourites').removeClass('dropdown-on');
    }

    function countFavs()
    {
        $('.info',layerFavourites).text(displayed_favs + ' kedvenc a(z) ' + count_favs + '-' + bolbol(count_favs));
    }

    var action = document.location.hash.match(/^#(.*?)(?:;(.*?))?$/);
    if (action) Popupper.doAction(action[1], action[2] ? action[2]:'');
    $('img.favourite-star').live('click', function(){
        var id = $(this).attr('data-id');
        var onlogin = $(this).attr('data-onlogin');
        hideFavourites();
        return Popupper.doAction('kedvencek', 'id='+id+';onlogin='+onlogin);
    });
    $('.deleteFavourite').live('click', function(e){
        e.preventDefault();

        var id = $(this).attr('data-id');
        $('img[data-id='+id+']').each(function(i, item){
            $(this).attr('src', $(this).attr('src').replace(/_on/, '_off'));
        });

        $.getJSON('/favourite/delete', {id: id},  function(data)
            {
                if ('OK' == data.status)
                    {
                        $.unblockUI();
                        hideFavourites();
                    }
            });

        return false;
    })
    $('a').live('click', function(e){
        var action = $(this).attr('href').match(/#(.*?)(?:;(.*?))?$/);
        var params = $(this).attr('data-popupper');
        if (action) {
            return Popupper.doAction(action[1], (action[2]?action[2]:'')+';'+(params?params:''));

        }
        return true;
    });
    var layerFavourites;
    var layerFavouritesCurrent = false;
    var layerFavouritesActions;

    var count_favs;
    var displayed_favs;

    $('#navbar-favourites').click(
        function(){
            $(this).blur();
            if (layerFavourites && !layerFavourites.hasClass('hidden')) {
                $(layerFavourites).addClass('hidden');
                $(this).removeClass('dropdown-on');
            } else {
                if (!layerFavouritesActions) {
                    layerFavouritesActions = $('<div class="actions"><a class="edit" href="#">Szerkeszt</a><a class="delete" href="#">Töröl</a></div>');
                    $('.edit', layerFavouritesActions).click(function(e)
                    {
                        e.preventDefault();
                        hideFavourites();
                        return Popupper.doAction('kedvencek', 'id='+layerFavouritesCurrent);
                    });

                    $('.delete', layerFavouritesActions).click(function(e)
                    {
                        e.preventDefault();
                        $.getJSON('/favourite/delete', {id: layerFavouritesCurrent},  function(data)
                        {
                            if ('OK' == data.status)
                            {
                                var delli = $(e.target).parents('li');
                                $(layerFavouritesActions).hide();
                                $('body').append(layerFavouritesActions);
                                $(delli).remove();

                                count_favs--;
                                displayed_favs--;

                                if (displayed_favs == 0)
                                {
                                    hideFavourites();
                                }
                                else
                                {
                                    countFavs();
                                }

                            }
                        });
                        return false;
                    })
                }
                if (!layerFavourites) {
                    layerFavourites = $('<div class="dropdown"><div class="loading">Betöltés...</div></div>');

                    $(this).after(layerFavourites);

                    $(layerFavourites).html('');
					var header = $('<div class="header"></div>').appendTo(layerFavourites);
                    $('<span class="dropdowntitle">Kedvencek listája</span>').appendTo(header);
                    $('<a class="deleteall" href="#">Összes kedvenc törlése</a>').appendTo(header);

                    $('.deleteall', layerFavourites).click(function(e){
                        e.preventDefault();
                        if (confirm('Biztos, hogy törli az összes kedvenc hirdetését?'))
                        {
                            $.getJSON('/favourite/deleteAll', function(data)
                            {
                                if ('OK' == data.status)
                                {
                                    hideFavourites();
                                }
                            });
                        }
                    });


					var listContainer = $('<div class="favourites"></div>').appendTo(layerFavourites);
                    var list = $('<ul class="favourites-list"></ul>').appendTo(listContainer);
                    list.html('<img src="/images/design2/loading.gif" />');

                    $.getJSON('/favourite/top10', {"r" : Math.random()}, function(data)
                    {
                        var list = $('.favourites-list');
                        list.html('');
                        ads = data.ads;

                        if (ads.length == 0) {
                            list.html('<li class="empty"><strong>A lista üres.</strong><br/>Kedvenceket úgy vehet fel a listára, hogy a hirdetésen rákattint a csillagra. Kedvenceit szerkesztheti, megjegyzéseket fűzhet hozzá.</li>');
                            $('.deleteall', layerFavourites).hide();
                        } else {
                            $('.deleteall', layerFavourites).show();
                        }

                        for (var i=0; i< ads.length; i++) {

                            var item = $('<li></li>').data('id', ads[i].ad_id).data('url', ads[i].url).appendTo(list);
                            $(item).hover(
                                function(){
                                    $(this).prepend(layerFavouritesActions).addClass('hover');
                                    $(layerFavouritesActions).show();
                                    layerFavouritesCurrent = $(this).data('id');
                                },
                                function(){
                                    $(this).removeClass('hover');
                                    $(layerFavouritesActions).hide();
                                    layerFavouritesCurrent = false;
                                }
                            ).click(
                                function(){
                                    document.location = $(this).data('url');
                                }
                            );
                            $('<img>').attr({
                                src: ads[i].HirdetesTorzs.kis_kep_url,
                                width: 36,
                                height: 36
                            }).appendTo(item);

                            var textdiv = $('<div class="details"></div>');

                            var notes = $('<p class="notes"></p>').appendTo(textdiv);
                            $('<strong></strong>').text(ads[i].name).appendTo(notes);
                            $('<span></span>').text(ads[i].comment).appendTo(notes);

                            textdiv.appendTo(item);
                        }

                        displayed_favs = data.ads.length;
                        count_favs = data.ad_count;

                        var footer = $('<div class="footer"></div>').appendTo(layerFavourites);
                        $('<span class="info"></span>').appendTo(footer);
                        $('<a class="all" href="' + data.url_all +'">Teljes lista</a>').appendTo(footer);
                        $('<button>Bezár</button>').click(
                            function(){
                                $(layerFavourites).addClass('hidden');
                                $('#navbar-favourites').removeClass('dropdown-on');
                            }
                        ).appendTo(footer);

                        countFavs();

                    });
                   

                }
                $(this).addClass('dropdown-on');
                $(layerFavourites).removeClass('hidden');
                var pos = $(this).offset();
                var x = pos.left + $(this).width();
                var y = pos.top + $(this).height();
                $(layerFavourites)
                    .css({top: y + 8, left: x-290})
                    .show();
            }
        }
    );
});

function bolbol(num)
{
        last = num % 10;
        last2 = num % 100;
        // az utolsó szám alapján
        bolok = new Array(3, 6, 8);
        // az utolsó 2 szám alapján ( kivéve ha ezerre végződik)
        bolok2 = new Array(20, 30, 60, 80, '00');
        if (in_array(last, bolok) || (in_array(last2, bolok2) && num % 1000 != 0))
        {
            suffix = 'ból';
        }
        else
        {
            suffix = 'ből';
        }

        return suffix;
}


function in_array (needle, haystack, argStrict) {
    // Checks if the given value exists in the array
    //
    // version: 1004.1212
    // discuss at: http://phpjs.org/functions/in_array
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: vlado houba
    // +   input by: Billy
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
    // *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
    // *     returns 2: false
    // *     example 3: in_array(1, ['1', '2', '3']);
    // *     returns 3: true
    // *     example 3: in_array(1, ['1', '2', '3'], false);
    // *     returns 3: true
    // *     example 4: in_array(1, ['1', '2', '3'], true);
    // *     returns 4: false
    var key = '', strict = !!argStrict;

    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }

    return false;
}

/*!
 * jQuery blockUI plugin (http://malsup.com/jquery/block/)
 * Version 2.31 (06-JAN-2010) Copyright (c) 2007-2008 M. Alsup
 */
(function($) {
    $.fn._fadeIn = $.fn.fadeIn;
    var noOp = function() {};
    var mode = document.documentMode || 0;
    var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8);
    var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode;
    $.blockUI   = function(opts) {install(window, opts);};
    $.unblockUI = function(opts) {remove(window, opts);};
    $.fn.block = function(opts) {
        return this.unblock({
            fadeOut: 0
        }).each(function() {
            if ($.css(this,'position') == 'static')
                this.style.position = 'relative';
            if ($.browser.msie)
                this.style.zoom = 1; // force 'hasLayout'
            install(this, opts);
        });
    };
    $.fn.unblock = function(opts) {
        return this.each(function() {
            remove(this, opts);
        });
    };
    $.blockUI.defaults = {
        message:  '<h1>Please wait...</h1>',
        title: null,	  // title string; only used when theme == true
        draggable: true,  // only used when theme == true (requires jquery-ui.js to be loaded)
        theme: false, // set to true to use with jQuery UI themes
        css: {
            padding:	0,
            margin:		0,
            width:		'30%',
            top:		'40%',
            left:		'35%',
            textAlign:	'center',
            color:		'#000',
            border:		'3px solid #aaa',
            backgroundColor:'#fff',
            cursor:		'default'
        },
        themedCSS: {
            width:	'30%',
            top:	'40%',
            left:	'35%'
        },
        overlayCSS:  {
            backgroundColor: '#000',
            opacity:	  	 0.6
        },
        iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
        forceIframe: false,
        baseZ: 1000,
        centerX: true, // <-- only effects element blocking (page block controlled via css above)
        centerY: true,
        allowBodyStretch: true,
        bindEvents: true,
        constrainTabKey: true,
        fadeIn:  200,
        fadeOut:  400,
        timeout: 0,
        showOverlay: true,
        focusInput: true,
        applyPlatformOpacityRules: true,
        onBlock: null,
        onUnblock: null,
        quirksmodeOffsetHack: 4
    };
    var pageBlock = null;
    var pageBlockEls = [];
    function install(el, opts) {
        var full = (el == window);
        var msg = opts && opts.message !== undefined ? opts.message : undefined;
        opts = $.extend({}, $.blockUI.defaults, opts || {});
        opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
        var css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
        var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
        msg = msg === undefined ? opts.message : msg;
        if (full && pageBlock) remove(window, {
            fadeOut:0
        });
        if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
            var node = msg.jquery ? msg[0] : msg;
            var data = {};
            $(el).data('blockUI.history', data);
            data.el = node;
            data.parent = node.parentNode;
            data.display = node.style.display;
            data.position = node.style.position;
            if (data.parent)
                data.parent.removeChild(node);
        }
        var z = opts.baseZ;
        var lyr1 = ($.browser.msie || opts.forceIframe)
        ? $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>')
        : $('<div class="blockUI" style="display:none"></div>');
        var lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
        var lyr3;
        if (opts.theme && full) {
            var s = '<div class="blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:fixed">' +
            '<div class="ui-widget-header ui-dialog-titlebar blockTitle">'+(opts.title || '&nbsp;')+'</div>' +
            '<div class="ui-widget-content ui-dialog-content"></div>' +
            '</div>';
            lyr3 = $(s);
        }
        else {
            lyr3 = full ? $('<div class="blockUI blockMsg blockPage" style="z-index:'+z+';display:none;position:fixed"></div>')
            : $('<div class="blockUI blockMsg blockElement" style="z-index:'+z+';display:none;position:absolute"></div>');
        }
        if (msg) {
            if (opts.theme) {
                lyr3.css(themedCSS);
                lyr3.addClass('ui-widget-content');
            }
            else
                lyr3.css(css);
        }
        if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform))) lyr2.css(opts.overlayCSS);
        lyr2.css('position', full ? 'fixed' : 'absolute');
        if ($.browser.msie || opts.forceIframe) lyr1.css('opacity',0.0);
        var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
        $.each(layers, function() {
            this.appendTo($par);
        });
        if (opts.theme && opts.draggable && $.fn.draggable) {
            lyr3.draggable({
                handle: '.ui-dialog-titlebar',
                cancel: 'li'
            });
        }
        var expr = setExpr && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
        if (ie6 || expr) {
            if (full && opts.allowBodyStretch && $.boxModel) $('html,body').css('height','100%');
            if ((ie6 || !$.boxModel) && !full) {
                var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
                var fixT = t ? '(0 - '+t+')' : 0;
                var fixL = l ? '(0 - '+l+')' : 0;
            }
            $.each([lyr1,lyr2,lyr3], function(i,o) {
                var s = o[0].style;
                s.position = 'absolute';
                if (i < 2) {
                    full ? s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"')
                    : s.setExpression('height','this.parentNode.offsetHeight + "px"');
                    full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
                    : s.setExpression('width','this.parentNode.offsetWidth + "px"');
                    if (fixL) s.setExpression('left', fixL);
                    if (fixT) s.setExpression('top', fixT);
                }
                else if (opts.centerY) {
                    if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
                    s.marginTop = 0;
                }
                else if (!opts.centerY && full) {
                    var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0;
                    var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
                    s.setExpression('top',expression);
                }
            });
        }
        if (msg) {
            if (opts.theme)
                lyr3.find('.ui-widget-content').append(msg);
            else
                lyr3.append(msg);
            if (msg.jquery || msg.nodeType)
                $(msg).show();
        }
        if (($.browser.msie || opts.forceIframe) && opts.showOverlay)
            lyr1.show(); // opacity is zero
        if (opts.fadeIn) {
            var cb = opts.onBlock ? opts.onBlock : noOp;
            var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
            var cb2 = msg ? cb : noOp;
            if (opts.showOverlay)
                lyr2._fadeIn(opts.fadeIn, cb1);
            if (msg)
                lyr3._fadeIn(opts.fadeIn, cb2);
        }
        else {
            if (opts.showOverlay)
                lyr2.show();
            if (msg)
                lyr3.show();
            if (opts.onBlock)
                opts.onBlock();
        }
        bind(1, el, opts);
        if (full) {
            pageBlock = lyr3[0];
            pageBlockEls = $(':input:enabled:visible',pageBlock);
            if (opts.focusInput) setTimeout(focus, 20);
        } else center(lyr3[0], opts.centerX, opts.centerY);
        if (opts.timeout) {
            var to = setTimeout(function() {
                full ? $.unblockUI(opts) : $(el).unblock(opts);
            }, opts.timeout);
            $(el).data('blockUI.timeout', to);
        }
    };
    function remove(el, opts) {
        var full = (el == window);
        var $el = $(el);
        var data = $el.data('blockUI.history');
        var to = $el.data('blockUI.timeout');
        if (to) {
            clearTimeout(to);
            $el.removeData('blockUI.timeout');
        }
        opts = $.extend({}, $.blockUI.defaults, opts || {});
        bind(0, el, opts); // unbind events
        var els;
        if (full) // crazy selector to handle odd field errors in ie6/7
            els = $('body').children().filter('.blockUI').add('body > .blockUI');
        else
            els = $('.blockUI', el);
        if (full) pageBlock = pageBlockEls = null;
        if (opts.fadeOut) {
            els.fadeOut(opts.fadeOut);
            setTimeout(function() {
                reset(els,data,opts,el);
            }, opts.fadeOut);
        } else reset(els, data, opts, el);
    };
    function reset(els,data,opts,el) {
        els.each(function(i,o) {
            if (this.parentNode) this.parentNode.removeChild(this);
        });
        if (data && data.el) {
            data.el.style.display = data.display;
            data.el.style.position = data.position;
            if (data.parent) data.parent.appendChild(data.el);
            $(el).removeData('blockUI.history');
        }
        if (typeof opts.onUnblock == 'function') opts.onUnblock(el,opts);
    };
    function bind(b, el, opts) {
        var full = el == window, $el = $(el);
        if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) return;
        if (!full) $el.data('blockUI.isBlocked', b);
        if (!opts.bindEvents || (b && !opts.showOverlay)) return;
        var events = 'mousedown mouseup keydown keypress';
        b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler);
    };
    function handler(e) {
        if (e.keyCode && e.keyCode == 9) {
            if (pageBlock && e.data.constrainTabKey) {
                var els = pageBlockEls;
                var fwd = !e.shiftKey && e.target == els[els.length-1];
                var back = e.shiftKey && e.target == els[0];
                if (fwd || back) {
                    setTimeout(function(){
                        focus(back)
                        },10);
                    return false;
                }
            }
        }
        if ($(e.target).parents('div.blockMsg').length > 0) return true;
        return $(e.target).parents().children().filter('div.blockUI').length == 0;
    };
    function focus(back) {
        if (!pageBlockEls) return;
        var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
        if (e) e.focus();
    };
    function center(el, x, y) {
        var p = el.parentNode, s = el.style;
        var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
        var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
        if (x) s.left = l > 0 ? (l+'px') : '0';
        if (y) s.top  = t > 0 ? (t+'px') : '0';
    };
    function sz(el, p) {
        return parseInt($.css(el,p))||0;
    };
})(jQuery);

jQuery.fn.inputHintOverlay = function (topNudge, leftNudge) {
	topNudge = typeof(topNudge) != 'undefined' ? topNudge : 0;
	leftNudge = typeof(leftNudge) != 'undefined' ? leftNudge : 0;
	var suffix = 'jqiho';
	return this.each(function (){
		var curParent = $(this);
		var textAreas = $(this).find("textarea");
		$(this).find("input[type=text], input[type=password]").add(textAreas).each(function() {
			var relHint = $(this).attr('title');
			var curValue = $(this).attr('value');
			var safeHint;
			if(relHint) {
				safeHint = relHint.replace(/[^a-zA-Z0-9]/g, '');
				$(this).wrap("<div class=\"inputhintoverlay-wrap\" style=\"position:relative\" id=\"wrap" + safeHint + suffix + "\" />");
				var newPos = $(this).position();
				newZ = $(this).css('z-index');
				if(newZ == "auto") newZ = "2000";
				else newZ = newZ + 20;
				var newCSS = {
					'position' : 'absolute',
					'z-index' : newZ
				};
                var newLabel = $(document.createElement('label'));
				newDiv = newLabel
					.appendTo($("div#wrap" + safeHint + suffix))
					.attr('for', $(this).attr('id'))
					.attr('id', safeHint + suffix)
					.addClass('inputHintOverlay')
					.html(relHint)
					.css(newCSS);
			}
			if(curValue) {
				$('#' + safeHint + suffix).toggle(false);
			}
			$(this).focus(function() {
				$('#' + safeHint + suffix).toggle(false);
			});
			$(newLabel).click(function() {
                $('input, textarea', $(this).parent()).focus();
			});
			$(this).blur(function() {
				if ($(this).attr('value') == "") {$('#' + safeHint + suffix).toggle(true);}
			});
		});
	});
}

// WebKit form submit second time fix

function webkit_form_fix()
{
    if ($.browser.safari)
    {
        $('form[target=_blank]').submit(function() {
            var action_old = $(this).data('_action_old');
            if (!action_old)
            {
                action_old = $(this).attr('action');
                $(this).data('_action_old', action_old);
            }
            var rand = Math.floor(Math.random() * 1000000);
            if (action_old.indexOf('?') == -1)
            {
                action_old += '?';
            }
            if (action_old.indexOf('&') == -1)
            {
                action_old += '&';
            }
            action_old += 'chrfrnd=' + rand;
            $(this).attr('action', action_old + ' ');
        });
    }
}

$(function()
{
    webkit_form_fix();
})

