﻿
/*CUSTOM*/
//PrettyPhoto
(function ($) {
    jQuery.prettyPhoto = { version: '3.0' }; jQuery.fn.prettyPhoto = function (pp_settings) {
        pp_settings = jQuery.extend({ animation_speed: 'fast', slideshow: false, autoplay_slideshow: false, opacity: 0.80, show_title: true, allow_resize: true, default_width: 500, default_height: 344, counter_separator_label: '/', theme: 'facebook', hideflash: false, wmode: 'opaque', autoplay: true, modal: false, overlay_gallery: true, keyboard_shortcuts: true, changepicturecallback: function () { }, callback: function () { }, markup: '<div class="pp_pic_holder"><div class="ppt">&nbsp;</div><div class="pp_top"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div><div class="pp_content_container"><div class="pp_left"><div class="pp_right"><div class="pp_content"><div class="pp_loaderIcon"></div><div class="pp_fade"><a href="#" class="pp_expand" title="Expand the image">Expand</a><div class="pp_hoverContainer"><a class="pp_next" href="#">next</a><a class="pp_previous" href="#">previous</a></div><div id="pp_full_res"></div><div class="pp_details clearfix"><p class="pp_description"></p><a class="pp_close" href="#">Close</a><div class="pp_nav"><a href="#" class="pp_arrow_previous">Previous</a><p class="currentTextHolder">0/0</p><a href="#" class="pp_arrow_next">Next</a></div></div></div></div></div></div></div><div class="pp_bottom"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div></div><div class="pp_overlay"></div>', gallery_markup: '<div class="pp_gallery"><a href="#" class="pp_arrow_previous">Previous</a><ul>{gallery}</ul><a href="#" class="pp_arrow_next">Next</a></div>', image_markup: '<img id="fullResImage" src="" />', flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>', quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>', iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>', inline_markup: '<div class="pp_inline clearfix">{content}</div>', custom_markup: '' }, pp_settings); var matchedObjects = this, percentBased = false, correctSizes, pp_open, pp_contentHeight, pp_contentWidth, pp_containerHeight, pp_containerWidth, windowHeight = jQuery(window).height(), windowWidth = jQuery(window).width(), pp_slideshow; doresize = true, scroll_pos = _get_scroll(); jQuery(window).unbind('resize').resize(function () { _center_overlay(); _resize_overlay(); }); if (pp_settings.keyboard_shortcuts) {
            jQuery(document).unbind('keydown').keydown(function (e) {
                if (typeof $pp_pic_holder != 'undefined') {
                    if ($pp_pic_holder.is(':visible')) {
                        switch (e.keyCode) {
                            case 37: jQuery.prettyPhoto.changePage('previous'); break; case 39: jQuery.prettyPhoto.changePage('next'); break; case 27: if (!settings.modal)
                                    jQuery.prettyPhoto.close(); break;
                        }; return false;
                    };
                };
            });
        }
        jQuery.prettyPhoto.initialize = function () {
            settings = pp_settings; if (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6) settings.theme = "light_square"; _buildOverlay(this); if (settings.allow_resize)
                jQuery(window).scroll(function () { _center_overlay(); }); _center_overlay(); set_position = jQuery.inArray(jQuery(this).attr('href'), pp_images); jQuery.prettyPhoto.open(); return false;
        }
        jQuery.prettyPhoto.open = function () {
            if (typeof settings == "undefined") { settings = pp_settings; if (jQuery.browser.msie && jQuery.browser.version == 6) settings.theme = "light_square"; _buildOverlay(this); pp_images = jQuery.makeArray(arguments[0]); pp_titles = (arguments[1]) ? jQuery.makeArray(arguments[1]) : jQuery.makeArray(""); pp_descriptions = (arguments[2]) ? jQuery.makeArray(arguments[2]) : jQuery.makeArray(""); isSet = (pp_images.length > 1) ? true : false; set_position = 0; }
            if (jQuery.browser.msie && jQuery.browser.version == 6) jQuery('select').css('visibility', 'hidden'); if (settings.hideflash) jQuery('object,embed').css('visibility', 'hidden'); _checkPosition(jQuery(pp_images).size()); jQuery('.pp_loaderIcon').show(); if ($ppt.is(':hidden')) $ppt.css('opacity', 0).show(); $pp_overlay.show().fadeTo(settings.animation_speed, settings.opacity); $pp_pic_holder.find('.currentTextHolder').text((set_position + 1) + settings.counter_separator_label + jQuery(pp_images).size()); $pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position])); (settings.show_title && pp_titles[set_position] != "") ? $ppt.html(unescape(pp_titles[set_position])) : $ppt.html('&nbsp;'); movie_width = (parseFloat(grab_param('width', pp_images[set_position]))) ? grab_param('width', pp_images[set_position]) : settings.default_width.toString(); movie_height = (parseFloat(grab_param('height', pp_images[set_position]))) ? grab_param('height', pp_images[set_position]) : settings.default_height.toString(); if (movie_width.indexOf('%') != -1 || movie_height.indexOf('%') != -1) { movie_height = parseFloat((jQuery(window).height() * parseFloat(movie_height) / 100) - 150); movie_width = parseFloat((jQuery(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; } else { percentBased = false; }
            $pp_pic_holder.fadeIn(function () { imgPreloader = ""; switch (_getFileType(pp_images[set_position])) { case 'image': imgPreloader = new Image(); nextImage = new Image(); if (isSet && set_position > jQuery(pp_images).size()) nextImage.src = pp_images[set_position + 1]; prevImage = new Image(); if (isSet && pp_images[set_position - 1]) prevImage.src = pp_images[set_position - 1]; $pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup; $pp_pic_holder.find('#fullResImage').attr('src', pp_images[set_position]); imgPreloader.onload = function () { correctSizes = _fitToViewport(imgPreloader.width, imgPreloader.height); _showContent(); }; imgPreloader.onerror = function () { alert('Image cannot be loaded. Make sure the path is correct and image exist.'); jQuery.prettyPhoto.close(); }; imgPreloader.src = pp_images[set_position]; break; case 'youtube': correctSizes = _fitToViewport(movie_width, movie_height); movie = 'http://www.youtube.com/v/' + grab_param('v', pp_images[set_position]); if (settings.autoplay) movie += "&autoplay=1"; toInject = settings.flash_markup.replace(/{width}/g, correctSizes['width']).replace(/{height}/g, correctSizes['height']).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, movie); break; case 'vimeo': correctSizes = _fitToViewport(movie_width, movie_height); movie_id = pp_images[set_position]; var regExp = /http:\/\/(www\.)?vimeo.com\/(\d+)/; var match = movie_id.match(regExp); movie = 'http://player.vimeo.com/video/' + match[2] + '?title=0&amp;byline=0&amp;portrait=0'; if (settings.autoplay) movie += "&autoplay=1;"; vimeo_width = correctSizes['width'] + '/embed/?moog_width=' + correctSizes['width']; toInject = settings.iframe_markup.replace(/{width}/g, vimeo_width).replace(/{height}/g, correctSizes['height']).replace(/{path}/g, movie); break; case 'quicktime': correctSizes = _fitToViewport(movie_width, movie_height); correctSizes['height'] += 15; correctSizes['contentHeight'] += 15; correctSizes['containerHeight'] += 15; toInject = settings.quicktime_markup.replace(/{width}/g, correctSizes['width']).replace(/{height}/g, correctSizes['height']).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, pp_images[set_position]).replace(/{autoplay}/g, settings.autoplay); break; case 'flash': correctSizes = _fitToViewport(movie_width, movie_height); flash_vars = pp_images[set_position]; flash_vars = flash_vars.substring(pp_images[set_position].indexOf('flashvars') + 10, pp_images[set_position].length); filename = pp_images[set_position]; filename = filename.substring(0, filename.indexOf('?')); toInject = settings.flash_markup.replace(/{width}/g, correctSizes['width']).replace(/{height}/g, correctSizes['height']).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, filename + '?' + flash_vars); break; case 'iframe': correctSizes = _fitToViewport(movie_width, movie_height); frame_url = pp_images[set_position]; frame_url = frame_url.substr(0, frame_url.indexOf('iframe') - 1); toInject = settings.iframe_markup.replace(/{width}/g, correctSizes['width']).replace(/{height}/g, correctSizes['height']).replace(/{path}/g, frame_url); break; case 'custom': correctSizes = _fitToViewport(movie_width, movie_height); toInject = settings.custom_markup; break; case 'inline': myClone = jQuery(pp_images[set_position]).clone().css({ 'width': settings.default_width }).wrapInner('<div id="pp_full_res"><div class="pp_inline clearfix"></div></div>').appendTo(jQuery('body')); correctSizes = _fitToViewport(jQuery(myClone).width(), jQuery(myClone).height()); jQuery(myClone).remove(); toInject = settings.inline_markup.replace(/{content}/g, jQuery(pp_images[set_position]).html()); break; }; if (!imgPreloader) { $pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject; _showContent(); }; }); return false;
        }; jQuery.prettyPhoto.changePage = function (direction) { currentGalleryPage = 0; if (direction == 'previous') { set_position--; if (set_position < 0) { set_position = 0; return; }; } else if (direction == 'next') { set_position++; if (set_position > jQuery(pp_images).size() - 1) { set_position = 0; } } else { set_position = direction; }; if (!doresize) doresize = true; jQuery('.pp_contract').removeClass('pp_contract').addClass('pp_expand'); _hideContent(function () { jQuery.prettyPhoto.open(); }); }; jQuery.prettyPhoto.changeGalleryPage = function (direction) { if (direction == 'next') { currentGalleryPage++; if (currentGalleryPage > totalPage) { currentGalleryPage = 0; }; } else if (direction == 'previous') { currentGalleryPage--; if (currentGalleryPage < 0) { currentGalleryPage = totalPage; }; } else { currentGalleryPage = direction; }; itemsToSlide = (currentGalleryPage == totalPage) ? pp_images.length - ((totalPage) * itemsPerPage) : itemsPerPage; $pp_pic_holder.find('.pp_gallery li').each(function (i) { jQuery(this).animate({ 'left': (i * itemWidth) - ((itemsToSlide * itemWidth) * currentGalleryPage) }); }); }; jQuery.prettyPhoto.startSlideshow = function () { if (typeof pp_slideshow == 'undefined') { $pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function () { jQuery.prettyPhoto.stopSlideshow(); return false; }); pp_slideshow = setInterval(jQuery.prettyPhoto.startSlideshow, settings.slideshow); } else { jQuery.prettyPhoto.changePage('next'); }; }
        jQuery.prettyPhoto.stopSlideshow = function () { $pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function () { jQuery.prettyPhoto.startSlideshow(); return false; }); clearInterval(pp_slideshow); pp_slideshow = undefined; }
        jQuery.prettyPhoto.close = function () { clearInterval(pp_slideshow); $pp_pic_holder.stop().find('object,embed').css('visibility', 'hidden'); jQuery('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed, function () { jQuery(this).remove(); }); $pp_overlay.fadeOut(settings.animation_speed, function () { if (jQuery.browser.msie && jQuery.browser.version == 6) jQuery('select').css('visibility', 'visible'); if (settings.hideflash) jQuery('object,embed').css('visibility', 'visible'); jQuery(this).remove(); jQuery(window).unbind('scroll'); settings.callback(); doresize = true; pp_open = false; delete settings; }); }; _showContent = function () {
            jQuery('.pp_loaderIcon').hide(); $ppt.fadeTo(settings.animation_speed, 1); projectedTop = scroll_pos['scrollTop'] + ((windowHeight / 2) - (correctSizes['containerHeight'] / 2)); if (projectedTop < 0) projectedTop = 0; $pp_pic_holder.find('.pp_content').animate({ 'height': correctSizes['contentHeight'] }, settings.animation_speed); $pp_pic_holder.animate({ 'top': projectedTop, 'left': (windowWidth / 2) - (correctSizes['containerWidth'] / 2), 'width': correctSizes['containerWidth'] }, settings.animation_speed, function () {
                $pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(correctSizes['height']).width(correctSizes['width']); $pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed); if (isSet && _getFileType(pp_images[set_position]) == "image") { $pp_pic_holder.find('.pp_hoverContainer').show(); } else { $pp_pic_holder.find('.pp_hoverContainer').hide(); }
                if (correctSizes['resized']) jQuery('a.pp_expand,a.pp_contract').fadeIn(settings.animation_speed); if (settings.autoplay_slideshow && !pp_slideshow && !pp_open) jQuery.prettyPhoto.startSlideshow(); settings.changepicturecallback(); pp_open = true;
            }); _insert_gallery();
        }; function _hideContent(callback) { $pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility', 'hidden'); $pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed, function () { jQuery('.pp_loaderIcon').show(); callback(); }); }; function _checkPosition(setCount) { if (set_position == setCount - 1) { $pp_pic_holder.find('a.pp_next').css('visibility', 'hidden'); $pp_pic_holder.find('a.pp_next').addClass('disabled').unbind('click'); } else { $pp_pic_holder.find('a.pp_next').css('visibility', 'visible'); $pp_pic_holder.find('a.pp_next.disabled').removeClass('disabled').bind('click', function () { jQuery.prettyPhoto.changePage('next'); return false; }); }; if (set_position == 0) { $pp_pic_holder.find('a.pp_previous').css('visibility', 'hidden').addClass('disabled').unbind('click'); } else { $pp_pic_holder.find('a.pp_previous.disabled').css('visibility', 'visible').removeClass('disabled').bind('click', function () { jQuery.prettyPhoto.changePage('previous'); return false; }); }; (setCount > 1) ? jQuery('.pp_nav').show() : jQuery('.pp_nav').hide(); }; function _fitToViewport(width, height) { resized = false; _getDimensions(width, height); imageWidth = width, imageHeight = height; if (((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)) && doresize && settings.allow_resize && !percentBased) { resized = true, fitting = false; while (!fitting) { if ((pp_containerWidth > windowWidth)) { imageWidth = (windowWidth - 200); imageHeight = (height / width) * imageWidth; } else if ((pp_containerHeight > windowHeight)) { imageHeight = (windowHeight - 200); imageWidth = (width / height) * imageHeight; } else { fitting = true; }; pp_containerHeight = imageHeight, pp_containerWidth = imageWidth; }; _getDimensions(imageWidth, imageHeight); }; return { width: Math.floor(imageWidth), height: Math.floor(imageHeight), containerHeight: Math.floor(pp_containerHeight), containerWidth: Math.floor(pp_containerWidth) + 40, contentHeight: Math.floor(pp_contentHeight), contentWidth: Math.floor(pp_contentWidth), resized: resized }; }; function _getDimensions(width, height) { width = parseFloat(width); height = parseFloat(height); $pp_details = $pp_pic_holder.find('.pp_details'); $pp_details.width(width); detailsHeight = parseFloat($pp_details.css('marginTop')) + parseFloat($pp_details.css('marginBottom')); $pp_details = $pp_details.clone().appendTo(jQuery('body')).css({ 'position': 'absolute', 'top': -10000 }); detailsHeight += $pp_details.height(); detailsHeight = (detailsHeight <= 34) ? 36 : detailsHeight; if (jQuery.browser.msie && jQuery.browser.version == 7) detailsHeight += 8; $pp_details.remove(); pp_contentHeight = height + detailsHeight; pp_contentWidth = width; pp_containerHeight = pp_contentHeight + $ppt.height() + $pp_pic_holder.find('.pp_top').height() + $pp_pic_holder.find('.pp_bottom').height(); pp_containerWidth = width; }
        function _getFileType(itemSrc) { if (itemSrc.match(/youtube\.com\/watch/i)) { return 'youtube'; } else if (itemSrc.match(/vimeo\.com/i)) { return 'vimeo'; } else if (itemSrc.indexOf('.mov') != -1) { return 'quicktime'; } else if (itemSrc.indexOf('.swf') != -1) { return 'flash'; } else if (itemSrc.indexOf('iframe') != -1) { return 'iframe'; } else if (itemSrc.indexOf('custom') != -1) { return 'custom'; } else if (itemSrc.substr(0, 1) == '#') { return 'inline'; } else { return 'image'; }; }; function _center_overlay() { if (doresize && typeof $pp_pic_holder != 'undefined') { scroll_pos = _get_scroll(); titleHeight = $ppt.height(), contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width(); projectedTop = (windowHeight / 2) + scroll_pos['scrollTop'] - (contentHeight / 2); $pp_pic_holder.css({ 'top': projectedTop, 'left': (windowWidth / 2) + scroll_pos['scrollLeft'] - (contentwidth / 2) }); }; }; function _get_scroll() { if (self.pageYOffset) { return { scrollTop: self.pageYOffset, scrollLeft: self.pageXOffset }; } else if (document.documentElement && document.documentElement.scrollTop) { return { scrollTop: document.documentElement.scrollTop, scrollLeft: document.documentElement.scrollLeft }; } else if (document.body) { return { scrollTop: document.body.scrollTop, scrollLeft: document.body.scrollLeft }; }; }; function _resize_overlay() { windowHeight = jQuery(window).height(), windowWidth = jQuery(window).width(); if (typeof $pp_overlay != "undefined") $pp_overlay.height(jQuery(document).height()); }; function _insert_gallery() {
            if (isSet && settings.overlay_gallery && _getFileType(pp_images[set_position]) == "image") {
                itemWidth = 52 + 5; navWidth = (settings.theme == "facebook") ? 58 : 38; itemsPerPage = Math.floor((correctSizes['containerWidth'] - 100 - navWidth) / itemWidth); itemsPerPage = (itemsPerPage < pp_images.length) ? itemsPerPage : pp_images.length; totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1; if (totalPage == 0) { navWidth = 0; $pp_pic_holder.find('.pp_gallery .pp_arrow_next,.pp_gallery .pp_arrow_previous').hide(); } else { $pp_pic_holder.find('.pp_gallery .pp_arrow_next,.pp_gallery .pp_arrow_previous').show(); }; galleryWidth = itemsPerPage * itemWidth + navWidth; $pp_pic_holder.find('.pp_gallery').width(galleryWidth).css('margin-left', -(galleryWidth / 2)); $pp_pic_holder.find('.pp_gallery ul').width(itemsPerPage * itemWidth).find('li.selected').removeClass('selected'); goToPage = (Math.floor(set_position / itemsPerPage) <= totalPage) ? Math.floor(set_position / itemsPerPage) : totalPage; if (itemsPerPage) { $pp_pic_holder.find('.pp_gallery').hide().show().removeClass('disabled'); } else { $pp_pic_holder.find('.pp_gallery').hide().addClass('disabled'); }
                jQuery.prettyPhoto.changeGalleryPage(goToPage); $pp_pic_holder.find('.pp_gallery ul li:eq(' + set_position + ')').addClass('selected');
            } else { $pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave'); $pp_pic_holder.find('.pp_gallery').hide(); }
        }
        function _buildOverlay(caller) {
            theRel = jQuery(caller).attr('rel'); galleryRegExp = /\[(?:.*)\]/; isSet = (galleryRegExp.exec(theRel)) ? true : false; pp_images = (isSet) ? jQuery.map(matchedObjects, function (n, i) { if (jQuery(n).attr('rel').indexOf(theRel) != -1) return jQuery(n).attr('href'); }) : jQuery.makeArray(jQuery(caller).attr('href')); pp_titles = (isSet) ? jQuery.map(matchedObjects, function (n, i) { if (jQuery(n).attr('rel').indexOf(theRel) != -1) return (jQuery(n).find('img').attr('alt')) ? jQuery(n).find('img').attr('alt') : ""; }) : jQuery.makeArray(jQuery(caller).find('img').attr('alt')); pp_descriptions = (isSet) ? jQuery.map(matchedObjects, function (n, i) { if (jQuery(n).attr('rel').indexOf(theRel) != -1) return (jQuery(n).attr('title')) ? jQuery(n).attr('title') : ""; }) : jQuery.makeArray(jQuery(caller).attr('title')); jQuery('body').append(settings.markup); $pp_pic_holder = jQuery('.pp_pic_holder'), $ppt = jQuery('.ppt'), $pp_overlay = jQuery('div.pp_overlay'); if (isSet && settings.overlay_gallery) {
                currentGalleryPage = 0; toInject = ""; for (var i = 0; i < pp_images.length; i++) {
                    var regex = new RegExp("(.*?)\.(jpg|jpeg|png|gif)$"); var results = regex.exec(pp_images[i]); if (!results) { classname = 'default'; } else { classname = ''; }
                    toInject += "<li class='" + classname + "'><a href='#'><img src='" + pp_images[i] + "' width='50' alt='' /></a></li>";
                }; toInject = settings.gallery_markup.replace(/{gallery}/g, toInject); $pp_pic_holder.find('#pp_full_res').after(toInject); $pp_pic_holder.find('.pp_gallery .pp_arrow_next').click(function () { jQuery.prettyPhoto.changeGalleryPage('next'); jQuery.prettyPhoto.stopSlideshow(); return false; }); $pp_pic_holder.find('.pp_gallery .pp_arrow_previous').click(function () { jQuery.prettyPhoto.changeGalleryPage('previous'); jQuery.prettyPhoto.stopSlideshow(); return false; }); $pp_pic_holder.find('.pp_content').hover(function () { $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn(); }, function () { $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut(); }); itemWidth = 52 + 5; $pp_pic_holder.find('.pp_gallery ul li').each(function (i) { jQuery(this).css({ 'position': 'absolute', 'left': i * itemWidth }); jQuery(this).find('a').unbind('click').click(function () { jQuery.prettyPhoto.changePage(i); jQuery.prettyPhoto.stopSlideshow(); return false; }); });
            }; if (settings.slideshow) {
                $pp_pic_holder.find('.pp_nav').prepend('<a href="#" class="pp_play">Play</a>')
                $pp_pic_holder.find('.pp_nav .pp_play').click(function () { jQuery.prettyPhoto.startSlideshow(); return false; });
            }
            $pp_pic_holder.attr('class', 'pp_pic_holder ' + settings.theme); $pp_overlay.css({ 'opacity': 0, 'height': jQuery(document).height(), 'width': jQuery(document).width() }).bind('click', function () { if (!settings.modal) jQuery.prettyPhoto.close(); }); jQuery('a.pp_close').bind('click', function () { jQuery.prettyPhoto.close(); return false; }); jQuery('a.pp_expand').bind('click', function (e) { if (jQuery(this).hasClass('pp_expand')) { jQuery(this).removeClass('pp_expand').addClass('pp_contract'); doresize = false; } else { jQuery(this).removeClass('pp_contract').addClass('pp_expand'); doresize = true; }; _hideContent(function () { jQuery.prettyPhoto.open(); }); return false; }); $pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click', function () { jQuery.prettyPhoto.changePage('previous'); jQuery.prettyPhoto.stopSlideshow(); return false; }); $pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click', function () { jQuery.prettyPhoto.changePage('next'); jQuery.prettyPhoto.stopSlideshow(); return false; }); _center_overlay();
        }; return this.unbind('click').click(jQuery.prettyPhoto.initialize);
    }; function grab_param(name, url) { name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regexS = "[\\?&]" + name + "=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(url); return (results == null) ? "" : results[1]; }
})(jQuery);

