//########## Discotek IN JavaScript - (c) 2009 Rittencom media ##########\\
(function($) {

var bodyTag = $('#top'),
        bodyTagGB = $('#guestbook'),
        docCON = $('#container'),
        docMAIN = docCON.find('#main'),
        h1Tag = docMAIN.find('h1'),
        $syncel = '';
/* If we're hitting a dead image its most likely the CDN which needs to be synced ;) */
function CDNcheck($syncel) {
    //console.log('Checks ' + $syncel +' for files which needs to be synced..');
    $($syncel).find('img').error(function () {
        var deadImg = $(this),
            imgcon = deadImg.closest('.image_container'),
            imgsrc = deadImg.attr('src'),
            noCacheImgSrc = imgsrc + '?' + new Date().getTime();

        //console.log('Weve found a dead image: ' + imgsrc);
        if (imgsrc.indexOf('system/html') > 0) {
            imgcon.addClass('simpleloading').css({
                'width': imgcon.outerWidth(),
                'height': imgcon.outerHeight()
            });
            deadImg.hide();
            $.get('/s3sync/cachesync.php', {
                cache_sync: 'true'
            }, function (data) {
                imgcon.removeClass('simpleloading');
                deadImg.attr('src', noCacheImgSrc).fadeIn('slow');
            });
            return false;
            //console.log('Cache files is getting synced..');
        } else if (imgsrc.indexOf('files/') > 0) {
            imgcon.addClass('simpleloading').css({
                'width': imgcon.outerWidth(),
                'height': imgcon.outerHeight()
            });
            deadImg.hide();
            $.get('/s3sync/cachesync.php', {
                fe_sync: 'true'
            }, function (data) {
                imgcon.removeClass('simpleloading');
                deadImg.attr('src', noCacheImgSrc).fadeIn('slow');
            });
            //console.log('Frontend files is getting synced..');
            return false;
        } else {
            deadImg.remove();
        }
    });
}
// Fixing lightbox links
function fixlbrel() {
    var alllinks = $('#container').find('a');
    for (i = 0; i < alllinks.length; i++) {
        var linksRel = $(alllinks[i]).attr('rel');
        if (linksRel === 'lightbox') {
            $(alllinks[i]).attr('rel', 'lightbox[image]');
        }
    }
}
// Converts YouTube videos
function inVIDEO() {
    $('#main').find('.in-video').each(function () {
        var videoURL = $(this).find('.hidden'),
            videoTAG = videoURL.text();
        videoURL.remove();
        $(this).append('<object width="588" height="356">' + '<param name="movie" value="' + videoTAG + '"></param>' + '<param name="allowFullScreen" value="true"></param>' + '<param name="allowscriptaccess" value="always"></param>' + '<embed src="' + videoTAG + '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="588" height="356"></embed>' + '</object>');

    });
}
//Formating some calendars :)
function initdjplaces() {
    var docCON = $('#container'),
        tdflateentries = docCON.find('.tdf-late'),
        tdfentries = docCON.find('.tdf'),
        lhentries = docCON.find('.lh'),
        jbentries = docCON.find('.jb');
    for (i = 0; i < tdflateentries.length; i++) {
        $(tdflateentries[i]).append('<span class="place"> - The Dance Floor <strong>(Morgen)</strong></span>');
    }
    for (i = 0; i < tdfentries.length; i++) {
        $(tdfentries[i]).append('<span class="place"> - The Dance Floor</span>');
    }
    for (i = 0; i < lhentries.length; i++) {
        $(lhentries[i]).append('<span class="place"> - La Hacienda</span>');
    }
    for (i = 0; i < jbentries.length; i++) {
        $(jbentries[i]).append('<span class="place"> - Jukeboksen</span>');
    }
}
// Siderbar Widget: DJ Schedule
function initSidebarDjSchedule() {
    var dateArr = new Array('mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag', 'søndag');
    for (i = 0; i < dateArr.length; i++) {
        var theDay = dateArr[i];
        $('#sidebar-cal').find('.event:contains("' + theDay + '")').wrapAll('<div class="dateholder" />').parent().before('<h3>' + $('.event:contains("' + theDay + '") .date:eq(0)').text() + ' spiller:</h3>');
    }
    function sortTdf() {
        var tdfentries = $('#sidebar-cal').find('.tdf');
        for (i = 0; i < tdfentries.length; i++) {
            var myparent = $(tdfentries[i]).parent();
            $(tdfentries[i]).prependTo(myparent);
        }
    }
    function sortTdfLate() {
        var tdflateentries = $('#sidebar-cal').find('.tdf-late');
        for (i = 0; i < tdflateentries.length; i++) {
            var myparent = $(tdflateentries[i]).parent();
            $(tdflateentries[i]).prependTo(myparent);
        }
        sortTdf();
    }
    sortTdfLate();

    $('#sidebar-cal').find('.dateholder:last').css('border-bottom', 'none').css('padding-bottom', '0').css('margin-bottom', '0');
    $('#sidebar-cal').find('.dateholder:first').css('padding-top', '0').end().css({'display' : 'block'});
}
// 
function ajaxrefresh() {
    Mediabox.scanPage();
    inVIDEO();
    //FB.XFBML.parse();
    CDNcheck('#container');
}
// Some functions for using placeholdertexts in input fields :)
function clear_value(myid,deflt){if(deflt){if(deflt==myid.value){myid.value='';}}
else{myid.value='';}}
function reset_value(myid,deflt){if(myid.value==''){myid.value=deflt;}}









       
IN = {
    common : {
        init        : function(){  
                
                CDNcheck(docCON); // Checks if the CDN is in sync
                fixlbrel(); // Fixing lightbox links
                inVIDEO(); // Converts YouTube videos
                if ($('#right').find('.mod_eventlist').length) { // Checks if there is a djschedule in the sidebar if so FIX it!
                    initdjplaces();
                    initSidebarDjSchedule();
                }              
                
                //  Siderbar Paradise Banner
                //$('#paradise_banner').html('<object width="274" height="306">' + '<param name="movie" value="/images/flash/ph_banner_bday.swf"/>' + '<param name="allowFullScreen" value="true"/>' + '<param name="allowscriptaccess" value="always"/>' + '<embed src="/images/flash/ph_banner_bday.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="274" height="306"/>' + '</object>');              
                
                
                $('#header').find('.mod_navigation').find('a').attr('title', ''); // Removes the titles from the main navigation
                $('#submenu').find('a').attr('title', ''); // ..and from the submenu
                docMAIN.find('.mod_article:first').css('margin-top', '0'); // moves the first article of the page up a bit
                docCON.find('.link-ext').find('a').attr('target', '_blank'); // Fixes some weirdness with some external linking in the sidebar 

                /* A pretty crappy Translation menu :S ..but works */
                if ($('#header').find('.mod_gtranslate').length) {
                        $('#header').find('.mod_gtranslate').after('<div class="changelang header-button"><span>Change Language</span></div>');
                        $('#header').find('.changelang').live('click', function () {
                        $('#header').find('.mod_gtranslate').slideToggle('slow');
                    });
                    if (top.location != self.location) top.location = self.location;
                    window['_tipoff'] = function () {};
                    window['_tipon'] = function (a) {};

                    function doTranslate(lang_pair) {
                        if (lang_pair.value) lang_pair = lang_pair.value;
                        if (location.hostname == 'www.discotekin.dk' && lang_pair == '|') return;
                        else if (location.hostname != 'www.discotekin.dk' && lang_pair == '|') location.href = unescape(gfg('u'));
                        else if (location.hostname == 'www.discotekin.dk' && lang_pair != '|') location.href = 'http://translate.google.com/translate?client=tmpg&hl=en&langpair=' + lang_pair + '&u=' + escape(location.href);
                        else location.href = 'http://translate.google.com/translate?client=tmpg&hl=en&langpair=' + lang_pair + '&u=' + unescape(gfg('u'));
                    }

                    function gfg(name) {
                        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
                        var regexS = "[\\?&]" + name + "=([^&#]*)";
                        var regex = new RegExp(regexS);
                        var results = regex.exec(location.href);
                        if (results == null) return '';
                        return results[1];
                    }

                }
        },
        finalize : function(){  }
    },
    frontpage : {
        init           : function(){    
            var startYear = new Date(1996, 8 - 1, 27, 23, 00);
            $('div#countup').countdown({
                since: startYear,
                timezone: +60,
                format: 'YDHMS',
                labels: ['År', 'Måneder', 'Uger', 'Dage', 'Timer', 'Minutter', 'Sekunder'],
                labels1: ['År', 'Måned', 'Uge', 'Dag', 'Time', 'Minut', 'Sekund'],
                layout: '<div><span class="da">{yn}</span><br /><span class="da-label">{yl}</span></div>' + '<div><span class="da">{dn}</span><br /><span class="da-label">{dl}</span></div>' + '<div><span class="ho">{hn}</span><br /><span class="ho-label">{hl}</span></div>' + '<div><span class="mi">{mn}</span><br /><span class="mi-label">{ml}</span></div>' + '<div><span class="se">{sn}</span><br /><span class="se-label">{sl}</span></div>'
            });
            
            var bday = new Date(2010, 8 - 1, 27, 22, 00);
            $('div.bdaycount').prepend('<div id="bdaycountdown"></div>');
            $('div#bdaycountdown').countdown({
                until: bday,
                timezone: +60,
                format: 'YDHMS',
                labels: ['År', 'Måneder', 'Uger', 'Dage', 'Timer', 'Minutter', 'Sekunder'],
                labels1: ['År', 'Måned', 'Uge', 'Dag', 'Time', 'Minut', 'Sekund'],
                layout: '<div><span class="da">{dn}</span><br /><span class="da-label">{dl}</span></div>' + '<div><span class="ho">{hn}</span><br /><span class="ho-label">{hl}</span></div>' + '<div><span class="mi">{mn}</span><br /><span class="mi-label">{ml}</span></div>' + '<div><span class="se">{sn}</span><br /><span class="se-label">{sl}</span></div>'
            });        
        } // ENDS frontpage init
    },
    events : {
        init           : function(){    
            docMAIN.find('.event').find('.image_container').each(function () {
                $(this).css({
                    'min-height': $(this).parent().css('height')
                });
            });
            docMAIN.find('.event:last').css('padding-bottom', '0').css('border', '0');
        } // ENDS events init
    },
    eventpage : {
        init           : function(){    
            var eventName = h1Tag.text(),
                orderTableLink = docMAIN.find('a.order-table'),
                dialogCon = orderTableLink.parent(),
                orderdialog = orderTableLink.next('.order-table-dialog'),
                eventDate = $('#event-date').text();


            $('#after-header').find('.mod_breadcrumb .active').text(eventName);
            orderTableLink.removeAttr('href');
            $('#f2').find('input[name=eventname]').val(eventName);
            $('#f2').find('input[name=eventdate]').val(eventDate);

            docMAIN.find('input[name=name]').change(function () {
                var clientName = docMAIN.find('input[name=name]').val();
            }).change();

            function getEndYear(str) {
                var pattern = /([0-9]+)$/,
                    result = pattern.exec(str);
                return result ? result[1] : null;
            }

            function getEndMonth(str) {
                if (str.indexOf('januar') != -1) {return 0;} // 'January'; }
                else if (str.indexOf('februar') != -1) {return 1;} // 'February'; }
                else if (str.indexOf('marts') != -1) {return 2;} // 'March'; }
                else if (str.indexOf('april') != -1) {return 3;} // 'April'; }
                else if (str.indexOf('maj') != -1) {return 4;} // 'May'; }
                else if (str.indexOf('juli') != -1) {return 5;} // 'July'; }
                else if (str.indexOf('juni') != -1) {return 6;} // 'June'; }
                else if (str.indexOf('august') != -1) {return 7;} // 'August'; }
                else if (str.indexOf('september') != -1) {return 8;} // 'September'; }
                else if (str.indexOf('oktober') != -1) {return 9;} // 'October'; }
                else if (str.indexOf('november') != -1) {return 10;} // 'November'; }
                else if (str.indexOf('december') != -1) {return 11;} // 'December'; }
                else {return -1;}
            }

            function getEndDay(str) {
                var pattern = /(\d+)\./,
                    result = pattern.exec(str);
                return result ? result[1] : null;
            }

            var endYear = parseInt(getEndYear(eventDate)),
                endMonth = parseInt(getEndMonth(eventDate)),
                endDay = parseInt(getEndDay(eventDate)),
                today = new Date(),
                newDate = new Date();

            today.setFullYear(endYear, endMonth, endDay - 1);

            if (newDate < today) {
                //console.log('Showing the event');
            }
            else {
                docMAIN.find('.order-table').remove();
                //console.log('Removing the event');
            }

            //show/hide
            orderTableLink.mouseenter(function () {
                orderdialog.css('left', orderTableLink.position().left + (orderTableLink.outerWidth() / 2 - orderdialog.outerWidth() / 2)).fadeIn('medium').mouseleave(function () {
                    orderdialog.fadeOut('medium');
                });
            });
            dialogCon.mouseleave(function () {
                orderdialog.fadeOut('medium');
            });

            // Ajax submit
            orderdialog.find('#f2').submit(function () {
                $.ajax({
                    type: 'POST',
                    url: '/bordbestilling-udlejning.html',
                    async: true,
                    data: $(this).serialize(),
                    //orderdialog.find('.f2').serialize(),
                    success: function (data) {
                        orderdialog.html('<div class="ajax-response" style="font-size:11px; padding:10px; text-transform:none;"><strong>Tak for din henvendelse!</strong><br/>Vi vil kontakte dig snarest hvor en endelig bestilling vil finde sted.</div>');
                        //pageTracker._trackEvent('Bordbestilling', eventName + ' - ' + eventDate, clientName);
                    }
                });
                return false;
            });
        } // ENDS eventpage init
    },
    faqread : {
        init           : function(){    
            var newcrumb = h1Tag.text();
            $('#after-header').find('.active').text(newcrumb);
        } // ENDS
    },
    picturespage : {
        init           : function(){    
            //$(function () {
                var newHash = '',
                    $mainContent = docMAIN.find('.mod_gallerylist'),
                    $pageWrap = $('#galleri-oversigt');
                $pageWrap.css({
                    'min-height': $pageWrap.height() + 76
                });

                $pageWrap.find('.pagination a').live('click', function () {
                    if ($(this).attr('href').indexOf('discotekin') > 0) {
                        window.location.hash = $(this).attr('href').substring(25);
                    } else {
                        window.location.hash = $(this).attr('href');
                    };
                    return false;
                });
                $(window).bind('hashchange', function () {
                    newHash = window.location.hash.substring(1);
                    $('html, body').animate({
                        scrollTop: 195
                    }, 'slow');

                    if (newHash) {
                        $pageWrap.addClass('simpleloading');
                        $mainContent.fadeOut(200, function () {
                            $.ajax({
                                type: 'GET',
                                url: newHash,
                                dataType: 'html',
                                cache: true,
                                success: function (html) {
                                    var returnHTML = $(html);
                                    $mainContent.hide().html(returnHTML.find('.mod_gallerylist'));
                                }
                            });
                            $mainContent.ajaxComplete(function () {
                                ajaxrefresh();
                                $pageWrap.removeClass('simpleloading');
                                $mainContent.fadeIn('slow');
                            });
                        });
                    };
                });

                $(window).trigger('hashchange');
            //});        
        } // ENDS
    },
    picspagegal : {
        init           : function(){  
            //$(function () {
                $('#ajaxed-load').pajinate({
                    items_per_page : 4,
                    num_page_links_to_display : 5,
                    item_container_id : '#img_gal_bod',
                    nav_panel_id : '#gal_nav'
                });
            //});        
            var newcrumb = h1Tag.text();
            $('#after-header').find('.mod_breadcrumb .active').text(newcrumb);

            if (docMAIN.find('p.description').html() === '&nbsp;') {
                docMAIN.find('p.description').remove();
            }       
        } // ENDS
    },    
    ajaxcal : {
        init           : function(){    
            //$(function () {
                var newHash = '',
                    $mainContent = docMAIN.find('.mod_calendar'),
                    $pageWrap = $('#djschedulecont');

                $mainContent.css({
                    'min-height': $pageWrap.outerHeight()
                });

                $pageWrap.find('#cal-nav a').live('click', function () {
                    if ($(this).attr('href').indexOf('discotekin') > 0) {
                        window.location.hash = $(this).attr('href').substring(25);
                    } else {
                        window.location.hash = $(this).attr('href');
                    };
                    return false;
                });

                $(window).bind('hashchange', function () {

                    newHash = window.location.hash.substring(1);

                    if (newHash) {
                        $mainContent.addClass('simpleloading').find("#djschedulecont").fadeOut(200, function () {
                            $mainContent.load(newHash + " .mod_calendar", function () {
                                fixcaltable();

                                var tdflateentries = docCON.find('table.calendar .tdf-late'),
                                    tdfentries = docCON.find('table.calendar .tdf'),
                                    lhentries = docCON.find('table.calendar .lh'),
                                    jbentries = docCON.find('table.calendar .jb');
                                for (i = 0; i < tdflateentries.length; i++) {
                                    $(tdflateentries[i]).append('<span class="place"> - The Dance Floor <strong>(Morgen)</strong></span>');
                                }
                                for (i = 0; i < tdfentries.length; i++) {
                                    $(tdfentries[i]).append('<span class="place"> - The Dance Floor</span>');
                                }
                                for (i = 0; i < lhentries.length; i++) {
                                    $(lhentries[i]).append('<span class="place"> - La Hacienda</span>');
                                }
                                for (i = 0; i < jbentries.length; i++) {
                                    $(jbentries[i]).append('<span class="place"> - Jukeboksen</span>');
                                }

                                $("#cal-nav").delegate("a", "click", function () {
                                    window.location.hash = $(this).attr("href");
                                    return false;
                                });
                                $mainContent.removeClass('simpleloading');
                                $("#djschedulecont").fadeIn('slow');
                            });
                        });
                    };

                });

                $(window).trigger('hashchange');
            //});

            function fixcaltable() {
                var tabletr = docMAIN.find('table.calendar').find('tbody').find('tr'),
                    tdflateentries = docMAIN.find('table.calendar').find('.tdf-late'),
                    tdfentries = docMAIN.find('table.calendar').find('.tdf'),
                    headerentries = docMAIN.find('table.calendar').find('.header');

                for (i = 0; i < tabletr.length; i++) {
                    $(tabletr[i]).find('td:lt(4), td:gt(5)').remove().end().find('td:first').css('border-left', 'none');
                }
                for (i = 0; i < tdflateentries.length; i++) {
                    var tdflateparent = $(tdflateentries[i]).parent();
                    $(tdflateentries[i]).prependTo(tdflateparent);
                }
                for (i = 0; i < tdfentries.length; i++) {
                    var tdfparent = $(tdfentries[i]).parent();
                    $(tdfentries[i]).prependTo(tdfparent);
                }
                for (i = 0; i < headerentries.length; i++) {
                    var headerparent = $(headerentries[i]).parent();
                    $(headerentries[i]).prependTo(headerparent);
                }
                docMAIN.find('table.calendar').css('visibility', 'visible');
            }
            fixcaltable();
        } // ENDS
    },
    djprofiles : {
        init           : function(){
            function fetchdjimages() {
                $('#djs-overview').find('li').each(function () {
                    var img_url = $('a', this).attr('href'),
                        thisObj = $(this);
                    $(this).prepend('<div class="profile-image loading"><a href="' + img_url + '"></a></div>');

                    $.ajax({
                        type: 'GET',
                        url: img_url,
                        dataType: 'html',
                        cache: true,
                        success: function (html) {
                            $(thisObj).find('.profile-image').find('a').append($(html).find('#profile .image_container img'));
                            $(thisObj).find('img').attr('width', '135').removeAttr('height').end().find('.profile-image').removeClass('loading');
                        }
                    });
                });
            }
        } // ENDS IN.####.init();
    },
    djprofile : {
        init           : function(){    
            function fixProfileCalendar() {
                var tabeldiv = docMAIN.find('.calendar').find('td');
                for (i = 0; i < tabeldiv.length; i++) {
                    if ($(tabeldiv[i]).find('.event').length) {
                        $(tabeldiv[i]).css('background-color', '#fff');
                    } else {
                        $(tabeldiv[i]).css('background-color', '#eee');
                    }
                }
            }
            fixProfileCalendar();
        } // ENDS
    },
    guestbook : {
        init           : function(){    
            //$(document).ready(function () {
                $.ajax({
                    type: 'GET',
                    url: '/diskotek.html',
                    dataType: 'html',
                    cache: true,
                    success: function (html) {
                        var returnHTML = $(html);
                        $('#footer').replaceWith($(returnHTML).find('#footer'));
                    }
                });
                if (window.location == 'http://www.discotekin.dk/gaestebog/') {
                    $('#sidebar li:has(#go_to_frontpage),#sidebar #go_to_frontpage > *').addClass('active');
                    $('#go_to_frontpage').find('span').css('padding-left', '0');
                    $('#go_to_frontpage').find('strong').css('cursor', 'pointer');
                } else {
                    $('#sidebar li:has(#go_to_frontpage),#sidebar #go_to_frontpage > *').removeClass('active');
                    $('#go_to_frontpage').find('span').css('padding-left', '10px');
                }

                $('#postlist').find('li').hover(function () {
                    $(this).find('.actions:first').find('a').addClass('show-link');
                }, function () {
                    $(this).find('.actions:first').find('a').removeClass('show-link');
                });

                //### Guestbook user handlings ###
                // User handling togglings
                $('#create-toggle').click(function () {
                    $('#create-container, #login-container:visible, #lostpass-container:visible').slideToggle();
                });
                $('#login-toggle').click(function () {
                    $('#login-container, #create-container:visible, #lostpass-container:visible').slideToggle();
                });
                $('#lostpass-toggle').click(function () {
                    $('#lostpass-container, #create-container:visible, #login-container:visible').slideToggle();
                });
                docCON.find('#user_editprofile, div#postbox div.avatar, .user_editcancel_btn').click(function () {
                    $('#sidebar li:has(#user_editprofile),#sidebar #user_editprofile > *').toggleClass('active');
                    if ($('#main').find('.editprofile-container:hidden').length) {
                        $('#user_editprofile').find('span').css('padding-left', '0');
                        $('#user_editprofile').find('strong').css('cursor', 'pointer');
                    } else {
                        $('#user_editprofile').find('span').css('padding-left', '10px');
                    }
                    if ($('#postbox').length) {
                        $('#postbox').slideToggle(function () {
                            $('#main').find('.editprofile-container').slideToggle();
                        });
                    }
                    else {
                        $('#main').find('.editprofile-container').slideToggle();
                    }
                });

                // User creation AJAX
                $('#registerform').find('a.user_create').click(function () {
                    $.post('/gaestebog/wp-login.php?action=register', $('#registerform').serialize(), function (data) {
                        $('#registerform').slideToggle(function () {
                            $('#main').find('.regresponse').slideToggle();
                        });
                    });
                });

                // User login AJAX
                $('#login-container').find('a.user_login').click(function () {
                    $.post('/gaestebog/wp-login.php', $('#loginform').serialize(), function (data) {
                        window.location.reload();
                    });
                });

                // User lost password AJAX
                $('#lostpassform').find('a.user_lostpass').click(function () {
                    $.post('/gaestebog/wp-login.php?action=lostpassword', $('#lostpassform').serialize(), function (data) {
                        $('#lostpassform').slideToggle(function () {
                            docMAIN.find('.lostpassresponse').slideToggle();
                        });
                    });
                });

                // User logout AJAX
                var logoutlink = $('#logout-link').find('a').attr('href');
                $('#sidebar').find('a.user_logout').click(function () {
                    $.post(logoutlink, '', function (data) {
                        window.location.reload();
                    });

                });

                // User edit profile AJAX
                var editprofile = '<div class="editprofile-container" style="display:none;"></div><script>jQuery("#main").find(".editprofile-container").load("/gaestebog/wp-admin/profile.php #your-profile", function(){jQuery("div.editprofile-container .form-table:first,div.editprofile-container h3:first, div#pass-strength-result, .form-table:eq(2) tr:gt(1), .form-table:eq(3) tr:eq(0), .form-table:eq(1) tr:eq(0), div.editprofile-container #password th, div.editprofile-container h3:eq(1), div.editprofile-container .button-primary, h3:contains(\'Notifications\'), table:contains(\'notifications\')", "#main").remove();jQuery("div.editprofile-container .form-table:eq(2) .description:eq(0)").remove();jQuery("div.editprofile-container").find("p").removeClass("submit");jQuery("div.editprofile-container:submit").addClass("submit");jQuery("div.editprofile-container h3:eq(1)").text("Kodeord - kun hvis ønskes ændret");jQuery("#password p.description").text("Dit kodeord skal være på mindst 7 tegn.");jQuery("div.editprofile-container span.description:eq(2)").html("<em style=\'font-size:10px\'>Bekræft</em>");jQuery("div.editprofile-container table:eq(0)").wrap("<div class=\'col left\'></div>");jQuery("div.editprofile-container h3:eq(0)").insertBefore("div.editprofile-container table:eq(0)");jQuery("div.editprofile-container table:eq(1)").insertAfter("div.editprofile-container table:eq(0)");jQuery("div.editprofile-container table:eq(2)").wrap("<div class=\'col right\'></div>");jQuery("div.editprofile-container h3:eq(1)").insertBefore("div.editprofile-container table:eq(2)");jQuery("div.col.left:eq(1)").after("<div class=\'col right\'>Test</div>");jQuery("div.editprofile-container div.col.right").after("<div class=\'clear\'></div>");jQuery("div.editprofile-container div.clear:eq(0)").after("<p class=\'notice\'>For at have et avatar i vores gæstebog, skal du <a href=\'http://www.gravatar.com\' target=\'_blank\'>oprette et Gravatar</a><br/>og sørge for at du har registreret med samme e-mail adresse.</p> <a onclick=\'editprofileajax() \' class=\'like-submit user_editprofile_btn\'>Opdater profil</a> <a onclick=\'editprofile() \' class=\'like-submit user_editcancel_btn\' style=\'margin-left:10px;\'>Annuller</a>"); 	});	</script>';
                if (h1Tag.length) {
                    h1Tag.after(editprofile);
                } else {
                    docMAIN.prepend(editprofile);
                }
                // User edit profile AJAX
                function editprofileajax() {
                    $.post("/gaestebog/wp-admin/profile.php", $("#your-profile").serialize(), function (data) {
                        editprofile();
                    });
                };

                // User edit profile toggle
                function editprofile() {
                    $('#sidebar li:has(#user_editprofile), #sidebar #user_editprofile > *').toggleClass('active');
                    if (docMAIN.find('.editprofile-container:hidden').length) {
                        $('#user_editprofile').find('span').css('padding-left', '0');
                        $('#user_editprofile').find('strong').css('cursor', 'pointer');
                    } else {
                        $('#user_editprofile').find('#span').css('padding-left', '10px');
                    }
                    if ($("#postbox").length) {
                        $("#postbox").slideToggle(function () {
                            docMAIN.find('.editprofile-container').slideToggle();
                        });
                    }
                    else {
                        docMAIN.find('.editprofile-container').slideToggle();
                    }
                }
            //});
        } // ENDS
    },
    hssite : {
        init           : function(){    
            $('#right').find('.block').find('.block').parent().removeClass('block');
            $('#right').find('.block').wrap('<div class="roundholder"></div>');

            /* Round Corner images */
            $('#right').find('.roundholder').prepend('<div class="corner tl"></div><div class="corner tr"></div><div class="corner bl"></div><div class="corner br"></div>');
            $('#header').css('cursor', 'pointer').click(function () {
                window.location = 'http://www.hardstylecph.dk';
            });
        } // ENDS
    },
    ytupload : {
        init           : function(){    
            // default script napespace to prevent collisions with other scripts
            YTUploader = (typeof YTUploader == "undefined") ? {} : YTUploader;

            // simple form validator
            YTUploader.Validate = function(f){
                var inputs = $("#" + f + " input[type=text], input[type=file]");
                
                for (var i=0;i<inputs.length;i++)
                {
                   if (inputs[i].value=="")
                   {
                        return false;
                   } 
                }
                
                return true;
            }

            // youtube handler
            YTUploader.SendVideo = function(btn){
                // disable the submit button to prevent multiple postbacks
                btn.disabled = true;
                
                // validate form
                if (YTUploader.Validate("YTUploader_form"))
                {
                    // display wait message
                    $('#formcontainer').hide();
                    $("#wait").show("slow");

                    // populate object with parameters
                    var r = {
                        video_name : $("#YTUploader_name").val(),
                        video_description : $("#YTUploader_description").val(),
                        video_tags : $("#YTUploader_tags").val()
                    }
                    
                    // send object to retrieve post iformation from youtube
                    $.get(YTUploader.youtubeRedirectURL, r, function(data) {
                        
                        // try to eval the data retrieved (we create a new object)
                        try
                        {
                            eval(data);
                        }
                        catch(err)
                        {
                        }
                        
                        // check if the new object exists
                        if (typeof VideoResponse != "undefined")
                        {
                            // fill the form with correct values
                            $("#YTUploader_form").attr("action", VideoResponse.postUrl + "?nexturl=" + VideoResponse.nextUrl + "?guid=" + VideoResponse.guid);
                            $("#YTUploader_token").val(VideoResponse.tokenValue);
                            
                            // submit the form and movie to youtube
                            $("#YTUploader_form").submit();
                        }
                        else
                        {
                            alert("Der opstod en fejl ..tjek venligst indstillingerne");

                            // hide wait message
                            $("#wait").hide();
                            $('#formcontainer').show('slow');

                            btn.disabled = false;
                        }
                        
                    }, "text")
                    
                }
                else
                {
                    alert("Udfyld venligst alle påkrævede felter..");

                    // hide wait message
                    $("#wait").hide();
                    $('#formcontainer').show('slow');

                    btn.disabled = false;
                }
                
                return false;
            }
            YTUploader.youtubeRedirectURL = '/ytuploader/YoutubeConnector.php';
        } // ENDS
    },
    phpage : {
        init           : function(){    
            $('#footer').before('<div id="ph_site_footer"></div>');
            $('#main').find('.inside').prepend('<a href="http://www.discotekin.dk/paradise-hotel.html" style="width:300px; height:180px; position:absolute; margin-left:300px; display:block;"></a>');
        } // ENDS
    }
}


UTIL = {
    fire : function(func,funcname, args){
        var namespace = IN;  // indicate your obj literal namespace here
        funcname = (funcname === undefined) ? 'init' : funcname;
        if (func !== '' && namespace[func] && typeof namespace[func][funcname] == 'function'){
            namespace[func][funcname](args);
        } 
    }, 

    loadEvents : function(){
        var bodyId = document.body.id;
        // hit up common first.
        UTIL.fire('common');
        // do all the classes too.
        $.each(document.body.className.split(/\s+/),function(i,classnm){
            UTIL.fire(classnm);
            UTIL.fire(classnm,bodyId);
        });
        UTIL.fire('common','finalize');
    } 
}; 
 
// kick it all off here 
$(document).ready(UTIL.loadEvents);
})(jQuery);










