function zaznacz_obrazek(ktora_cecha,ktory){

	obj=document.getElementsByTagName('div');
	for(i=0;i<obj.length;i++){

		if(obj[i].id.substring(0,4)=='img_'){
			var tmp= ktora_cecha+'_'+ktory;


			if(tmp==obj[i].id.substring(4)){

				obj[i].style.border='1px solid black'
			} else {
				if(ktora_cecha==obj[i].id.substring(4,5))
					obj[i].style.border='1px solid white';
			}
		}
	}

}
function populate(mitems,next,o,name,prices,photos,photos_md5,photos_id){	
	d=document.getElementById(next);
	p=document.getElementById(next + '_photos');
	
	if(p!==null) {p.innerHTML = '';}
	if(!d){return;}

	d.options.length=0;

	cur=mitems[o.options[o.selectedIndex].value];
	if(!cur){
		d.options.length = 1;
		d.options[0].text='wybierz '+name;
		d.options[0].value=0;
	} else {

		d.options.length=cur.length;
		for(var i=0;i<cur.length;i++){
			if(i>0) d.options[i].text=cur[i].text+' '+prices[o.options[o.selectedIndex].value][i];
			else d.options[i].text=cur[i].text;
			d.options[i].value=cur[i].value;
			if(photos!=undefined && i>0 && photos[o.options[o.selectedIndex].value][i]) p.innerHTML = p.innerHTML + "<img style='background-color: #E8E8E8; diplay: inline; margin: 1px; padding: 1px; border: 1px solid #C1C1C1;' width=35 height=35 src='" + photos_md5[o.options[o.selectedIndex].value][i] + "' onClick=\"zmien_opcje('"+photos_id[o.options[o.selectedIndex].value][i]+"',"+cur[i].value+");change_prices();\" onmouseover=\"getElementById('big-img').innerHTML='<img id=bbig_img src="+photos[o.options[o.selectedIndex].value][i]+" >';getElementById('big-img').style.display='block';if(findPos(this)[0]+40+getElementById('bbig_img').offsetWidth>document.body.clientWidth){getElementById('big-img').style.left=document.body.clientWidth-getElementById('bbig_img').offsetWidth-40+'px';}else{getElementById('big-img').style.left=findPos(this)[0]+40+'px';}getElementById('big-img').style.top=findPos(this)[1]+40+'px';\" onmouseout=\"getElementById('big-img').innerHTML='';getElementById('big-img').style.display='none';\" /> ";
			// p.innerHTML = p.innerHTML + '<img width=35 height=35
			// src=/images/mini/' + .photos[o.options[o.selectedIndex].value][i]
			// + '.jpg />';
		}

	}
	d.selectedIndex=0;
}

function findPos(obj) {
	// obj=document.getElementById(obj);
	var nleft = 0;
	var ntop = 0;
	if (obj.offsetParent) {
		nleft = obj.offsetLeft
		ntop = obj.offsetTop
		while (obj = obj.offsetParent) {
			nleft += obj.offsetLeft
			ntop += obj.offsetTop
		}
	}
	return [nleft,ntop];
}

function zmien_opcje(element,wartosc) {
	e=document.getElementById(element).value=wartosc;
}