jQuery(document).ready(function() {
    initLB();
});

function initLB() {
    jQuery("a[rel^='lightbox']").prettyPhoto({ overlay_gallery: false });
}


//Combo
; (function (jQuery) {
    var oldDiv = "";
    jQuery.fn.dd = function (options) {
        $this = this;
        options = jQuery.extend({
            height: 120,
            visibleRows: 7,
            rowHeight: 23,
            showIcon: true,
            zIndex: 9999,
            style: ''
        }, options);
        var selectedValue = "";
        var actionSettings = {};
        actionSettings.insideWindow = true;
        actionSettings.keyboardAction = false;
        actionSettings.currentKey = null;
        var ddList = false;
        config = { postElementHolder: '_msddHolder', postID: '_msdd', postTitleID: '_title', postTitleTextID: '_titletext', postChildID: '_child', postAID: '_msa', postOPTAID: '_msopta', postInputID: '_msinput', postArrowID: '_arrow', postInputhidden: '_inp' };
        styles = { dd: 'dd', ddTitle: 'ddTitle', arrow: 'arrow', ddChild: 'ddChild', disbaled: .30 };
        attributes = { actions: "onfocus,onblur,onchange,onclick,ondblclick,onmousedown,onmouseup,onmouseover,onmousemove,onmouseout,onkeypress,onkeydown,onkeyup", prop: "size,multiple,disabled,tabindex" };
        var elementid = jQuery(this).attr("id");
        var inlineCSS = jQuery(this).attr("style");
        options.style += (inlineCSS == undefined) ? "" : inlineCSS;
        var allOptions = jQuery(this).children();
        ddList = (jQuery(this).attr("size") > 0 || jQuery(this).attr("multiple") == true) ? true : false;
        if (ddList) { options.visibleRows = jQuery(this).attr("size"); };
        var a_array = {}; //stores id, html & value etc
        //create wrapper
        createDropDown();

        function getPostID(id) {
            return elementid + config[id];
        };
        function getOptionsProperties(option) {
            var currentOption = option;
            var styles = jQuery(currentOption).attr("style");
            return styles;
        };
        function matchIndex(index) {
            var selectedIndex = jQuery("#" + elementid + " option:selected");
            if (selectedIndex.length > 1) {
                for (var i = 0; i < selectedIndex.length; i++) {
                    if (index == selectedIndex[i].index) {
                        return true;
                    };
                };
            } else if (selectedIndex.length == 1) {
                if (selectedIndex[0].index == index) {
                    return true;
                };
            };
            return false;
        }
        function createATags() {
            var childnodes = allOptions;
            var aTag = "";
            var aidfix = getPostID("postAID");
            var aidoptfix = getPostID("postOPTAID");
            childnodes.each(function (current) {
                var currentOption = childnodes[current];
                //OPTGROUP
                if (currentOption.nodeName == "OPTGROUP") {
                    aTag += "<div class='opta'>";
                    aTag += "<span style='font-weight:bold;font-style:italic; clear:both;'>" + jQuery(currentOption).attr("label") + "</span>";
                    var optChild = jQuery(currentOption).children();
                    optChild.each(function (currentopt) {
                        var currentOptOption = optChild[currentopt];
                        var aid = aidoptfix + "_" + (current) + "_" + (currentopt);
                        var arrow = jQuery(currentOptOption).attr("title");
                        arrow = (arrow.length == 0) ? "" : '<img src="' + arrow + '" align="left" /> ';
                        var sText = jQuery(currentOptOption).text();
                        var sValue = jQuery(currentOptOption).val();
                        var sEnabledClass = (jQuery(currentOptOption).attr("disabled") == true) ? "disabled" : "enabled";
                        a_array[aid] = { html: arrow + sText, value: sValue, text: sText, index: currentOptOption.index, id: aid };
                        var innerStyle = getOptionsProperties(currentOptOption);
                        if (matchIndex(currentOptOption.index) == true) {
                            aTag += '<a href="javascript:void(0);" class="selected ' + sEnabledClass + '"';
                        } else {
                            aTag += '<a  href="javascript:void(0);" class="' + sEnabledClass + '"';
                        };
                        if (innerStyle != false)
                            aTag += ' style="' + innerStyle + '"';
                        aTag += ' id="' + aid + '">';
                        aTag += arrow + sText + '</a>';
                    });
                    aTag += "</div>";

                } else {
                    var aid = aidfix + "_" + (current);
                    var arrow = jQuery(currentOption).attr("title");
                    arrow = (arrow.length == 0) ? "" : '<img src="' + arrow + '" align="left" /> ';
                    var sText = jQuery(currentOption).text();
                    var sValue = jQuery(currentOption).val();
                    var sEnabledClass = (jQuery(currentOption).attr("disabled") == true) ? "disabled" : "enabled";
                    a_array[aid] = { html: arrow + sText, value: sValue, text: sText, index: currentOption.index, id: aid };
                    var innerStyle = getOptionsProperties(currentOption);
                    if (matchIndex(currentOption.index) == true) {
                        aTag += '<a href="javascript:void(0);" class="selected ' + sEnabledClass + '"';
                    } else {
                        aTag += '<a  href="javascript:void(0);" class="' + sEnabledClass + '"';
                    };
                    if (innerStyle != false)
                        aTag += ' style="' + innerStyle + '"';
                    aTag += ' id="' + aid + '">';
                    aTag += arrow + sText + '</a>';
                };
            });
            return aTag;
        };
        function createChildDiv() {
            var id = getPostID("postID");
            var childid = getPostID("postChildID");
            var sStyle = options.style;
            sDiv = "";
            sDiv += '<div id="' + childid + '" class="' + styles.ddChild + '"';
            if (!ddList) {
                sDiv += (sStyle != "") ? ' style="' + sStyle + '"' : '';
            } else {
                sDiv += (sStyle != "") ? ' style="border-top:1px solid #c3c3c3;display:block;position:relative;' + sStyle + '"' : '';
            }
            sDiv += '>';
            return sDiv;
        };

        function createTitleDiv() {
            var titleid = getPostID("postTitleID");
            var arrowid = getPostID("postArrowID");
            var titletextid = getPostID("postTitleTextID");
            var inputhidden = getPostID("postInputhidden");
            var sText = jQuery("#" + elementid + " option:selected").text();
            var arrow = jQuery("#" + elementid + " option:selected").attr("title");
            arrow = (arrow.length == 0 || arrow == undefined || options.showIcon == false) ? "" : '<img src="' + arrow + '" align="left" /> ';
            var sDiv = '<div id="' + titleid + '" class="' + styles.ddTitle + '"';
            sDiv += '>';
            sDiv += '<span id="' + arrowid + '" class="' + styles.arrow + '"></span><span class="textTitle" id="' + titletextid + '">' + arrow + sText + '</span></div>';
            return sDiv;
        };
        function createDropDown() {
            var changeInsertionPoint = false;
            var id = getPostID("postID");
            var titleid = getPostID("postTitleID");
            var titletextid = getPostID("postTitleTextID");
            var childid = getPostID("postChildID");
            var arrowid = getPostID("postArrowID");
            var iWidth = jQuery("#" + elementid).width();
            var sStyle = options.style;
            if (jQuery("#" + id).length > 0) {
                jQuery("#" + id).remove();
                changeInsertionPoint = true;
            }
            var sDiv = '<div id="' + id + '" class="' + styles.dd + '"';
            sDiv += (sStyle != "") ? ' style="' + sStyle + '"' : '';
            sDiv += '>';
            //create title bar
            if (!ddList)
                sDiv += createTitleDiv();
            //create child
            sDiv += createChildDiv();
            sDiv += createATags();
            sDiv += "</div>";
            sDiv += "</div>";
            if (changeInsertionPoint == true) {
                var sid = getPostID("postElementHolder");
                jQuery("#" + sid).after(sDiv);
            } else {
                jQuery("#" + elementid).after(sDiv);
            }
            jQuery("#" + id).css("width", iWidth + "px");
            jQuery("#" + childid).css("width", (iWidth - 2) + "px");
            if (allOptions.length > options.visibleRows) {
                var margin = parseInt(jQuery("#" + childid + " a:first").css("padding-bottom")) + parseInt(jQuery("#" + childid + " a:first").css("padding-top"));
                var iHeight = ((options.rowHeight) * options.visibleRows) - margin;
                jQuery("#" + childid).css("height", iHeight + "px");
            }
            //set out of vision
            if (changeInsertionPoint == false) {
                setOutOfVision();
                addNewEvents(elementid);
            }
            if (jQuery("#" + elementid).attr("disabled") == true) {
                jQuery("#" + id).css("opacity", styles.disbaled);
            } else {
                applyEvents();
                //add events
                //arrow hightlight
                if (!ddList) {
                    jQuery("#" + titleid).bind("mouseover", function (event) {
                        hightlightArrow(1);
                    });
                    jQuery("#" + titleid).bind("mouseout", function (event) {
                        hightlightArrow(0);
                    });
                };
                //open close events
                jQuery("#" + childid + " a.enabled").bind("click", function (event) {
                    event.preventDefault();
                    manageSelection(this);
                    if (!ddList) {
                        jQuery("#" + childid).unbind("mouseover");
                        setInsideWindow(false);
                        var sText = (options.showIcon == false) ? jQuery(this).text() : jQuery(this).html();
                        setTitleText(sText);
                        closeMe();
                    };
                    setValue();
                    //actionSettings.oldIndex = a_array[jQuery(this).attr("id")].index;
                });
                jQuery("#" + childid + " a.disabled").css("opacity", styles.disbaled);
                if (ddList) {
                    jQuery("#" + childid).bind("mouseover", function (event) {
                        if (!actionSettings.keyboardAction) {
                            actionSettings.keyboardAction = true;
                            jQuery(document).bind("keydown", function (event) {
                                var keyCode = event.keyCode;
                                actionSettings.currentKey = keyCode;
                                if (keyCode == 39 || keyCode == 40) {
                                    //move to next
                                    event.preventDefault(); event.stopPropagation();
                                    next();
                                    setValue();
                                };
                                if (keyCode == 37 || keyCode == 38) {
                                    event.preventDefault(); event.stopPropagation();
                                    //move to previous
                                    previous();
                                    setValue();
                                };
                            });

                        }
                    });
                };
                jQuery("#" + childid).bind("mouseout", function (event) { setInsideWindow(false); jQuery(document).unbind("keydown"); actionSettings.keyboardAction = false; actionSettings.currentKey = null; });
                if (!ddList) {
                    jQuery("#" + titleid).bind("click", function (event) {
                        setInsideWindow(false);
                        if (jQuery("#" + childid + ":visible").length == 1) {
                            jQuery("#" + childid).unbind("mouseover");
                        } else {
                            jQuery("#" + childid).bind("mouseover", function (event) { setInsideWindow(true); });
                            openMe();
                        };
                    });
                };
                jQuery("#" + titleid).bind("mouseout", function (evt) {
                    setInsideWindow(false);
                })
            };
        };
        function getByIndex(index) {
            for (var i in a_array) {
                if (a_array[i].index == index) {
                    return a_array[i];
                }
            }
        }
        function manageSelection(obj) {
            var childid = getPostID("postChildID");
            if (!ddList) {
                jQuery("#" + childid + " a.selected").removeClass("selected");
            }
            var selectedA = jQuery("#" + childid + " a.selected").attr("id");
            if (selectedA != undefined) {
                var oldIndex = (actionSettings.oldIndex == undefined || actionSettings.oldIndex == null) ? a_array[selectedA].index : actionSettings.oldIndex;
            };
            if (obj && !ddList) {
                jQuery(obj).addClass("selected");
            };
            if (ddList) {
                var keyCode = actionSettings.currentKey;
                if (jQuery("#" + elementid).attr("multiple") == true) {
                    if (keyCode == 17) {
                        //control
                        actionSettings.oldIndex = a_array[jQuery(obj).attr("id")].index;
                        jQuery(obj).toggleClass("selected");
                        //multiple
                    } else if (keyCode == 16) {
                        jQuery("#" + childid + " a.selected").removeClass("selected");
                        jQuery(obj).addClass("selected");
                        //shift
                        var currentSelected = jQuery(obj).attr("id");
                        var currentIndex = a_array[currentSelected].index;
                        for (var i = Math.min(oldIndex, currentIndex); i <= Math.max(oldIndex, currentIndex); i++) {
                            jQuery("#" + getByIndex(i).id).addClass("selected");
                        }
                    } else {
                        jQuery("#" + childid + " a.selected").removeClass("selected");
                        jQuery(obj).addClass("selected");
                        actionSettings.oldIndex = a_array[jQuery(obj).attr("id")].index;
                    };
                } else {
                    jQuery("#" + childid + " a.selected").removeClass("selected");
                    jQuery(obj).addClass("selected");
                    actionSettings.oldIndex = a_array[jQuery(obj).attr("id")].index;
                };
            };
        };
        function addNewEvents(id) {
            document.getElementById(id).refresh = function (e) {
                jQuery("#" + this.id).dd(options);
            };
        };
        function setInsideWindow(val) {
            actionSettings.insideWindow = val;
        };
        function getInsideWindow() {
            return actionSettings.insideWindow;
        };
        function applyEvents() {
            var mainid = getPostID("postID");
            var actions_array = attributes.actions.split(",");
            for (var iCount = 0; iCount < actions_array.length; iCount++) {
                var action = actions_array[iCount];
                var actionFound = jQuery("#" + elementid).attr(action);
                if (actionFound != undefined) {
                    switch (action) {
                        case "onfocus":
                            jQuery("#" + mainid).bind("mouseenter", function (event) {
                                document.getElementById(elementid).focus();
                            });
                            break;
                        case "onclick":
                            jQuery("#" + mainid).bind("click", function (event) {
                                document.getElementById(elementid).onclick();
                            });
                            break;
                        case "ondblclick":
                            jQuery("#" + mainid).bind("dblclick", function (event) {
                                document.getElementById(elementid).ondblclick();
                            });
                            break;
                        case "onmousedown":
                            jQuery("#" + mainid).bind("mousedown", function (event) {
                                document.getElementById(elementid).onmousedown();
                            });
                            break;
                        case "onmouseup":
                            //has in closeMe mthod
                            jQuery("#" + mainid).bind("mouseup", function (event) {
                                document.getElementById(elementid).onmouseup();
                                //setValue();
                            });
                            break;
                        case "onmouseover":
                            jQuery("#" + mainid).bind("mouseover", function (event) {
                                document.getElementById(elementid).onmouseover();
                            });
                            break;
                        case "onmousemove":
                            jQuery("#" + mainid).bind("mousemove", function (event) {
                                document.getElementById(elementid).onmousemove();
                            });
                            break;
                        case "onmouseout":
                            jQuery("#" + mainid).bind("mouseout", function (event) {
                                document.getElementById(elementid).onmouseout();
                            });
                            break;
                    };
                };
            };

        };
        function setOutOfVision() {
            var sId = getPostID("postElementHolder");
            jQuery("#" + elementid).after("<div style='height:0px;overflow:hidden;position:absolute;' id='" + sId + "'></div>");
            jQuery("#" + elementid).appendTo(jQuery("#" + sId));
        };
        function setTitleText(sText) {
            var titletextid = getPostID("postTitleTextID");
            jQuery("#" + titletextid).html(sText);
        };
        function next() {
            var titletextid = getPostID("postTitleTextID");
            var childid = getPostID("postChildID");
            var allAs = jQuery("#" + childid + " a.enabled");
            for (var current = 0; current < allAs.length; current++) {
                var currentA = allAs[current];
                var id = jQuery(currentA).attr("id");
                if (jQuery(currentA).hasClass("selected") && current < allAs.length - 1) {
                    jQuery("#" + childid + " a.selected").removeClass("selected");
                    jQuery(allAs[current + 1]).addClass("selected");
                    //manageSelection(allAs[current+1]);
                    var selectedA = jQuery("#" + childid + " a.selected").attr("id");
                    if (!ddList) {
                        var sText = (options.showIcon == false) ? a_array[selectedA].text : a_array[selectedA].html;
                        setTitleText(sText);
                    }
                    if (parseInt((jQuery("#" + selectedA).position().top + jQuery("#" + selectedA).height())) >= parseInt(jQuery("#" + childid).height())) {
                        jQuery("#" + childid).scrollTop((jQuery("#" + childid).scrollTop()) + jQuery("#" + selectedA).height() + jQuery("#" + selectedA).height());
                    };
                    break;
                };
            };
        };
        function previous() {
            var titletextid = getPostID("postTitleTextID");
            var childid = getPostID("postChildID");
            var allAs = jQuery("#" + childid + " a.enabled");
            for (var current = 0; current < allAs.length; current++) {
                var currentA = allAs[current];
                var id = jQuery(currentA).attr("id");
                if (jQuery(currentA).hasClass("selected") && current != 0) {
                    jQuery("#" + childid + " a.selected").removeClass("selected");
                    jQuery(allAs[current - 1]).addClass("selected");
                    //manageSelection(allAs[current-1]);
                    var selectedA = jQuery("#" + childid + " a.selected").attr("id");
                    if (!ddList) {
                        var sText = (options.showIcon == false) ? a_array[selectedA].text : a_array[selectedA].html;
                        setTitleText(sText);
                    }
                    if (parseInt((jQuery("#" + selectedA).position().top + jQuery("#" + selectedA).height())) <= 0) {
                        jQuery("#" + childid).scrollTop((jQuery("#" + childid).scrollTop() - jQuery("#" + childid).height()) - jQuery("#" + selectedA).height());
                    };
                    break;
                };
            };
        };
        function setValue() {
            var childid = getPostID("postChildID");
            var allSelected = jQuery("#" + childid + " a.selected");
            if (allSelected.length == 1) {
                var sText = jQuery("#" + childid + " a.selected").text();
                var selectedA = jQuery("#" + childid + " a.selected").attr("id");
                if (selectedA != undefined) {
                    var sValue = a_array[selectedA].value;
                    document.getElementById(elementid).selectedIndex = a_array[selectedA].index;
                };
            } else if (allSelected.length > 1) {
                var alls = jQuery("#" + elementid + " > option:selected").removeAttr("selected");
                for (var i = 0; i < allSelected.length; i++) {
                    var selectedA = jQuery(allSelected[i]).attr("id");
                    var index = a_array[selectedA].index;
                    document.getElementById(elementid).options[index].selected = "selected";
                };
            };
        };
        function openMe() {
            var childid = getPostID("postChildID");
            if (oldDiv != "" && childid != oldDiv) {
                jQuery("#" + oldDiv).slideUp("fast");
                jQuery("#" + oldDiv).css({ zIndex: '0' });
            };
            if (jQuery("#" + childid).css("display") == "none") {
                selectedValue = a_array[jQuery("#" + childid + " a.selected").attr("id")].text;
                jQuery(document).bind("keydown", function (event) {
                    var keyCode = event.keyCode;
                    if (keyCode == 39 || keyCode == 40) {
                        //move to next
                        event.preventDefault(); event.stopPropagation();
                        next();
                    };
                    if (keyCode == 37 || keyCode == 38) {
                        event.preventDefault(); event.stopPropagation();
                        //move to previous
                        previous();
                    };
                    if (keyCode == 27 || keyCode == 13) {
                        closeMe();
                        setValue();
                    };
                    if (jQuery("#" + elementid).attr("onkeydown") != undefined) {
                        document.getElementById(elementid).onkeydown();
                    };
                });
                jQuery(document).bind("keyup", function (event) {
                    if (jQuery("#" + elementid).attr("onkeyup") != undefined) {
                        //jQuery("#"+elementid).keyup();
                        document.getElementById(elementid).onkeyup();
                    };
                });

                jQuery(document).bind("mouseup", function (evt) {
                    if (getInsideWindow() == false) {
                        closeMe();
                    }
                });
                jQuery("#" + childid).css({ zIndex: options.zIndex });
                jQuery("#" + childid).slideDown("fast");
                if (childid != oldDiv) {
                    oldDiv = childid;
                }
            };
        };
        function closeMe() {
            var childid = getPostID("postChildID");
            jQuery(document).unbind("keydown");
            jQuery(document).unbind("keyup");
            jQuery(document).unbind("mouseup");
            jQuery("#" + childid).slideUp("fast", function (event) {
                checkMethodAndApply();
                jQuery("#" + childid).css({ zIndex: '0' });
            });

        };
        function checkMethodAndApply() {
            var childid = getPostID("postChildID");
            if (jQuery("#" + elementid).attr("onchange") != undefined) {
                var currentSelectedValue = a_array[jQuery("#" + childid + " a.selected").attr("id")].text;
                if (selectedValue != currentSelectedValue) { document.getElementById(elementid).onchange(); };
            }
            if (jQuery("#" + elementid).attr("onmouseup") != undefined) {
                document.getElementById(elementid).onmouseup();
            }
            if (jQuery("#" + elementid).attr("onblur") != undefined) {
                jQuery(document).bind("mouseup", function (evt) {
                    jQuery("#" + elementid).focus();
                    jQuery("#" + elementid)[0].blur();
                    setValue();
                    jQuery(document).unbind("mouseup");
                });
            };
        };
        function hightlightArrow(ison) {
            var arrowid = getPostID("postArrowID");
            if (ison == 1)
                jQuery("#" + arrowid).css({ backgroundPosition: '0 100%' });
            else
                jQuery("#" + arrowid).css({ backgroundPosition: '0 0' });
        };
    };
    jQuery.fn.msDropDown = function (properties) {
        var dds = jQuery(this);
        for (var iCount = 0; iCount < dds.length; iCount++) {
            var id = jQuery(dds[iCount]).attr("id");
            if (properties == undefined) {
                jQuery("#" + id).dd();
            } else {
                jQuery("#" + id).dd(properties);
            };
        };
    };
})(jQuery);