/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};


/*
 * jQuery nodesContainingText plugin
 * Version: 1.1.2
 * http://code.google.com/p/jquery-translate/
 * Copyright (c) 2009 Balazs Endresz (balazs.endresz@gmail.com)
 * Dual licensed under the MIT and GPL licenses.
 */
(function(b){function a(){}a.prototype={init:function(e,d){this.textArray=[];this.elements=[];this.options=d;this.jquery=e;this.n=-1;if(d.async===true){d.async=2}if(d.not){e=e.not(d.not);e=e.add(e.find("*").not(d.not)).not(b(d.not).find("*"))}else{e=e.add(e.find("*"))}this.jq=e;this.jql=this.jq.length;return this.process()},process:function(){this.n++;var i=this,d=this.options,p="",h=false,g=false,f=this.jq[this.n],k,m,j;if(this.n===this.jql){j=this.jquery.pushStack(this.elements,"nodesContainingText");d.complete.call(j,j,this.textArray);if(d.returnAll===false&&d.walk===false){return this.jquery}return j}if(!f){return this.process()}k=b(f);var n=f.nodeName.toUpperCase(),l=n==="INPUT"&&b.attr(f,"type").toLowerCase();if(({SCRIPT:1,NOSCRIPT:1,STYLE:1,OBJECT:1,IFRAME:1})[n]){return this.process()
}if(typeof d.subject==="string"){p=k.attr(d.subject)}else{if(d.altAndVal&&(n==="IMG"||l==="image")){p=k.attr("alt")}else{if(d.altAndVal&&({text:1,button:1,submit:1})[l]){p=k.val()}else{if(n==="TEXTAREA"){p=k.val()}else{m=f.firstChild;if(d.walk!==true){g=true}else{while(m){if(m.nodeType==1){g=true;break}m=m.nextSibling}}if(!g){p=k.text()}else{if(d.walk!==true){h=true}m=f.firstChild;while(m){if(m.nodeType==3&&m.nodeValue.match(/\S/)!==null){if(m.nodeValue.match(/<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)>/)!==null){if(m.nodeValue.match(/(\S+(?=.*<))|(>(?=.*\S+))/)!==null){h=true;break}}else{h=true;break}}m=m.nextSibling}if(h){p=k.html();p=d.stripScripts?p.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,""):p;this.jq=this.jq.not(k.find("*"))}}}}}}if(!p){return this.process()}this.elements.push(f);this.textArray.push(p);d.each.call(f,this.elements.length-1,f,p);if(d.async){setTimeout(function(){i.process()},d.async);return this.jquery}else{return this.process()}}};var c={not:"",async:false,each:function(){},complete:function(){},comments:false,returnAll:true,walk:true,altAndVal:false,subject:true,stripScripts:true};
b.fn.nodesContainingText=function(d){d=b.extend({},c,b.fn.nodesContainingText.defaults,d);return new a().init(this,d)};b.fn.nodesContainingText.defaults=c})(jQuery);


