var pixel = function(a){
	var src='800541C800S800542CL30PPV';
	a=a?a:'0';
	var matchval=new RegExp(/\/mariage-naissance\/$/i);
	var b=window.location.href;
	if(b.search(matchval)>0) a='000';
	var ssl = "687474703A2F2F73736C2E68757272612E64652F547261636B4974";
	var adr = '';
	for(var i=0; i<ssl.length; i=i+2) adr+=String.fromCharCode(parseInt(ssl.substring(i,i+2),16));
	document.write('<img src="'+adr+'?tid='+src+'&pd='+a+'&ref=[[' + document.referrer + ']]&src=[[' + document.location + ']]" alt="" border="0" width="1" height="1" style="position: absolute; top:-20; left: -20;">');
}
var view = function(trg,ac,mc){
	var f = $('ifr');
	var t = $('trg');
	t.value=trg;
	f.pd.value = ac ? ac : dac;
	f.mc.value = mc ? mc : '';
	f.submit();
}
var visit = function(trg,mc){view(trg,'',mc);}
var form = function(){
	var a = new Element('form',{'action':'http://62.144.160.11/P','id':'ifr','method':'get'});
	var i = [
		{name:'33kS',value:'',type:'hidden',id:'trg'},
		{name:'pd',value:'',type:'hidden'},
		{name:'mc',value:'',type:'hidden'},
		{name:'src',value:'[['+document.location+']]',type:'hidden'},
		{name:'ref',value:'[['+document.referrer+']]',type:'hidden'}
	];
	i.each(function(el){
		new Element('input',Object.merge({type:'hidden'},el)).inject(a);
	});
	a.inject($('content'));
}
function init_t(){
	pixel();
}
var initMe = function(){
	form();
	price.init();
	layout.init();
	toys.init();
	document._sclr = new SClr();
	document._shrt = new Shrt();
	z00m();
}
window.addEvent('domready', function() {
	Browser.chrome?initMe.delay(50):initMe(); // stupid Chrome is stupid.. can't properly compute elements' size on DOM ready
});
var makeNewWindow=function(a,b,c,d,e,f,g,h) {
	cP=screen.width?(screen.width-c)/2:0;
	dP=screen.height?(screen.height-d)/2:0;
	c=c?(c=='a'?screen.width-20:c):500; d=d?(d=='a'?screen.height-20:d):450; e=e?'yes':'no'; f=f?'yes':'no'; g=g?'yes':'no'; h=h?'yes':'no';
	i = "width="+c+",height="+d+",top="+dP+",left="+cP+",status="+e+",toolbar="+f+",menubar="+g+",location="+h+",scrollbars=yes,resizable=yes,screenX=150,screenY=80";
	popupw = window.open(a,b,i);
	if (popupw){ popupw.focus(); }
	return false;
}

var price=function(){
	var init=function(){
		$$('[id*=:]').each(function(el){
			var b = el.id.split(':');
			var c = el.getParent();
			el.erase('id');
			if(b[0]=='inactive'){
				var d = new Element('span',{'class':'inactive go',html:'Ce produit est actuellement indisponible.'});
				d.inject(c);
				c.getChildren('.price').each(function(elm){elm.destroy();});
			}else{
				var lnk = 'javascript:view(\''+b[1]+'\',\''+b[2]+'\''+(b[3]?',\''+(b[3])+'\'':'')+')';
				if(b[1]!=='pi'){
					var d = new Element('a',{href:lnk,'class':'go',html:'Plus d\'infos'});
					d.inject(c);
				}
				c.getChildren('.url').each(function(elm){elm.href=lnk});
			}
		});
	}
	return{
		init: init
	}
}();

