ITMag=Class.create({
initialize: function()
	{
	$('meniu_l1_'+cat_id).show();
	$('meniu_l1_a_'+cat_id).className='current';
	},
meniu:function(l1_id)
	{
	if($('meniu_l1_'+l1_id).visible())
		{
		new Effect.SlideUp('meniu_l1_'+l1_id);
		$('meniu_l1_a_'+cat_id).className='';
		}
	else
		{
		if(cat_id==l1_id)
			{
			new Effect.SlideDown('meniu_l1_'+l1_id);
			$('meniu_l1_a_'+cat_id).className='current';
			}
		else
			{
			new Effect.Parallel(
		        [
	            new Effect.BlindUp($('meniu_l1_'+cat_id)),
	            new Effect.BlindDown($('meniu_l1_'+l1_id))
		        ], {duration: 0.7});
		    $('meniu_l1_a_'+cat_id).className='';
		    cat_id=l1_id;
		    $('meniu_l1_a_'+l1_id).className='current';	
			}	
		}
	},
arataTab:function(id)
	{
	//folosita la pagina produsului
	if($(id).visible()){return;}
	$(tab_curent+'_a').className='';
	$(tab_curent).hide();
	tab_curent=id;
	$(tab_curent+'_a').className='current';
	$(id).show();
	},
produsThumbs:function(id,dir)
	{
	if(isNaN(id)||(dir!='up' && dir !='down')){return;}
	if(!uid||uid==0){ITMag.modal('<h2>Autentificare necesară</h2>','Pentru a putea vota, trebuie sa fiti autentificat.');return;}
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxProdusThumbs.php';
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'id':id,'dir':dir}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.rez.cod)
				{
				case 0:				
					ITMag.modal('',json.rez.succes,'succes');
					if(json.rez.up=='1')
						{
						var txt='1 membru din '+json.rez.total+' a gasit acest comentariu util.';	
						}
					else
						{
						var txt=json.rez.up+' membri din '+json.rez.total+' au gasit acest comentariu util.';	
						}
					$('util_'+id).update(txt);	
				break;
				case 1:
					ITMag.modal('<h2>Autentificare necesară</h2>',json.rez.eroare);			
				break;
				case 2:
					ITMag.modal('<h2>Deja inregistrat</h2>',json.rez.eroare);			
				break;
				}			
			})
		});	
	},
