﻿/* Climbfind functions */
jQuery(document).ready(function() {

    //-- Stop duplicate form submission
    jQuery('#aspnetForm a.superButton').click(function() {
        if ($(this).text() != 'processing') {
            //-- Cause client validation without postback
            var vGrpFld = $(this).attr('href').split('"')[1];
            VAM_ValOnSubWGrp(vGrpFld);

            if ($('div.errorBox:visible').length == 0) {
                $(this).hide();
                $(this).after('<p class="processFeedback">Processing form</p>');
            }
        }
    });
    
    //-- load all scroll over images
    imagePreview();
    
    //-- load top menu
    jQuery('#nav').droppy();
});

/* Image preview script Alen Grakalic (http://cssglobe.com) */
this.imagePreview = function() { $("a.preview").hover(function(e) { this.t = this.title; this.title = ""; var c = (this.t != "") ? "<br/>" + this.t : ""; $("body").append("<p id='preview'><img src='" + this.href + "' alt='Image preview' />" + c + "</p>"); $("#preview").css("top", (e.pageY - 10) + "px").css("left", (e.pageX + 30) + "px").fadeIn("fast"); }, function() { this.title = this.t; $("#preview").remove(); }); $("a.preview").mousemove(function(e) { $("#preview").css("top", (e.pageY - 10) + "px").css("left", (e.pageX + 30) + "px"); }); };

/* jquery.innerfade.js, Author: Torsten Baldes */
(function($) { $.fn.innerfade = function(options) { return this.each(function() { $.innerfade(this, options); }); }; $.innerfade = function(container, options) { var settings = { 'animationtype': 'fade', 'speed': 'normal', 'type': 'sequence', 'timeout': 2000, 'containerheight': 'auto', 'runningclass': 'innerfade', 'children': null }; if (options) $.extend(settings, options); if (settings.children === null) var elements = $(container).children(); else var elements = $(container).children(settings.children); if (elements.length > 1) { $(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass); for (var i = 0; i < elements.length; i++) { $(elements[i]).css('z-index', String(elements.length - i)).css('position', 'absolute').hide(); }; if (settings.type == "sequence") { setTimeout(function() { $.innerfade.next(elements, settings, 1, 0); }, settings.timeout); $(elements[0]).show(); } else if (settings.type == "random") { var last = Math.floor(Math.random() * (elements.length)); setTimeout(function() { do { current = Math.floor(Math.random() * (elements.length)); } while (last == current); $.innerfade.next(elements, settings, current, last); }, settings.timeout); $(elements[last]).show(); } else if (settings.type == 'random_start') { settings.type = 'sequence'; var current = Math.floor(Math.random() * (elements.length)); setTimeout(function() { $.innerfade.next(elements, settings, (current + 1) % elements.length, current); }, settings.timeout); $(elements[current]).show(); } else { alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\''); } } }; $.innerfade.next = function(elements, settings, current, last) { if (settings.animationtype == 'slide') { $(elements[last]).slideUp(settings.speed); $(elements[current]).slideDown(settings.speed); } else if (settings.animationtype == 'fade') { $(elements[last]).fadeOut(settings.speed); $(elements[current]).fadeIn(settings.speed, function() { removeFilter($(this)[0]); }); } else alert('Innerfade-animationtype must either be \'slide\' or \'fade\''); if (settings.type == "sequence") { if ((current + 1) < elements.length) { current = current + 1; last = current - 1; } else { current = 0; last = elements.length - 1; } } else if (settings.type == "random") { last = current; while (current == last) current = Math.floor(Math.random() * elements.length); } else alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\''); setTimeout((function() { $.innerfade.next(elements, settings, current, last); }), settings.timeout); }; })(jQuery); function removeFilter(element) { if (element.style.removeAttribute) { element.style.removeAttribute('filter'); } }

/* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2 */
(function($) { $.fn.hoverIntent = function(f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function(ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function(ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function() { compare(ev, ob); }, cfg.interval); } }; var delay = function(ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function(e) { var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } } if (p == this) { return false; } var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function() { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function() { delay(ev, ob); }, cfg.timeout); } } }; return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery);

