Initial commit
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
<Files jquery.functions.js>
|
||||
order allow,deny
|
||||
deny from all
|
||||
</Files>
|
||||
|
||||
Vendored
+7
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,234 @@
|
||||
$(document).ready
|
||||
(
|
||||
function()
|
||||
{
|
||||
//Add picture
|
||||
if(typeof a != 'undefined')
|
||||
{
|
||||
var $Pic = $('#pic');
|
||||
$Pic.css('height', iPicHeight+'px');
|
||||
$('.person').css('marginTop', Math.round(($('#header').height() - $Pic.outerHeight())/2));
|
||||
$Pic.attr('src', cConfigPage+'?t=pic&a='+a);
|
||||
}
|
||||
|
||||
//Fix IE
|
||||
if(typeof bIsIE != 'undefined')
|
||||
{
|
||||
//IE6 PNG Support
|
||||
DD_belatedPNG.fix('.paperclip');
|
||||
}
|
||||
|
||||
//Font modification
|
||||
Cufon.now();
|
||||
|
||||
//Title captions
|
||||
$(function() {$('.tip_link').tipsy({gravity: 's'});});
|
||||
$(function() {$('.tip_card').tipsy({gravity: 'e'});});
|
||||
|
||||
//Replace text with Cufons
|
||||
Cufon.replace('h1', {fontFamily:'Candara'});
|
||||
Cufon.replace('.item h2', {fontFamily:'Puritan 2.0'});
|
||||
Cufon.replace('.item h3', {fontFamily:'Puritan 2.0'});
|
||||
Cufon.replace('h2.section_name', {fontFamily:'Hattori Hanzo Light'});
|
||||
|
||||
//Contact panel events
|
||||
$('#contact_me_btn, #contact_me_link').click
|
||||
(
|
||||
function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
$('#contact_me_box').slideToggle('slow');
|
||||
}
|
||||
);
|
||||
$('#contact_me_close').click(function(){$('#contact_me_btn').trigger('click');});
|
||||
|
||||
//Sending contact form
|
||||
$("#contact_form").submit
|
||||
(
|
||||
function()
|
||||
{
|
||||
$This = $(this);
|
||||
var bValid = true;
|
||||
$This.find('input[type=text], textarea').each
|
||||
(
|
||||
function(iId, oItem)
|
||||
{
|
||||
var $Item = $(oItem);
|
||||
sName = $Item.attr('name');
|
||||
if(typeof sName != 'undefined' && sName != '')
|
||||
{
|
||||
var sVal = $Item.val();
|
||||
if(sVal=='' || sVal==sName.getDefVal())
|
||||
{
|
||||
bValid = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
if(!bValid)
|
||||
{
|
||||
addAutoDestroyMsg('#formstatus', 'Some fields are still empty.', 'warning');
|
||||
}
|
||||
else
|
||||
{
|
||||
addAutoDestroyMsg('#formstatus', 'Sending...', 'loading', -1);
|
||||
ajax('POST', 'mail', $This, function(sMsg)
|
||||
{
|
||||
console.log('msg='+sMsg);
|
||||
var result = '';
|
||||
if(sMsg == 'ok')
|
||||
{
|
||||
addAutoDestroyMsg('#formstatus', 'Your message has been sent. Thank you!', 'success', -1);
|
||||
$("#contact_fields, #contact_me_close").fadeOut('fast');
|
||||
setTimeout("$('#contact_me_btn').trigger('click');", 3000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addAutoDestroyMsg('#formstatus', sMsg, 'error');
|
||||
}
|
||||
});
|
||||
/*var str = $This.serialize();
|
||||
$.ajax
|
||||
(
|
||||
{
|
||||
type: "POST",
|
||||
url: "includes/send.php",
|
||||
data: str,
|
||||
success: function(sMsg)
|
||||
{
|
||||
var result = '';
|
||||
if(sMsg == 'ok')
|
||||
{
|
||||
addAutoDestroyMsg('#formstatus', 'Your message has been sent. Thank you!', 'success', -1);
|
||||
$("#contact_fields, #contact_me_close").fadeOut('fast');
|
||||
setTimeout("$('#contact_me_btn').trigger('click');", 3000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addAutoDestroyMsg('#formstatus', sMsg, 'error');
|
||||
}
|
||||
}
|
||||
}
|
||||
);*/
|
||||
}
|
||||
return false;
|
||||
}
|
||||
);
|
||||
|
||||
//Default Form Values
|
||||
$('#contact_form input, #contact_form textarea').each
|
||||
(
|
||||
function()
|
||||
{
|
||||
var $This = $(this);
|
||||
var sName = $This.attr('name');
|
||||
if(sName!=undefined && sName!='')
|
||||
{
|
||||
$This.focus(function(){if($This.val()==sName.getDefVal())$This.val('');});
|
||||
$This.blur(function(){if($This.val()=='')$This.val(sName.getDefVal());});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
//Print
|
||||
$('#print').click
|
||||
(
|
||||
function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
$('#mail').text('at '+$(location).attr('href').substr(5).replace(/\//g, '').replace('.', '@')+' ');
|
||||
window.print();
|
||||
$('#mail').text('');
|
||||
}
|
||||
);
|
||||
|
||||
//Internal links
|
||||
$('a[href^=#]').click(function(e){$(this).jump(e);});
|
||||
|
||||
//To-the-top Button
|
||||
iProfileHeight = $('#profile').offset().top;
|
||||
$(window).scroll
|
||||
(
|
||||
function()
|
||||
{
|
||||
$ToTop = $("#to_top");
|
||||
if($(this).scrollTop() > iProfileHeight)
|
||||
{
|
||||
$ToTop.fadeIn('slow');
|
||||
}
|
||||
else
|
||||
{
|
||||
$ToTop.fadeOut('slow');
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
//HTTP request
|
||||
function ajax(sRequestType, sActionType, sData, fSuccess)
|
||||
{
|
||||
console.log(sData);
|
||||
if(!sData) sData = {};
|
||||
sData['t'] = sActionType;
|
||||
console.log(sData);
|
||||
if(sRequestType == 'POST')
|
||||
{
|
||||
sData = sData.serialize();
|
||||
sData += (sData.length==0?'':'&')+'t='+sActionType;
|
||||
}
|
||||
else sData['t'] = sActionType;
|
||||
console.log(sData);
|
||||
$.ajax
|
||||
(
|
||||
{
|
||||
type: sRequestType,
|
||||
url: cConfigPage,
|
||||
data: sData,
|
||||
success: fSuccess,
|
||||
dataType: 'text'
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
//Get form default value
|
||||
String.prototype.getDefVal = function()
|
||||
{
|
||||
return this.charAt(0).toUpperCase() + this.slice(1) + '*';
|
||||
};
|
||||
|
||||
//Scroll to an element
|
||||
$.prototype.jump = function(e)
|
||||
{
|
||||
var sElem = this.attr('href');
|
||||
if(sElem != '#')
|
||||
{
|
||||
e.preventDefault();
|
||||
this.blur();
|
||||
var $Elem = $(sElem);
|
||||
var iOffSet = ($Elem.length>0)?($Elem.offset().top - 15):0;
|
||||
$('html, body').animate({scrollTop:iOffSet}, 'slow');
|
||||
}
|
||||
}
|
||||
|
||||
//Add a temporary message
|
||||
function addAutoDestroyMsg(sContainerId, sMsg, sClass, iTime)
|
||||
{
|
||||
if(!iTime) iTime = 5000;
|
||||
sClass = (!sClass)?'':' '+sClass;
|
||||
|
||||
//Clear container and add message
|
||||
$Container = $(sContainerId);
|
||||
$Container.stop(true, false).empty();
|
||||
$('<div class="message'+sClass+'">'+sMsg+'</div>').hide().appendTo($Container).slideDown('fast');
|
||||
|
||||
//Reset schedduler
|
||||
if(typeof oTimer != 'undefined')
|
||||
{
|
||||
clearTimeout(oTimer);
|
||||
}
|
||||
if(iTime > 0)
|
||||
{
|
||||
oTimer = setTimeout("$('"+sContainerId+"').find('.message').slideUp(function(){$(this).remove();});", iTime);
|
||||
}
|
||||
}
|
||||
Vendored
Vendored
+4
File diff suppressed because one or more lines are too long
@@ -0,0 +1,198 @@
|
||||
// tipsy, facebook style tooltips for jquery
|
||||
// version 1.0.0a
|
||||
// (c) 2008-2010 jason frame [jason@onehackoranother.com]
|
||||
// releated under the MIT license
|
||||
|
||||
(function($) {
|
||||
|
||||
function fixTitle($ele) {
|
||||
if ($ele.attr('title') || typeof($ele.attr('original-title')) != 'string') {
|
||||
$ele.attr('original-title', $ele.attr('title') || '').removeAttr('title');
|
||||
}
|
||||
}
|
||||
|
||||
function Tipsy(element, options) {
|
||||
this.$element = $(element);
|
||||
this.options = options;
|
||||
this.enabled = true;
|
||||
fixTitle(this.$element);
|
||||
}
|
||||
|
||||
Tipsy.prototype = {
|
||||
show: function() {
|
||||
var title = this.getTitle();
|
||||
if (title && this.enabled) {
|
||||
var $tip = this.tip();
|
||||
|
||||
$tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title);
|
||||
$tip[0].className = 'tipsy'; // reset classname in case of dynamic gravity
|
||||
$tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);
|
||||
|
||||
var pos = $.extend({}, this.$element.offset(), {
|
||||
width: this.$element[0].offsetWidth,
|
||||
height: this.$element[0].offsetHeight
|
||||
});
|
||||
|
||||
var actualWidth = $tip[0].offsetWidth, actualHeight = $tip[0].offsetHeight;
|
||||
var gravity = (typeof this.options.gravity == 'function')
|
||||
? this.options.gravity.call(this.$element[0])
|
||||
: this.options.gravity;
|
||||
|
||||
var tp;
|
||||
switch (gravity.charAt(0)) {
|
||||
case 'n':
|
||||
tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
|
||||
break;
|
||||
case 's':
|
||||
tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
|
||||
break;
|
||||
case 'e':
|
||||
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset};
|
||||
break;
|
||||
case 'w':
|
||||
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset};
|
||||
break;
|
||||
}
|
||||
|
||||
if (gravity.length == 2) {
|
||||
if (gravity.charAt(1) == 'w') {
|
||||
tp.left = pos.left + pos.width / 2 - 15;
|
||||
} else {
|
||||
tp.left = pos.left + pos.width / 2 - actualWidth + 15;
|
||||
}
|
||||
}
|
||||
|
||||
$tip.css(tp).addClass('tipsy-' + gravity);
|
||||
|
||||
if (this.options.fade) {
|
||||
$tip.stop().css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: this.options.opacity});
|
||||
} else {
|
||||
$tip.css({visibility: 'visible', opacity: this.options.opacity});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
if (this.options.fade) {
|
||||
this.tip().stop().fadeOut(function() { $(this).remove(); });
|
||||
} else {
|
||||
this.tip().remove();
|
||||
}
|
||||
},
|
||||
|
||||
getTitle: function() {
|
||||
var title, $e = this.$element, o = this.options;
|
||||
fixTitle($e);
|
||||
var title, o = this.options;
|
||||
if (typeof o.title == 'string') {
|
||||
title = $e.attr(o.title == 'title' ? 'original-title' : o.title);
|
||||
} else if (typeof o.title == 'function') {
|
||||
title = o.title.call($e[0]);
|
||||
}
|
||||
title = ('' + title).replace(/(^\s*|\s*$)/, "");
|
||||
return title || o.fallback;
|
||||
},
|
||||
|
||||
tip: function() {
|
||||
if (!this.$tip) {
|
||||
this.$tip = $('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"/></div>');
|
||||
}
|
||||
return this.$tip;
|
||||
},
|
||||
|
||||
validate: function() {
|
||||
if (!this.$element[0].parentNode) {
|
||||
this.hide();
|
||||
this.$element = null;
|
||||
this.options = null;
|
||||
}
|
||||
},
|
||||
|
||||
enable: function() { this.enabled = true; },
|
||||
disable: function() { this.enabled = false; },
|
||||
toggleEnabled: function() { this.enabled = !this.enabled; }
|
||||
};
|
||||
|
||||
$.fn.tipsy = function(options) {
|
||||
|
||||
if (options === true) {
|
||||
return this.data('tipsy');
|
||||
} else if (typeof options == 'string') {
|
||||
return this.data('tipsy')[options]();
|
||||
}
|
||||
|
||||
options = $.extend({}, $.fn.tipsy.defaults, options);
|
||||
|
||||
function get(ele) {
|
||||
var tipsy = $.data(ele, 'tipsy');
|
||||
if (!tipsy) {
|
||||
tipsy = new Tipsy(ele, $.fn.tipsy.elementOptions(ele, options));
|
||||
$.data(ele, 'tipsy', tipsy);
|
||||
}
|
||||
return tipsy;
|
||||
}
|
||||
|
||||
function enter() {
|
||||
var tipsy = get(this);
|
||||
tipsy.hoverState = 'in';
|
||||
if (options.delayIn == 0) {
|
||||
tipsy.show();
|
||||
} else {
|
||||
setTimeout(function() { if (tipsy.hoverState == 'in') tipsy.show(); }, options.delayIn);
|
||||
}
|
||||
};
|
||||
|
||||
function leave() {
|
||||
var tipsy = get(this);
|
||||
tipsy.hoverState = 'out';
|
||||
if (options.delayOut == 0) {
|
||||
tipsy.hide();
|
||||
} else {
|
||||
setTimeout(function() { if (tipsy.hoverState == 'out') tipsy.hide(); }, options.delayOut);
|
||||
}
|
||||
};
|
||||
|
||||
if (!options.live) this.each(function() { get(this); });
|
||||
|
||||
if (options.trigger != 'manual') {
|
||||
var binder = options.live ? 'live' : 'bind',
|
||||
eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
|
||||
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
|
||||
this[binder](eventIn, enter)[binder](eventOut, leave);
|
||||
}
|
||||
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
$.fn.tipsy.defaults = {
|
||||
delayIn: 0,
|
||||
delayOut: 0,
|
||||
fade: false,
|
||||
fallback: '',
|
||||
gravity: 'n',
|
||||
html: false,
|
||||
live: false,
|
||||
offset: 0,
|
||||
opacity: 0.8,
|
||||
title: 'title',
|
||||
trigger: 'hover'
|
||||
};
|
||||
|
||||
// Overwrite this method to provide options on a per-element basis.
|
||||
// For example, you could store the gravity in a 'tipsy-gravity' attribute:
|
||||
// return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' });
|
||||
// (remember - do not modify 'options' in place!)
|
||||
$.fn.tipsy.elementOptions = function(ele, options) {
|
||||
return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;
|
||||
};
|
||||
|
||||
$.fn.tipsy.autoNS = function() {
|
||||
return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';
|
||||
};
|
||||
|
||||
$.fn.tipsy.autoWE = function() {
|
||||
return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
(function(a){function c(c,d){this.$element=a(c);this.options=d;this.enabled=true;b(this.$element)}function b(a){if(a.attr("title")||typeof a.attr("original-title")!="string"){a.attr("original-title",a.attr("title")||"").removeAttr("title")}}c.prototype={show:function(){var b=this.getTitle();if(b&&this.enabled){var c=this.tip();c.find(".tipsy-inner")[this.options.html?"html":"text"](b);c[0].className="tipsy";c.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).appendTo(document.body);var d=a.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight});var e=c[0].offsetWidth,f=c[0].offsetHeight;var g=typeof this.options.gravity=="function"?this.options.gravity.call(this.$element[0]):this.options.gravity;var h;switch(g.charAt(0)){case"n":h={top:d.top+d.height+this.options.offset,left:d.left+d.width/2-e/2};break;case"s":h={top:d.top-f-this.options.offset,left:d.left+d.width/2-e/2};break;case"e":h={top:d.top+d.height/2-f/2,left:d.left-e-this.options.offset};break;case"w":h={top:d.top+d.height/2-f/2,left:d.left+d.width+this.options.offset};break}if(g.length==2){if(g.charAt(1)=="w"){h.left=d.left+d.width/2-15}else{h.left=d.left+d.width/2-e+15}}c.css(h).addClass("tipsy-"+g);if(this.options.fade){c.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity})}else{c.css({visibility:"visible",opacity:this.options.opacity})}}},hide:function(){if(this.options.fade){this.tip().stop().fadeOut(function(){a(this).remove()})}else{this.tip().remove()}},getTitle:function(){var a,c=this.$element,d=this.options;b(c);var a,d=this.options;if(typeof d.title=="string"){a=c.attr(d.title=="title"?"original-title":d.title)}else if(typeof d.title=="function"){a=d.title.call(c[0])}a=(""+a).replace(/(^\s*|\s*$)/,"");return a||d.fallback},tip:function(){if(!this.$tip){this.$tip=a('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"/></div>')}return this.$tip},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled}};a.fn.tipsy=function(b){function f(){var a=d(this);a.hoverState="out";if(b.delayOut==0){a.hide()}else{setTimeout(function(){if(a.hoverState=="out")a.hide()},b.delayOut)}}function e(){var a=d(this);a.hoverState="in";if(b.delayIn==0){a.show()}else{setTimeout(function(){if(a.hoverState=="in")a.show()},b.delayIn)}}function d(d){var e=a.data(d,"tipsy");if(!e){e=new c(d,a.fn.tipsy.elementOptions(d,b));a.data(d,"tipsy",e)}return e}if(b===true){return this.data("tipsy")}else if(typeof b=="string"){return this.data("tipsy")[b]()}b=a.extend({},a.fn.tipsy.defaults,b);if(!b.live)this.each(function(){d(this)});if(b.trigger!="manual"){var g=b.live?"live":"bind",h=b.trigger=="hover"?"mouseenter":"focus",i=b.trigger=="hover"?"mouseleave":"blur";this[g](h,e)[g](i,f)}return this};a.fn.tipsy.defaults={delayIn:0,delayOut:0,fade:false,fallback:"",gravity:"n",html:false,live:false,offset:0,opacity:.8,title:"title",trigger:"hover"};a.fn.tipsy.elementOptions=function(b,c){return a.metadata?a.extend({},c,a(b).metadata()):c};a.fn.tipsy.autoNS=function(){return a(this).offset().top>a(document).scrollTop()+a(window).height()/2?"s":"n"};a.fn.tipsy.autoWE=function(){return a(this).offset().left>a(document).scrollLeft()+a(window).width()/2?"e":"w"}})(jQuery)
|
||||
Reference in New Issue
Block a user