//Masked Input 
(function (a) { var c = (a.browser.msie ? "paste" : "input") + ".mask"; var b = (window.orientation != undefined); a.mask = { definitions: { "9": "[0-9]", a: "[A-Za-z]", "*": "[A-Za-z0-9]"} }; a.fn.extend({ caret: function (e, f) { if (this.length == 0) { return } if (typeof e == "number") { f = (typeof f == "number") ? f : e; return this.each(function () { if (this.setSelectionRange) { this.focus(); this.setSelectionRange(e, f) } else { if (this.createTextRange) { var g = this.createTextRange(); g.collapse(true); g.moveEnd("character", f); g.moveStart("character", e); g.select() } } }) } else { if (this[0].setSelectionRange) { e = this[0].selectionStart; f = this[0].selectionEnd } else { if (document.selection && document.selection.createRange) { var d = document.selection.createRange(); e = 0 - d.duplicate().moveStart("character", -100000); f = e + d.text.length } } return { begin: e, end: f} } }, unmask: function () { return this.trigger("unmask") }, mask: function (j, d) { if (!j && this.length > 0) { var f = a(this[0]); var g = f.data("tests"); return a.map(f.data("buffer"), function (l, m) { return g[m] ? l : null }).join("") } d = a.extend({ placeholder: "_", completed: null }, d); var k = a.mask.definitions; var g = []; var e = j.length; var i = null; var h = j.length; a.each(j.split(""), function (m, l) { if (l == "?") { h--; e = m } else { if (k[l]) { g.push(new RegExp(k[l])); if (i == null) { i = g.length - 1 } } else { g.push(null) } } }); return this.each(function () { var r = a(this); var m = a.map(j.split(""), function (x, y) { if (x != "?") { return k[x] ? d.placeholder : x } }); var n = false; var q = r.val(); r.data("buffer", m).data("tests", g); function v(x) { while (++x <= h && !g[x]) { } return x } function t(x) { while (!g[x] && --x >= 0) { } for (var y = x; y < h; y++) { if (g[y]) { m[y] = d.placeholder; var z = v(y); if (z < h && g[y].test(m[z])) { m[y] = m[z] } else { break } } } s(); r.caret(Math.max(i, x)) } function u(y) { for (var A = y, z = d.placeholder; A < h; A++) { if (g[A]) { var B = v(A); var x = m[A]; m[A] = z; if (B < h && g[B].test(x)) { z = x } else { break } } } } function l(y) { var x = a(this).caret(); var z = y.keyCode; n = (z < 16 || (z > 16 && z < 32) || (z > 32 && z < 41)); if ((x.begin - x.end) != 0 && (!n || z == 8 || z == 46)) { w(x.begin, x.end) } if (z == 8 || z == 46 || (b && z == 127)) { t(x.begin + (z == 46 ? 0 : -1)); return false } else { if (z == 27) { r.val(q); r.caret(0, p()); return false } } } function o(B) { if (n) { n = false; return (B.keyCode == 8) ? false : null } B = B || window.event; var C = B.charCode || B.keyCode || B.which; var z = a(this).caret(); if (B.ctrlKey || B.altKey || B.metaKey) { return true } else { if ((C >= 32 && C <= 125) || C > 186) { var x = v(z.begin - 1); if (x < h) { var A = String.fromCharCode(C); if (g[x].test(A)) { u(x); m[x] = A; s(); var y = v(x); a(this).caret(y); if (d.completed && y == h) { d.completed.call(r) } } } } } return false } function w(x, y) { for (var z = x; z < y && z < h; z++) { if (g[z]) { m[z] = d.placeholder } } } function s() { return r.val(m.join("")).val() } function p(y) { var z = r.val(); var C = -1; for (var B = 0, x = 0; B < h; B++) { if (g[B]) { m[B] = d.placeholder; while (x++ < z.length) { var A = z.charAt(x - 1); if (g[B].test(A)) { m[B] = A; C = B; break } } if (x > z.length) { break } } else { if (m[B] == z[x] && B != e) { x++; C = B } } } if (!y && C + 1 < e) { r.val(""); w(0, h) } else { if (y || C + 1 >= e) { s(); if (!y) { r.val(r.val().substring(0, C + 1)) } } } return (e ? B : i) } if (!r.attr("readonly")) { r.one("unmask", function () { r.unbind(".mask").removeData("buffer").removeData("tests") }).bind("focus.mask", function () { q = r.val(); var x = p(); s(); setTimeout(function () { if (x == j.length) { r.caret(0, x) } else { r.caret(x) } }, 0) }).bind("blur.mask", function () { p(); if (r.val() != q) { r.change() } }).bind("keydown.mask", l).bind("keypress.mask", o).bind(c, function () { setTimeout(function () { r.caret(p(true)) }, 0) }) } p() }) } }) })(jQuery);