/*
 * jQuery Translate plugin
 * Version: 1.4.1
 * http://code.google.com/p/jquery-translate/
 * Copyright (c) 2009 Balazs Endresz (balazs.endresz@gmail.com)
 * Dual licensed under the MIT and GPL licenses.
 * This plugin uses the 'Google AJAX Language API' (http://code.google.com/apis/ajaxlanguage/)
 * You can read the terms of use at http://code.google.com/apis/ajaxlanguage/terms.html
 */
(function(c){function o(){}var d=true,g=false,e,s="".replace,m,k,f,p={},b,i=[],h={from:"",to:"",start:o,error:o,each:o,complete:o,onTimeout:o,timeout:0,stripComments:d,stripWhitespace:d,stripScripts:d,separators:/\.\?\!;:/,limit:1750,walk:d,returnAll:g,replace:d,rebind:d,data:d,setLangAttr:g,subject:d,not:"",altAndVal:d,async:g,toggle:g,fromOriginal:d};function r(){c.translate.GL=m=google.language;c.translate.GLL=k=m.Languages;f=c.translate.toLanguageCode;c.each(k,function(v,w){p[w.toUpperCase()]=v});c.translate.isReady=d;var u;while((u=i.shift())){u()}}function j(w,v){var u={};
c.each(w,function(x,y){if(v(y,x)===d){u[x]=y}});return u}function t(v,w,u){return function(){return v.apply(w===d?arguments[0]:w,u||arguments)}}function q(u){return u!==e}function n(w,x,v){w=c.grep(w,q);var u,y={};c.each(x,function(z,A){var B=c.grep(A[0],function(D,C){return q(w[C])&&w[C].constructor===D}).length;if(B===w.length&&B===A[0].length&&(u=d)){c.each(A[1],function(C,D){y[D]=w[C]});return g}});if(!u){throw v}return y}function l(x,w){var u=n(x,c.translate.overload,"jQuery.translate: Invalid arguments"),v=u.options||{};delete u.options;v=c.extend({},h,w,c.extend(v,u));if(v.fromOriginal){v.toggle=d}if(v.toggle){v.data=d}if(v.async===d){v.async=2}return v}function a(){this.extend(c.translate);delete this.defaults;delete this.fn}a.prototype={version:"1.4.1",_init:function(v,x){var w=x.separators.source||x.separators,u=this.isString=typeof v==="string";c.each(["stripComments","stripScripts","stripWhitespace"],function(z,y){var A=c.translate[y];if(x[y]){v=u?A(v):c.map(v,A)}});this.rawSource="<div>"+(u?v:v.join("</div><div>"))+"</div>";
this._m3=new RegExp("["+w+"](?![^"+w+"]*["+w+"])");this.options=x;this.from=x.from=f(x.from)||"";this.to=x.to=f(x.to)||"";this.source=v;this.rawTranslation="";this.translation=[];this.startPos=0;this.i=0;this.stopped=g;this.elements=x.nodes;x.start.call(this,v,x.from,x.to,x);if(x.timeout){this.timeout=setTimeout(t(x.onTimeout,this,[v,x.from,x.to,x]),x.timeout)}(x.toggle&&x.nodes)?this._toggle():this._process()},_process:function(){if(this.stopped){return}var u=this.options,y=this.rawTranslation.length,B,C,A,z;this.rawSourceSub=this.truncate(this.rawSource.substr(this.startPos),u.limit);this.startPos+=this.rawSourceSub.length;while((B=this.rawTranslation.lastIndexOf("</div>",y))>-1){y=B-1;C=this.rawTranslation.substr(0,y+1);A=C.match(/<div[> ]/gi);z=C.match(/<\/div>/gi);A=A?A.length:0;z=z?z.length:0;if(A!==z+1){continue}var v=c(this.rawTranslation.substr(0,y+7)),x=v.length,w=this.i;if(w===x){break}v.slice(w,x).each(t(function(D,G){if(this.stopped){return g}var F=c(G).html().replace(/^\s/,""),E=w+D,H=this.source,I=!this.from&&this.detectedSourceLanguage||this.from;
this.translation[E]=F;this.isString?this.translation=F:H=this.source[E];u.each.call(this,E,F,H,I,this.to,u);this.i++},this));break}if(this.rawSourceSub.length){this._translate()}else{this._complete()}},_translate:function(){m.translate(this.rawSourceSub,this.from,this.to,t(function(u){if(u.error){return this.options.error.call(this,u.error,this.rawSourceSub,this.from,this.to,this.options)}this.rawTranslation+=u.translation||this.rawSourceSub;this.detectedSourceLanguage=u.detectedSourceLanguage;this._process()},this))},_complete:function(){clearTimeout(this.timeout);this.options.complete.call(this,this.translation,this.source,!this.from&&this.detectedSourceLanguage||this.from,this.to,this.options)},stop:function(){if(this.stopped){return this}this.stopped=d;this.options.error.call(this,{message:"stopped"});return this}};c.translate=function(w,u){if(w==e){return new a()}if(c.isFunction(w)){return c.translate.ready(w,u)}var x=new a();var v=[].slice.call(arguments,0);v.shift();return c.translate.ready(t(x._init,x,[w,l(v,c.translate.defaults)]),g,x)
};c.translate.fn=c.translate.prototype=a.prototype;c.translate.fn.extend=c.translate.extend=c.extend;c.translate.extend({_bind:t,_filter:j,_validate:n,_getOpt:l,_defaults:h,defaults:c.extend({},h),capitalize:function(u){return u.charAt(0).toUpperCase()+u.substr(1).toLowerCase()},truncate:function(A,v){var w,D,B,z,y,C,u=encodeURIComponent(A);for(w=0;w<10;w++){try{C=decodeURIComponent(u.substr(0,v-w))}catch(x){continue}if(C){break}}return(!(D=/<(?![^<]*>)/.exec(C)))?((!(B=/>\s*$/.exec(C)))?((z=this._m3.exec(C))?((y=/>(?![^>]*<)/.exec(C))?(z.index>y.index?C.substring(0,z.index+1):C.substring(0,y.index+1)):C.substring(0,z.index+1)):C):C):C.substring(0,D.index)},getLanguages:function(B,A){if(B==e||(A==e&&!B)){return k}var y={},x=typeof B,w=A?c.translate.getLanguages(B):k,C=(x==="object"||x==="function")?B:A;if(C){if(C.call){y=j(w,C)}else{for(var z=0,v=C.length,u;z<v;z++){u=c.translate.toLanguage(C[z]);if(w[u]!=e){y[u]=w[u]}}}}else{y=j(k,m.isTranslatable)}return y},toLanguage:function(w,y){var x=w.toUpperCase();
var v=p[x]||(k[x]?x:e)||p[(c.translate.languageCodeMap[w.toLowerCase()]||"").toUpperCase()];return v==e?e:y==="lowercase"?v.toLowerCase():y==="capitalize"?c.translate.capitalize(v):v},toLanguageCode:function(u){return k[u]||k[c.translate.toLanguage(u)]||c.translate.languageCodeMap[u.toLowerCase()]},same:function(v,u){return v===u||f(v)===f(u)},isTranslatable:function(u){return m.isTranslatable(f(u))},languageCodeMap:{he:"iw",zlm:"ms","zh-hans":"zh-CN","zh-hant":"zh-TW"},isRtl:{ar:d,iw:d,fa:d,ur:d,yi:d},getBranding:function(){return c(m.getBranding.apply(m,arguments))},load:function(v,u){b=d;function w(){google.load("language",u||"1",{callback:r})}if(typeof google!=="undefined"&&google.load){w()}else{c.getScript("http://www.google.com/jsapi?"+(v?"key="+v:""),w)}return c.translate},ready:function(u,w,v){c.translate.isReady?u():i.push(u);if(!b&&!w){c.translate.load()}return v||c.translate},isReady:g,overload:[[[],[]],[[String,String,Object],["from","to","options"]],[[String,Object],["to","options"]],[[Object],["options"]],[[String,String],["from","to"]],[[String],["to"]],[[String,String,Function],["from","to","complete"]],[[String,Function],["to","complete"]]],stripScripts:t(s,d,[/<script[^>]*>([\s\S]*?)<\/script>/gi,""]),stripWhitespace:t(s,d,[/\s\s+/g," "]),stripComments:t(s,d,[/<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)>/g,""])})
})(jQuery);
(function(f){var e=true,a={text:e,button:e,submit:e},b={SCRIPT:e,NOSCRIPT:e,STYLE:e,OBJECT:e,IFRAME:e},d=f([]);d.length=1;function c(i,h){var j=i.css("text-align");i.css("direction",h);if(j==="right"){i.css("text-align","left")}if(j==="left"){i.css("text-align","right")}}function g(i,j){var k=i.nodeName.toUpperCase(),h=k==="INPUT"&&f.attr(i,"type").toLowerCase();j=j||{altAndVal:e,subject:e};return typeof j.subject==="string"?j.subject:j.altAndVal&&(k==="IMG"||h==="image")?"alt":j.altAndVal&&a[h]?"$val":k==="TEXTAREA"?"$val":"$html"}f.translate.fn._toggle=function(){var i=this.options,j=i.to,h;this.elements.each(f.translate._bind(function(k,l){this.i=k;var n=f(l),m=f.translate.getData(n,j,i);if(!m){return !(h=e)}this.translation.push(m);this.replace(n,m,j,i);this.setLangAttr(n,j,i);i.each.call(this,k,l,m,this.source[k],this.from,j,i)},this));
!h?this._complete():this._process()};f.translate.extend({_getType:g,each:function(j,l,h,k,p,n,m){d[0]=l;f.translate.setData(d,n,h,p,k,m);f.translate.replace(d,h,n,m);f.translate.setLangAttr(d,n,m)},getData:function(j,l,k){var h=j[0]||j,i=f.data(h,"translation");return i&&i[l]&&i[l][g(h,k)]},setData:function(k,m,p,n,q,h){if(h&&!h.data){return}var i=k[0]||k,l=g(i,h),j=f.data(i,"translation");j=j||f.data(i,"translation",{});(j[n]=j[n]||{})[l]=q;(j[m]=j[m]||{})[l]=p},replace:function(l,s,r,j){if(j&&!j.replace){return}if(j&&typeof j.subject==="string"){return l.attr(j.subject,s)}var k=l[0]||l,p=k.nodeName.toUpperCase(),n=p==="INPUT"&&f.attr(k,"type").toLowerCase(),m=f.translate.isRtl,i=f.data(k,"lang");if(i===r){return}if(m[r]!==m[i||j&&j.from]){if(m[r]){c(l,"rtl")}else{if(l.css("direction")==="rtl"){c(l,"ltr")}}}if((!j||j.altAndVal)&&(p==="IMG"||n==="image")){l.attr("alt",s)}else{if(p==="TEXTAREA"||(!j||j.altAndVal)&&a[n]){l.val(s)}else{if(!j||j.rebind){var h=l.find("*").not("script"),q=f("<div/>").html(s);
f.translate.copyEvents(h,q.find("*"));l.html(q.contents())}else{l.html(s)}}}f.data(k,"lang",r)},setLangAttr:function(h,j,i){if(!i||i.setLangAttr){h.attr((!i||i.setLangAttr===e)?"lang":i.setLangAttr,j)}},copyEvents:function(i,h){h.each(function(k,n){var o=i[k];if(!n||!o){return false}if(b[o.nodeName.toUpperCase()]){return e}var j=f.data(o,"events");if(!j){return e}for(var m in j){for(var l in j[m]){f.event.add(n,m,j[m][l],j[m][l].data)}}})}});f.fn.translate=function(i,h,l){var j=f.translate._getOpt(arguments,f.fn.translate.defaults),k=f.extend({},f.translate._defaults,f.fn.translate.defaults,j,{complete:function(n,m){f.translate(function(){var q=f.translate.toLanguageCode(j.from);if(j.fromOriginal){n.each(function(r,s){d[0]=s;var t=f.translate.getData(d,q,j);if(!t){return true}m[r]=t})}var p=j.each;function o(r){return function(){[].unshift.call(arguments,this.elements);r.apply(this,arguments)}}j.nodes=n;j.start=o(j.start);j.onTimeout=o(j.onTimeout);j.complete=o(j.complete);j.each=function(s){var r=arguments;
if(arguments.length!==7){[].splice.call(r,1,0,this.elements[s])}this.each.apply(this,r);p.apply(this,r)};f.translate(m,j)})},each:function(){}});if(this.nodesContainingText){return this.nodesContainingText(k)}j.nodes=this;f.translate(f.map(this,function(m){return f(m).html()||f(m).val()}),j);return this};f.fn.translate.defaults=f.extend({},f.translate._defaults)})(jQuery);
(function(a){var b={tags:["select","option"],filter:a.translate.isTranslatable,label:a.translate.toNativeLanguage||function(d,c){return a.translate.capitalize(c)},includeUnknown:false};a.translate.ui=function(){var g={},f="",d="",c="";if(typeof arguments[0]==="string"){g.tags=a.makeArray(arguments)}else{g=arguments[0]}g=a.extend({},b,a.translate.ui.defaults,g);if(g.tags[2]){d="<"+g.tags[2]+">";c="</"+g.tags[2]+">"}var e=a.translate.getLanguages(g.filter);if(!g.includeUnknown){delete e.UNKNOWN}a.each(e,function(h,i){f+=("<"+g.tags[1]+" value="+i+">"+d+g.label(i,h)+c+"</"+g.tags[1]+">")});return a("<"+g.tags[0]+' class="jq-translate-ui">'+f+"</"+g.tags[0]+">")};a.translate.ui.defaults=a.extend({},b)})(jQuery);