browseComentarii:function(start,produs_id)
	{
	if(isNaN(start)||isNaN(produs_id)){return;}
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxBrowseComentarii.php';
	var html='';
	var tpl=new Template('<li class="#{r}par" id="comentariu_#{cid}"><span class="avatar"><img src="http://imagini.itmag.ro/avatare/#{litera}/#{uid}.gif"></span><div class="rating" align="right"><span class="thumbs" id="thumbs_#{cid}"><img src="'+'http://'+subdomeniu+'.itmag.ro/images/thumb_up.png" alt="Apreciaza acest comentariu ca util" onclick="ITMag.produsThumbs(#{cid},\'up\');" height="16" width="16"><img src="'+'http://'+subdomeniu+'.itmag.ro/images/thumb_down.png" alt="Acest comentariu nu este util" onclick="ITMag.produsThumbs(#{cid},\'down\');" height="16" width="16"><br></span><span id="util_#{cid}">#{tu} membri din #{tt} au găsit util acest comentariu.</span></div><cite>#{un}</cite><br><small class="data">#{data}</small><p>#{comentariu}</p></li>');
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'start':start,'pid':produs_id}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.rez.cod)
				{
				case 0:
					var com=Number(json.rez.start)+Number(json.rez.nr);	
					var txt='Comentariile <b>'+(Number(json.rez.start)+1)+' - '+com+'</b> din <b>'+json.rez.total+'</b>';
					if(com>5){txt+='<a href="javascript:;" onclick="ITMag.browseComentarii('+(Number(json.rez.start)-5)+','+produs_id+');" class="prev">&laquo; Pagina precedentă</a>';}	
					if(com<json.rez.total){txt+='<a href="javascript:;" onclick="ITMag.browseComentarii('+com+','+produs_id+');" class="prev">Pagina următoare &raquo;</a>';}		
					$('paginare_comentarii').update(txt);
					json.rez.comentarii.each(function(c,i){c=$H(c);if(i%2==0){c.set('r','im');}html+=tpl.evaluate(c);});
					$('comentarii_ol').update(html);	
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	},
adaugaAlerta:function(produs_id)
	{
	if(isNaN(produs_id)){return;}
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxAdaugaAlerta.php';
	if($F('alerta_de_pret_'+produs_id).length<1){ITMag.modal('<h2>Lipseste valoarea</h2>','Va rugam sa introduceti valoarea maxima pe care sunteti dispus sa o platiti pentru acest produs');}
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'val':$F('alerta_de_pret_'+produs_id),'pid':produs_id}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.rez.cod)
				{
				case 0:
					ITMag.modal('',json.rez.succes,'succes');	
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	},
adaugaComentariu:function(produs_id)
	{
	if(isNaN(produs_id)){return;}
	if($F('comentariu').length<4){ITMag.modal('<h2>Prea Scurt</h2>','Comentariul dumneavoastră este cam scurt');}
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxAdaugaComentariu.php';
	var html='';
	var tpl=new Template('<li class="par" id="comentariu_#{cid}"><span class="avatar"><img src="http://imagini.itmag.ro/avatare/#{litera}/#{uid}.gif"></span><div class="rating" align="right"><span class="thumbs" id="thumbs_#{cid}"><br></span><span id="util_#{cid}"></span></div><cite>#{un}</cite><br><small class="data">chiar acum</small><p>'+$F('comentariu')+'</p></li>');
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'comentariu':$F('comentariu'),'pid':produs_id}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.rez.cod)
				{
				case 0:
					$('ad_com').toggle();
					$('comentarii_ol').insert({top:tpl.evaluate(json.rez.comentariu)});
					$('comentariu').value='';
					Effect.Pulsate('comentariu_'+json.rez.comentariu.cid);	
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	},
comparaProduse:function(produs_id)
	{
	compara_prod=$A();
	compara_car=$H();
	compara_val=$H();
	de_comparat=1;
	compara_lista_produse=null;	
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxCompara.php';
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'id':produs_id,'start':1}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.cod)
				{
				case 0:
					var producatori_html='';
					var produse_html='';					
					var producatori_crt='';
					compara_car=json.cars;
					compara_val.set(json.produs.produs_id,json.vals);
					compara_lista_produse=json.produse;
					compara_prod[json.produs.produs_id]=json.produs;				
					json.produse.each(function(p){
						if(producatori_crt!=p.producator)
							{
							producatori_html+='<option value="'+p.producator+'">'+p.producator+'</option>';
							producatori_crt=p.producator;
							}							
						produse_html+='<option value="'+p.produs_id+'">'+p.nume+'</option>';	
					});								
				html='<div style="align:right;clear:both;padding-top:30px;"><b>Adauga un produs</b>:<select name="cp_producatori" id="cp_producatori" onchange="ITMag.comparaProduseLimiteaza(this.value);" class="input"><option value="0">Orice producator ... </option>'+producatori_html+'</select><select name="cp_produse" id="cp_produse" class="input"><option value="0">Alegeti un produs ...</option>'+produse_html+'</select><input type="button" onclick="if($F(\'cp_produse\') != 0) ITMag.comparaAdaugaProdus()" value="Adauga" class="button2" /></div><br/><br/><div id="cp_container" class="det-prod" style="height:600px;overflow:auto">'+ITMag.comparaGenerare()+'</div>';
				Lightview.show(
					{		
					href:'#',title: '<h1>Compara Produse</h1>',		
					caption:'<div id="lightviewComparaProduse">'+html+'</div>',
					options:{fullscreen: true,menubar:true}
					});													
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	},
comparaGenerare:function()
	{
	var html='<table cellpadding="5" cellspacing="1"><th></th><tbody id="cp_tbody"><tr><td>&nbsp;</td>';
	compara_prod.each(function(p){
		html+='<td align="center"><b>'+p.nume+'</b><br />';
		if(p.poza_id)
			{
			html+='<img src="http://imagini.itmag.ro/produse/'+p.produs_id+'/'+
			p.poza_id+'_mica.jpg" border="0" width="50" /><br />';
			}
		html+='<b>'+p.pret+' RON</b></td>';	
		});					
	html+='</tr>';
	var cl1='';var cl2='';
	$H(compara_car).sortBy(function(s){return s.value;}).each(function(c){		
	if(c.value!=cl1)
		{
		html+='<tr class="det-cat" align="left"><td colspan="'+(de_comparat+1)+'">'+c.value+'</td></tr>';
		cl1=c.value;
		}
	html+='<tr><td class="specs" align="left" width="250">'+c.key+'</td>';
	$H(compara_val).each(function(v){		
		html+='<td align="left" class="specs2">';
		var val=$H(v.value).get(c.key);
		if(val!=undefined)
			{
			html+=val;
			}
		html+='</td>';
	});
	html+='</td></tr>';	
	});
	
	html+='</tbody></table>';
	return html;	
	},