//Tooltip
(function (f) {
    function p(a, b, c) { var h = c.relative ? a.position().top : a.offset().top, e = c.relative ? a.position().left : a.offset().left, i = c.position[0]; h -= b.outerHeight() - c.offset[0]; e += a.outerWidth() + c.offset[1]; var j = b.outerHeight() + a.outerHeight(); if (i == "center") h += j / 2; if (i == "bottom") h += j; i = c.position[1]; a = b.outerWidth() + a.outerWidth(); if (i == "center") e -= a / 2; if (i == "left") e -= a; return { top: h, left: e} } function u(a, b) {
        var c = this, h = a.add(c), e, i = 0, j = 0, m = a.attr("title"), q = a.attr("data-tooltip"), r = n[b.effect], l, s =
a.is(":input"), v = s && a.is(":checkbox, :radio, select, :button, :submit"), t = a.attr("type"), k = b.events[t] || b.events[s ? v ? "widget" : "input" : "def"]; if (!r) throw 'Nonexistent effect "' + b.effect + '"'; k = k.split(/,\s*/); if (k.length != 2) throw "Tooltip: bad events configuration for " + t; a.bind(k[0], function (d) { clearTimeout(i); if (b.predelay) j = setTimeout(function () { c.show(d) }, b.predelay); else c.show(d) }).bind(k[1], function (d) { clearTimeout(j); if (b.delay) i = setTimeout(function () { c.hide(d) }, b.delay); else c.hide(d) }); if (m &&
b.cancelDefault) { a.removeAttr("title"); a.data("title", m) } f.extend(c, { show: function (d) {
    if (!e) { if (q) e = f(q); else if (m) e = f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m); else if (b.tip) e = f(b.tip).eq(0); else { e = a.next(); e.length || (e = a.parent().next()) } if (!e.length) throw "Cannot find tooltip for " + a; } if (c.isShown()) return c; e.stop(true, true); var g = p(a, e, b); d = d || f.Event(); d.type = "onBeforeShow"; h.trigger(d, [g]); if (d.isDefaultPrevented()) return c; g = p(a, e, b); e.css({ position: "absolute",
        top: g.top, left: g.left
    }); l = true; r[0].call(c, function () { d.type = "onShow"; l = "full"; h.trigger(d) }); g = b.events.tooltip.split(/,\s*/); e.bind(g[0], function () { clearTimeout(i); clearTimeout(j) }); g[1] && !a.is("input:not(:checkbox, :radio), textarea") && e.bind(g[1], function (o) { o.relatedTarget != a[0] && a.trigger(k[1].split(" ")[0]) }); return c
}, hide: function (d) {
    if (!e || !c.isShown()) return c; d = d || f.Event(); d.type = "onBeforeHide"; h.trigger(d); if (!d.isDefaultPrevented()) {
        l = false; n[b.effect][1].call(c, function () {
            d.type = "onHide";
            h.trigger(d)
        }); return c
    }
}, isShown: function (d) { return d ? l == "full" : l }, getConf: function () { return b }, getTip: function () { return e }, getTrigger: function () { return a }
}); f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","), function (d, g) { f.isFunction(b[g]) && f(c).bind(g, b[g]); c[g] = function (o) { f(c).bind(g, o); return c } })
    } f.tools = f.tools || { version: "1.2.4" }; f.tools.tooltip = { conf: { effect: "toggle", fadeOutSpeed: "fast", predelay: 0, delay: 30, opacity: 1, tip: 0, position: ["top", "center"], offset: [0, 0], relative: false, cancelDefault: true,
        events: { def: "mouseenter,mouseleave", input: "focus,blur", widget: "focus mouseenter,blur mouseleave", tooltip: "mouseenter,mouseleave" }, layout: "<div/>", tipClass: "tooltip"
    }, addEffect: function (a, b, c) { n[a] = [b, c] }
    }; var n = { toggle: [function (a) { var b = this.getConf(), c = this.getTip(); b = b.opacity; b < 1 && c.css({ opacity: b }); c.show(); a.call() }, function (a) { this.getTip().hide(); a.call() } ], fade: [function (a) { var b = this.getConf(); this.getTip().fadeTo(b.fadeInSpeed, b.opacity, a) }, function (a) {
        this.getTip().fadeOut(this.getConf().fadeOutSpeed,
a)
    } ]
    }; f.fn.tooltip = function (a) { var b = this.data("tooltip"); if (b) return b; a = f.extend(true, {}, f.tools.tooltip.conf, a); if (typeof a.position == "string") a.position = a.position.split(/,?\s/); this.each(function () { b = new u(f(this), a); f(this).data("tooltip", b) }); return a.api ? b : this }
})(jQuery);
(function (d) {
    var i = d.tools.tooltip; d.extend(i.conf, { direction: "up", bounce: false, slideOffset: 10, slideInSpeed: 200, slideOutSpeed: 200, slideFade: !d.browser.msie }); var e = { up: ["-", "top"], down: ["+", "top"], left: ["-", "left"], right: ["+", "left"] }; i.addEffect("slide", function (g) { var a = this.getConf(), f = this.getTip(), b = a.slideFade ? { opacity: a.opacity} : {}, c = e[a.direction] || e.up; b[c[1]] = c[0] + "=" + a.slideOffset; a.slideFade && f.css({ opacity: 0 }); f.show().animate(b, a.slideInSpeed, g) }, function (g) {
        var a = this.getConf(), f = a.slideOffset,
b = a.slideFade ? { opacity: 0} : {}, c = e[a.direction] || e.up, h = "" + c[0]; if (a.bounce) h = h == "+" ? "-" : "+"; b[c[1]] = h + "=" + f; this.getTip().animate(b, a.slideOutSpeed, function () { d(this).hide(); g.call() })
    })
})(jQuery);
(function (g) {
    function j(a) { var c = g(window), d = c.width() + c.scrollLeft(), h = c.height() + c.scrollTop(); return [a.offset().top <= c.scrollTop(), d <= a.offset().left + a.width(), h <= a.offset().top + a.height(), c.scrollLeft() >= a.offset().left] } function k(a) { for (var c = a.length; c--; ) if (a[c]) return false; return true } var i = g.tools.tooltip; i.dynamic = { conf: { classNames: "top right bottom left"} }; g.fn.dynamic = function (a) {
        if (typeof a == "number") a = { speed: a }; a = g.extend({}, i.dynamic.conf, a); var c = a.classNames.split(/\s/), d; this.each(function () {
            var h =
g(this).tooltip().onBeforeShow(function (e, f) {
    e = this.getTip(); var b = this.getConf(); d || (d = [b.position[0], b.position[1], b.offset[0], b.offset[1], g.extend({}, b)]); g.extend(b, d[4]); b.position = [d[0], d[1]]; b.offset = [d[2], d[3]]; e.css({ visibility: "hidden", position: "absolute", top: f.top, left: f.left }).show(); f = j(e); if (!k(f)) {
        if (f[2]) { g.extend(b, a.top); b.position[0] = "top"; e.addClass(c[0]) } if (f[3]) { g.extend(b, a.right); b.position[1] = "right"; e.addClass(c[1]) } if (f[0]) { g.extend(b, a.bottom); b.position[0] = "bottom"; e.addClass(c[2]) } if (f[1]) {
            g.extend(b,
a.left); b.position[1] = "left"; e.addClass(c[3])
        } if (f[0] || f[2]) b.offset[0] *= -1; if (f[1] || f[3]) b.offset[1] *= -1
    } e.css({ visibility: "visible" }).hide()
}); h.onBeforeShow(function () { var e = this.getConf(); this.getTip(); setTimeout(function () { e.position = [d[0], d[1]]; e.offset = [d[2], d[3]] }, 0) }); h.onHide(function () { var e = this.getTip(); e.removeClass(a.classNames) }); ret = h
        }); return a.api ? ret : this
    }
})(jQuery);


