var szop = {
	init: function() {
		pokaz_login();
		pokaz_koszyk();
	},

	sendForm: function(form, innerid, loadtxt) {

		var innerobj=document.getElementById(innerid);

		if (loadtxt==null) loadtxt='';

		advAJAX.submit(form, {

			onLoading : function(obj) { innerobj.innerHTML='<div style="font-size:10px; padding: 10px; text-align:center;">'+loadtxt+'<br /><img src="images/preloader_pink.gif" /></div>' },
			onSuccess : function(obj) {	innerobj.innerHTML=obj.responseText;},
			onError : function(obj) { alert("Error: " + obj.status); }

		});
	},

	post: function(url, innerid, loadtxt, param) {

		var innerobj=document.getElementById(innerid);

		if (loadtxt==null) loadtxt='';

		advAJAX.post({
			url: url+'.php',

			parameters : param,

			onLoading : function(obj) { innerobj.innerHTML='<div style="font-size:10px; padding: 10px; text-align:center;">'+loadtxt+'<br /><img src="images/preloader_pink.gif" /></div>' },
			onSuccess : function(obj) { innerobj.innerHTML=obj.responseText;},
			onError : function(obj) { alert("Error: " + obj.status); }

		});
	},

	showProduct: function(id, type, page, param1) {
		this.showPromotions();

		var efekty = $('inside').effects({duration: 500, transition: Fx.Transitions.Elastic.easeOut});

		efekty.start({"opacity": 0}).chain(function() {

			advAJAX.post({
				url: "produkt.php",

				parameters : {
				"id" : id,
				"type": type,
				"page": page,
				"param1": param1
				},

				onLoading : function(obj) { efekty.start({"opacity": 1}); document.getElementById('inside').innerHTML='<div style="font-size:10px; padding: 10px; width:470px; text-align:center;"><br /><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
				onSuccess : function(obj) { document.getElementById('inside').innerHTML=obj.responseText; dodaj_efekty(); dodaj_tipsy();  },
				onError : function(obj) { alert("Error: " + obj.status); }
			});
		});
	},

	showProducts: function(type, page, param1, textid) {
		this.showPromotions();
		var efekty = $('inside').effects({duration: 500, transition: Fx.Transitions.Elastic.easeOut});
		if (textid==null) textid='';

		efekty.start({"opacity": 0}).chain(function() {

			advAJAX.post({
				url: "produkty.php",

				parameters : {
				"type" : type,
				"page" : page,
				"param1" : param1,
				"textid" : textid
				},

				onLoading : function(obj) {efekty.start({"opacity": 1}); document.getElementById('inside').innerHTML='<div style="font-size:10px; padding: 10px; width:470px; text-align:center;"><br /><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
				onSuccess : function(obj) { document.getElementById('inside').innerHTML=obj.responseText; dodaj_efekty(); efekty.start({"opacity": 1});},
				onError : function(obj) { alert("Error: " + obj.status); }

			});

		});
	},

	showProductsR: function zmien_produkty(type, page, param1)
	{
		this.showPromotions();

		var efekty = $('inside').effects({duration: 500, transition: Fx.Transitions.Elastic.easeOut});
		efekty.start({"opacity": 0}).chain(function() {

			advAJAX.post({
				url: "produkty.php",

				parameters : {
				"type" : type,
				"page" : page,
				"param1" : param1
				},

				onLoading : function(obj) {efekty.start({"opacity": 1}); document.getElementById('inside').innerHTML='<div style="font-size:10px; padding: 10px; width:470px; text-align:center;"><br /><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
				onSuccess : function(obj) { document.getElementById('inside').innerHTML=obj.responseText; dodaj_efekty(); efekty.start({"opacity": 1});},
				onError : function(obj) { alert("Error: " + obj.status); }

			});
		})
	}
};

function changeRegType(type)
{
	var typeobj=document.getElementById('send_form_rejestracja_c_type');

	var typefirm=document.getElementById('typefirm');
	var typenip=document.getElementById('typenip');
	var typeregon=document.getElementById('typeregon');

	switch(typeobj.selectedIndex)
	{
		case 0:
		typefirm.style.display='none';
		typenip.style.display='none';
		typeregon.style.display='none';
		break;

		case 1:
		case 2:
		typefirm.style.display='';
		typenip.style.display='';
		typeregon.style.display='';
		break;
	}
}

function checkNIP(inputVal)
{

	if (!inputVal.match( /^[0-9]{3}-[0-9]{2}-[0-9]{2}-[0-9]{3}$/ )
	&& !inputVal.match( /^[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}$/ )
	&& !inputVal.match( /^[0-9]{10}$/ ))
	{return false;}

	var arg = inputVal.replace(/-/g,'');
	var coefficients = "657234567";
	var sum=0;
	var index=8;
	for (index=8; index>=0 ;index--)
	sum += (parseInt(coefficients.charAt(index)) * parseInt(arg.charAt(index)));

	if ( (sum % 11) == 10 ? false : ((sum % 11) == parseInt(arg.charAt(9))) ) return true;
	else return false;
}

function CheckREGON(str)
{
	if (str.length != 9)
	{
		return false;
	}

	var arrSteps = new Array(8, 9, 2, 3, 4, 5, 6, 7);
	var intSum=0;
	for (i = 0; i < 8; i++)
	{
		intSum = intSum + arrSteps[i] * str[i];
	}
	var inte = intSum % 11;
	var intControlNr=(inte == 10)?0:inte;
	if (intControlNr == str[8])
	{
		return true;
	}
	return false;
}


function checkMail(inputVal)
{
	if (!inputVal.match(/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/))
	return false;
	else
	return true;
}

function send_form_rejestracja_check()
{
	var mailobj=document.getElementById('send_form_rejestracja_mail');
	var nipobj=document.getElementById('send_form_rejestracja_nip');
	var typeobj=document.getElementById('send_form_rejestracja_c_type');
	var regon=document.getElementById('regon');
	var login=document.getElementById('login');
	var surname=document.getElementById('surname');
	var telefon=document.getElementById('telefon');
	var country=document.getElementById('country');
	var pass1=document.getElementById('pass1');
	var pass2=document.getElementById('pass2');

	if(login.value == ''){
		document.getElementById('login_msg').innerHTML = 'Brak loginu';
		login.focus();
		return false;
	}
	else {
		document.getElementById('login_msg').innerHTML = '';
	}

	advAJAX.post({
		url: "check_login.php",
		parameters : {
		"login" : login.value
		},
		onSuccess : function(obj) {
			if(obj.responseText == 'error'){
				document.getElementById('login_msg').innerHTML = 'Login u użyciu';
				login.focus();
				return false;
			}
			else {
				document.getElementById('login_msg').innerHTML = '';
			}
		}
	});

	if(pass1.value != pass2.value){
		document.getElementById('pass1_msg').innerHTML = 'Hasła nie są takie same';
		pass1.focus();
		return false;
	}
	else {
		document.getElementById('pass1_msg').innerHTML = '';
	}
	if(pass1.value == ''){
		document.getElementById('pass1_msg').innerHTML = 'Brak hasła';
		pass1.focus();
		return false;
	}
	else {
		document.getElementById('pass1_msg').innerHTML = '';
	}

	if(surname.value == ''){
		document.getElementById('surname_msg').innerHTML = 'Brak imienia i nazwiska';
		surname.focus();
		return false;
	}
	else {
		document.getElementById('surname_msg').innerHTML = '';
	}

	if (!checkMail((mailobj.value).replace(/^\s+|\s+$/g, '')))
	{
		document.getElementById('email_msg').innerHTML = 'Podano błędny E-mail';
		mailobj.focus();
		return false;
	}
	else {
		document.getElementById('email_msg').innerHTML = '';
	}

	if (typeobj.selectedIndex!=0 && !checkNIP(nipobj.value))
	{
		document.getElementById('nip_msg').innerHTML = 'Podano błędny NIP';
		typeobj.focus();
		nipobj.focus();
		return false;
	}
	else {
		document.getElementById('nip_msg').innerHTML = '';
	}

	if (typeobj.selectedIndex!=0 && !CheckREGON(regon.value))
	{
		document.getElementById('regon_msg').innerHTML = 'Podano błędny REGON';
		typeobj.focus();
		regon.focus();
		return false;
	}
	else {
		document.getElementById('regon_msg').innerHTML = '';
	}


	if(telefon.value == ''){
		document.getElementById('telefon_msg').innerHTML = 'Brak telefonu';
		telefon.focus();
		return false;
	}
	else {
		document.getElementById('telefon_msg').innerHTML = '';
	}

	if(country.value == ''){
		document.getElementById('country_msg').innerHTML = 'Brak kraju';
		country.focus();
		return false;
	}
	else {
		document.getElementById('country_msg').innerHTML = '';
	}

	return true;
}

function send_form_edit_check()
{
	var typeobj=document.getElementById('l_cust_type');

	if (typeobj.value=='firma')
	{
		var nipobj=document.getElementById('send_form_edit_nip');

		if (!checkNIP(nipobj.value))
		{
			alert('Podano błędny numer NIP');
			nipobj.focus();

			return false;
		}
	}

	return true;
}


function dodaj_tipsy()
{
	var Tips2 = new Tips($$('.Tips2'), {
		initialize:function(){
			this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0);
		},
		onShow: function(toolTip) {
			this.fx.start(1);
		},
		onHide: function(toolTip) {
			this.fx.start(0);
		}
	});
}

function dodaj_tipsyConst()
{
	var Tips2 = new Tips($$('.Tips'), {
		initialize:function(){
			this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0);
		},
		onShow: function(toolTip) {
			this.fx.start(1);
		},
		onHide: function(toolTip) {
			this.fx.start(0);
		}
	});
}


function send_form()
{

	advAJAX.submit(document.getElementById("send_form"), {

		onLoading : function(obj) { document.getElementById('zamowienie').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;">Trwa wysyłanie zamówienia<br /><img src="images/preloader_pink.gif" /></div>' },
		onSuccess : function(obj) {	document.getElementById('zamowienie').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }

	});

}

function send_form_login()
{

	advAJAX.submit(document.getElementById("send_form_login"), {

		onLoading : function(obj) { document.getElementById('login').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;">Trwa logowanie<br /><img src="images/preloader_pink.gif" /></div>' },

		onSuccess : function(obj) {
			if (obj.responseText=="reload")
			window.location.reload();
			else
			{
				document.getElementById('login').innerHTML=obj.responseText;
				pokaz_koszyk();
			}
		},

		onError : function(obj) { alert("Error: " + obj.status); }

	});

}

function send_form_rejestracja()
{
	advAJAX.submit(document.getElementById("send_form_rejestracja"), {

		onLoading : function(obj) { document.getElementById('inside').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;">Trwa logowanie<br /><img src="images/preloader_pink.gif" /></div>' },
		onSuccess : function(obj) {	document.getElementById('inside').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }

	});

}

function send_form2(id)
{

	advAJAX.submit(document.getElementById("send_form_"+id), {

		onLoading : function(obj) { document.getElementById('cart').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;">Trwa zapisywanie<br /><br /><img src="images/preloader_pink.gif" /></div>' },
		onSuccess : function(obj) {	document.getElementById('cart').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }

	});

}

function rejestracja()
{
	advAJAX.post({
		url: "rejestracja.php",

		onLoading : function(obj) { document.getElementById('inside').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('inside').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }

	});

}
function przetwarzaj_dane()
{
	var brakuje_danych=false;
	var formularz=document.getElementById("form_comment");
	var komunikat=new Array();

	if (formularz.author.value == ""){
		document.getElementById('author').style.color='red';
		brakuje_danych=true;
	}
	else{
		document.getElementById('author').style.color='#666';
	}

	if (formularz.cont.value == ""){
		document.getElementById('cont').style.color='red';
		brakuje_danych=true;
	}
	else{
		document.getElementById('cont').style.color='#666';
	}

	if (!brakuje_danych)
	{
		document.getElementById('message').style.color='#999999';
		document.getElementById('message').innerHTML='* pola oznaczone gwiazdką muszą być wypełnione.';
		return true;
	}
	else
	{
		document.getElementById('message').style.color='red';
		document.getElementById('message').innerHTML='* nie wypełniono wymaganych pól.';
		return false;
	}
}
function komentarze(name,id,page,sended)
{
	advAJAX.post({
		url: "komentarze.php",

		parameters : {
		"p_name" : name,
		"p_id"   : parseInt(id),
		"page"   : page,
		"sended"   : sended
		},

		onLoading : function(obj) { document.getElementById('komentarze').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('komentarze').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }

	});

}

function wyslij_zamowienie()
{
	advAJAX.post({
		url: "koszyk_send.php",

		onLoading : function(obj) { document.getElementById('cart').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('cart').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }

	});
}

function czysc_koszyk()
{
	advAJAX.post({
		url: "koszyk.php",

		parameters : {
		"trash_all" : 1
		},

		onLoading : function(obj) { document.getElementById('cart').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('cart').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }

	});
}

function add_prod(nr,id)
{
	advAJAX.post({
		url: "koszyk.php",

		parameters : {
		"add_prod" : nr,
		"id" : id
		},

		onLoading : function(obj) { document.getElementById('cart').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('cart').innerHTML=obj.responseText;},
		onError : function(obj) { alert("Error: " + obj.status); }

	});
}

function czysc_pozycje(id)
{
	advAJAX.post({
		url: "koszyk.php",

		parameters : {
		"trash" : id
		},

		onLoading : function(obj) { document.getElementById('cart').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('cart').innerHTML=obj.responseText;},
		onError : function(obj) { alert("Error: " + obj.status); }
	});
}

function czysc_pozycje_zamowienie(id)
{
	advAJAX.post({
		url: "zamowienie.php",

		parameters : {
		"trash" : id,
		"summary" : '1'
		},

		onLoading : function(obj) { document.getElementById('inside').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('inside').innerHTML=obj.responseText;},
		onError : function(obj) { alert("Error: " + obj.status); }
	});
}

function przelicz_produkty()
{
	advAJAX.post({
		url: "zamowienie.php",

		parameters : {
		"summary" : '1'
		},

		onLoading : function(obj) { document.getElementById('inside').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('inside').innerHTML=obj.responseText;},
		onError : function(obj) { alert("Error: " + obj.status); }
	});
}

function dodaj_koszyk(id, color)
{
	if (color==null) color='';
	if(document.getElementById('ilosc'))
	var ilosc = document.getElementById('ilosc').value

	advAJAX.post({
		url: "koszyk.php",

		parameters : {
		"id" : id,
		"ilosc" : ilosc,
		"color" : color
		},

		onLoading : function(obj) { document.getElementById('cart').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('cart').innerHTML=obj.responseText;},
		onError : function(obj) { alert("Error: " + obj.status); }
	});
}

function pokaz_koszyk()
{
	advAJAX.post({
		url: "koszyk.php",


		onLoading : function(obj) { document.getElementById('cart').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('cart').innerHTML=obj.responseText;},
		onError : function(obj) { alert("Error: " + obj.status); }
	});
}

function pokaz_login()
{
	advAJAX.post({
		url: "login.php",
		onLoading : function(obj) { document.getElementById('login').innerHTML='<div style="font-size:10px; padding: 10px; width:170px; text-align:center;"><br /><br /><img src="images/preloader_pink.gif" /><br /><br /></div>' },
		onSuccess : function(obj) { document.getElementById('login').innerHTML=obj.responseText; },
		onError : function(obj) { alert("Error: " + obj.status); }
	});
}

/* ******************************** MOOTOOLS ******************************** */
window.addEvent('domready', function() {


	var opcje = $$(".cartitem");
	var obiekt = {}, obiekt_l={};
	var efekt = new Fx.Elements(opcje, {wait: false, transition: Fx.Transitions.Back.easeOut});

	opcje.each(function(opcja, i){

		opcja.addEvent("mouseenter", function(){
			opcje.each(function(x,j){
				if (i == j) obiekt[j] = {'background-color': '#e7e7e7'};
			});
			efekt.start(obiekt);

		});

		opcja.addEvent("mouseleave", function(){
			opcje.each(function(x,j){
				if (i == j) obiekt[j] = {'background-color': '#ffffff'};
			});
			efekt.start(obiekt);
		});


	});

	var dropOptions = {
			duration: 200,
			
			idlecolor: '#ffffff',
			hovercolor:	'#d6d6d6',
			dragcolor: '#e7e7e7'
	};
	
	var drop = $('cart');
	var dropFx = new Fx.Tween(drop, {property: 'background-color', duration: dropOptions.duration}); // wait is needed so that to toggle the effect,
	dropFx.start(dropOptions.idlecolor);

	$$('.cartitem').each(function(item) {
		item.addEvent('mousedown', function(e) {
			e = new Event(e);

			if (e && e.target && e.target.tagName!='A' && e.target.name!='more')
			{
				//
				e.stop();

				//var color=$(item.id+"_color");
				//var index=color ? color.selectedIndex : null;

				var clone = this.clone()
					.setStyles(this.getCoordinates()) // this returns an object with left/top/bottom/right, so its perfect
					.setStyles({'opacity': 0.7, 'position': 'absolute'})
					.inject(document.body);
				
				var itemid=this.get('id');
				
				var drag=new Drag.Move(clone, {
					droppables: drop,
					
					onStart: function(el) {
						dropFx.start(dropOptions.dragcolor);
					},
				
					onComplete: function(el, dr) {
						el.destroy();
						dropFx.start(dropOptions.idlecolor);
						
						if (dr) dodaj_koszyk(itemid, null);
					},
					
					onLeave: function(el, dr) {
						dropFx.start(dropOptions.dragcolor);
					},
					
					onEnter: function(el, dr) {
						dropFx.start(dropOptions.hovercolor);
					},
					onCancel: function(el, dr) {
						el.destroy();
						dropFx.start(dropOptions.idlecolor);
					}
				});

				//for (var x=0; x<clone.childNodes.length; x++)
				//if (clone.childNodes[x].tagName=='SELECT') clone.childNodes[x].selectedIndex=index;

				/*drop.addEvents({
				'drop': function() {
					dodaj_koszyk(clone.id, null);

					clone.remove();
					drop.removeEvents();
					// item.clone().inject(drop);
					dropFx.start('#d6d6d6').chain(dropFx.start.pass('#ededed', dropFx));
				},
				'over': function() {
					dropFx.start('#d6d6d6');
				},
				'leave': function() {
					dropFx.start('#e7e7e7');
				}
				});

				var drag = clone.makeDraggable({
					droppables: [drop]
				}); // this returns the dragged element*/

				drag.start(e); // start the event manual
			}
		});

	});

});