/* Dimensions Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)*/
(function($) { $.dimensions = { version: '1.2' }; $.each(['Height', 'Width'], function(i, name) { $.fn['inner' + name] = function() { if (!this[0]) return; var torl = name == 'Height' ? 'Top' : 'Left', borr = name == 'Height' ? 'Bottom' : 'Right'; return this.is(':visible') ? this[0]['client' + name] : num(this, name.toLowerCase()) + num(this, 'padding' + torl) + num(this, 'padding' + borr); }; $.fn['outer' + name] = function(options) { if (!this[0]) return; var torl = name == 'Height' ? 'Top' : 'Left', borr = name == 'Height' ? 'Bottom' : 'Right'; options = $.extend({ margin: false }, options || {}); var val = this.is(':visible') ? this[0]['offset' + name] : num(this, name.toLowerCase()) + num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width') + num(this, 'padding' + torl) + num(this, 'padding' + borr); return val + (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0); }; }); $.each(['Left', 'Top'], function(i, name) { $.fn['scroll' + name] = function(val) { if (!this[0]) return; return val != undefined ? this.each(function() { this == window || this == document ? window.scrollTo(name == 'Left' ? val : $(window)['scrollLeft'](), name == 'Top' ? val : $(window)['scrollTop']()) : this['scroll' + name] = val; }) : this[0] == window || this[0] == document ? self[(name == 'Left' ? 'pageXOffset' : 'pageYOffset')] || $.boxModel && document.documentElement['scroll' + name] || document.body['scroll' + name] : this[0]['scroll' + name]; }; }); $.fn.extend({ position: function() { var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results; if (elem) { offsetParent = this.offsetParent(); offset = this.offset(); parentOffset = offsetParent.offset(); offset.top -= num(elem, 'marginTop'); offset.left -= num(elem, 'marginLeft'); parentOffset.top += num(offsetParent, 'borderTopWidth'); parentOffset.left += num(offsetParent, 'borderLeftWidth'); results = { top: offset.top - parentOffset.top, left: offset.left - parentOffset.left }; } return results; }, offsetParent: function() { var offsetParent = this[0].offsetParent; while (offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent, 'position') == 'static')) offsetParent = offsetParent.offsetParent; return $(offsetParent); } }); function num(el, prop) { return parseInt($.curCSS(el.jquery ? el[0] : el, prop, true)) || 0; }; })(jQuery);

/* Droppy 0.1.2 (c) 2008 Jason Frame (jason@onehackoranother.com) */
jQuery.fn.droppy = function(options) { options = jQuery.extend({ speed: 150 }, options || {}); this.each(function() { var root = this, zIndex = 1000; function getSubnav(ele) { if (ele.nodeName.toLowerCase() == 'li') { var subnav = jQuery('> ul', ele); return subnav.length ? subnav[0] : null; } else { return ele; } } function getActuator(ele) { if (ele.nodeName.toLowerCase() == 'ul') { return jQuery(ele).parents('li')[0]; } else { return ele; } } function hide() { var subnav = getSubnav(this); if (!subnav) return; jQuery.data(subnav, 'cancelHide', false); setTimeout(function() { if (!jQuery.data(subnav, 'cancelHide')) { jQuery(subnav).slideUp(options.speed); } }, 500); } function show() { var subnav = getSubnav(this); if (!subnav) return; jQuery.data(subnav, 'cancelHide', true); jQuery(subnav).css({ zIndex: zIndex++ }).slideDown(options.speed); if (this.nodeName.toLowerCase() == 'ul') { var li = getActuator(this); jQuery(li).addClass('hover'); jQuery('> a', li).addClass('hover'); } } jQuery('ul, li', this).hover(show, hide); jQuery('li', this).hover(function() { jQuery(this).addClass('hover'); $('> a', this).addClass('hover'); }, function() { jQuery(this).removeClass('hover'); $('> a', this).removeClass('hover'); }); }); };

/* Character counter */
jQuery.fn.twitterCounter = function(options) { var curSize = $(this).val().length; var charsLeft = options['limit'] - curSize; var types = ['ok', 'watch', 'warning', 'error']; var x = {}; $.each(types, function() { var el = this.toString(); x[el] = { 'Max': options[el + 'Size'], 'Style': options[el + 'Style'].substring(0, 1) == '.' || options[el + 'Style'].substring(0, 1) == '#' ? options[el + 'Style'].substring(1, options[el + 'Style'].length) : options[el + 'Style'], 'Type': options[el + 'Style'].substring(0, 1) == '.' ? 'class' : 'id'} }); for (var i = 0; i < types.length; i++) { var el = types[i].toString(); if (i + 1 < types.length) { var nextEl = types[i + 1].toString(); if (charsLeft > x[nextEl]['Max'] && charsLeft < x[el]['Max'] + 1) { clean(); } } else { if (charsLeft < x[el]['Max']) { clean(); } } } $(options['counter']).text(charsLeft); $(this).one('keyup', function() { $(this).twitterCounter(options); }); function clean() { if (x[el]['Type'] == 'class') { $.each(types, function() { var temp = this.toString(); if ($(options['counter']).hasClass(temp)) { $(options['counter']).removeClass(temp); } }); $(options['counter']).addClass(x[el]['Style']); } else { $(options['counter']).id(x[el]['Style']); } } };

//-- Function to add textbox watermark
function AddWaterMark(txb, text, watermarkclass) {
    txb.focus(function() { $(this).filter(function() { return $(this).val() == "" || $(this).val() == text }).removeClass(watermarkclass).val(""); });
    txb.blur(function() { $(this).filter(function() { return $(this).val() == "" }).addClass(watermarkclass).val(text); });
}
