www.gusucode.com > 200套html5精品模板1_50 > 200套html5精品模板1_50/046/js/main.js

    $(document).ready(function(){
		
	$("#your_email").live('focus',function(){ // Checking subcribe form when focus event
		var email = $(this).val();
		(email == "Please enter your email address to subcribe...." || email == "Please enter a valid email address...." || email == "Subcribe process completed...." || email == "Email is already registered....") ? $(this).val('').css({'backgroundColor':'#FFF'}) : '';
	});
	
	$("#your_email").live('keypress',function(){ // Checking subcribe form when keypress event
		var email = $(this).val();
		(email == "Please enter your email address to subcribe...." || email == "Please enter a valid email address...." || email == "Subcribe process completed...." || email == "Email is already registered....") ? $(this).val('').css({'backgroundColor':'#FFF'}) : '';
	});
	
	$("#your_email").live('blur',function(){ // Checking subcribe form when blur event
		var email = $(this).val();
		(email == "") ? $(this).val('Please enter your email address to subcribe....') : '';
	});
	
	$("#subcribe_form").submit(function(){ // Checking subcribe form when submit to database
		var email = $("#your_email").val();
		
		var email_pattern = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;
		if(email_pattern.test(email)==false) {
			$("#your_email").val('Please enter a valid email address....').css({'backgroundColor':'#ffb2b2'});
		} else {
			var submitData = $('#subcribe_form').serialize();
			$("#your_email").attr('disabled','disabled');
			$("#subcribe_submit").attr('disabled','disabled');
			$.ajax({ // Subcribe process with AJAX
				type: "POST",
				url: "subcribe.php",
				data: submitData + "&action=add",
				dataType: "html",
				success: function(msg){
					if(parseInt(msg)!=0)
						{
						var msg	= msg.split("|");
						
						if(msg[0]=='success') {
							$("#subcribe_submit").removeAttr('disabled');
							$("#your_email").removeAttr('disabled').val(msg[1]).css({'backgroundColor':'#a5ffa5'}); 
							} else {
							$("#subcribe_submit").removeAttr('disabled');
							$("#your_email").removeAttr('disabled').val(msg[1]).css({'backgroundColor':'#ffb2b2'});
							}
						}
					}
				});
			}
		return false;
	});
	
	// Contact us form submit validation
	$.validator.setDefaults({
	submitHandler: function() {
		var submitData = $('#contact_form').serialize();
		$("#contact_name").attr('disabled','disabled');
		$("#contact_email").attr('disabled','disabled');
		$("#contact_subject").attr('disabled','disabled');
		$("#contact_message").attr('disabled','disabled');
		$("#contact_submit").attr('disabled','disabled');
		$(".status").hide();
		$.ajax({ // Subcribe process with AJAX
			type: "POST",
			url: "message.php",
			data: submitData + "&action=add",
			dataType: "html",
			success: function(msg){
				if(parseInt(msg)!=0)
					{
					var msg	= msg.split("|");
					if(msg[0]=="success") {
						$("#contact_name").val('').removeAttr('disabled');
						$("#contact_email").val('').removeAttr('disabled');
						$("#contact_subject").val('').removeAttr('disabled');
						$("#contact_message").val('').removeAttr('disabled');
						$("#contact_submit").removeAttr('disabled');
						$(".status").removeClass('error').html(msg[1]).addClass('success').fadeIn();
					} else {
						$("#contact_name").removeAttr('disabled');
						$("#contact_email").removeAttr('disabled');
						$("#contact_subject").removeAttr('disabled');
						$("#contact_message").removeAttr('disabled');
						$("#contact_submit").removeAttr('disabled');
						$(".status").removeClass('success').html(msg[1]).addClass('error').fadeIn();
					}
					}
				}
			});
		return false;
	}
	});
	
	// Contact us form submit validation rules
	$("#contact_form").validate({
		rules: {
			contact_email: {
				required: true,
				email: true
			},
			contact_subject: {
				required: true
			},
			contact_message: {
				required: true
			}
		}
	});
	
	// Twitter integration (JSON format) with AJAX
	$.ajax({
            url: 'http://api.twitter.com/1/statuses/user_timeline.json/',
            type: 'GET',
            dataType: 'jsonp',
            data: {
                screen_name: username,
                include_rts: true,
                count: 6,
                include_entities: true
            },
            success: function(tweet, textStatus, xhr) {
			id				= 0;
			tweet_num		= tweet.length;
			tweet_contains 	= "<h3>Recent Tweets</h3>";
			
			while(id < tweet_num) {
				tweet_contains	+= '<div class="tweet"><span class="text">' + JQTWEET.ify.clean(tweet[id].text) + '</span><span class="date">'+  JQTWEET.timeAgo(tweet[id].created_at) + '</span></div>';
				id++;
			}
	
			$(".two").html(tweet_contains);
			$(".two").hide().fadeIn(1000);
            }
    });
	
	// Twitter data format function
	JQTWEET = {
	timeAgo: function(dateString) { // twitter date string format function
        var rightNow = new Date();
        var then = new Date(dateString);
         
        if ($.browser.msie) {
            // IE can't parse these crazy Ruby dates
            then = Date.parse(dateString.replace(/( \+)/, ' UTC$1'));
        }
 
        var diff = rightNow - then;
  		var second = 1000,
        minute = second * 60,
        hour = minute * 60,
        day = hour * 24,
        week = day * 7;
 
        if (isNaN(diff) || diff < 0) return "";
        if (diff < second * 2) return "right now";
        if (diff < minute) return Math.floor(diff / second) + " seconds ago";
        if (diff < minute * 2) return "about 1 minute ago";
        if (diff < hour) return Math.floor(diff / minute) + " minutes ago";
        if (diff < hour * 2) return "about 1 hour ago";
        if (diff < day) return  Math.floor(diff / hour) + " hours ago";
        if (diff > day && diff < day * 2) return "about 1 day ago";
        if (diff < day * 365) return Math.floor(diff / day) + " days ago";
        else return "over a year ago";
	}, // timeAgo()
     
    ify:  {
      link: function(tweet) { // twitter link string replace function
        return tweet.replace(/\b(((https*\:\/\/)|www\.)[^\"\']+?)(([!?,.\)]+)?(\s|$))/g, function(link, m1, m2, m3, m4) {
          var http = m2.match(/w/) ? 'http://' : '';
          return '<a class="twtr-hyperlink" target="_blank" href="' + http + m1 + '">' + ((m1.length > 25) ? m1.substr(0, 24) + '...' : m1) + '</a>' + m4;
        });
      },
 
      at: function(tweet) { // twitter at (@) character format function
        return tweet.replace(/\B[@ï¼ ]([a-zA-Z0-9_]{1,20})/g, function(m, username) {
          return '<a target="_blank" class="twtr-atreply" href="http://twitter.com/intent/user?screen_name=' + username + '">@' + username + '</a>';
        });
      },
 
      list: function(tweet) { // twitter list string format function
        return tweet.replace(/\B[@ï¼ ]([a-zA-Z0-9_]{1,20}\/\w+)/g, function(m, userlist) {
          return '<a target="_blank" class="twtr-atreply" href="http://twitter.com/' + userlist + '">@' + userlist + '</a>';
        });
      },
 
      hash: function(tweet) { // twitter hash (#) string format function
        return tweet.replace(/(^|\s+)#(\w+)/gi, function(m, before, hash) {
          return before + '<a target="_blank" class="twtr-hashtag" href="http://twitter.com/search?q=%23' + hash + '">#' + hash + '</a>';
        });
      },
 
      clean: function(tweet) { // twitter clean all string format function
        return this.hash(this.at(this.list(this.link(tweet))));
      }
    } // ify
}

	// jQuery image change on hover
	$("#social_media_wrapper a img")
        .mouseover(function() { 
            var src = $(this).attr("src").match(/[^\.]+/) + "Over.png";
            $(this).attr("src", src);
			})
        .mouseout(function() {
            var src = $(this).attr("src").replace("Over", "");
            $(this).attr("src", src);
			});
	
	// Countdown wrapper settings
	$('.countdown').countdown({until: date});
	var width 	= parseInt($('.countdown').css('width')) + 2;
	if(width > 440 && width < 460) width = 452;
	if(width > 590 && width < 610) width = 602;
	$('.countdown_center').css('width',width);

});