/*
 * VuGroup 1.0.0 Copyright (c) 2009
 * Written by Hien Nguyen [hagin]
 */

$(document).ready(function(){
	// Check for IE6
	if (($.browser.msie) && ($.browser.version=="6.0")){
		$('.home_bg').height(420);
		/*$('body').after('<div class="notSupport">'+
			'<a href="http://www.microsoft.com/windows/internet-explorer/default.aspx"><img alt="" src="images/update_ie8.gif" /></a>'+
			'<a href="http://www.google.com/chrome/index.html?brand=CHNY&utm_campaign=en&utm_source=en-et-youtube&utm_medium=et"><img alt="" src="images/update_chrome.gif"</a>'+
			'<a href="http://www.mozilla.com/en-US/?from=sfx&uid=267821&t=449"><img alt="" src="images/update_ff.gif" /></a>'+			
			'<strong>We will be phasing out support for your browser soon.</strong><br />'+
			'Please upgrade to one of these more modern browsers, or back to <a href="home.php">homepage</a>.</div>');*/
	}
						   
	$('#noscript').remove();
	if ($('#splash').html() != null){ 
		//$.preloadCssImages();
		initSite();
	}
	if ($('.product_list').html() != null) initProductList();
	if ($('#contact').html() != null) $('#contact').validate();
	

	if ($('.product_thumb').html() != null) rotateImg();
	
	if ($(".productImgs").html() != null) $(".productImgs a[rel^='prettyPhoto']").prettyPhoto({theme:'dark_square'});
});

var doorWidth;
var doorHeight;
var doorGoTop;
var logoLeft;
var logoTop;
function initSite(){
	doorWidth 	= getDocumentSize(2);
	doorHeight 	= getDocumentSize(3);
	doorGoTop 	= (doorHeight * (-1)) + 70;
	logoLeft	= Math.round((doorWidth/2)-56);
	logoTop		= Math.round((doorHeight/2)-146);
			
	//$('#VG_logo').css({left:logoLeft+'px', top:logoTop+'px'});
	$('#VG_logo').css({left:'220px', top:logoTop+'px'});
	$('#VG_sourcing').css({left:'350px', top:logoTop+10+'px'});
	$('#VG_slogan').css({left:'350px', top:logoTop+70+'px'});
	
	$('#VG_door').css({width:doorWidth+'px', height:doorHeight+'px'});
	$('#VG_logo, #VG_sourcing, #VG_slogan').fadeIn(3000);
	setTimeout("animationDoor()",3000);
}


// Animation door
function animationDoor(){	
	$('#VG_door').animate({ top:""+doorGoTop+""}, 5000, 
		function(){ 
			$('#VG_door').css({ height:'70px', left:'0px', top:'0px'});
			$('#VG_logo').animate({left:'0px', top:'0px'}, 1000, 
			function(){
				$('.nav').fadeIn(2000, 
				function(){
					$('#VG_slogan').animate({left:'10px', top:'145px', fontSize:'24px', /*fontWeight:'700',*/ color:'#b6a077'}, 1000, 
					function(){
						$('.initShow').fadeIn(1000);
						$('#VG_sourcing').animate({left:'10px', top:'190px', fontSize:'13px', /*fontWeight:'700',*/ color:'#333333', letterSpacing:'0px', opacity:'0'}, 1000)
						$('#overal').addClass('overal');
						$('body').css({ backgroundColor:"#000a16" });
					});
				});															  
			});
		}
	);
};


var delayRotate = 4000;
var animationSpeed = 1500;
var tempRotateI = 0;
var tempRotateY = 0;
var count_lastest;
function rotateImg(){
	count_lastest = $('.rotateCopy').length;
	$('.rotateCopy').fadeOut(animationSpeed);
	$('.rotateCopy:eq('+tempRotateI+')').fadeIn(animationSpeed);
	
	if (count_lastest>1) subBanner=setTimeout("rotateImg()",delayRotate)
	tempRotateI = tempRotateI+1;
	tempRotateY = tempRotateI-1;
	if (tempRotateI == count_lastest) tempRotateI=0;	
};


// @param int val 	0: pageWidth, 1: pageHeight, 2: windowWidth, 3: windowHeight
function getDocumentSize(val){
	var xScroll,yScroll,value;
	
	if(window.innerHeight&&window.scrollMaxY)	{
		xScroll=window.innerWidth+window.scrollMaxX;
		yScroll=window.innerHeight+window.scrollMaxY;
	}
	else if(document.body.scrollHeight>document.body.offsetHeight)	{
		xScroll=document.body.scrollWidth;
		yScroll=document.body.scrollHeight;
	}
	else{
		xScroll=document.body.offsetWidth;
		yScroll=document.body.offsetHeight;
	}
	
	var windowWidth,windowHeight;	
	if(self.innerHeight){
		if(document.documentElement.clientWidth){
			windowWidth=document.documentElement.clientWidth;
		}
		else{
			windowWidth=self.innerWidth;
		}
		windowHeight=self.innerHeight;
	}
	else if(document.documentElement&&document.documentElement.clientHeight){
		windowWidth=document.documentElement.clientWidth;
		windowHeight=document.documentElement.clientHeight;
	}
	else if(document.body){
		windowWidth=document.body.clientWidth;
		windowHeight=document.body.clientHeight;
	}
	
	if(yScroll<windowHeight){
		pageHeight=windowHeight;
	}
	else{
		pageHeight=yScroll
	}
	
	if(xScroll<windowWidth){
		pageWidth=xScroll
	}
	else{
		pageWidth=windowWidth
	}
	
	arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)	
	return arrayPageSize[val]
}// end function


