(function($) {
/* ======= Clear Default ====== */
$.fn.clearDefault = function() {
"use strict";
return this.each(function() {
var default_value = $(this).val();
});
};
/* ======= Height Fix ====== */
function vertCenter(item) {
"use strict";
item.css({
'margin-top' : '-' + parseInt((item.height() / 2), 0) + 'px'
}).fadeIn();
}
jQuery(window).load(function(){
vertCenter($('.itemwrap > li > div'));
vertCenter($('#thumbs'));
vertCenter($('#clock'));
// vertCenter($('#demo_thumbs'));
});
jQuery(document).ready(function($) {
"use strict";
$('.show_toggle a').click(function(){
$('body').toggleClass('menu_show');
return false;
});
$('.form_submit').click(function(){
var form = $(this).parents('form');
form.find('.form_item').removeClass('error');
form.find('.error_block').remove();
var post_data;
var errors = formValidation(form),
output;
if( Object.keys(errors).length > 0 ) {
showErrors(form, errors);
} else {
if(form.attr('id') == 'contacts_form') {
post_data = {
'name' : $('input[name=name]').val(),
'email' : $('input[name=email]').val(),
'message' : $('input[name=message]').val()
};
//Ajax post data to server
jQuery.post('contacts.php', post_data, function(response){
if(response.type == 'error'){ //load json data from server and output message
output = '
'+response.text+'
';
} else{
output = ''+response.text+'
';
//reset values in all input fields
$("#contacts_form .form_item").val('');
}
form.find('.form_row').slideUp();
form.find("#contact_results").hide().html(output).slideDown();
}, 'json');
} else {
post_data = {
'subscribe_email': $('input[name=subscribe_email]').val(),
};
jQuery.post('subscribe.php', post_data, function(response){
output = ''+response.text+'
';
//reset values in all input fields
$("#contacts_form .form_item").val('');
form.find('.form_inner').slideUp();
form.find("#form_results").hide().html(output).slideDown();
}, 'json');
}
}
return false;
});
$('.side-page').click(function() {
var curPage = $(this).attr('id');
$('.main-menu li').removeClass('active');
$('.main-menu li a[data-page="' + curPage + '"]').parent().addClass('active');
$('.side-page').removeClass('active').removeClass('went-left').removeClass('went-right');
$(this).prev().addClass('side-left').addClass('went-left');
$(this).next().addClass('side-right').addClass('went-right');
$(this).addClass('active');
});
$('.main-menu a:not(.home-link)').click(function() {
$('#clock').removeClass('active');
$('.mainarea-content').addClass('active');
$('.close').addClass('active');
var curPage = $(this).attr('data-page');
$('.main-menu li').removeClass('active');
$(this).parent().addClass('active');
$('.mainarea-content > div').removeClass('active').removeClass('went-left').removeClass('went-right');
$('#' + curPage + '').prev().addClass('side-left').addClass('went-left');
$('#' + curPage + '').next().addClass('side-right').addClass('went-right');
$('#' + curPage + '').addClass('active');
});
$('.close').click(function(e) {
e.preventDefault();
$('#clock').addClass('active');
$('.main-menu li').removeClass('active');
$('.close').removeClass('active');
$('.mainarea-content').removeClass('active');
});
$('.home-link').click(function(e) {
e.preventDefault();
$('#clock').addClass('active');
$('.main-menu li').removeClass('active');
$('.close').removeClass('active');
$('.mainarea-content').removeClass('active');
$('.home-link').parent().addClass('active');
});
$('input[type="text"]').clearDefault();
$('#tweet_list').cycle({
fx : 'custom',
cssBefore : {
top : 50,
height : 100,
opacity : 0,
display : 'block'
},
animIn : {
top : 0,
opacity : 1
},
animOut : {
opacity : 0,
top : -50
},
cssAfter : {
zIndex : 0,
display : 'none'
},
speed : 1750,
sync : false,
easeIn : 'easeOutBack',
easeOut : 'easeInBack'
});
});
function resizeStuff() {
vertCenter($('.itemwrap > li > div'));
vertCenter($('#thumbs'));
vertCenter($('#clock'));
}
var onSmartResize = false;
$(window).resize(function(){
if(onSmartResize !== false)
clearTimeout(onSmartResize);
onSmartResize = setTimeout( function(){resizeStuff() }, 200); //200 is time in miliseconds
});
})(jQuery);
/* Forms Validation */
function formValidation(form) {
var error = {};
if(form) {
form.find('.form_item').each(function(){
var $th = $(this);
if( $th.val() != '' ) {
if( $th.attr('type') == 'email' ) {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if( !emailReg.test( jQuery.trim($th.val()) ) ) {
error[$th.attr('id')] = 'not_email';
}
}
} else {
error[$th.attr('id')] = 'empty';
}
});
}
return error;
}
/* Validation Errors */
function showErrors(form, errors) {
var error_message = ''
for(var i in errors) {
var form_item = form.find($('#'+i)),
form_item_name = form_item.attr('placeholder');
form_item.addClass('error');
if( errors[i] == 'empty' )
error_message += 'Field '+form_item_name+' is required
';
else
error_message += 'You entered an invalid email
';
}
if( form.find('.error_block').length > 0) {
form.find('.error_block').html(error_message);
} else {
form.append(''+error_message+'
');
}
}
document.write('');