comparaProduseLimiteaza:function(producator)
	{
	var html='<option value="0" selected="selected">Alegeti un produs ...</option>';
	compara_lista_produse.each(function(p){
	if(p.producator==producator || producator=='0')
		{
		html+='<option value="'+p.produs_id+'">'+p.nume+'</option>';
		}
	$('cp_produse').update(html);	
	});		
	},
comparaAdaugaProdus:function()
	{
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxCompara.php';		
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'id':$F('cp_produse')}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.cod)
				{
				case 0:
					de_comparat++;
					compara_car=$H(compara_car);					
					$H(json.cars).each(function(sc){
						if(compara_car.get(sc.key)!=sc.value)
							{						
							compara_car.set(sc.key,sc.value);
							}						
					});								
					compara_val.set(json.produs.produs_id,json.vals);							
					compara_prod.push(json.produs);			
					$('cp_container').update(ITMag.comparaGenerare());	
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	},
modal:function(titlu,continut,tip)
	{
	if(tip=='succes'){tip='-succes';}else{tip='';}	
	Lightview.show(
		{
		rel:'inline',
		href:'#',title: '',
		caption:'<div id="lightviewError"><div class="message'+tip+'"><b>'+titlu+'</b>.</div><div class="pluginspage">'+continut+'</div></div>'
		});		
	},
startCos:function()
	{
	this.updateCos();
	},
adaugaInCos:function(pid,cantitate)
	{
	if(!$('cantitate_produs_'+pid))
		{
		cantitate=1;
		}
	else
		{
		cantitate=parseInt($F('cantitate_produs_'+pid));
		}
	produs='poza_produs_'+pid;
	//muta produsul in cos
	var from=$(produs).cumulativeOffset();
	var to=$('poza_cos').cumulativeOffset();
	//"cloneaza" imaginea produsului
	$(produs+'_c').insert({top:'<img src="'+$(produs).src+'" style="position:absolute;top:'+from[1]+'px;left:'+from[0]+'px" id="'+produs+'_img" />'});
	var X = parseInt(to[0] - from[0] +10);
	var Y = parseInt(to[1] - from[1]+10);
	new Effect.MoveBy(produs+'_img', Y, X,{
		afterFinish:function(e) {
		new Effect.Scale(produs+'_img', 20,{afterFinish:function(e)
			{
			$(produs+'_img').remove();
			}});
		var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxCosAdauga.php';		
			var aj = new Ajax.Request(url,
			{
			method: 'post',
			parameters: $H({'cant':cantitate,'pid':pid}),
			requestHeaders: {Accept: 'application/json'},
			onSuccess: (function(transport)
				{
				var json = transport.responseText.evalJSON();
				switch(json.rez.cod)
					{
					case 0:
						produseInCos=json.rez.produse;					
						ITMag.updateCos();	
					break;
					case 1:
						ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
					break;				
					}			
				})
			});	
		}});
	},