var toys = function(){
	var init = function(what){
		if($('e404')){
			$('e404').innerHTML = '<a href="javascript:visit(\'zL\')">'+$('e404').innerHTML+'</a>';
		}
		$$('.external').each(function(el){
			el.addEvent('click',function(e){e.stop();makeNewWindow(dview(el.href),'','a','a','yes','yes','yes','yes','yes');});
		});
		images();
		prices();
	}
	var dview = function(a){
		a = a.replace(/^.*?\('(.*?)'.*$/,'$1');
		var b = $('ifr').action+'?'+$('trg').name+'='+a;
		return b;
	}
	var images = function(){
		$$('img.thumbnail').each(function(el){el.set('src', el.get('src').replace('_copie_interdite','').replace('_w1.','.').replace('jpeg','jpg'))});
	}
	var prices = function(){
		$$('.price').each(function(elm){
			var suf = elm.getChildren('.suffix')[0].dispose();
			var pr = elm.get('text').split('.');
			pr[1]=pr[1]?pr[1].split(''):false;
			suf.inject(elm.set('text',pr[0]+'.'+(pr[1]?(pr[1][0]+(pr[1][1]?pr[1][1]:'0')):'00')));
		});
	}
	return{
		init: init
	}
}();

var layout = function(){
	var init = function(){
		var a = new Element('div',{'id':'wrapper'}).wraps($('content'));
		header(a);
		footer(a);
		$$('.hproduct')[0]?product($$('.hproduct')[0]):'';
		$$('.l2')[0]?$$('.l2')[0].addClass('short'):'';
	}
	var header = function(where){
		var a = new Element('div',{'id':'header'});
		new Element('a',{'id':'logo', 'href':"javascript:visit(\'zL\')"}).inject(a);
		new Element('div',{'id':'banner'}).inject(a);
		
		var lnks =[];
		lnks['home'] = {'class':'home', href:"javascript:visit(\'zL\')"};
		lnks['cat1'] = {'class':'cat1', href:"javascript:visit(\'zD\')"};
		lnks['cat2'] = {'class':'cat2', href:"javascript:visit(\'zx\')"};
		lnks['cat3'] = {'class':'cat3', href:"javascript:visit(\'zz\')"};
		lnks['cat4'] = {'class':'cat4', href:"javascript:visit(\'zC\')"};
		lnks['faq1'] = {'class':'faq', href:"javascript:visit(\'L-\')"};
		lnks['faq2'] = {'class':'faq', href:"javascript:visit(\'M0\')"};
		lnks['faq3'] = {'class':'faq', href:"javascript:visit(\'M1\')"};
		lnks['faq4'] = {'class':'faq', href:"javascript:visit(\'L_\')"};
		lnks['faq5'] = {'class':'faq', href:"javascript:visit(\'17n\')"};
		lnks['fav1'] = {'class':'fav', href:"javascript:visit(\'zr\')"};
		lnks['fav2'] = {'class':'fav', href:"javascript:visit(\'zA\')"};

		var out;
			switch(parseInt(catid)){  
				case 0: out=[lnks['cat1'],lnks['cat2'],lnks['cat3'],lnks['cat4']]; 
					lnks['cat1']['class'] = lnks['cat1']['class'] + ' c0';
				break;
				case 1: out=[lnks['home'],lnks['cat1'],lnks['cat2'],lnks['cat3'],lnks['cat4'],lnks['faq1'],lnks['fav1']]; break;
				case 2: out=[lnks['home'],lnks['cat1'],lnks['cat2'],lnks['cat3'],lnks['cat4'],lnks['faq2'],lnks['fav2']]; break;
				case 3: out=[lnks['home'],lnks['cat1'],lnks['cat2'],lnks['cat3'],lnks['cat4'],lnks['faq3']]; break;
				case 4: out=[lnks['home'],lnks['cat1'],lnks['cat2'],lnks['cat3'],lnks['cat4'],lnks['faq4']]; break;
				case 5: out=[lnks['home'],lnks['cat1'],lnks['cat2'],lnks['cat3'],lnks['cat4'],lnks['faq5']]; break;
			}
		var mnu = new Element('ul',{'class':'menu'}).inject(a);
		out.each(function(el){new Element('a',el).inject(new Element('li').inject(mnu))});
		
		a.inject(where,'before');
	}
	var footer = function(where){
		var a = new Element('div',{'id':'footer'});
		var i = [[
			{html:'Conditions de vente', href:"javascript:visit(\'zR\')"},
			{html:'Qui sommes nous ?', href:"javascript:visit(\'zQ\')"}, 
			{html:'Les salons', href:"javascript:visit(\'zY\')"},
			{html:'Paru dans la presse', href:"javascript:visit(\'zT\')"},
			{html:'Faire-part photo', title:'Faire part photo', href:"javascript:visit(\'16i\')"},
			{html:'Affiliation', href:"javascript:visit(\'zW\')"},
			{html:'Partenaires', href:"javascript:visit(\'Mt\')"},
			{html:'Ajoutez aux favoris', },
			{html:'Photographe mariage', title:'Photographe mariage', 'class':'external', href:"javascript:visit(\'16m\')"}
			],[
			{html:'Nous contacter', href:"javascript:visit(\'zX\')"},
			{html:'Mon compte', href:"javascript:visit(\'zS\')"},
			{html:'Questions/Réponses', href:"javascript:visit(\'zP\')"},
			{html:'papier faire-part', href:"javascript:visit(\'16l\')"},			
			{html:'Faire-part vierges', title:'Faire part vierges', href:"javascript:visit(\'Ms\')"},
			{html:'Mariage', 'class':'external', title:'Mariance.com', href:"javascript:visit(\'zU\')"},
			{html:'Liste de naissance', 'class':'external', title:'Liste de naissance', href:"javascript:visit(\'16k\')"},
			{html:'Faire-part', href:"javascript:visit(\'16j\')"}
		]];
		var mnu = [];
		mnu[0] = new Element('ul',{'class':'footlinks'}).inject(a);
		mnu[1] = new Element('ul').inject(new Element('li').inject(mnu[0]));
		mnu[2] = new Element('ul').inject(new Element('li').inject(mnu[0]));
		i[0].each(function(el){new Element('a',el).inject(new Element('li').inject(mnu[1]))});
		i[1].each(function(el){new Element('a',el).inject(new Element('li').inject(mnu[2]))});
		new Element('div',{'class':'copy', html:'Le-faire-part.com RCS Nancy A 450 070 875'}).inject(a);
		a.inject(where);
	}
	var product = function(where){
	}
	return{
		init: init
	}
}();

var Shrt = new Class({
	initialize:function(){
		this.items = $$('.shortme');
		this.proc_all();
	},
	proc_all:function(){
		if(!this.items) return;
		this.ioht = [];
		this.ca = this.items.length;
		while(this.ca--){
			if(this.checkCL()) this.mk_short();
		}
	},
	checkCL:function(){
//		this.iss = this.items[this.ca].getScrollSize().y + (this.items[this.ca].getElementsByTagName('br').length * parseInt(this.items[this.ca].getStyle('line-height')));
		this.iss = this.items[this.ca].getScrollSize().y;
		this.ias = this.items[this.ca].getStyle('min-height').toInt();
		if(this.iss>this.ias && this.ias!=0){
			this.items[this.ca].id=this.items[this.ca].id?this.items[this.ca].id:'short-'+this.ca;
			this.ioht[this.items[this.ca].id] = {mx:this.iss,mn:this.ias};
			return true;
		}
		else return false;
	},
	mk_short:function(){
		this.items[this.ca].addClass('short').removeClass('shortme').addClass('shortened');
		this.spacer = new Element('div',{'class':'spacer'});
		this.btn = new Element('a',{href:'#','class':'shrt_btn','html':'plus'});
		this.btn.addEvent('click',function(e){
			e.stop();
			document._shrt.slide(this);
		});
		this.btn.inject(this.items[this.ca],'top');
		this.spacer.inject(this.items[this.ca],'top');
	},
	slide:function(i){
		i.getParent().morph({height:i.getParent().hasClass('short')? this.ioht[i.parentNode.id].mx : this.ioht[i.parentNode.id].mn});
		i.set('html', i.getParent().hasClass('short')?'moins':'plus')
		i.getParent().toggleClass('short');
	}
});

var SClr = new Class({
	initialize:function(){
		this.cnt = $$('.scrollme');
		if(!this.cnt) return;
		['dw','dh','ki','kh','ow','oh','cit','msr','csm','itemsBU','btns','elw','elh'].each(function(el){
			eval( 'this.'+el+' = [];');
		}, this);
		this.cntl = this.cnt.length;
		while(this.cntl-- && this.cnt[this.cntl].getStyle('display')!=='none'){
			this.elw[this.cntl] = this.cnt[this.cntl].getFirst().getSize().x + this.cnt[this.cntl].getFirst().getStyle('margin-left').toInt() + this.cnt[this.cntl].getFirst().getStyle('margin-right').toInt();
			this.elh[this.cntl] = this.cnt[this.cntl].getFirst().getSize().y + this.cnt[this.cntl].getFirst().getStyle('margin-top').toInt() + this.cnt[this.cntl].getFirst().getStyle('margin-bottom').toInt();
			this.ow[this.cntl] = this.cnt[this.cntl].getStyle('padding-left').toInt() + this.cnt[this.cntl].getStyle('padding-right').toInt();
			this.oh[this.cntl] = this.cnt[this.cntl].getStyle('padding-top').toInt() + this.cnt[this.cntl].getStyle('padding-bottom').toInt();
			this.dw[this.cntl] = Math.floor(this.cnt[this.cntl].getScrollSize().x / this.elw[this.cntl] );
			this.dh[this.cntl] = Math.floor(this.cnt[this.cntl].getSize().y / this.elh[this.cntl] );
			this.ki[this.cntl] = this.cnt[this.cntl].getChildren().length;
			this.kh[this.cntl] = Math.ceil(this.ki[this.cntl] / this.dw[this.cntl] );
			
			if(this.cnt[this.cntl].hasClass('vertical')){
				if(this.kh[this.cntl] > this.dh[this.cntl]) this.buildUITB(this.cntl); // vertical scroll
			}else{
				if(this.ki[this.cntl] > this.dw[this.cntl] ) this.buildUILR(this.cntl); // horisontal scroll
			}
		}
	},
	buildUITB:function(i){
		this.wrapItemsTB(i);
		this.btns[i] ={
			top: new Element('a',{'class':'sclr-btn scroll-top disabled'}),
			bottom: new Element('a',{'class':'sclr-btn scroll-bottom'})
		}
		this.btns[i].top.addEvent('click',function(e){e.stop(); document._sclr.scrollT(i);});
		this.btns[i].bottom.addEvent('click',function(e){e.stop(); document._sclr.scrollB(i);});
		this.btns[i].top.inject(this.wrpprCnt,'top');
		this.btns[i].bottom.inject(this.wrpprCnt,'top');
	},
	wrapItemsTB:function(i){
		this.itemsBU[i] = this.cnt[i].clone(true,true);
		this.wrpprCnt = new Element('div',{'class':'scroller vertical',id:'scroller-'+i, 'style':'height:'+((this.elh[i]*this.dh[i])+this.oh[i])+'px'});
		this.itemsBU[i].inject(this.wrpprCnt);
		this.wrpprCnt.replaces(this.cnt[i]);
		this.itemsBU[i].removeClass('scrollme').removeClass('vertical');
		this.cnt[i].removeClass('scrollme').removeClass('vertical');
		this.cit[i] = 0;
		this.csm[i] = 0;
		this.msr[i] = this.kh[i] - this.dh[i];
		this.itemsBU[i].setStyles({
			height:this.elh[i]*this.kh[i],
			'margin-top':0
		});
		this.itemsBU[i].set('morph',{duration:'long',transition:Fx.Transitions.Quad.easeOut});
	},
	scrollB:function(i){
		if(this.cit[i]==this.msr[i]) return;
		this.itemsBU[i].morph({'margin-top':this.csm[i]-this.elh[i]});
		this.csm[i]=this.csm[i]-this.elh[i]; this.cit[i]++;
		if (this.cit[i]==1 && this.btns[i].top.hasClass('disabled')) this.btns[i].top.removeClass('disabled');
		if(this.cit[i]==this.msr[i] && !this.btns[i].bottom.hasClass('disabled')) this.btns[i].bottom.addClass('disabled');
	},
	scrollT:function(i){
		if(this.cit[i]==0) return;
		this.itemsBU[i].morph({'margin-top':this.csm[i]+this.elh[i]});
		this.csm[i]=this.csm[i]+this.elh[i]; this.cit[i]--;
		if (this.cit[i]==0 && !this.btns[i].top.hasClass('disabled')) this.btns[i].top.addClass('disabled');
		if(this.cit[i]==this.msr[i]-1 && this.btns[i].bottom.hasClass('disabled')) this.btns[i].bottom.removeClass('disabled');
	},
	//lr
	buildUILR:function(i){
		this.wrapItemsLR(i);
		this.btns[i] ={
			left: new Element('a',{'class':'sclr-btn scroll-left disabled', html:'<span></span>'}),
			right: new Element('a',{'class':'sclr-btn scroll-right', html:'<span></span>'})
		}
		this.btns[i].left.addEvent('click',function(e){e.stop(); document._sclr.scrollL(i);});
		this.btns[i].right.addEvent('click',function(e){e.stop(); document._sclr.scrollR(i);});
		this.btns[i].left.inject(this.wrpprCnt,'top');
		this.btns[i].right.inject(this.wrpprCnt,'top');
	},
	wrapItemsLR:function(i){
		this.itemsBU[i] = this.cnt[i].clone(true,true);
		this.wrpprCnt = new Element('div',{'class':'scroller',id:'scroller-'+i, 'style':'width:'+((this.elw[i]*this.dw[i])+this.ow[i])+'px'});
		this.itemsBU[i].inject(this.wrpprCnt);
		this.wrpprCnt.replaces(this.cnt[i]);
		this.itemsBU[i].removeClass('scrollme');
		this.cit[i] = 0;
		this.csm[i] = 0;
		this.msr[i] = this.ki[i] - this.dw[i];
		this.itemsBU[i].setStyles({
			width:this.elw[i]*this.ki[i],
			'margin-left':0
		});
		this.itemsBU[i].set('morph',{duration:'long',transition:Fx.Transitions.Quad.easeOut});
	},
	scrollR:function(i){
		if(this.cit[i]==this.msr[i]) return;
		this.itemsBU[i].morph({'margin-left':this.csm[i]-this.elw[i]});
		this.csm[i]=this.csm[i]-this.elw[i]; this.cit[i]++;
		if (this.cit[i]==1 && this.btns[i].left.hasClass('disabled')) this.btns[i].left.removeClass('disabled');
		if(this.cit[i]==this.msr[i] && !this.btns[i].right.hasClass('disabled')) this.btns[i].right.addClass('disabled');
	},
	scrollL:function(i){
		if(this.cit[i]==0) return;
		this.itemsBU[i].morph({'margin-left':this.csm[i]+this.elw[i]});
		this.csm[i]=this.csm[i]+this.elw[i]; this.cit[i]--;
		if (this.cit[i]==0 && !this.btns[i].left.hasClass('disabled')) this.btns[i].left.addClass('disabled');
		if(this.cit[i]==this.msr[i]-1 && this.btns[i].right.hasClass('disabled')) this.btns[i].right.removeClass('disabled');
	}
});
var z00m = function(){$$('.hproduct')[0]?zoom.init():'';}