function zmien(fform) {
	if(fform.adres_inny.checked == true) {
		fform['dane_klient[firma_wys]'].className='input_normal';
		fform['dane_klient[imie_wys]'].className='input_normal';
		fform['dane_klient[nazwisko_wys]'].className='input_normal';
		fform['dane_klient[adres_wys]'].className='input_normal';
		fform['dane_klient[miejscowosc_wys]'].className='input_normal';
		fform['dane_klient[kod_poczt_wys]'].className='input_normal';
		$(fform['dane_klient[kraj_wys]']).removeClass('input_disabled').addClass('input_normal').removeAttr('disabled');

		fform['dane_klient[firma_wys]'].disabled = false;
		fform['dane_klient[imie_wys]'].disabled = false;
		fform['dane_klient[nazwisko_wys]'].disabled = false;
		fform['dane_klient[adres_wys]'].disabled = false;
		fform['dane_klient[miejscowosc_wys]'].disabled = false;
		fform['dane_klient[kod_poczt_wys]'].disabled = false;
	} else {
		fform['dane_klient[firma_wys]'].className='input_disabled';
		fform['dane_klient[imie_wys]'].className='input_disabled';
		fform['dane_klient[nazwisko_wys]'].className='input_disabled';
		fform['dane_klient[adres_wys]'].className='input_disabled';
		fform['dane_klient[miejscowosc_wys]'].className='input_disabled';

		$(fform['dane_klient[kraj_wys]']).removeClass('input_normal').addClass('input_disabled').attr('disabled', '');

		fform['dane_klient[firma_wys]'].disabled = true;
		fform['dane_klient[imie_wys]'].disabled = true;
		fform['dane_klient[nazwisko_wys]'].disabled = true;
		fform['dane_klient[adres_wys]'].disabled = true;
		fform['dane_klient[miejscowosc_wys]'].disabled = true;
		fform['dane_klient[kod_poczt_wys]'].disabled = true;

		wpisuj(fform);

	}
	return true;
}


function check_order(fform) {
	
	var cc = check_client(fform);
	var cr = check_regulation(fform);
	var cp = ( fform['register'] != undefined && fform['register'].checked == true  ? check_pass(fform) : true);
	if( !cc || !cr ) return false;
	return true;
}

function check_register(fform) {
	
	var cc = check_client(fform);
	var cp = check_pass(fform);
	var cr = check_regulation(fform);
	if( !cc || !cr || !cp ) return false;
	return true;
}

function getSelectedRadio(buttonGroup) {
	// returns the array number of the selected radio button or -1 if no button
	// is selected
	if (buttonGroup[0]) { // if the button group is an array (one button is
		// not an array)
		for (var i=0; i<buttonGroup.length; i++) {
			if (buttonGroup[i].checked) {
				return i+1;
			}
		}
	} else {
		if (buttonGroup.checked) { return 1; } // if the one button is checked,
		// return zero
	}
	// if we get to this point, no radio button is selected
	return 0;
}

var test = {
	name:	function (input) { return (!/^[\S ]{3,}$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true); },
	surname: function (input) { return (!/^[\S -]{3,}$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true); },
	adres:	function (input) { return ( input.length < 3 || !/^.+[0-9]+.*$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true); },
	post_code: function (input) { return ( (typeof input == 'string' ? input : input.value).length < 5 ? false : true); },
	city:	function (input) { return ( (typeof input == 'string' ? input : input.value).length < 3 ? false : true); },
	country: function (input) { return ( (typeof input == 'string' ? input : input.value).length < 3 ? false : true); },
	email:	function (input) { return ( (typeof input == 'string' ? input : input.value).length < 6 || !/^.+@.+\.[a-z0-9]{2,6}$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true); },
	email_usable:	function (input) {

		if( test.email(input) )
		{
			var r = false;
			$.ajax({ 
				async: false,
				url: 'check.php?email='+(typeof input == 'string' ? input : input.value),
				dataType: 'json',
				success: function (data) { r = data['email']; }
			});

			return r;
		}
		return false;
	},
	username:	function (input) { return (!/^[\S ]{3,}$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true); },
	username_usable:	function (input) {
		
		if( test.username(input) )
		{
			var r = false;
			$.ajax({ 
				async: false,
				url: 'check.php?username='+(typeof input == 'string' ? input : input.value),
				dataType: 'json',
				success: function (data) { r = data['username']; }
			});
			return r;
		}
		return false;
	},
	password:	function (input) { return (!/^[\S ]{3,}$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true); },
	phone:	function (input) { return ( !/^[0-9-() ]{5,}$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true); },
	
	password_re:	function (obj, pass) {

		if( typeof obj != 'object' ) return false;
		
		$(obj).removeClass('invalid valid');
		var r = obj.value != pass ? false : true;
		if( !r ) {
			$(obj).addClass('invalid');
			test.tooltip.show(obj);
		}
		else {
			$(obj).addClass('valid');
			test.tooltip.hide();
		}
		return r;
	},
	
	one:	function (t, obj) {

		if( typeof obj != 'object' ) return false;
		
		$(obj).removeClass('invalid valid');
		var r = false;
		eval('r = test.'+t+'(obj);');
		if( !r ) {
			$(obj).addClass('invalid');
			test.tooltip.show(obj);
		}
		else {
			$(obj).addClass('valid');
			test.tooltip.hide();
		}
		return r;
	},
	
	tooltip: {
		show: function(obj) {
		
			if( $('#test_tooltip').length == 0 )
				$('body').append('<div id="test_tooltip" style="position: absolute; display: none;"><div class="content">test</div></div>');

			var msg = $(obj).attr('data-invalid_msg');
			if( msg == undefined || msg.length == 0 ) return;

			$('#test_tooltip').css('display', 'block');
			$('#test_tooltip .content').html( $(obj).attr('data-invalid_msg') );
			var offset = $(obj).offset();
			var offset_tt = $('#test_tooltip').offset();
			if( $('#test_tooltip').css('opacity') != 0
				&& offset_tt.top == offset.top - $('#test_tooltip').height()
				&& offset_tt.left == offset.left ) return;
			$('#test_tooltip').css('top', offset.top-$('#test_tooltip').height() );
			$('#test_tooltip').css('left', offset.left );
			
			$('#test_tooltip').css('opacity', 0);
			$('#test_tooltip').fadeTo(300, 1);

		},
		
		hide: function(force) {
		    if(test.tooltip.is_on() == true) {
			if( force != undefined && force == true ) $('#test_tooltip').css('display', 'none');
			else $('#test_tooltip').fadeTo(300, 0, function() { $('#test_tooltip').css('display', 'none'); });
		  }
		},
		
		is_on: function () { return $('#test_tooltip').length == 1 && $('#test_tooltip').css('display') == 'block' ? true : false; }
	}
};