updateCos:function()
	{
	if(produseInCos==null){produseInCos=0;}
	var txt=produseInCos+ ' produse';
	if(produseInCos<1)
		{
		new Tip('cos', 'Nu aveţi incă produse in Coş');	
		}
	else
		{
		if(produseInCos==1)
			{
			txt='1 produs';	
			}
		new Tip('cos', 'Click pentru a vizualiza produsele din Coş');					
		}
	$('produse_in_cos').update(txt);
	$('produse_in_cos').morph('color:#AD1A32');
	},
retineProdus:function(produs_id)
	{
	if(isNaN(produs_id)){return;}
	if(uid==0){ITMag.modal('<h2>Autentificare necesara</h2>','Pentru a putea adauga un produs la lista dumneavoastra de Produse Retinute va trebui sa va autentificati.');return;}
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxRetineProdus.php';
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'id':produs_id}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.rez.cod)
				{
				case 0:
					ITMag.modal('<h2>Succes !</h2>','<b>Produs Adaugat in Lista dumneavoastra</b>','succes');
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	},
modificaInCos:function(produs_id)
	{
	var cant=$F('cantitate_produs_'+produs_id);
	if(isNaN(cant))
		{
		alert('Verificati cantitatea : trebuie sa fie un numar!');
		$('cantitate_produs_'+produs_id).activate();
		return;
		}
	if(cant==0)
		{
		ITMag.stergeDinCos(produs_id);
		return;
		}
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxCosModifica.php';
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'id':produs_id,'cant':cant}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.rez.cod)
				{
				case 0:
					$('total_plata').update(json.rez.total_comanda).morph('background:#080;color:#fff');
					$('pret_total_'+produs_id).update(json.rez.total_produs);
					produseInCos=json.rez.produse;					
					ITMag.updateCos();	
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	},
stergeDinCos:function(produs_id)
	{
	if(isNaN(produs_id)){return;}
	var url = 'http://'+subdomeniu+'.itmag.ro/contul_meu/ajaxCosSterge.php';
	var aj = new Ajax.Request(url,
		{
		method: 'post',
		parameters: $H({'id':produs_id}),
		requestHeaders: {Accept: 'application/json'},
		onSuccess: (function(transport)
			{
			var json = transport.responseText.evalJSON();
			switch(json.rez.cod)
				{
				case 0:
					$('total_plata').update(json.rez.total_comanda).morph('background:#080;color:#fff');
					produseInCos=json.rez.produse;					
					ITMag.updateCos();
					Effect.toggle('produs_'+produs_id,'appear',{afterFinish:function(){$('produs_'+produs_id).remove();}});
					if(produseInCos==0){$('status_comanda').update('<div class="info">Nu aveţi nici un produs in coş.</div>');}
				break;
				case 1:
					ITMag.modal('<h2>A apărut o eroare</h2>',json.rez.eroare);			
				break;				
				}			
			})
		});		
	}
});

document.observe("dom:loaded", function(){
	ITMag=new ITMag();
	ITMag.startCos();
	//reparam un bug in Firefox care face ca ultima imagine sa apara de 2 ori
});
function limiteaza(elem,numar)
	{
	/*limiteaza numarul de caractere din textarea cu IDul *elem* la *numar*  */
	if($F(elem).length > numar)
		{
		$(elem).value=$F(elem).substring(0, numar);
		}
	else
		{
		$('limita_'+elem).update(numar - $F(elem).length);
		}
	}