//Upload
if (jQuery) { (function (a) { a.extend(a.fn, { uploadify: function (b) { a(this).each(function () { settings = a.extend({ id: a(this).attr("id"), uploader: "uploadify.swf", script: "uploadify.php", expressInstall: null, folder: "", height: 30, width: 110, cancelImg: "cancel.png", wmode: "opaque", scriptAccess: "sameDomain", fileDataName: "Filedata", method: "POST", queueSizeLimit: 999, simUploadLimit: 1, queueID: false, displayData: "percentage", onInit: function () { }, onSelect: function () { }, onQueueFull: function () { }, onCheck: function () { }, onCancel: function () { }, onError: function () { }, onProgress: function () { }, onComplete: function () { }, onAllComplete: function () { } }, b); var e = location.pathname; e = e.split("/"); e.pop(); e = e.join("/") + "/"; var f = {}; f.uploadifyID = settings.id; f.pagepath = e; if (settings.buttonImg) { f.buttonImg = escape(settings.buttonImg) } if (settings.buttonText) { f.buttonText = escape(settings.buttonText) } if (settings.rollover) { f.rollover = true } f.script = settings.script; f.folder = escape(settings.folder); if (settings.scriptData) { var g = ""; for (var d in settings.scriptData) { g += "&" + d + "=" + settings.scriptData[d] } f.scriptData = escape(g.substr(1)) } f.width = settings.width; f.height = settings.height; f.wmode = settings.wmode; f.method = settings.method; f.queueSizeLimit = settings.queueSizeLimit; f.simUploadLimit = settings.simUploadLimit; if (settings.hideButton) { f.hideButton = true } if (settings.fileDesc) { f.fileDesc = settings.fileDesc } if (settings.fileExt) { f.fileExt = settings.fileExt } if (settings.multi) { f.multi = true } if (settings.auto) { f.auto = true } if (settings.sizeLimit) { f.sizeLimit = settings.sizeLimit } if (settings.checkScript) { f.checkScript = settings.checkScript } if (settings.fileDataName) { f.fileDataName = settings.fileDataName } if (settings.queueID) { f.queueID = settings.queueID } if (settings.onInit() !== false) { a(this).css("display", "none"); a(this).after('<div id="' + a(this).attr("id") + 'Uploader"></div>'); swfobject.embedSWF(settings.uploader, settings.id + "Uploader", settings.width, settings.height, "9.0.24", settings.expressInstall, f, { quality: "high", wmode: settings.wmode, allowScriptAccess: settings.scriptAccess }); if (settings.queueID == false) { a("#" + a(this).attr("id") + "Uploader").after('<div id="' + a(this).attr("id") + 'Queue" class="uploadifyQueue"></div>') } } if (typeof (settings.onOpen) == "function") { a(this).bind("uploadifyOpen", settings.onOpen) } a(this).bind("uploadifySelect", { action: settings.onSelect, queueID: settings.queueID }, function (j, h, i) { if (j.data.action(j, h, i) !== false) { var k = Math.round(i.size / 1024 * 100) * 0.01; var l = "KB"; if (k > 1000) { k = Math.round(k * 0.001 * 100) * 0.01; l = "MB" } var m = k.toString().split("."); if (m.length > 1) { k = m[0] + "." + m[1].substr(0, 2) } else { k = m[0] } if (i.name.length > 20) { fileName = i.name.substr(0, 20) + "..." } else { fileName = i.name } queue = "#" + a(this).attr("id") + "Queue"; if (j.data.queueID) { queue = "#" + j.data.queueID } a(queue).append('<div id="' + a(this).attr("id") + h + '" class="uploadifyQueueItem"><div class="cancel"><a href="javascript:jQuery(\'#' + a(this).attr("id") + "').uploadifyCancel('" + h + '\')"><img src="' + settings.cancelImg + '" border="0" /></a></div><span class="fileName">' + fileName + " (" + k + l + ')</span><span class="percentage"></span><div class="uploadifyProgress"><div id="' + a(this).attr("id") + h + 'ProgressBar" class="uploadifyProgressBar"><!--Progress Bar--></div></div></div>') } }); if (typeof (settings.onSelectOnce) == "function") { a(this).bind("uploadifySelectOnce", settings.onSelectOnce) } a(this).bind("uploadifyQueueFull", { action: settings.onQueueFull }, function (h, i) { if (h.data.action(h, i) !== false) { alert("The queue is full.  The max size is " + i + ".") } }); a(this).bind("uploadifyCheckExist", { action: settings.onCheck }, function (m, l, k, j, o) { var i = new Object(); i = k; i.folder = e + j; if (o) { for (var h in k) { var n = h } } a.post(l, i, function (r) { for (var p in r) { if (m.data.action(m, l, k, j, o) !== false) { var q = confirm("Do you want to replace the file " + r[p] + "?"); if (!q) { document.getElementById(a(m.target).attr("id") + "Uploader").cancelFileUpload(p, true, true) } } } if (o) { document.getElementById(a(m.target).attr("id") + "Uploader").startFileUpload(n, true) } else { document.getElementById(a(m.target).attr("id") + "Uploader").startFileUpload(null, true) } }, "json") }); a(this).bind("uploadifyCancel", { action: settings.onCancel }, function (l, h, k, m, j) { if (l.data.action(l, h, k, m, j) !== false) { var i = (j == true) ? 0 : 250; a("#" + a(this).attr("id") + h).fadeOut(i, function () { a(this).remove() }) } }); if (typeof (settings.onClearQueue) == "function") { a(this).bind("uploadifyClearQueue", settings.onClearQueue) } var c = []; a(this).bind("uploadifyError", { action: settings.onError }, function (l, h, k, j) { if (l.data.action(l, h, k, j) !== false) { var i = new Array(h, k, j); c.push(i); a("#" + a(this).attr("id") + h + " .percentage").text(" - " + j.type + " Error"); a("#" + a(this).attr("id") + h).addClass("uploadifyError") } }); a(this).bind("uploadifyProgress", { action: settings.onProgress, toDisplay: settings.displayData }, function (j, h, i, k) { if (j.data.action(j, h, i, k) !== false) { a("#" + a(this).attr("id") + h + "ProgressBar").css("width", k.percentage + "%"); if (j.data.toDisplay == "percentage") { displayData = " - " + k.percentage + "%" } if (j.data.toDisplay == "speed") { displayData = " - " + k.speed + "KB/s" } if (j.data.toDisplay == null) { displayData = " " } a("#" + a(this).attr("id") + h + " .percentage").text(displayData) } }); a(this).bind("uploadifyComplete", { action: settings.onComplete }, function (k, h, j, i, l) { if (k.data.action(k, h, j, unescape(i), l) !== false) { a("#" + a(this).attr("id") + h + " .percentage").text(" - Completed"); a("#" + a(this).attr("id") + h).fadeOut(250, function () { a(this).remove() }) } }); if (typeof (settings.onAllComplete) == "function") { a(this).bind("uploadifyAllComplete", { action: settings.onAllComplete }, function (h, i) { if (h.data.action(h, i) !== false) { c = [] } }) } }) }, uploadifySettings: function (f, j, c) { var g = false; a(this).each(function () { if (f == "scriptData" && j != null) { if (c) { var i = j } else { var i = a.extend(settings.scriptData, j) } var l = ""; for (var k in i) { l += "&" + k + "=" + escape(i[k]) } j = l.substr(1) } g = document.getElementById(a(this).attr("id") + "Uploader").updateSettings(f, j) }); if (j == null) { if (f == "scriptData") { var b = unescape(g).split("&"); var e = new Object(); for (var d = 0; d < b.length; d++) { var h = b[d].split("="); e[h[0]] = h[1] } g = e } return g } }, uploadifyUpload: function (b) { a(this).each(function () { document.getElementById(a(this).attr("id") + "Uploader").startFileUpload(b, false) }) }, uploadifyCancel: function (b) { a(this).each(function () { document.getElementById(a(this).attr("id") + "Uploader").cancelFileUpload(b, true, false) }) }, uploadifyClearQueue: function () { a(this).each(function () { document.getElementById(a(this).attr("id") + "Uploader").clearFileUploadQueue(false) }) } }) })(jQuery) };