function check_client(fform) {
	$(fform).find('input').removeClass('invalid valid');
	var r = true;

	if( !test.name(fform['dane_klient[imie]']) ) 
	{ 
		/* alert('Prosimy podać swoje imię.'); */ 
		if( r ) fform['dane_klient[imie]'].focus();
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[imie]']); 
		$(fform['dane_klient[imie]']).addClass('invalid');
		r = false; 
	}
	
	if( !test.surname(fform['dane_klient[nazwisko]']) )
	{ 
		/* alert('Prosimy podać swoje nazwisko.'); */
		if( r ) fform['dane_klient[nazwisko]'].focus();
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[nazwisko]']);
		$(fform['dane_klient[nazwisko]']).addClass('invalid');
		r = false; 
	}
	
	if( !test.adres(fform['dane_klient[adres]']) )
	{
		/* alert('Prosimy podać swój adres zamieszkania.'); */
		if( r ) fform['dane_klient[adres]'].focus(); 
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[adres]']);
		$(fform['dane_klient[adres]']).addClass('invalid');
		r = false; 
	}
	
	if( !test.post_code(fform['dane_klient[kod_poczt]']) )
	{
		/* alert('Prosimy podać kod pocztowy.'); */
		if( r ) fform['dane_klient[kod_poczt]'].focus();
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[kod_poczt]']);
		$(fform['dane_klient[kod_poczt]']).addClass('invalid');
		r = false; 
	}
	if( !test.city(fform['dane_klient[miejscowosc]']) )
	{
		/* alert('Prosimy podać miejscowość zamieszkania.'); */
		if( r ) fform['dane_klient[miejscowosc]'].focus();
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[miejscowosc]']);
		$(fform['dane_klient[miejscowosc]']).addClass('invalid');
		r = false; 
	}

	if( fform['dane_klient[kraj]'] != undefined )
	{
		if( !test.country(fform['dane_klient[kraj]']) ) 
		{
			/* alert('Prosimy podać kraj.'); */
			if( r ) fform['dane_klient[kraj]'].focus();
			if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[kraj]']);
			$(fform['dane_klient[kraj]']).addClass('invalid');
			r = false; 
		}
	}

	if( fform.adres_inny != undefined )
	{
		if( fform.adres_inny.value=='on' || fform.adres_inny.checked ) 
		{
			if( !test.name(fform['dane_klient[imie_wys]']) )
			{ 
				/* alert('Prosimy podać imię (adres do wysyłki).'); */
				if( r ) fform['dane_klient[imie_wys]'].focus();
				if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[imie_wys]']);
				$(fform['dane_klient[imie_wys]']).addClass('invalid');
				r = false; 
			}
			if( !test.surname(fform['dane_klient[nazwisko_wys]']) )
			{ 
				/* alert('Prosimy podać nazwisko (adres do wysyłki).'); */
				if( r ) fform['dane_klient[nazwisko_wys]'].focus();
				if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[nazwisko_wys]']);
				$(fform['dane_klient[nazwisko_wys]']).addClass('invalid');
				r = false; 
			}
			if( !test.adres(fform['dane_klient[adres_wys]']) ) 
			{
				/*
				 * alert('Prosimy podać swój adres zamieszkania(adres do
				 * wysyłki).');
				 */
				if( r ) fform['dane_klient[adres_wys]'].focus();
				if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[adres_wys]']);
				$(fform['dane_klient[adres_wys]']).addClass('invalid');
				r = false; 
			}
			if( !test.post_code(fform['dane_klient[kod_poczt_wys]']) ) 
			{ 
				/* alert('Prosimy podać kod pocztowy (adres do wysyłki).'); */
				if( r ) fform['dane_klient[kod_poczt_wys]'].focus();
				if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[kod_poczt_wys]']);
				$(fform['dane_klient[kod_poczt_wys]']).addClass('invalid');
				r = false; 
			}
			if ( !test.city(fform['dane_klient[miejscowosc_wys]']) ) 
			{ 
				/* alert('Prosimy podać miejscowość (adres do wysyłki).'); */
				if( r ) fform['dane_klient[miejscowosc_wys]'].focus();
				if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[miejscowosc_wys]']);
				$(fform['dane_klient[miejscowosc_wys]']).addClass('invalid');
				r = false; 
			}

			if( fform['dane_klient[kraj_wys]'] != undefined )
			{
				if( !test.country(fform['dane_klient[kraj_wys]']) ) 
				{ 
					/* alert('Prosimy podać kraj(adres do wysyłki).'); */
					if( r ) fform['dane_klient[kraj_wys]'].focus();
					if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[kraj_wys]']);
					$(fform['dane_klient[kraj_wys]']).addClass('invalid');
					r = false; 
				}
			}
		}
	}

	if( !test.email(fform['dane_klient[email]']) ) 
	{ 
		/* alert('Prosimy podać adres e-mail.'); */
		if( r ) fform['dane_klient[email]'].focus();
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[email]']);
		$(fform['dane_klient[email]']).addClass('invalid');
		r = false; 
	}

	if( !test.phone(fform['dane_klient[telefon]']) ) 
	{
		/* alert('Prosimy podać swój telefon.'); */
		if( r )fform['dane_klient[telefon]'].focus();
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[telefon]']);
		$(fform['dane_klient[telefon]']).addClass('invalid');
		r = false;
	}

	if( !r ) $('#register_invalid').css('display', 'block');
	else $('#register_msg').css('display', 'none');

	return r;
}


