/**
 * swapImage - jQuery plugin for swapping image
 *
 * Copyright (c) 2010 tszming (tszming@gmail.com)
 *
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
(function(a){a.swapImage=function(c,b,e,f,d)
	{a.swapImage.files={};
	a.swapImage.data={}
	;a.swapImage.uuid=0;
	a.swapImage.init=function(){
		var h=++a.swapImage.uuid
		;a(this).attr("swapImageId",h);
		var g=a(this).metadata();
		a.swapImage.data[h]=a.swapImage.data[h]||{};
		if(typeof g.src!="undefined"){a.swapImage.data[h]["src"]=g.src;
		a.swapImage.files[g.src]=false}
		a.each(a.grep([[g.sin,"sin"],[g.sout,"sout"]],function(i){
			return(typeof i[0]!="undefined"&&i[0].length>0)}),
			function(){var k=this[0];var o=this[1];for(var m=0;m<k.length;m++)
			{var j=g[o][m].indexOf(":");var n=g[o][m].substring(0,j);
			var l=g[o][m].substring(j+1);a.swapImage.data[h][o]=
				a.swapImage.data[h][o]||[];if(j>1){
					a.swapImage.data[h][o].push([n,l]);
					a.swapImage.files[l]=false}
				else{a.swapImage.data[h][o].push([l])}}})};
				a.swapImage.preload=function(){
					a.each(a.swapImage.files,function(i,h){if(h==false){
					a.swapImage.files[i]=true;var g=new Image();g.src=i}})};
					a.swapImage.swapIn=function(){a.swapImage.swap(this,"sin")};
					a.swapImage.swapOut=function(){a.swapImage.swap(this,"sout")};
					a.swapImage.swap=function(j,g){var k=a(j).attr("swapImageId");
					if(typeof a.swapImage.data[k][g]!="undefined"){
						for(var h=0;h<a.swapImage.data[k][g].length;h++){
							if(a.swapImage.data[k][g][h].length>1){
								a(a.swapImage.data[k][g][h][0]).attr("src",a.swapImage.data[k][g][h][1])}
							else{a(a.swapImage.data[k][g][h][0]).each(a.swapImage._swap)}}}else{
								a.swapImage._swap.call(j)}};a.swapImage._swap=function(i){
									var j=a(this).attr("swapImageId");var h=a.swapImage.data[j];
									if(typeof h.src!="undefined"){var g=h.src;h.src=this.src;this.src=g}};
									a(document).ready(function(){
										if(typeof e=="undefined"){e=true}
										if(typeof b=="undefined"){b=true}a(c).each(a.swapImage.init);
										if(typeof f=="undefined"&&typeof f=="undefined"){
											f="mouseenter";d="mouseleave"}if(e){if(typeof d!="undefined"){
												a(c).bind(f,a.swapImage.swapIn).bind(d,a.swapImage.swapOut)}
											else{a(c).bind(f,a.swapImage.swapIn)}}else{
												a(c).one(f,a.swapImage.swapIn)}
											if(b){a(c).each(a.swapImage.preload)}})}})(jQuery);