// Ajax send contact form
function send_contact(){
	$.post('send_email.php', function(){
		//$('#callback').html('Thank you for contact, we will get in touch with you soon').css({color:"red"});
	});
};


// Product list 
function initProductList(){
	$('h1 a:last-child').css({color: "#00AFEE"});
	
	$('.slideContent').next().hide();
	$('.buttonExpand').toggle(
		function(){ 
			$(this).addClass('slideContentUp').parent().next().slideDown('normal');
		}, 
		function(){ 
			$(this).removeClass('slideContentUp').parent().next().slideUp('normal');
		}
	);
}


/*
 * jQuery Color Animations
 * Copyright 2007 John Resig
 * Released under the MIT and GPL licenses.
 */
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(o(g){g.2e([\'G\',\'Y\',\'W\',\'19\',\'1h\',\'7\',\'R\'],o(i,d){g.5.U[d]=o(5){e(5.1i==0){5.c=I(5.h,d);5.n=v(5.n)}5.h.29[d]="t("+[m.y(m.z(8((5.B*(5.n[0]-5.c[0]))+5.c[0]),4),0),m.y(m.z(8((5.B*(5.n[1]-5.c[1]))+5.c[1]),4),0),m.y(m.z(8((5.B*(5.n[2]-5.c[2]))+5.c[2]),4),0)].25(",")+")"}});o v(7){A 6;e(7&&7.14==23&&7.13==3)f 7;e(6=/t\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/.p(7))f[8(6[1]),8(6[2]),8(6[3])];e(6=/t\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)/.p(7))f[x(6[1])*2.w,x(6[2])*2.w,x(6[3])*2.w];e(6=/#([a-k-j-9]{2})([a-k-j-9]{2})([a-k-j-9]{2})/.p(7))f[8(6[1],16),8(6[2],16),8(6[3],16)];e(6=/#([a-k-j-9])([a-k-j-9])([a-k-j-9])/.p(7))f[8(6[1]+6[1],16),8(6[2]+6[2],16),8(6[3]+6[3],16)];f D[g.1M(7).1L()]}o I(h,d){A 7;1I{7=g.1H(h,d);e(7!=\'\'&&7!=\'1F\'||g.1E(h,"1D"))1C;d="G"}1z(h=h.1n);f v(7)};A D={1t:[0,4,4],1u:[H,4,4],1w:[F,F,1B],1G:[0,0,0],1K:[0,0,4],1O:[L,J,J],1Q:[0,4,4],1R:[0,0,l],1T:[0,l,l],1Y:[u,u,u],20:[0,21,0],26:[27,2a,M],2b:[l,0,l],17:[15,M,P],12:[4,K,0],11:[1X,S,1S],V:[l,0,0],1N:[1a,1b,1d],1e:[1j,0,q],1k:[4,0,4],1m:[4,1o,0],1q:[0,b,0],1r:[1v,0,1x],1J:[H,C,K],1U:[1Z,22,C],2c:[E,4,4],O:[N,Q,N],T:[q,q,q],Z:[4,1c,1f],1l:[4,4,E],1s:[0,4,0],1y:[4,0,4],1P:[b,0,0],1V:[0,0,b],24:[b,b,0],28:[4,L,0],10:[4,r,X],1g:[b,0,b],1p:[b,0,b],1W:[4,0,0],2d:[r,r,r],18:[4,4,4],1A:[4,4,0]}})(g);',62,139,'||||255|fx|result|color|parseInt|||128|start|attr|if|return|jQuery|elem||F0|fA|139|Math|end|function|exec|211|192||rgb|169|getRGB|55|parseFloat|max|min|var|pos|230|colors|224|245|backgroundColor|240|getColor|42|140|165|107|144|lightgreen|47|238|outlineColor|50|lightgrey|step|darkred|borderLeftColor|203|borderBottomColor|lightpink|pink|darkorchid|darkorange|length|constructor|85||darkolivegreen|white|borderRightColor|233|150|182|122|darkviolet|193|purple|borderTopColor|state|148|fuchsia|lightyellow|gold|parentNode|215|violet|green|indigo|lime|aqua|azure|75|beige|130|magenta|while|yellow|220|break|body|nodeName|transparent|black|curCSS|do|khaki|blue|toLowerCase|trim|darksalmon|brown|maroon|cyan|darkblue|204|darkcyan|lightblue|navy|red|153|darkgrey|173|darkgreen|100|216|Array|olive|join|darkkhaki|189|orange|style|183|darkmagenta|lightcyan|silver|each'.split('|'),0,{}))



/*
 * jQuery validation plug-in 1.5.2
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2008 JÃ¶rn Zaefferer
 *
 * $Id: jquery.validate.js 6243 2009-02-19 11:40:49Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
//eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(7($){$.H($.2M,{1E:7(c){l(!6.F){c&&c.2j&&2X.1y&&1y.4Z("3p 2C, 4B\'t 1E, 6d 3p");8}p b=$.15(6[0],\'v\');l(b){8 b}b=29 $.v(c,6[0]);$.15(6[0],\'v\',b);l(b.q.3v){6.4J("21, 4E").1q(".4x").4t(7(){b.37=w});6.32(7(a){l(b.q.2j)a.5Y();7 28(){l(b.q.3Y){b.q.3Y.Z(b,b.Y);8 I}8 w}l(b.37){b.37=I;8 28()}l(b.J()){l(b.18){b.1u=w;8 I}8 28()}19{b.2k();8 I}})}8 b},N:7(){l($(6[0]).2L(\'J\')){8 6.1E().J()}19{p b=I;p a=$(6[0].J).1E();6.P(7(){b|=a.M(6)});8 b}},4L:7(c){p d={},$M=6;$.P(c.1I(/\\s/),7(a,b){d[b]=$M.1H(b);$M.4H(b)});8 d},1c:7(h,k){p f=6[0];l(h){p i=$.15(f.J,\'v\').q;p d=i.1c;p c=$.v.2u(f);2r(h){1e"1h":$.H(c,$.v.1S(k));d[f.u]=c;l(k.L)i.L[f.u]=$.H(i.L[f.u],k.L);33;1e"63":l(!k){R d[f.u];8 c}p e={};$.P(k.1I(/\\s/),7(a,b){e[b]=c[b];R c[b]});8 e}}p g=$.v.4a($.H({},$.v.47(f),$.v.43(f),$.v.3Z(f),$.v.2u(f)),f);l(g.13){p j=g.13;R g.13;g=$.H({13:j},g)}8 g}});$.H($.5C[":"],{5z:7(a){8!$.1k(a.U)},5q:7(a){8!!$.1k(a.U)},5o:7(a){8!a.3O}});$.1d=7(c,b){l(S.F==1)8 7(){p a=$.3J(S);a.5c(c);8 $.1d.1G(6,a)};l(S.F>2&&b.2l!=3C){b=$.3J(S).4V(1)}l(b.2l!=3C){b=[b]}$.P(b,7(i,n){c=c.2K(29 3A("\\\\{"+i+"\\\\}","g"),n)});8 c};$.v=7(b,a){6.q=$.H({},$.v.2J,b);6.Y=a;6.3x()};$.H($.v,{2J:{L:{},22:{},1c:{},1a:"3s",2H:"4K",2k:w,3n:$([]),2E:$([]),3v:w,3m:[],3l:I,4I:7(a){6.3k=a;l(6.q.4G&&!6.4F){6.q.1O&&6.q.1O.Z(6,a,6.q.1a);6.1P(a).2y()}},4D:7(a){l(!6.1w(a)&&(a.u 11 6.1l||!6.G(a))){6.M(a)}},4w:7(a){l(a.u 11 6.1l||a==6.3b){6.M(a)}},4u:7(a){l(a.u 11 6.1l)6.M(a)},2s:7(a,b){$(a).2q(b)},1O:7(a,b){$(a).39(b)}},6k:7(a){$.H($.v.2J,a)},L:{13:"6h 4p 2L 13.",1T:"K 35 6 4p.",1U:"K O a N 1U 6b.",1x:"K O a N 65.",1n:"K O a N 1n.",1X:"K O a N 1n (62).",1Y:"4e 4c 4b 30 5W¼5U 5S 30.",1A:"K O a N 1A.",27:"4e 4c 4b 5Q 5O 30.",1N:"K O 5L 1N",2g:"K O a N 5I 5G 1A.",3W:"K O 3V 5A U 5y.",3T:"K O a U 5u a N 5t.",16:$.1d("K O 3Q 5p 2R {0} 2Q."),1v:$.1d("K O 5n 5m {0} 2Q."),2d:$.1d("K O a U 3L {0} 40 {1} 2Q 5i."),2a:$.1d("K O a U 3L {0} 40 {1}."),1t:$.1d("K O a U 5d 2R 3I 3H 48 {0}."),1B:$.1d("K O a U 56 2R 3I 3H 48 {0}.")},3G:I,53:{3x:7(){6.2h=$(6.q.2E);6.4i=6.2h.F&&6.2h||$(6.Y);6.2p=$(6.q.3n).1h(6.q.2E);6.1l={};6.4X={};6.18=0;6.1g={};6.1b={};6.1V();p f=(6.22={});$.P(6.q.22,7(d,c){$.P(c.1I(/\\s/),7(a,b){f[b]=d})});p e=6.q.1c;$.P(e,7(b,a){e[b]=$.v.1S(a)});7 1D(a){p b=$.15(6[0].J,"v");b.q["3B"+a.1p]&&b.q["3B"+a.1p].Z(b,6[0])}$(6.Y).1D("3z 3y 4P",":2I, :4O, :4N, 23, 4M",1D).1D("4t",":3u, :3t",1D);l(6.q.3r)$(6.Y).3q("1b-J.1E",6.q.3r)},J:7(){6.3o();$.H(6.1l,6.1r);6.1b=$.H({},6.1r);l(!6.N())$(6.Y).2G("1b-J",[6]);6.1j();8 6.N()},3o:7(){6.2F();Q(p i=0,14=(6.24=6.14());14[i];i++){6.26(14[i])}8 6.N()},M:7(a){a=6.2D(a);6.3b=a;6.3a(a);6.24=$(a);p b=6.26(a);l(b){R 6.1b[a.u]}19{6.1b[a.u]=w}l(!6.3F()){6.12=6.12.1h(6.2p)}6.1j();8 b},1j:7(b){l(b){$.H(6.1r,b);6.T=[];Q(p c 11 b){6.T.20({1f:b[c],M:6.1Z(c)[0]})}6.1m=$.3j(6.1m,7(a){8!(a.u 11 b)})}6.q.1j?6.q.1j.Z(6,6.1r,6.T):6.3i()},2B:7(){l($.2M.2B)$(6.Y).2B();6.1l={};6.2F();6.2A();6.14().39(6.q.1a)},3F:7(){8 6.2e(6.1b)},2e:7(a){p b=0;Q(p i 11 a)b++;8 b},2A:7(){6.2z(6.12).2y()},N:7(){8 6.3h()==0},3h:7(){8 6.T.F},2k:7(){l(6.q.2k){3g{$(6.3f()||6.T.F&&6.T[0].M||[]).1q(":4C").3e()}3d(e){}}},3f:7(){p a=6.3k;8 a&&$.3j(6.T,7(n){8 n.M.u==a.u}).F==1&&a},14:7(){p a=6,2x={};8 $([]).1h(6.Y.14).1q(":21").1F(":32, :1V, :4A, [4z]").1F(6.q.3m).1q(7(){!6.u&&a.q.2j&&2X.1y&&1y.3s("%o 4y 3Q u 4v",6);l(6.u 11 2x||!a.2e($(6).1c()))8 I;2x[6.u]=w;8 w})},2D:7(a){8 $(a)[0]},2v:7(){8 $(6.q.2H+"."+6.q.1a,6.4i)},1V:7(){6.1m=[];6.T=[];6.1r={};6.1i=$([]);6.12=$([]);6.1u=I;6.24=$([])},2F:7(){6.1V();6.12=6.2v().1h(6.2p)},3a:7(a){6.1V();6.12=6.1P(a)},26:7(d){d=6.2D(d);l(6.1w(d)){d=6.1Z(d.u)[0]}p a=$(d).1c();p c=I;Q(V 11 a){p b={V:V,2t:a[V]};3g{p f=$.v.1Q[V].Z(6,d.U.2K(/\\r/g,""),d,b.2t);l(f=="1R-1W"){c=w;6m}c=I;l(f=="1g"){6.12=6.12.1F(6.1P(d));8}l(!f){6.4s(d,b);8 I}}3d(e){6.q.2j&&2X.1y&&1y.6l("6j 6i 6g 6f M "+d.4q+", 26 3V \'"+b.V+"\' V");6e e;}}l(c)8;l(6.2e(a))6.1m.20(d);8 w},4o:7(a,b){l(!$.1C)8;p c=6.q.36?$(a).1C()[6.q.36]:$(a).1C();8 c&&c.L&&c.L[b]},4n:7(a,b){p m=6.q.L[a];8 m&&(m.2l==4m?m:m[b])},4l:7(){Q(p i=0;i<S.F;i++){l(S[i]!==2o)8 S[i]}8 2o},2n:7(a,b){8 6.4l(6.4n(a.u,b),6.4o(a,b),!6.q.3l&&a.6c||2o,$.v.L[b],"<4k>69: 68 1f 67 Q "+a.u+"</4k>")},4s:7(b,a){p c=6.2n(b,a.V);l(17 c=="7")c=c.Z(6,a.2t,b);6.T.20({1f:c,M:b});6.1r[b.u]=c;6.1l[b.u]=c},2z:7(a){l(6.q.2m)a=a.1h(a.64(6.q.2m));8 a},3i:7(){Q(p i=0;6.T[i];i++){p a=6.T[i];6.q.2s&&6.q.2s.Z(6,a.M,6.q.1a);6.2w(a.M,a.1f)}l(6.T.F){6.1i=6.1i.1h(6.2p)}l(6.q.1o){Q(p i=0;6.1m[i];i++){6.2w(6.1m[i])}}l(6.q.1O){Q(p i=0,14=6.4j();14[i];i++){6.q.1O.Z(6,14[i],6.q.1a)}}6.12=6.12.1F(6.1i);6.2A();6.2z(6.1i).4h()},4j:7(){8 6.24.1F(6.3c())},3c:7(){8 $(6.T).4g(7(){8 6.M})},2w:7(a,c){p b=6.1P(a);l(b.F){b.39().2q(6.q.1a);b.1H("4f")&&b.4d(c)}19{b=$("<"+6.q.2H+"/>").1H({"Q":6.31(a),4f:w}).2q(6.q.1a).4d(c||"");l(6.q.2m){b=b.2y().4h().61("<"+6.q.2m+"/>").60()}l(!6.2h.5Z(b).F)6.q.3w?6.q.3w(b,$(a)):b.5X(a)}l(!c&&6.q.1o){b.2I("");17 6.q.1o=="1s"?b.2q(6.q.1o):6.q.1o(b)}6.1i=6.1i.1h(b)},1P:7(a){8 6.2v().1q("[Q=\'"+6.31(a)+"\']")},31:7(a){8 6.22[a.u]||(6.1w(a)?a.u:a.4q||a.u)},1w:7(a){8/3u|3t/i.X(a.1p)},1Z:7(d){p c=6.Y;8 $(5V.5T(d)).4g(7(a,b){8 b.J==c&&b.u==d&&b||49})},1J:7(a,b){2r(b.3D.46()){1e\'23\':8 $("45:2C",b).F;1e\'21\':l(6.1w(b))8 6.1Z(b.u).1q(\':3O\').F}8 a.F},44:7(b,a){8 6.2O[17 b]?6.2O[17 b](b,a):w},2O:{"5P":7(b,a){8 b},"1s":7(b,a){8!!$(b,a.J).F},"7":7(b,a){8 b(a)}},G:7(a){8!$.v.1Q.13.Z(6,$.1k(a.U),a)&&"1R-1W"},42:7(a){l(!6.1g[a.u]){6.18++;6.1g[a.u]=w}},41:7(a,b){6.18--;l(6.18<0)6.18=0;R 6.1g[a.u];l(b&&6.18==0&&6.1u&&6.J()){$(6.Y).32()}19 l(!b&&6.18==0&&6.1u){$(6.Y).2G("1b-J",[6])}},2c:7(a){8 $.15(a,"2c")||$.15(a,"2c",5M={2Z:49,N:w,1f:6.2n(a,"1T")})}},1K:{13:{13:w},1U:{1U:w},1x:{1x:w},1n:{1n:w},1X:{1X:w},1Y:{1Y:w},1A:{1A:w},27:{27:w},1N:{1N:w},2g:{2g:w}},3E:7(a,b){a.2l==4m?6.1K[a]=b:$.H(6.1K,a)},43:7(b){p a={};p c=$(b).1H(\'5K\');c&&$.P(c.1I(\' \'),7(){l(6 11 $.v.1K){$.H(a,$.v.1K[6])}});8 a},3Z:7(c){p a={};p d=$(c);Q(V 11 $.v.1Q){p b=d.1H(V);l(b){a[V]=b}}l(a.16&&/-1|5J|5H/.X(a.16)){R a.16}8 a},47:7(a){l(!$.1C)8{};p b=$.15(a.J,\'v\').q.36;8 b?$(a).1C()[b]:$(a).1C()},2u:7(b){p a={};p c=$.15(b.J,\'v\');l(c.q.1c){a=$.v.1S(c.q.1c[b.u])||{}}8 a},4a:7(d,e){$.P(d,7(c,b){l(b===I){R d[c];8}l(b.2Y||b.2f){p a=w;2r(17 b.2f){1e"1s":a=!!$(b.2f,e.J).F;33;1e"7":a=b.2f.Z(e,e);33}l(a){d[c]=b.2Y!==2o?b.2Y:w}19{R d[c]}}});$.P(d,7(a,b){d[a]=$.5E(b)?b(e):b});$.P([\'1v\',\'16\',\'1B\',\'1t\'],7(){l(d[6]){d[6]=2W(d[6])}});$.P([\'2d\',\'2a\'],7(){l(d[6]){d[6]=[2W(d[6][0]),2W(d[6][1])]}});l($.v.3G){l(d.1B&&d.1t){d.2a=[d.1B,d.1t];R d.1B;R d.1t}l(d.1v&&d.16){d.2d=[d.1v,d.16];R d.1v;R d.16}}l(d.L){R d.L}8 d},1S:7(a){l(17 a=="1s"){p b={};$.P(a.1I(/\\s/),7(){b[6]=w});a=b}8 a},5D:7(c,a,b){$.v.1Q[c]=a;$.v.L[c]=b;l(a.F<3){$.v.3E(c,$.v.1S(c))}},1Q:{13:7(b,c,a){l(!6.44(a,c))8"1R-1W";2r(c.3D.46()){1e\'23\':p d=$("45:2C",c);8 d.F>0&&(c.1p=="23-5B"||($.2V.2P&&!(d[0].5x[\'U\'].5w)?d[0].2I:d[0].U).F>0);1e\'21\':l(6.1w(c))8 6.1J(b,c)>0;5v:8 $.1k(b).F>0}},1T:7(e,h,d){l(6.G(h))8"1R-1W";p g=6.2c(h);l(!6.q.L[h.u])6.q.L[h.u]={};6.q.L[h.u].1T=17 g.1f=="7"?g.1f(e):g.1f;d=17 d=="1s"&&{1x:d}||d;l(g.2Z!==e){g.2Z=e;p i=6;6.42(h);p f={};f[h.u]=e;$.2T($.H(w,{1x:d,3S:"2S",3R:"1E"+h.u,5s:"5r",15:f,1o:7(a){l(a){p b=i.1u;i.3a(h);i.1u=b;i.1m.20(h);i.1j()}19{p c={};c[h.u]=a||i.2n(h,"1T");i.1j(c)}g.N=a;i.41(h,a)}},d));8"1g"}19 l(6.1g[h.u]){8"1g"}8 g.N},1v:7(b,c,a){8 6.G(c)||6.1J($.1k(b),c)>=a},16:7(b,c,a){8 6.G(c)||6.1J($.1k(b),c)<=a},2d:7(b,d,a){p c=6.1J($.1k(b),d);8 6.G(d)||(c>=a[0]&&c<=a[1])},1B:7(b,c,a){8 6.G(c)||b>=a},1t:7(b,c,a){8 6.G(c)||b<=a},2a:7(b,c,a){8 6.G(c)||(b>=a[0]&&b<=a[1])},1U:7(a,b){8 6.G(b)||/^((([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^W`{\\|}~]|[\\C-\\A\\B-\\E\\x-\\y])+(\\.([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^W`{\\|}~]|[\\C-\\A\\B-\\E\\x-\\y])+)*)|((\\3P)((((\\2b|\\1M)*(\\2U\\3U))?(\\2b|\\1M)+)?(([\\3X-\\5F\\3N\\3M\\5l-\\5k\\3K]|\\5j|[\\5h-\\5N]|[\\5g-\\5f]|[\\C-\\A\\B-\\E\\x-\\y])|(\\\\([\\3X-\\1M\\3N\\3M\\2U-\\3K]|[\\C-\\A\\B-\\E\\x-\\y]))))*(((\\2b|\\1M)*(\\2U\\3U))?(\\2b|\\1M)+)?(\\3P)))@((([a-z]|\\d|[\\C-\\A\\B-\\E\\x-\\y])|(([a-z]|\\d|[\\C-\\A\\B-\\E\\x-\\y])([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])*([a-z]|\\d|[\\C-\\A\\B-\\E\\x-\\y])))\\.)+(([a-z]|[\\C-\\A\\B-\\E\\x-\\y])|(([a-z]|[\\C-\\A\\B-\\E\\x-\\y])([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])*([a-z]|[\\C-\\A\\B-\\E\\x-\\y])))\\.?$/i.X(a)},1x:7(a,b){8 6.G(b)||/^(5e?|5R):\\/\\/(((([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])|(%[\\1L-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\C-\\A\\B-\\E\\x-\\y])|(([a-z]|\\d|[\\C-\\A\\B-\\E\\x-\\y])([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])*([a-z]|\\d|[\\C-\\A\\B-\\E\\x-\\y])))\\.)+(([a-z]|[\\C-\\A\\B-\\E\\x-\\y])|(([a-z]|[\\C-\\A\\B-\\E\\x-\\y])([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])*([a-z]|[\\C-\\A\\B-\\E\\x-\\y])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])|(%[\\1L-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])|(%[\\1L-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])|(%[\\1L-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|[\\5b-\\5a]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|W|~|[\\C-\\A\\B-\\E\\x-\\y])|(%[\\1L-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.X(a)},1n:7(a,b){8 6.G(b)||!/59|58/.X(29 57(a))},1X:7(a,b){8 6.G(b)||/^\\d{4}[\\/-]\\d{1,2}[\\/-]\\d{1,2}$/.X(a)},1Y:7(a,b){8 6.G(b)||/^\\d\\d?\\.\\d\\d?\\.\\d\\d\\d?\\d?$/.X(a)},1A:7(a,b){8 6.G(b)||/^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)(?:\\.\\d+)?$/.X(a)},27:7(a,b){8 6.G(b)||/^-?(?:\\d+|\\d{1,3}(?:\\.\\d{3})+)(?:,\\d+)?$/.X(a)},1N:7(a,b){8 6.G(b)||/^\\d+$/.X(a)},2g:7(b,e){l(6.G(e))8"1R-1W";l(/[^0-9-]+/.X(b))8 I;p a=0,d=0,2i=I;b=b.2K(/\\D/g,"");Q(n=b.F-1;n>=0;n--){p c=b.55(n);p d=54(c,10);l(2i){l((d*=2)>9)d-=9}a+=d;2i=!2i}8(a%10)==0},3T:7(b,c,a){a=17 a=="1s"?a:"66|52?g|51";8 6.G(c)||b.50(29 3A(".("+a+")$","i"))},3W:7(b,c,a){8 b==$(a).6a()}}})})(2N);(7($){p c=$.2T;p d={};$.2T=7(a){a=$.H(a,$.H({},$.4Y,a));p b=a.3R;l(a.3S=="2S"){l(d[b]){d[b].2S()}8(d[b]=c.1G(6,S))}8 c.1G(6,S)}})(2N);(7($){$.P({3e:\'3z\',4W:\'3y\'},7(b,a){$.1z.34[a]={4U:7(){l($.2V.2P)8 I;6.4T(b,$.1z.34[a].38,w)},4S:7(){l($.2V.2P)8 I;6.4R(b,$.1z.34[a].38,w)},38:7(e){S[0]=$.1z.35(e);S[0].1p=a;8 $.1z.28.1G(6,S)}}});$.H($.2M,{1D:7(d,e,c){8 6.3q(d,7(a){p b=$(a.4r);l(b.2L(e)){8 c.1G(b,S)}})},4Q:7(a,b){8 6.2G(a,[$.1z.35({1p:a,4r:b})])}})})(2N);',62,395,'||||||this|function|return|||||||||||||if||||var|settings||||name|validator|true|uFDF0|uFFEF||uD7FF|uF900|u00A0||uFDCF|length|optional|extend|false|form|Please|messages|element|valid|enter|each|for|delete|arguments|errorList|value|method|_|test|currentForm|call||in|toHide|required|elements|data|maxlength|typeof|pendingRequest|else|errorClass|invalid|rules|format|case|message|pending|add|toShow|showErrors|trim|submitted|successList|date|success|type|filter|errorMap|string|max|formSubmitted|minlength|checkable|url|console|event|number|min|metadata|delegate|validate|not|apply|attr|split|getLength|classRuleSettings|da|x09|digits|unhighlight|errorsFor|methods|dependency|normalizeRule|remote|email|reset|mismatch|dateISO|dateDE|findByName|push|input|groups|select|currentElements||check|numberDE|handle|new|range|x20|previousValue|rangelength|objectLength|depends|creditcard|labelContainer|bEven|debug|focusInvalid|constructor|wrapper|defaultMessage|undefined|containers|addClass|switch|highlight|parameters|staticRules|errors|showLabel|rulesCache|hide|addWrapper|hideErrors|resetForm|selected|clean|errorLabelContainer|prepareForm|triggerHandler|errorElement|text|defaults|replace|is|fn|jQuery|dependTypes|msie|characters|than|abort|ajax|x0d|browser|Number|window|param|old|ein|idOrName|submit|break|special|fix|meta|cancelSubmit|handler|removeClass|prepareElement|lastElement|invalidElements|catch|focus|findLastActive|try|size|defaultShowErrors|grep|lastActive|ignoreTitle|ignore|errorContainer|checkForm|nothing|bind|invalidHandler|error|checkbox|radio|onsubmit|errorPlacement|init|focusout|focusin|RegExp|on|Array|nodeName|addClassRules|numberOfInvalids|autoCreateRanges|equal|or|makeArray|x7f|between|x0c|x0b|checked|x22|no|port|mode|accept|x0a|the|equalTo|x01|submitHandler|attributeRules|and|stopRequest|startRequest|classRules|depend|option|toLowerCase|metadataRules|to|null|normalizeRules|Sie|geben|html|Bitte|generated|map|show|errorContext|validElements|strong|findDefined|String|customMessage|customMetaMessage|field|id|target|formatAndAdd|click|onclick|assigned|onkeyup|cancel|has|disabled|image|can|visible|onfocusout|button|blockFocusCleanup|focusCleanup|removeAttr|onfocusin|find|label|removeAttrs|textarea|file|password|keyup|triggerEvent|removeEventListener|teardown|addEventListener|setup|slice|blur|valueCache|ajaxSettings|warn|match|gif|jpe|prototype|parseInt|charAt|greater|Date|NaN|Invalid|uF8FF|uE000|unshift|less|https|x7e|x5d|x23|long|x21|x1f|x0e|least|at|unchecked|more|filled|json|dataType|extension|with|default|specified|attributes|again|blank|same|multiple|expr|addMethod|isFunction|x08|card|524288|credit|2147483647|class|only|previous|x5b|Nummer|boolean|eine|ftp|Datum|getElementsByName|ltiges|document|gÃ|insertAfter|preventDefault|append|parent|wrap|ISO|remove|parents|URL|png|defined|No|Warning|val|address|title|returning|throw|checking|when|This|occured|exception|setDefaults|log|continue'.split('|'),0,{}))



/**
 * jQuery-Plugin "preloadCssImages"
 * by Scott Jehl, scott@filamentgroup.com
 * http://www.filamentgroup.com
 * reference article: http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/
 * demo page: http://www.filamentgroup.com/examples/preloadImages/index_v2.php
 * 
 * Copyright (c) 2008 Filament Group, Inc
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 *
 * Version: 5.0, 10.31.2008
 * Changelog:
 * 	02.20.2008 initial Version 1.0
 *    06.04.2008 Version 2.0 : removed need for any passed arguments. Images load from any and all directories.
 *    06.21.2008 Version 3.0 : Added options for loading status. Fixed IE abs image path bug (thanks Sam Pohlenz).
 *    07.24.2008 Version 4.0 : Added support for @imported CSS (credit: http://marcarea.com/). Fixed support in Opera as well. 
 *    10.31.2008 Version: 5.0 : Many feature and performance enhancements from trixta
 * --------------------------------------------------------------------
 */

;jQuery.preloadCssImages = function(settings){
	settings = jQuery.extend({
		statusTextEl: null,
		statusBarEl: null,
		errorDelay: 999, // handles 404-Errors in IE
		simultaneousCacheLoading: 2
	}, settings);
	var allImgs = [],
		loaded = 0,
		imgUrls = [],
		thisSheetRules,	
		errorTimer;
	
	function onImgComplete(){
		clearTimeout(errorTimer);
		if (imgUrls && imgUrls.length && imgUrls[loaded]) {
			loaded++;
			if (settings.statusTextEl) {
				var nowloading = (imgUrls[loaded]) ? 
					'Now Loading: <span>' + imgUrls[loaded].split('/')[imgUrls[loaded].split('/').length - 1] : 
					'Loading complete'; // wrong status-text bug fixed
				jQuery(settings.statusTextEl).html('<span class="numLoaded">' + loaded + '</span> of <span class="numTotal">' + imgUrls.length + '</span> loaded (<span class="percentLoaded">' + (loaded / imgUrls.length * 100).toFixed(0) + '%</span>) <span class="currentImg">' + nowloading + '</span></span>');
			}
			if (settings.statusBarEl) {
				var barWidth = jQuery(settings.statusBarEl).width();
				jQuery(settings.statusBarEl).css('background-position', -(barWidth - (barWidth * loaded / imgUrls.length).toFixed(0)) + 'px 50%');
			}
			loadImgs();
		}
	}
	
	function loadImgs(){
		//only load 1 image at the same time / most browsers can only handle 2 http requests, 1 should remain for user-interaction (Ajax, other images, normal page requests...)
		// otherwise set simultaneousCacheLoading to a higher number for simultaneous downloads
		if(imgUrls && imgUrls.length && imgUrls[loaded]){
			var img = new Image(); //new img obj
			img.src = imgUrls[loaded];	//set src either absolute or rel to css dir
			if(!img.complete){
				jQuery(img).bind('error load onreadystatechange', onImgComplete);
			} else {
				onImgComplete();
			}
			errorTimer = setTimeout(onImgComplete, settings.errorDelay); // handles 404-Errors in IE
		}
	}
	
	function parseCSS(sheets, urls) {
		var w3cImport = false,
			imported = [],
			importedSrc = [],
			baseURL;
		var sheetIndex = sheets.length;
		while(sheetIndex--){//loop through each stylesheet
			
			var cssPile = '';//create large string of all css rules in sheet
			
			if(urls && urls[sheetIndex]){
				baseURL = urls[sheetIndex];
			} else {
				var csshref = (sheets[sheetIndex].href) ? sheets[sheetIndex].href : 'window.location.href';
				var baseURLarr = csshref.split('/');//split href at / to make array
				baseURLarr.pop();//remove file path from baseURL array
				baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
				if (baseURL) {
					baseURL += '/'; //tack on a / if needed
				}
			}
			if(sheets[sheetIndex].cssRules || sheets[sheetIndex].rules){
				thisSheetRules = (sheets[sheetIndex].cssRules) ? //->>> http://www.quirksmode.org/dom/w3c_css.html
					sheets[sheetIndex].cssRules : //w3
					sheets[sheetIndex].rules; //ie 
				var ruleIndex = thisSheetRules.length;
				while(ruleIndex--){
					if(thisSheetRules[ruleIndex].style && thisSheetRules[ruleIndex].style.cssText){
						var text = thisSheetRules[ruleIndex].style.cssText;
						if(text.toLowerCase().indexOf('url') != -1){ // only add rules to the string if you can assume, to find an image, speed improvement
							cssPile += text; // thisSheetRules[ruleIndex].style.cssText instead of thisSheetRules[ruleIndex].cssText is a huge speed improvement
						}
					} else if(thisSheetRules[ruleIndex].styleSheet) {
						imported.push(thisSheetRules[ruleIndex].styleSheet);
						w3cImport = true;
					}
					
				}
			}
			//parse cssPile for image urls
			var tmpImage = cssPile.match(/[^\("]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename" / '"' for opera-bugfix
			if(tmpImage){
				var i = tmpImage.length;
				while(i--){ // handle baseUrl here for multiple stylesheets in different folders bug
					var imgSrc = (tmpImage[i].charAt(0) == '/' || tmpImage[i].match('://')) ? // protocol-bug fixed
						tmpImage[i] : 
						baseURL + tmpImage[i];
					
					if(jQuery.inArray(imgSrc, imgUrls) == -1){
						imgUrls.push(imgSrc);
					}
				}
			}
			
			if(!w3cImport && sheets[sheetIndex].imports && sheets[sheetIndex].imports.length) {
				for(var iImport = 0, importLen = sheets[sheetIndex].imports.length; iImport < importLen; iImport++){
					var iHref = sheets[sheetIndex].imports[iImport].href;
					iHref = iHref.split('/');
					iHref.pop();
					iHref = iHref.join('/');
					if (iHref) {
						iHref += '/'; //tack on a / if needed
					}
					var iSrc = (iHref.charAt(0) == '/' || iHref.match('://')) ? // protocol-bug fixed
						iHref : 
						baseURL + iHref;
					
					importedSrc.push(iSrc);
					imported.push(sheets[sheetIndex].imports[iImport]);
				}
				
				
			}
		}//loop
		if(imported.length){
			parseCSS(imported, importedSrc);
			return false;
		}
		var downloads = settings.simultaneousCacheLoading;
		while( downloads--){
			setTimeout(loadImgs, downloads);
		}
	}
	parseCSS(document.styleSheets);
	return imgUrls;
};