function check_pass(fform) {
	var r = true;
	
	if( fform['dane_klient[uzytkownik]'] != undefined && 
		fform['dane_klient[uzytkownik]'].value.length < 1 ) 
	{
/*		alert('Użytkownik o tej nazwie użytkownika już istnieje!');*/
		$(fform['dane_klient[uzytkownik]']).addClass('invalid');
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[uzytkownik]']);
		r = false;
	}
	if( fform['dane_klient[haslo]'].value.length < 3 ) { 
/*		alert('Nie wpisano hasła użytkownika, bądź jest za krótkie!'); 
		fform['dane_klient[haslo]'].focus();*/ 
		$(fform['dane_klient[haslo]']).addClass('invalid');
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[haslo]']);
		$(fform.haslo_2).addClass('invalid');
		r = false;
	}
	if( fform.haslo_2.value != fform['dane_klient[haslo]'].value ) { 
/*		alert('Podano dwa różne hasła.'); 
		fform.haslo_2.focus();*/
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform['dane_klient[haslo]']);
		$(fform.haslo_2).addClass('invalid');
		r = false;
	}
	
/*	if( !r ) $('#register_invalid').css('display', 'block');
	else $('#register_msg').css('display', 'none');*/

	return r;
}

function check_regulation(fform){
	if( fform.rules.checked == false )
	{
		if( test.tooltip.is_on() == false ) test.tooltip.show(fform.rules); 
		//{ alert('Prosimy zaznaczyć opcję "Zapoznałem się z regulaminem sklepu"'); return false; }
		return false;
	}
	return true;
}