/*
 * jQuery hashchange event - v1.2 - 2/11/2010
 * http://benalman.com/projects/jquery-hashchange-plugin/
 * 
 * Copyright (c) 2010 "Cowboy" Ben Alman
 * Dual licensed under the MIT and GPL licenses.
 * http://benalman.com/about/license/
 */
(function($,i,b){var j,k=$.event.special,c="location",d="hashchange",l="href",f=$.browser,g=document.documentMode,h=f.msie&&(g===b||g<8),e="on"+d in i&&!h;function a(m){m=m||i[c][l];return m.replace(/^[^#]*#?(.*)$/,"$1")}$[d+"Delay"]=100;k[d]=$.extend(k[d],{setup:function(){if(e){return false}$(j.start)},teardown:function(){if(e){return false}$(j.stop)}});j=(function(){var m={},r,n,o,q;function p(){o=q=function(s){return s};if(h){n=$('<iframe src="javascript:0"/>').hide().insertAfter("body")[0].contentWindow;q=function(){return a(n.document[c][l])};o=function(u,s){if(u!==s){var t=n.document;t.open().close();t[c].hash="#"+u}};o(a())}}m.start=function(){if(r){return}var t=a();o||p();(function s(){var v=a(),u=q(t);if(v!==t){o(t=v,u);$(i).trigger(d)}else{if(u!==t){i[c][l]=i[c][l].replace(/#.*/,"")+"#"+u}}r=setTimeout(s,$[d+"Delay"])})()};m.stop=function(){if(!n){r&&clearTimeout(r);r=0}};return m})()})(jQuery,this);


/*******************************************************************************************/	
// jquery.pajinate.js - version 0.2
// A jQuery plugin for paginating through any number of DOM elements
// 
// Copyright (c) 2010, Wes Nolte (http://wesnolte.com)
// Liscensed under the MIT License (MIT-LICENSE.txt)
// http://www.opensource.org/licenses/mit-license.php
// Created: 2010-04-16 | Updated: 2010-04-26
/*******************************************************************************************/
(function($){
	$.fn.pajinate = function(options){
		// Set some state information
		var current_page = 'current_page';
		var items_per_page = 'items_per_page';
		
		var meta;
	
		// Setup default option values
		var defaults = {
			item_container_id : '.content',
			items_per_page : 10,			
			nav_panel_id : '.page_navigation',
			num_page_links_to_display : 20,			
			start_page : 0,
			nav_label_first : 'Første',
			nav_label_prev : 'Forrige',
			nav_label_next : 'Næste',
			nav_label_last : 'Sidste'
		};
		var options = $.extend(defaults,options);
		var $item_container;
		var $page_container;
		var $items;
		var $nav_panels;

		$(function () {
			var newHash = '';
			$(window).bind('hashchange', function() {
				newHash = window.location.hash.substring(1);
				if (newHash) {
					goto(newHash);
				};
			});
			$(window).trigger('hashchange');
		});
	
		return this.each(function(){
			$page_container = $(this);
			$item_container = $(this).find(options.item_container_id);
			$items = $page_container.find(options.item_container_id).children();
			meta = $page_container;
			
			// Initialise meta data
			meta.data(current_page,0);
			meta.data(items_per_page, options.items_per_page);
					
			// Get the total number of items
			var total_items = $item_container.children().size();
			
			// Calculate the number of pages needed
			var number_of_pages = Math.ceil(total_items/options.items_per_page);
			
			// Construct the nav bar
			var more = '<span class="ellipse more">...</span>';
			var less = '<span class="ellipse less">...</span>';
			
			var navigation_html = '<a class="first_link" href="javascript:return%20false;">'+ options.nav_label_first +'</a>';
			navigation_html += '<a class="previous_link" href="javascript:return%20false;">'+ options.nav_label_prev +'</a>'+ less+'';
			var current_link = 0;
			while(number_of_pages > current_link){
				navigation_html += '<a class="page_link" href="javascript:return%20false;" longdesc="' + current_link +'">'+ (current_link + 1) +'</a>';
				current_link++;
			}
			navigation_html += more + '<a class="next_link" href="javascript:return%20false;">'+ options.nav_label_next +'</a>';
			navigation_html += '<a class="last_link" href="javascript:return%20false;">'+ options.nav_label_last +'</a>';
			
			// And add it to the appropriate area of the DOM	
			$nav_panels = $page_container.find(options.nav_panel_id);			
			$nav_panels.html(navigation_html).each(function(){
			
				$(this).find('.page_link:first').addClass('first');
				$(this).find('.page_link:last').addClass('last');
				
			});
			
			// Hide the more/less indicators
			$nav_panels.children('.ellipse').hide();
			
			// Set the active page link styling
			$nav_panels.find('.previous_link').next().next().addClass('active_page');
			
			/* Setup Page Display */
			// And hide all pages
			$items.hide();
			// Show the first page			
			$items.slice(0, meta.data(items_per_page)).fadeIn();

			/* Setup Nav Menu Display */
			// Page number slices
			
			var total_page_no_links = $page_container.children(options.nav_panel_id+':first').children('.page_link').size();
			options.num_page_links_to_display = Math.min(options.num_page_links_to_display,total_page_no_links);

			$nav_panels.children('.page_link').hide(); // Hide all the page links
			
			// And only show the number we should be seeing
			$nav_panels.each(function(){
				$(this).children('.page_link').slice(0, options.num_page_links_to_display).show();			
			});
			
			/* Bind the actions to their respective links */
			// Event handler for 'First' link
			$page_container.find('.first_link').click(function(e){
				e.preventDefault();
				
				movePageNumbersRight($(this),0);
				//goto(0);
				window.location.hash = 0 + 1;	
			});			
			
			// Event handler for 'Last' link
			$page_container.find('.last_link').click(function(e){
				e.preventDefault();
				var lastPage = total_page_no_links - 1;
				movePageNumbersLeft($(this),lastPage);
				//goto(lastPage);	
				window.location.hash = parseInt(lastPage) + 1;				
			});			
			
			// Event handler for 'Prev' link
			$page_container.find('.previous_link').click(function(e){
				e.preventDefault();
				showPrevPage($(this));
			});
			
			
			// Event handler for 'Next' link
			$page_container.find('.next_link').click(function(e){
				e.preventDefault();				
				showNextPage($(this));
			});
			
			// Event handler for each 'Page' link
			$page_container.find('.page_link').click(function(e){
				var this_page_link = $(this);
				e.preventDefault();
				//goto(this_page_link.attr('longdesc'));
				window.location.hash = parseInt(this_page_link.attr('longdesc')) + 1;
				if(this_page_link.next('.page_link:hidden').length==true){
					var show_next = parseInt(this_page_link.attr('longdesc')) + 1;
					$nav_panels.each(function(){
						$(this).children('.page_link')
							.hide() // Hide all the page links
							.slice(parseInt(show_next - options.num_page_links_to_display + 1) , show_next + 1)
							.show();		
					});
				}
				if(this_page_link.prev('.page_link:hidden').length==true){
					var show_next = parseInt(this_page_link.attr('longdesc')) - 1;
					$nav_panels.each(function(){
						$(this).children('.page_link')
							.hide() // Hide all the page links
							.slice( show_next , show_next + parseInt(options.num_page_links_to_display))
							.show();
					});
				}
			});			
			
			// Goto the required page
			//goto(parseInt(options.start_page));
			//window.location.hash = options.start_page;
			toggleMoreLess();
		});
		
		function showPrevPage(e){
			new_page = parseInt(meta.data(current_page)) - 1;						
			
			// Check that we aren't on a boundary link
			if($(e).siblings('.active_page').prev('.page_link').length==true){
				movePageNumbersRight(e,new_page);
				//goto(new_page);
				window.location.hash = parseInt(new_page) + 1;
				
				if($(e).siblings('.active_page').prev('.page_link:hidden').length){
					movePageNumbersRight(e,new_page-1);
				}
			}

				
		};
			
		function showNextPage(e){
			new_page = parseInt(meta.data(current_page)) + 1;
			
			// Check that we aren't on a boundary link
			if($(e).siblings('.active_page').next('.page_link').length==true){		
				movePageNumbersLeft(e,new_page);
				//goto(new_page);
				window.location.hash = parseInt(new_page) + 1;
				if($(e).siblings('.active_page').next('.page_link:hidden').length){
					movePageNumbersLeft(e,new_page+1);
				}
			}
				
		};
		
		function goto(page_num){
			
			var ipp = meta.data(items_per_page);
			
			var isLastPage = false;
			
			// Find the start of the next slice
			start_from = (parseInt(page_num) - 1) * ipp;
			
			// Find the end of the next slice
			end_on = start_from + ipp;
			// Hide the current page	
			$items.hide()
					.slice(start_from, end_on)
					.fadeIn();
			
			// Reassign the active class
			$page_container.find(options.nav_panel_id).children('.page_link[longdesc=' + (parseInt(page_num) - 1) +']').addClass('active_page')
													 .siblings('.active_page')
													 .removeClass('active_page');										 
			
			// Set the current page meta data							
			meta.data(current_page,(parseInt(page_num) - 1));
			
			// Hide the more and/or less indicators
			toggleMoreLess();
		};	
		
		// Methods to shift the diplayed index of page numbers to the left or right
		function movePageNumbersLeft(e, new_p){
			var new_page = new_p;
			
			var $current_active_link = $(e).siblings('.active_page');
		
			if($current_active_link.siblings('.page_link[longdesc=' + new_page +']').css('display') == 'none'){
				
				$nav_panels.each(function(){
							$(this).children('.page_link')
								.hide() // Hide all the page links
								.slice(parseInt(new_page - options.num_page_links_to_display + 1) , new_page + 1)
								.show();		
							});
			}
			
		} 
		
		function movePageNumbersRight(e, new_p){
			var new_page = new_p;
			
			var $current_active_link = $(e).siblings('.active_page');
			
			if($current_active_link.siblings('.page_link[longdesc=' + new_page +']').css('display') == 'none'){
												
				$nav_panels.each(function(){
							$(this).children('.page_link')
								.hide() // Hide all the page links
								.slice( new_page , new_page + parseInt(options.num_page_links_to_display))
								.show();
							});
			}
		}
		
		// Show or remove the ellipses that indicate that more page numbers exist in the page index than are currently shown
		function toggleMoreLess(){
													 
			if(!$nav_panels.children('.page_link:visible').hasClass('last')){					
				$nav_panels.children('.more').show();
			}else {
				$nav_panels.children('.more').hide();
			}
			
			if(!$nav_panels.children('.page_link:visible').hasClass('first')){
				$nav_panels.children('.less').show();
			}else {
				$nav_panels.children('.less').hide();
			}			
		}
		
	};	
})(jQuery);