//Swf Object
var swfobject = function () { var D = "undefined", r = "object", S = "Shockwave Flash", W = "ShockwaveFlash.ShockwaveFlash", q = "application/x-shockwave-flash", R = "SWFObjectExprInst", x = "onreadystatechange", O = window, j = document, t = navigator, T = false, U = [h], o = [], N = [], I = [], l, Q, E, B, J = false, a = false, n, G, m = true, M = function () { var aa = typeof j.getElementById != D && typeof j.getElementsByTagName != D && typeof j.createElement != D, ah = t.userAgent.toLowerCase(), Y = t.platform.toLowerCase(), ae = Y ? /win/.test(Y) : /win/.test(ah), ac = Y ? /mac/.test(Y) : /mac/.test(ah), af = /webkit/.test(ah) ? parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, X = ! +"\v1", ag = [0, 0, 0], ab = null; if (typeof t.plugins != D && typeof t.plugins[S] == r) { ab = t.plugins[S].description; if (ab && !(typeof t.mimeTypes != D && t.mimeTypes[q] && !t.mimeTypes[q].enabledPlugin)) { T = true; X = false; ab = ab.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); ag[0] = parseInt(ab.replace(/^(.*)\..*$/, "$1"), 10); ag[1] = parseInt(ab.replace(/^.*\.(.*)\s.*$/, "$1"), 10); ag[2] = /[a-zA-Z]/.test(ab) ? parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0 } } else { if (typeof O.ActiveXObject != D) { try { var ad = new ActiveXObject(W); if (ad) { ab = ad.GetVariable("$version"); if (ab) { X = true; ab = ab.split(" ")[1].split(","); ag = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)] } } } catch (Z) { } } } return { w3: aa, pv: ag, wk: af, ie: X, win: ae, mac: ac} } (), k = function () { if (!M.w3) { return } if ((typeof j.readyState != D && j.readyState == "complete") || (typeof j.readyState == D && (j.getElementsByTagName("body")[0] || j.body))) { f() } if (!J) { if (typeof j.addEventListener != D) { j.addEventListener("DOMContentLoaded", f, false) } if (M.ie && M.win) { j.attachEvent(x, function () { if (j.readyState == "complete") { j.detachEvent(x, arguments.callee); f() } }); if (O == top) { (function () { if (J) { return } try { j.documentElement.doScroll("left") } catch (X) { setTimeout(arguments.callee, 0); return } f() })() } } if (M.wk) { (function () { if (J) { return } if (!/loaded|complete/.test(j.readyState)) { setTimeout(arguments.callee, 0); return } f() })() } s(f) } } (); function f() { if (J) { return } try { var Z = j.getElementsByTagName("body")[0].appendChild(C("span")); Z.parentNode.removeChild(Z) } catch (aa) { return } J = true; var X = U.length; for (var Y = 0; Y < X; Y++) { U[Y]() } } function K(X) { if (J) { X() } else { U[U.length] = X } } function s(Y) { if (typeof O.addEventListener != D) { O.addEventListener("load", Y, false) } else { if (typeof j.addEventListener != D) { j.addEventListener("load", Y, false) } else { if (typeof O.attachEvent != D) { i(O, "onload", Y) } else { if (typeof O.onload == "function") { var X = O.onload; O.onload = function () { X(); Y() } } else { O.onload = Y } } } } } function h() { if (T) { V() } else { H() } } function V() { var X = j.getElementsByTagName("body")[0]; var aa = C(r); aa.setAttribute("type", q); var Z = X.appendChild(aa); if (Z) { var Y = 0; (function () { if (typeof Z.GetVariable != D) { var ab = Z.GetVariable("$version"); if (ab) { ab = ab.split(" ")[1].split(","); M.pv = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)] } } else { if (Y < 10) { Y++; setTimeout(arguments.callee, 10); return } } X.removeChild(aa); Z = null; H() })() } else { H() } } function H() { var ag = o.length; if (ag > 0) { for (var af = 0; af < ag; af++) { var Y = o[af].id; var ab = o[af].callbackFn; var aa = { success: false, id: Y }; if (M.pv[0] > 0) { var ae = c(Y); if (ae) { if (F(o[af].swfVersion) && !(M.wk && M.wk < 312)) { w(Y, true); if (ab) { aa.success = true; aa.ref = z(Y); ab(aa) } } else { if (o[af].expressInstall && A()) { var ai = {}; ai.data = o[af].expressInstall; ai.width = ae.getAttribute("width") || "0"; ai.height = ae.getAttribute("height") || "0"; if (ae.getAttribute("class")) { ai.styleclass = ae.getAttribute("class") } if (ae.getAttribute("align")) { ai.align = ae.getAttribute("align") } var ah = {}; var X = ae.getElementsByTagName("param"); var ac = X.length; for (var ad = 0; ad < ac; ad++) { if (X[ad].getAttribute("name").toLowerCase() != "movie") { ah[X[ad].getAttribute("name")] = X[ad].getAttribute("value") } } P(ai, ah, Y, ab) } else { p(ae); if (ab) { ab(aa) } } } } } else { w(Y, true); if (ab) { var Z = z(Y); if (Z && typeof Z.SetVariable != D) { aa.success = true; aa.ref = Z } ab(aa) } } } } } function z(aa) { var X = null; var Y = c(aa); if (Y && Y.nodeName == "OBJECT") { if (typeof Y.SetVariable != D) { X = Y } else { var Z = Y.getElementsByTagName(r)[0]; if (Z) { X = Z } } } return X } function A() { return !a && F("6.0.65") && (M.win || M.mac) && !(M.wk && M.wk < 312) } function P(aa, ab, X, Z) { a = true; E = Z || null; B = { success: false, id: X }; var ae = c(X); if (ae) { if (ae.nodeName == "OBJECT") { l = g(ae); Q = null } else { l = ae; Q = X } aa.id = R; if (typeof aa.width == D || (!/%$/.test(aa.width) && parseInt(aa.width, 10) < 310)) { aa.width = "310" } if (typeof aa.height == D || (!/%$/.test(aa.height) && parseInt(aa.height, 10) < 137)) { aa.height = "137" } j.title = j.title.slice(0, 47) + " - Flash Player Installation"; var ad = M.ie && M.win ? "ActiveX" : "PlugIn", ac = "MMredirectURL=" + O.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + ad + "&MMdoctitle=" + j.title; if (typeof ab.flashvars != D) { ab.flashvars += "&" + ac } else { ab.flashvars = ac } if (M.ie && M.win && ae.readyState != 4) { var Y = C("div"); X += "SWFObjectNew"; Y.setAttribute("id", X); ae.parentNode.insertBefore(Y, ae); ae.style.display = "none"; (function () { if (ae.readyState == 4) { ae.parentNode.removeChild(ae) } else { setTimeout(arguments.callee, 10) } })() } u(aa, ab, X) } } function p(Y) { if (M.ie && M.win && Y.readyState != 4) { var X = C("div"); Y.parentNode.insertBefore(X, Y); X.parentNode.replaceChild(g(Y), X); Y.style.display = "none"; (function () { if (Y.readyState == 4) { Y.parentNode.removeChild(Y) } else { setTimeout(arguments.callee, 10) } })() } else { Y.parentNode.replaceChild(g(Y), Y) } } function g(ab) { var aa = C("div"); if (M.win && M.ie) { aa.innerHTML = ab.innerHTML } else { var Y = ab.getElementsByTagName(r)[0]; if (Y) { var ad = Y.childNodes; if (ad) { var X = ad.length; for (var Z = 0; Z < X; Z++) { if (!(ad[Z].nodeType == 1 && ad[Z].nodeName == "PARAM") && !(ad[Z].nodeType == 8)) { aa.appendChild(ad[Z].cloneNode(true)) } } } } } return aa } function u(ai, ag, Y) { var X, aa = c(Y); if (M.wk && M.wk < 312) { return X } if (aa) { if (typeof ai.id == D) { ai.id = Y } if (M.ie && M.win) { var ah = ""; for (var ae in ai) { if (ai[ae] != Object.prototype[ae]) { if (ae.toLowerCase() == "data") { ag.movie = ai[ae] } else { if (ae.toLowerCase() == "styleclass") { ah += ' class="' + ai[ae] + '"' } else { if (ae.toLowerCase() != "classid") { ah += " " + ae + '="' + ai[ae] + '"' } } } } } var af = ""; for (var ad in ag) { if (ag[ad] != Object.prototype[ad]) { af += '<param name="' + ad + '" value="' + ag[ad] + '" />' } } aa.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + ah + ">" + af + "</object>"; N[N.length] = ai.id; X = c(ai.id) } else { var Z = C(r); Z.setAttribute("type", q); for (var ac in ai) { if (ai[ac] != Object.prototype[ac]) { if (ac.toLowerCase() == "styleclass") { Z.setAttribute("class", ai[ac]) } else { if (ac.toLowerCase() != "classid") { Z.setAttribute(ac, ai[ac]) } } } } for (var ab in ag) { if (ag[ab] != Object.prototype[ab] && ab.toLowerCase() != "movie") { e(Z, ab, ag[ab]) } } aa.parentNode.replaceChild(Z, aa); X = Z } } return X } function e(Z, X, Y) { var aa = C("param"); aa.setAttribute("name", X); aa.setAttribute("value", Y); Z.appendChild(aa) } function y(Y) { var X = c(Y); if (X && X.nodeName == "OBJECT") { if (M.ie && M.win) { X.style.display = "none"; (function () { if (X.readyState == 4) { b(Y) } else { setTimeout(arguments.callee, 10) } })() } else { X.parentNode.removeChild(X) } } } function b(Z) { var Y = c(Z); if (Y) { for (var X in Y) { if (typeof Y[X] == "function") { Y[X] = null } } Y.parentNode.removeChild(Y) } } function c(Z) { var X = null; try { X = j.getElementById(Z) } catch (Y) { } return X } function C(X) { return j.createElement(X) } function i(Z, X, Y) { Z.attachEvent(X, Y); I[I.length] = [Z, X, Y] } function F(Z) { var Y = M.pv, X = Z.split("."); X[0] = parseInt(X[0], 10); X[1] = parseInt(X[1], 10) || 0; X[2] = parseInt(X[2], 10) || 0; return (Y[0] > X[0] || (Y[0] == X[0] && Y[1] > X[1]) || (Y[0] == X[0] && Y[1] == X[1] && Y[2] >= X[2])) ? true : false } function v(ac, Y, ad, ab) { if (M.ie && M.mac) { return } var aa = j.getElementsByTagName("head")[0]; if (!aa) { return } var X = (ad && typeof ad == "string") ? ad : "screen"; if (ab) { n = null; G = null } if (!n || G != X) { var Z = C("style"); Z.setAttribute("type", "text/css"); Z.setAttribute("media", X); n = aa.appendChild(Z); if (M.ie && M.win && typeof j.styleSheets != D && j.styleSheets.length > 0) { n = j.styleSheets[j.styleSheets.length - 1] } G = X } if (M.ie && M.win) { if (n && typeof n.addRule == r) { n.addRule(ac, Y) } } else { if (n && typeof j.createTextNode != D) { n.appendChild(j.createTextNode(ac + " {" + Y + "}")) } } } function w(Z, X) { if (!m) { return } var Y = X ? "visible" : "hidden"; if (J && c(Z)) { c(Z).style.visibility = Y } else { v("#" + Z, "visibility:" + Y) } } function L(Y) { var Z = /[\\\"<>\.;]/; var X = Z.exec(Y) != null; return X && typeof encodeURIComponent != D ? encodeURIComponent(Y) : Y } var d = function () { if (M.ie && M.win) { window.attachEvent("onunload", function () { var ac = I.length; for (var ab = 0; ab < ac; ab++) { I[ab][0].detachEvent(I[ab][1], I[ab][2]) } var Z = N.length; for (var aa = 0; aa < Z; aa++) { y(N[aa]) } for (var Y in M) { M[Y] = null } M = null; for (var X in swfobject) { swfobject[X] = null } swfobject = null }) } } (); return { registerObject: function (ab, X, aa, Z) { if (M.w3 && ab && X) { var Y = {}; Y.id = ab; Y.swfVersion = X; Y.expressInstall = aa; Y.callbackFn = Z; o[o.length] = Y; w(ab, false) } else { if (Z) { Z({ success: false, id: ab }) } } }, getObjectById: function (X) { if (M.w3) { return z(X) } }, embedSWF: function (ab, ah, ae, ag, Y, aa, Z, ad, af, ac) { var X = { success: false, id: ah }; if (M.w3 && !(M.wk && M.wk < 312) && ab && ah && ae && ag && Y) { w(ah, false); K(function () { ae += ""; ag += ""; var aj = {}; if (af && typeof af === r) { for (var al in af) { aj[al] = af[al] } } aj.data = ab; aj.width = ae; aj.height = ag; var am = {}; if (ad && typeof ad === r) { for (var ak in ad) { am[ak] = ad[ak] } } if (Z && typeof Z === r) { for (var ai in Z) { if (typeof am.flashvars != D) { am.flashvars += "&" + ai + "=" + Z[ai] } else { am.flashvars = ai + "=" + Z[ai] } } } if (F(Y)) { var an = u(aj, am, ah); if (aj.id == ah) { w(ah, true) } X.success = true; X.ref = an } else { if (aa && A()) { aj.data = aa; P(aj, am, ah, ac); return } else { w(ah, true) } } if (ac) { ac(X) } }) } else { if (ac) { ac(X) } } }, switchOffAutoHideShow: function () { m = false }, ua: M, getFlashPlayerVersion: function () { return { major: M.pv[0], minor: M.pv[1], release: M.pv[2]} }, hasFlashPlayerVersion: F, createSWF: function (Z, Y, X) { if (M.w3) { return u(Z, Y, X) } else { return undefined } }, showExpressInstall: function (Z, aa, X, Y) { if (M.w3 && A()) { P(Z, aa, X, Y) } }, removeSWF: function (X) { if (M.w3) { y(X) } }, createCSS: function (aa, Z, Y, X) { if (M.w3) { v(aa, Z, Y, X) } }, addDomLoadEvent: K, addLoadEvent: s, getQueryParamValue: function (aa) { var Z = j.location.search || j.location.hash; if (Z) { if (/\?/.test(Z)) { Z = Z.split("?")[1] } if (aa == null) { return L(Z) } var Y = Z.split("&"); for (var X = 0; X < Y.length; X++) { if (Y[X].substring(0, Y[X].indexOf("=")) == aa) { return L(Y[X].substring((Y[X].indexOf("=") + 1))) } } } return "" }, expressInstallCallback: function () { if (a) { var X = c(R); if (X && l) { X.parentNode.replaceChild(l, X); if (Q) { w(Q, true); if (M.ie && M.win) { l.style.display = "block" } } if (E) { E(B) } } a = false } } } } ();

//Cookie
jQuery.cookie = function (name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        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(); // use expires attribute, max-age is not supported by IE
        }
        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 { // only name given, get cookie
        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]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

//Scrollable

(function ($) {
    jQuery.mbScrollable = {
        plugin: "mb.scrollable",
        author: "MB",
        version: "1.5.7",
        defaults: {
            dir: "horizontal",
            width: 950,
            elementsInPage: 4,
            elementMargin: 2,
            shadow: false,
            height: "auto",
            controls: "#controls",
            slideTimer: 600,
            autoscroll: false,
            scrollTimer: 6000,

            nextCallback: function () { },
            prevCallback: function () { }
        },

        buildMbScrollable: function (options) {
            return this.each(function () {
                this.options = {};
                jQuery.extend(this.options, jQuery.mbScrollable.defaults);
                jQuery.extend(this.options, options);

                var mbScrollable = this;
                mbScrollable.isVertical = mbScrollable.options.dir != "horizontal";
                var controls = jQuery(mbScrollable.options.controls);
                mbScrollable.idx = 1;
                mbScrollable.scrollTo = 0;
                mbScrollable.elements = jQuery(mbScrollable).children();
                mbScrollable.elements.addClass("scrollEl");
                controls.hide();

                jQuery(mbScrollable).children().each(function () { jQuery(this).wrap("<div class='SECont'></div>"); });
                if (mbScrollable.options.shadow) {
                    jQuery(mbScrollable.elements).css("-moz-box-shadow", mbScrollable.options.shadow);
                    jQuery(mbScrollable.elements).css("-webkit-box-shadow", mbScrollable.options.shadow);
                }
                mbScrollable.elements = jQuery(mbScrollable).children();
                var eip = mbScrollable.options.elementsInPage < this.elements.size() ? mbScrollable.options.elementsInPage : mbScrollable.elements.size();
                if (mbScrollable.isVertical) {
                    mbScrollable.singleElDim = (mbScrollable.options.height / eip) - mbScrollable.options.elementMargin;
                    jQuery(mbScrollable.elements).css({ marginBottom: mbScrollable.options.elementMargin, height: mbScrollable.singleElDim, width: mbScrollable.options.width });
                } else {
                    mbScrollable.singleElDim = (mbScrollable.options.width / eip) - mbScrollable.options.elementMargin;
                    jQuery(mbScrollable.elements).css({ marginRight: mbScrollable.options.elementMargin, width: mbScrollable.singleElDim, display: "inline-block", float: "left" }); //float:"left"
                }
                this.elementsDim = (mbScrollable.singleElDim * mbScrollable.elements.size()) + (mbScrollable.options.elementMargin * mbScrollable.elements.size());
                mbScrollable.totalPages = Math.ceil(mbScrollable.elements.size() / mbScrollable.options.elementsInPage);

                var adj = jQuery.browser.safari && mbScrollable.options.elementsInPage > 2 ? mbScrollable.options.elementMargin / (mbScrollable.options.elementsInPage) : 0;
                jQuery(mbScrollable).addClass("scrollCnt");
                if (mbScrollable.isVertical)
                    jQuery(mbScrollable).css({ overflow: "hidden", height: mbScrollable.options.height - adj, width: mbScrollable.options.width, paddingRight: 5, position: "relative" });
                else
                    jQuery(mbScrollable).css({ overflow: "hidden", width: mbScrollable.options.width - adj, height: mbScrollable.options.height, paddingBottom: 5, position: "relative" });

                var mbscrollableStrip = jQuery("<div class='scrollableStrip'/>").css({ width: mbScrollable.elementsDim+4, position: "relative" });
                jQuery(mbScrollable.elements).wrapAll(mbscrollableStrip);
                mbScrollable.mbscrollableStrip = jQuery(mbScrollable).find(".scrollableStrip");
                jQuery(mbScrollable.elements).hover(
                function () {
                    //                  console.debug(mbScrollable.autoScrollActive);
                    if (mbScrollable.autoScrollActive)
                        jQuery(mbScrollable).mbStopAutoscroll();
                },
                function () {
                    if (mbScrollable.autoScrollActive)
                        jQuery(mbScrollable).mbAutoscroll();
                });
                if (mbScrollable.options.autoscroll && mbScrollable.elements.size() > mbScrollable.options.elementsInPage) {
                    mbScrollable.autoScrollActive = true;
                    jQuery(mbScrollable).mbAutoscroll();
                }
                jQuery(mbScrollable).mbPageIndex();
                jQuery(mbScrollable).mbActivateControls();
                setTimeout(function () {
                    jQuery(".scrollEl").fadeIn();
                }, 1000);
                jQuery(mbScrollable).mbManageControls();
            });
        },

        mbNextPage: function (auto) {
            var mbScrollable = jQuery(this).get(0);
            if (!auto) mbScrollable.autoScrollActive = false;

            if (mbScrollable.idx == mbScrollable.totalPages) {
                jQuery(mbScrollable).mbManageControls();
                return;
            }
            if (mbScrollable.options.nextCallback) mbScrollable.options.nextCallback();
            var adj = jQuery.browser.safari && mbScrollable.options.elementsInPage > 2 ? mbScrollable.options.elementMargin / mbScrollable.options.elementsInPage : 0;
            mbScrollable.scrollTo -= ((mbScrollable.singleElDim + mbScrollable.options.elementMargin) * mbScrollable.options.elementsInPage) - adj;
            if (mbScrollable.isVertical) {
                if ((mbScrollable.scrollTo < -mbScrollable.elementsDim + mbScrollable.options.height))
                    mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.height;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginTop: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            } else {
                if ((mbScrollable.scrollTo < -mbScrollable.elementsDim + mbScrollable.options.width))
                    mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.width;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginLeft: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            }
            mbScrollable.idx += 1;
            jQuery(this).mbManageControls();
        },

        mbPrevPage: function (auto) {
            var mbScrollable = jQuery(this).get(0);
            if (!auto) mbScrollable.autoScrollActive = false;

            if (mbScrollable.idx == 1) {
                jQuery(mbScrollable).mbManageControls();
                return;
            }

            if (mbScrollable.options.prevCallback) mbScrollable.options.prevCallback();

            var adj = jQuery.browser.safari && mbScrollable.options.elementsInPage > 2 ? mbScrollable.options.elementMargin / mbScrollable.options.elementsInPage : 0;
            mbScrollable.scrollTo += ((mbScrollable.singleElDim + mbScrollable.options.elementMargin) * mbScrollable.options.elementsInPage) + adj;

            if (mbScrollable.isVertical) {
                if (mbScrollable.scrollTo >= 0) mbScrollable.scrollTo = 0;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginTop: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            } else {
                if (mbScrollable.scrollTo >= 0) mbScrollable.scrollTo = 0;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginLeft: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            }
            mbScrollable.idx -= 1;
            jQuery(this).mbManageControls();
        },

        mbFirstPage: function () {
            var mbScrollable = jQuery(this).get(0);
            mbScrollable.autoScrollActive = false;

            mbScrollable.scrollTo = 0;
            if (mbScrollable.isVertical) {
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginTop: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            } else {
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginLeft: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            }
            mbScrollable.idx = 1;
            jQuery(this).mbManageControls();
            jQuery(mbScrollable).mbStopAutoscroll();
        },

        mbLastPage: function () {
            var mbScrollable = jQuery(this).get(0);
            mbScrollable.autoScrollActive = false;

            if (mbScrollable.isVertical) {
                mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.height;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginTop: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            } else {
                mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.width;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginLeft: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
            }
            mbScrollable.idx = mbScrollable.totalPages;
            jQuery(mbScrollable).mbManageControls();
            jQuery(mbScrollable).mbStopAutoscroll();
        },

        mbPageIndex: function () {
            var mbScrollable = jQuery(this).get(0);
            var controls = jQuery(mbScrollable.options.controls);
            var pages = controls.find(".pageIndex");
            if (pages) {
                function getPage(i) {
                    mbScrollable.scrollTo = -((mbScrollable.singleElDim + mbScrollable.options.elementMargin) * (mbScrollable.options.elementsInPage * (i - 1)));
                    if (mbScrollable.isVertical) {
                        if (mbScrollable.scrollTo < -mbScrollable.elementsDim + mbScrollable.options.height)
                            mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.height;
                        jQuery(mbScrollable.mbscrollableStrip).animate({ marginTop: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
                    } else {
                        if (mbScrollable.scrollTo < -mbScrollable.elementsDim + mbScrollable.options.width)
                            mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.width;
                        jQuery(mbScrollable.mbscrollableStrip).animate({ marginLeft: mbScrollable.scrollTo }, mbScrollable.options.slideTimer);
                    }
                    mbScrollable.idx = Math.floor(i);
                    jQuery(mbScrollable).mbManageControls();
                }
                var n = 0;
                for (var i = 1; i <= mbScrollable.totalPages; i++) {
                    n++;
                    var p = jQuery("<span class='page'> " + n + " <\/span>").bind("click", function () {
                        getPage(jQuery(this).html());
                        jQuery(mbScrollable).mbStopAutoscroll();
                        mbScrollable.autoScrollActive = false;
                    });
                    pages.append(p);
                };
            }
        },
        mbAutoscroll: function () {
            var dir = "next";
            var mbScrollable = jQuery(this).get(0);
            mbScrollable.autoScrollActive = true;

            if (mbScrollable.autoscroll) return;
            var timer = mbScrollable.options.scrollTimer + mbScrollable.options.slideTimer;
            mbScrollable.autoscroll = true;
            mbScrollable.auto = setInterval(function () {
                dir = mbScrollable.idx == 1 ? "next" : mbScrollable.idx == mbScrollable.totalPages ? "prev" : dir;
                if (dir == "next")
                    jQuery(mbScrollable).mbNextPage(true);
                else
                    jQuery(mbScrollable).mbPrevPage(true);
            }, timer);
            jQuery(mbScrollable).mbManageControls();
        },

        mbStopAutoscroll: function () {
            var mbScrollable = jQuery(this).get(0);
            mbScrollable.autoscroll = false;
            clearInterval(mbScrollable.auto);
            jQuery(mbScrollable).mbManageControls();

        },

        mbActivateControls: function () {
            var mbScrollable = jQuery(this).get(0);
            var controls = jQuery(mbScrollable.options.controls);
            controls.find(".first").bind("click", function () { jQuery(mbScrollable).mbFirstPage(); });
            controls.find(".prev").bind("click", function () { jQuery(mbScrollable).mbStopAutoscroll(); jQuery(mbScrollable).mbPrevPage(); });
            controls.find(".next").bind("click", function () { jQuery(mbScrollable).mbStopAutoscroll(); jQuery(mbScrollable).mbNextPage(); });
            controls.find(".last").bind("click", function () { jQuery(mbScrollable).mbLastPage(); });
            controls.find(".start").bind("click", function () { jQuery(mbScrollable).mbAutoscroll(); });
            controls.find(".stop").bind("click", function () { jQuery(mbScrollable).mbStopAutoscroll(); mbScrollable.autoScrollActive = false; });
        },

        mbManageControls: function () {
            var mbScrollable = jQuery(this).get(0);
            var controls = jQuery(mbScrollable.options.controls);
            if (mbScrollable.elements.size() <= mbScrollable.options.elementsInPage) {
                controls.hide();
            } else {
                controls.fadeIn();
            }
            if (mbScrollable.idx == mbScrollable.totalPages) {
                controls.find(".last").addClass("disabled");
                controls.find(".next").addClass("disabled");
            } else {
                controls.find(".last").removeClass("disabled");
                controls.find(".next").removeClass("disabled");
            }

            if (mbScrollable.idx == 1) {
                controls.find(".first").addClass("disabled");
                controls.find(".prev").addClass("disabled");
            } else {
                controls.find(".first").removeClass("disabled");
                controls.find(".prev").removeClass("disabled");
            }

            if (mbScrollable.autoscroll) {
                controls.find(".start").addClass("sel");
                controls.find(".stop").removeClass("sel");
            } else {
                controls.find(".start").removeClass("sel");
                controls.find(".stop").addClass("sel");
            }
            controls.find(".page").removeClass("sel");
            controls.find(".page").eq(mbScrollable.idx - 1).addClass("sel");
            controls.find(".idx").html(mbScrollable.idx + " / " + mbScrollable.totalPages);
        },

        goToPage: function (i, hasAnim) {
            var mbScrollable = jQuery(this).get(0);
            var anim = hasAnim ? 0 : mbScrollable.options.slideTimer;
            if (i > mbScrollable.totalPages) i = mbScrollable.totalPages;
            mbScrollable.scrollTo = -((mbScrollable.singleElDim + mbScrollable.options.elementMargin) * (mbScrollable.options.elementsInPage * (i - 1)));
            if (mbScrollable.isVertical) {
                if (mbScrollable.scrollTo < -mbScrollable.elementsDim + mbScrollable.options.height)
                    mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.height;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginTop: mbScrollable.scrollTo }, anim);
            } else {
                if (mbScrollable.scrollTo < -mbScrollable.elementsDim + mbScrollable.options.width)
                    mbScrollable.scrollTo = -mbScrollable.elementsDim + mbScrollable.options.width;
                jQuery(mbScrollable.mbscrollableStrip).animate({ marginLeft: mbScrollable.scrollTo }, anim);
            }
            mbScrollable.idx = Math.floor(i);
            jQuery(mbScrollable).mbManageControls();
            jQuery(mbScrollable).mbStopAutoscroll();
            mbScrollable.autoScrollActive = false;
        }
        /*
        //WIP 1.6.0
        mbAddElement: function(n){
        var mbScrollable=jQuery(this).get(0);
        var newEl=jQuery(n);
        newEl.addClass("scrollEl");

        jQuery(mbScrollable).find(".scrollableStrip").append(newEl);
        newEl.wrap("<div class='SECont'/>");
        newEl.css({marginRight:mbScrollable.options.elementMargin, width:mbScrollable.singleElDim});
        }
        */
    };

    jQuery.fn.mbScrollable = jQuery.mbScrollable.buildMbScrollable;
    jQuery.fn.mbNextPage = jQuery.mbScrollable.mbNextPage;
    jQuery.fn.mbPrevPage = jQuery.mbScrollable.mbPrevPage;
    jQuery.fn.mbFirstPage = jQuery.mbScrollable.mbFirstPage;
    jQuery.fn.mbLastPage = jQuery.mbScrollable.mbLastPage;
    jQuery.fn.mbPageIndex = jQuery.mbScrollable.mbPageIndex;
    jQuery.fn.mbgotoPage = jQuery.mbScrollable.gotoPage;
    jQuery.fn.mbAutoscroll = jQuery.mbScrollable.mbAutoscroll;
    jQuery.fn.mbStopAutoscroll = jQuery.mbScrollable.mbStopAutoscroll;
    jQuery.fn.mbActivateControls = jQuery.mbScrollable.mbActivateControls;
    jQuery.fn.mbManageControls = jQuery.mbScrollable.mbManageControls;
    jQuery.fn.goToPage = jQuery.mbScrollable.goToPage;

    //  jQuery.fn.mbAddElement=jQuery.mbScrollable.mbAddElement;

})(jQuery);

/*Watermark*/
(function (b) { var l = "function", j = "password", d = "maxLength", f = "type", c = true, a = "", e = false, t = "watermark", u, m = t, i = "watermarkClass", q = "watermarkFocus", k = "watermarkSubmit", o = "watermarkMaxLength", h = "watermarkPassword", g = "watermarkText", s = ":data(" + m + ")", n = ":text,:password,:search,textarea", p = ["Page_ClientValidate"], r = e; b.extend(b.expr[":"], { search: function (b) { return "search" === (b.type || a) }, data: function (g, i, h) { var f, d = /^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(h[3]); if (d) { f = b(g).data(d[1]); if (f !== u) { if (d[2]) { f = a + f; switch (d[2]) { case "=": return f == d[3]; case "!=": return f != d[3]; case "^=": return f.slice(0, d[3].length) == d[3]; case "$=": return f.slice(-d[3].length) == d[3]; case "*=": return f.indexOf(d[3]) !== -1 } } return c } } return e } }); b.watermark = { version: "3.0.6", options: { className: t, useNative: c }, hide: function (a) { b(a).filter(s).each(function () { b.watermark._hide(b(this)) }) }, _hide: function (b, n) { var m = b.val() || a, k = b.data(g) || a, l = b.data(o) || 0, j = b.data(i); if (k.length && m == k) { b.val(a); if (b.data(h)) if ((b.attr(f) || a) === "text") { var e = b.data(h) || [], c = b.parent() || []; if (e.length && c.length) { c[0].removeChild(b[0]); c[0].appendChild(e[0]); b = e } } if (l) { b.attr(d, l); b.removeData(o) } if (n) { b.attr("autocomplete", "off"); window.setTimeout(function () { b.select() }, 1) } } j && b.removeClass(j) }, show: function (a) { b(a).filter(s).each(function () { b.watermark._show(b(this)) }) }, _show: function (e) { var t = e.val() || a, k = e.data(g) || a, p = e.attr(f) || a, s = e.data(i); if ((t.length == 0 || t == k) && !e.data(q)) { r = c; if (e.data(h)) if (p === j) { var n = e.data(h) || [], m = e.parent() || []; if (n.length && m.length) { m[0].removeChild(e[0]); m[0].appendChild(n[0]); e = n; e.attr(d, k.length) } } if (p === "text" || p === "search") { var l = e.attr(d) || 0; if (l > 0 && k.length > l) { e.data(o, l); e.attr(d, k.length) } } s && e.addClass(s); e.val(k) } else b.watermark._hide(e) }, hideAll: function () { if (r) { b.watermark.hide(n); r = e } }, showAll: function () { b.watermark.show(n) } }; b.fn.watermark = function (r, o) { var p = "string"; if (!this.length) return this; var s = e, t = typeof r === p; if (typeof o === "object") { s = typeof o.className === p; o = b.extend({}, b.watermark.options, o) } else if (typeof o === p) { s = c; o = b.extend({}, b.watermark.options, { className: o }) } else o = b.watermark.options; if (typeof o.useNative !== l) o.useNative = o.useNative ? function () { return c } : function () { return e }; return this.each(function () { var v = "dragleave", u = "dragenter", x = this, e = b(x); if (!e.is(n)) return; if (e.data(m)) { if (t || s) { b.watermark._hide(e); t && e.data(g, r); s && e.data(i, o.className) } } else { if (o.useNative.call(x, e)) if ((a + e.css("-webkit-appearance")).replace("undefined", a) !== a && (e.attr("tagName") || a) !== "TEXTAREA") { t && e.attr("placeholder", r); return } e.data(g, t ? r : a); e.data(i, o.className); e.data(m, 1); if ((e.attr(f) || a) === j) { var y = e.wrap("<span>").parent(), l = b(y.html().replace(/type=["']?password["']?/i, 'type="text"')); l.data(g, e.data(g)); l.data(i, e.data(i)); l.data(m, 1); l.attr(d, r.length); l.focus(function () { b.watermark._hide(l, c) }).bind(u, function () { b.watermark._hide(l) }).bind("dragend", function () { window.setTimeout(function () { l.blur() }, 1) }); e.blur(function () { b.watermark._show(e) }).bind(v, function () { b.watermark._show(e) }); l.data(h, e); e.data(h, l) } else e.focus(function () { e.data(q, 1); b.watermark._hide(e, c) }).blur(function () { e.data(q, 0); b.watermark._show(e) }).bind(u, function () { b.watermark._hide(e) }).bind(v, function () { b.watermark._show(e) }).bind("dragend", function () { window.setTimeout(function () { b.watermark._show(e) }, 1) }).bind("drop", function (c) { var b = c.originalEvent.dataTransfer.getData("Text"); e.val().replace(b, a) === e.data(g) && e.val(b); e.focus() }); if (x.form) { var p = x.form, w = b(p); if (!w.data(k)) { w.submit(b.watermark.hideAll); if (p.submit) { w.data(k, p.submit); p.submit = function (c, a) { return function () { var d = a.data(k); b.watermark.hideAll(); if (d.apply) d.apply(c, Array.prototype.slice.call(arguments)); else d() } } (p, w) } else { w.data(k, 1); p.submit = function (a) { return function () { b.watermark.hideAll(); delete a.submit; a.submit() } } (p) } } } } b.watermark._show(e) }) }; p.length && b(function () { for (var a, c, d = p.length - 1; d >= 0; d--) { a = p[d]; c = window[a]; if (typeof c === l) window[a] = function (a) { return function () { b.watermark.hideAll(); return a.apply(null, Array.prototype.slice.call(arguments)) } } (c) } }) })(jQuery);


/*Hotkey*/
(function (jQuery) {
    jQuery.fn.__bind__ = jQuery.fn.bind; jQuery.fn.__unbind__ = jQuery.fn.unbind; jQuery.fn.__find__ = jQuery.fn.find; var hotkeys = { version: '0.7.9', override: /keypress|keydown|keyup/g, triggersMap: {}, specialKeys: { 27: 'esc', 9: 'tab', 32: 'space', 13: 'return', 8: 'backspace', 145: 'scroll', 20: 'capslock', 144: 'numlock', 19: 'pause', 45: 'insert', 36: 'home', 46: 'del', 35: 'end', 33: 'pageup', 34: 'pagedown', 37: 'left', 38: 'up', 39: 'right', 40: 'down', 109: '-', 112: 'f1', 113: 'f2', 114: 'f3', 115: 'f4', 116: 'f5', 117: 'f6', 118: 'f7', 119: 'f8', 120: 'f9', 121: 'f10', 122: 'f11', 123: 'f12', 191: '/' }, shiftNums: { "`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&", "8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ":", "'": "\"", ",": "<", ".": ">", "/": "?", "\\": "|" }, newTrigger: function (type, combi, callback) { var result = {}; result[type] = {}; result[type][combi] = { cb: callback, disableInInput: false }; return result; } }; hotkeys.specialKeys = jQuery.extend(hotkeys.specialKeys, { 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6', 103: '7', 104: '8', 105: '9', 106: '*', 107: '+', 109: '-', 110: '.', 111: '/' }); jQuery.fn.find = function (selector) { this.query = selector; return jQuery.fn.__find__.apply(this, arguments); }; jQuery.fn.unbind = function (type, combi, fn) {
        if (jQuery.isFunction(combi)) { fn = combi; combi = null; }
        if (combi && typeof combi === 'string') { var selectorId = ((this.prevObject && this.prevObject.query) || (this[0].id && this[0].id) || this[0]).toString(); var hkTypes = type.split(' '); for (var x = 0; x < hkTypes.length; x++) { delete hotkeys.triggersMap[selectorId][hkTypes[x]][combi]; } }
        return this.__unbind__(type, fn);
    }; jQuery.fn.bind = function (type, data, fn) {
       
        var handle = null; try { handle=type.match(hotkeys.override); } catch(ex) {}
        if (jQuery.isFunction(data) || !handle || data == null) { return this.__bind__(type, data, fn); }
        else {
            var result = null, pass2jq = jQuery.trim(type.replace(hotkeys.override, '')); if (pass2jq) { result = this.__bind__(pass2jq, data, fn); }
            if (typeof data === "string") { data = { 'combi': data }; }
            if (data.combi) {
                for (var x = 0; x < handle.length; x++) {
                    var eventType = handle[x]; var combi = data.combi.toLowerCase(), trigger = hotkeys.newTrigger(eventType, combi, fn), selectorId = ((this.prevObject && this.prevObject.query) || (this[0].id && this[0].id) || this[0]).toString(); trigger[eventType][combi].disableInInput = data.disableInInput; if (!hotkeys.triggersMap[selectorId]) { hotkeys.triggersMap[selectorId] = trigger; }
                    else if (!hotkeys.triggersMap[selectorId][eventType]) { hotkeys.triggersMap[selectorId][eventType] = trigger[eventType]; }
                    var mapPoint = hotkeys.triggersMap[selectorId][eventType][combi]; if (!mapPoint) { hotkeys.triggersMap[selectorId][eventType][combi] = [trigger[eventType][combi]]; }
                    else if (mapPoint.constructor !== Array) { hotkeys.triggersMap[selectorId][eventType][combi] = [mapPoint]; }
                    else { hotkeys.triggersMap[selectorId][eventType][combi][mapPoint.length] = trigger[eventType][combi]; }
                    this.each(function () {
                        var jqElem = jQuery(this); if (jqElem.attr('hkId') && jqElem.attr('hkId') !== selectorId) { selectorId = jqElem.attr('hkId') + ";" + selectorId; }
                        jqElem.attr('hkId', selectorId);
                    }); result = this.__bind__(handle.join(' '), data, hotkeys.handler)
                }
            }
            return result;
        }
    }; hotkeys.findElement = function (elem) {
        if (!jQuery(elem).attr('hkId')) { if (jQuery.browser.opera || jQuery.browser.safari) { while (!jQuery(elem).attr('hkId') && elem.parentNode) { elem = elem.parentNode; } } }
        return elem;
    }; hotkeys.handler = function (event) {
        var target = hotkeys.findElement(event.currentTarget), jTarget = jQuery(target), ids = jTarget.attr('hkId'); if (ids) {
            ids = ids.split(';'); var code = event.which, type = event.type, special = hotkeys.specialKeys[code], character = !special && String.fromCharCode(code).toLowerCase(), shift = event.shiftKey, ctrl = event.ctrlKey, alt = event.altKey || event.originalEvent.altKey, mapPoint = null; for (var x = 0; x < ids.length; x++) { if (hotkeys.triggersMap[ids[x]][type]) { mapPoint = hotkeys.triggersMap[ids[x]][type]; break; } }
            if (mapPoint) {
                var trigger; if (!shift && !ctrl && !alt) { trigger = mapPoint[special] || (character && mapPoint[character]); }
                else { var modif = ''; if (alt) modif += 'alt+'; if (ctrl) modif += 'ctrl+'; if (shift) modif += 'shift+'; trigger = mapPoint[modif + special]; if (!trigger) { if (character) { trigger = mapPoint[modif + character] || mapPoint[modif + hotkeys.shiftNums[character]] || (modif === 'shift+' && mapPoint[hotkeys.shiftNums[character]]); } } }
                if (trigger) {
                    var result = false; for (var x = 0; x < trigger.length; x++) {
                        if (trigger[x].disableInInput) { var elem = jQuery(event.target); if (jTarget.is("input") || jTarget.is("textarea") || jTarget.is("select") || elem.is("input") || elem.is("textarea") || elem.is("select")) { return true; } }
                        result = result || trigger[x].cb.apply(this, [event]);
                    }
                    return result;
                }
            }
        }
    }; window.hotkeys = hotkeys; return jQuery;
})(jQuery);

/*Autogrow Textarea*/
(function (jQuery) {

    var self = null;

    jQuery.fn.autogrow = function (o) {
        return this.each(function () {
            new jQuery.autogrow(this, o);
        });
    };


    /**
    * The autogrow object.
    *
    * @constructor
    * @name jQuery.autogrow
    * @param Object e The textarea to create the autogrow for.
    * @param Hash o A set of key/value pairs to set as configuration properties.
    * @cat Plugins/autogrow
    */

    jQuery.autogrow = function (e, o) {
        this.dummy = null;
        this.interval = null;
        this.line_height = 0, parseInt(jQuery(e).css('line-height'));
        if (this.line_height == NaN)
            this.line_height = 0;
        this.min_height = parseInt(jQuery(e).css('min-height'));
        this.options = o;
        this.textarea = jQuery(e);

        // Only one textarea activated at a time, the one being used
        this.init();
    };

    jQuery.autogrow.fn = jQuery.autogrow.prototype = {
        autogrow: '1.1'
    };

    jQuery.autogrow.fn.extend = jQuery.autogrow.extend = jQuery.extend;

    jQuery.autogrow.fn.extend({

        init: function () {
            var self = this;
            this.textarea.css({ overflow: 'hidden', display: 'block' });
            this.textarea.bind('focus', function () { self.startExpand() }).bind('blur', function () { self.stopExpand });
            this.checkExpand();
        },

        startExpand: function () {
            var self = this;
            this.interval = window.setInterval(function () { self.checkExpand() }, 400);
        },

        stopExpand: function () {
            clearInterval(this.interval);
        },

        checkExpand: function () {

            if (this.dummy == null) {
                this.dummy = jQuery('<div></div>');
                this.dummy.css({
                    'font-size': this.textarea.css('font-size'),
                    'font-family': this.textarea.css('font-family'),
                    'width': this.textarea.css('width'),
                    'padding': this.textarea.css('padding'),
                    'line-height': this.textarea.css('line-height'),
                    'overflow-x': 'hidden',
                    'display': 'none',
                    'position': 'absolute',
                    'top': 0,
                    'left': '-9999px'
                }).appendTo('body');
            }


            var html = this.textarea.val().replace(/\n/g, '<br>new');

            if (this.dummy.html() != html) {
                this.dummy.html(html);

                if (this.textarea.height() != this.dummy.height() + this.line_height) {
                    this.textarea.animate({ height: (this.dummy.height() + this.line_height) + 'px' }, 100);
                }
            }
        }

    });
})(jQuery);

; (function (d) { var k = d.scrollTo = function (a, i, e) { d(window).scrollTo(a, i, e) }; k.defaults = { axis: 'xy', duration: parseFloat(d.fn.jquery) >= 1.3 ? 0 : 1 }; k.window = function (a) { return d(window)._scrollable() }; d.fn._scrollable = function () { return this.map(function () { var a = this, i = !a.nodeName || d.inArray(a.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1; if (!i) return a; var e = (a.contentWindow || a).document || a.ownerDocument || a; return d.browser.safari || e.compatMode == 'BackCompat' ? e.body : e.documentElement }) }; d.fn.scrollTo = function (n, j, b) { if (typeof j == 'object') { b = j; j = 0 } if (typeof b == 'function') b = { onAfter: b }; if (n == 'max') n = 9e9; b = d.extend({}, k.defaults, b); j = j || b.speed || b.duration; b.queue = b.queue && b.axis.length > 1; if (b.queue) j /= 2; b.offset = p(b.offset); b.over = p(b.over); return this._scrollable().each(function () { var q = this, r = d(q), f = n, s, g = {}, u = r.is('html,body'); switch (typeof f) { case 'number': case 'string': if (/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)) { f = p(f); break } f = d(f, this); case 'object': if (f.is || f.style) s = (f = d(f)).offset() } d.each(b.axis.split(''), function (a, i) { var e = i == 'x' ? 'Left' : 'Top', h = e.toLowerCase(), c = 'scroll' + e, l = q[c], m = k.max(q, i); if (s) { g[c] = s[h] + (u ? 0 : l - r.offset()[h]); if (b.margin) { g[c] -= parseInt(f.css('margin' + e)) || 0; g[c] -= parseInt(f.css('border' + e + 'Width')) || 0 } g[c] += b.offset[h] || 0; if (b.over[h]) g[c] += f[i == 'x' ? 'width' : 'height']() * b.over[h] } else { var o = f[h]; g[c] = o.slice && o.slice(-1) == '%' ? parseFloat(o) / 100 * m : o } if (/^\d+$/.test(g[c])) g[c] = g[c] <= 0 ? 0 : Math.min(g[c], m); if (!a && b.queue) { if (l != g[c]) t(b.onAfterFirst); delete g[c] } }); t(b.onAfter); function t(a) { r.animate(g, j, b.easing, a && function () { a.call(this, n, b) }) } }).end() }; k.max = function (a, i) { var e = i == 'x' ? 'Width' : 'Height', h = 'scroll' + e; if (!d(a).is('html,body')) return a[h] - d(a)[e.toLowerCase()](); var c = 'client' + e, l = a.ownerDocument.documentElement, m = a.ownerDocument.body; return Math.max(l[h], m[h]) - Math.min(l[c], m[c]) }; function p(a) { return typeof a == 'object' ? a : { top: a, left: a} } })(jQuery);