function wpisuj(fform){
	if(fform.adres_inny.checked==false){
		fform['dane_klient[firma_wys]'].value=fform['dane_klient[firma]'].value;
		fform['dane_klient[imie_wys]'].value=fform['dane_klient[imie]'].value;
		fform['dane_klient[nazwisko_wys]'].value=fform['dane_klient[nazwisko]'].value;
		fform['dane_klient[adres_wys]'].value=fform['dane_klient[adres]'].value;
		fform['dane_klient[miejscowosc_wys]'].value=fform['dane_klient[miejscowosc]'].value;
		fform['dane_klient[kod_poczt_wys]'].value=fform['dane_klient[kod_poczt]'].value;
		
		if( fform['dane_klient[kraj_wys]'] != undefined )	fform['dane_klient[kraj_wys]'].value=fform['dane_klient[kraj]'].value;
	}
	return true;
}


function number_format(a, b, c, d) {
// number_format(number, decimals, comma, formatSeparator)
	a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
	e = a + '';
	f = e.split('.');
	if(!f[0]) f[0] = '0';
	if(!f[1]) f[1] = '';
	if(f[1].length < b){
		g = f[1];
		for(i = f[1].length + 1; i <= b; i++) {
			g += '0';
		}
		f[1] = g;
	}
	if(d != '' && f[0].length > 3) {
		h = f[0];
		f[0] = '';
		for(j = 3; j < h.length; j += 3) {
			i = h.slice(h.length - j, h.length - j + 3);
			f[0] = d + i +  f[0] + '';
		}
		j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
		f[0] = j + f[0];
	}
	c = (b <= 0) ? '': c;
	return f[0] + c + f[1];
}

function show_element(id) {
	if (document.getElementById(id))
		document.getElementById(id).style.display='block';
}

function hide_element(id) {
	if (document.getElementById(id))
		document.getElementById(id).style.display='none';
}

function bookmark_change(id) {
	hide_element('bm_g');
	hide_element('bm_ba');
	hide_element('bm_c');
	show_element(id);

	document.getElementById('bm_g_l').className='bm_off_l';
	document.getElementById('bm_g_m').className='bm_off_m';
	document.getElementById('bm_g_r').className='bm_off_r';

	document.getElementById('bm_ba_l').className='bm_off_l';
	document.getElementById('bm_ba_m').className='bm_off_m';
	document.getElementById('bm_ba_r').className='bm_off_r';

	document.getElementById('bm_c_l').className='bm_off_l';
	document.getElementById('bm_c_m').className='bm_off_m';
	document.getElementById('bm_c_r').className='bm_off_r';

	document.getElementById(id+'_l').className='bm_on_l';
	document.getElementById(id+'_m').className='bm_on_m';
	document.getElementById(id+'_r').className='bm_on_r';
}

function chClass(id,nclass)
{
	var item = document.getElementById(id);
	if(item)
	item.className=nclass ;
}

var GLOBAL_CURRENCY='zł';
var GLOBAL_COMA=',';

Number.prototype.addSeparators = function()
{
    num = this.toFixed(2).toString().split('.');
    return num[0].reverse().replace(/(\d{3})/g, "$1 ").reverse()+GLOBAL_COMA+num[1];
};

String.prototype.reverse = function() {
    var res = "";
    for (var i = this.length; i > 0; --i) {
        res += this.charAt(i - 1);
    }
    return res;
};

Number.prototype.number_format = function(){
    return this.addSeparators()+' '+GLOBAL_CURRENCY;
};
