SQL Server 2012 AlwaysOn Availability Group
You can find here some design pattern for always on solutions
http://blogs.msdn.com/b/sqlcat/archive/2013/11/20/sql-server-2012-alwayson-high-availability-and-disaster-recovery-design-patterns.aspx

just note that for automatic fail-over  you may want to have synchronous commit so you dont loose data.
also to have automatic fail-over you must have node majority to decide to do the fail-over.
this mean you must have extra voter in the cluster. (eg' File Share Witness or another node)

this will prevent the problem known as Split Brain problem 
(https://en.wikipedia.org/wiki/Split-brain_(computing))

to summarize, this is very common need to have local automatic fail-over (because local LAN can serve synchronous mode)
and another replica off-site with manual fail-over and asynchronous commit which can cause data loss when main site failed and not all data replicated yet to the another site.

I hope this have been informative for you. 
I will be glad to add information if you have any questions about that implementation.