//-------------------------------------------//products pages navigation//-------------------------------------------//

var upper_selected_element;

var lower_selected_element;

var last_selected_element;

var upper_selected_pages_part;

var break_call = false;

//previous button

var previous = {

	params: function() {

		pages_nr = $('pages_number').value;

		//if we reached begin of the list and no elements left

		if (($('upper_nav_selected') && $('upper_nav_selected').innerHTML == 1) || ($('lower_nav_selected') && $('lower_nav_selected').innerHTML == 1)) break_call = true;

		else {
			if ($('upper_nav_selected')) selected_value = $('upper_nav_selected').innerHTML;
			else  selected_value = $('lower_nav_selected').innerHTML;

			selected_value--;

			//if we have previous element set in the list

			if ($('upper_nav_'+selected_value) || $('lower_nav_'+selected_value)) {

				if($('upper_nav_selected')) $('upper_nav_selected').className = '';

				if($('lower_nav_selected')) $('lower_nav_selected').className = '';

				if($('upper_nav_'+selected_value)) $('upper_nav_'+selected_value).className = 'selected';

				if($('lower_nav_'+selected_value)) $('lower_nav_'+selected_value).className = 'selected';

				selected_value++;

				if($('upper_nav_selected')) $('upper_nav_selected').id = 'upper_nav_'+selected_value;

				if($('lower_nav_selected'))	$('lower_nav_selected').id = 'lower_nav_'+selected_value;

				if (pages_nr > 13) {

					if ($('upper_nav_1')) next_s = get_next_sibling($('upper_nav_1'));
					if ($('lower_nav_1')) next_s = get_next_sibling($('lower_nav_1'));
					
					counter = 1;

					while ((next_s.id != 'upper_next_pages_part_href') || (next_s.id != 'lower_next_pages_part_href')) {

						if((next_s.id == 'upper_previous_pages_part_href') || (next_s.id == 'lower_previous_pages_part_href')) break;

						counter++;

						next_s = get_next_sibling(next_s);

					}

					if (counter-selected_value > 1) {

						while (counter != selected_value+1) {

							if($('upper_productnavi') && $('upper_nav_'+counter)) $('upper_productnavi').removeChild($('upper_nav_'+counter));

							if($('lower_productnavi') && $('lower_nav_'+counter)) $('lower_productnavi').removeChild($('lower_nav_'+counter));

							counter--;

						}

					}

				}

				selected_value--;

				if($('upper_nav_'+selected_value)) $('upper_nav_'+selected_value).id = 'upper_nav_selected';

				if($('lower_nav_'+selected_value)) $('lower_nav_'+selected_value).id = 'lower_nav_selected';

			}

			else {

				if($('upper_nav_selected')) upper_previous_sib_page = get_previous_sibling($('upper_nav_selected'));

				if($('lower_nav_selected')) lower_previous_sib_page = get_previous_sibling($('lower_nav_selected'));

				if ((upper_previous_sib_page && upper_previous_sib_page.id == 'upper_next_pages_part_href') || (lower_previous_sib_page && lower_previous_sib_page.id == 'lower_next_pages_part_href')) {

					while (upper_previous_sib_page.id != 'upper_nav_3' || lower_previous_sib_page.id != 'lower_nav_3') {

						if($('upper_productnavi') && upper_previous_sib_page) $('upper_productnavi').removeChild(upper_previous_sib_page);

						if($('lower_productnavi') && lower_previous_sib_page) $('lower_productnavi').removeChild(lower_previous_sib_page);

						if($('upper_nav_selected')) upper_previous_sib_page = get_previous_sibling($('upper_nav_selected'));

						if($('lower_nav_selected')) lower_previous_sib_page = get_previous_sibling($('lower_nav_selected'));

					}
					if($('upper_productnavi') && $('upper_nav_selected')) add_link('...', 'upper_previous_pages_part_href', '', $('upper_nav_selected'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					if($('lower_productnavi') && $('lower_nav_selected')) add_link('...', 'lower_previous_pages_part_href', '', $('lower_nav_selected'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

				if($('upper_nav_selected')) {
					$('upper_nav_selected').className = '';
					value = $('upper_nav_selected').innerHTML;
				}

				if($('lower_nav_selected')) {
					$('lower_nav_selected').className = '';
					value = $('lower_nav_selected').innerHTML;
				}
				if (((pages_nr % 2 > 0 && $('upper_nav_'+(Number(pages_nr)-3)) && $('upper_nav_selected') && $('upper_nav_selected').innerHTML == (Number(pages_nr)-7)) || (pages_nr % 2 == 0  && $('upper_nav_'+(Number(pages_nr)-3)) && $('upper_nav_selected') && $('upper_nav_selected').innerHTML == (Number(pages_nr)-6))) || ((pages_nr % 2 > 0 && $('lower_nav_'+(Number(pages_nr)-3)) && $('lower_nav_selected') && $('lower_nav_selected').innerHTML == (Number(pages_nr)-7)) || (pages_nr % 2 == 0  && $('lower_nav_'+(Number(pages_nr)-3)) && $('lower_nav_selected') && $('lower_nav_selected').innerHTML == (Number(pages_nr)-6)))) {

					if($('upper_nav_'+(pages_nr-2))) add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					if($('lower_nav_'+(pages_nr-2))) add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

				if (((pages_nr % 2 > 0 && $('upper_next_pages_part_href') && $('upper_nav_'+(Number(value)+4)) && $('upper_nav_'+(Number(value)+3)) && $('upper_nav_'+(Number(value)+2)) && $('upper_nav_'+(Number(value)+1))) || (pages_nr % 2 == 0 && $('upper_next_pages_part_href') && $('upper_nav_'+(Number(value)+3)) && $('upper_nav_'+(Number(value)+2)) && $('upper_nav_'+(Number(value)+1)))) || ((pages_nr % 2 > 0 && $('lower_next_pages_part_href') && $('lower_nav_'+(Number(value)+4)) && $('lower_nav_'+(Number(value)+3)) && $('lower_nav_'+(Number(value)+2)) && $('lower_nav_'+(Number(value)+1))) || (pages_nr % 2 == 0 && $('lower_next_pages_part_href') && $('lower_nav_'+(Number(value)+3)) && $('lower_nav_'+(Number(value)+2)) && $('lower_nav_'+(Number(value)+1))))) {

					if($('upper_productnavi')) $('upper_productnavi').removeChild((pages_nr % 2 == 0 ? $('upper_nav_'+(Number(value)+3)) : $('upper_nav_'+(Number(value)+4))));

					if($('lower_productnavi')) $('lower_productnavi').removeChild((pages_nr % 2 == 0 ? $('lower_nav_'+(Number(value)+3)) : $('lower_nav_'+(Number(value)+4))));

				}

				if($('upper_nav_selected')) $('upper_nav_selected').id = 'upper_nav_'+value;

				if($('lower_nav_selected')) $('lower_nav_selected').id = 'lower_nav_'+value;

				value--;

				if($('upper_previous_pages_part_href')) add_link(value, 'upper_nav_selected', 'selected', get_next_sibling($('upper_previous_pages_part_href')), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

				if($('lower_previous_pages_part_href')) add_link(value, 'lower_nav_selected', 'selected', get_next_sibling($('lower_previous_pages_part_href')), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

				if (($('upper_nav_selected') && $('upper_nav_selected').innerHTML == 4) || ($('lower_nav_selected') && $('lower_nav_selected').innerHTML == 4)) {

					if (pages_nr % 2 > 0) {

						if($('upper_productnavi') && $('upper_nav_'+(Number(value)+4))) $('upper_productnavi').removeChild($('upper_nav_'+(Number(value)+4)));

						if($('lower_productnavi') && $('lower_nav_'+(Number(value)+4))) $('lower_productnavi').removeChild($('lower_nav_'+(Number(value)+4)));

					}

					if($('upper_productnavi')) {
						$('upper_productnavi').removeChild($('upper_nav_'+(Number(value)+3)));

						$('upper_productnavi').removeChild($('upper_previous_pages_part_href'));
					}
					if($('lower_productnavi')) {
						$('lower_productnavi').removeChild($('lower_nav_'+(Number(value)+3)));

						$('lower_productnavi').removeChild($('lower_previous_pages_part_href'));
					}
				}

			}

		}

		return {

			'rs': 'module_eshop.get_category_items_page',

			'rsargs[0]' : ($('upper_nav_selected') ? $('upper_nav_selected').innerHTML : $('lower_nav_selected').innerHTML),

			'rsargs[1]' : $('products_per_page').innerHTML

		}

	},

	res: function(originalRequest) {

		if(break_call == false) {

			$('pics_section').innerHTML = originalRequest.responseText;

		}

		else {

			//alert('call breaked after previous selection');

			break_call = false;

		}

	}

}



//next button

var next = {

	params: function() {

		pages_nr = $('pages_number').value;

		//if we are at the end of the list

		if (($('upper_nav_selected') && $('upper_nav_selected').innerHTML == pages_nr) || ($('lower_nav_selected') && $('lower_nav_selected').innerHTML == pages_nr)) break_call = true;

		else {

			if($('upper_nav_selected')) selected_value = $('upper_nav_selected').innerHTML;
			else if($('lower_nav_selected')) selected_value = $('lower_nav_selected').innerHTML;
			
			selected_value++;

			//if we have next element set in the list

			if ($('upper_nav_'+selected_value) || $('lower_nav_'+selected_value)) {

				if($('upper_nav_selected')) $('upper_nav_selected').className = '';

				if($('lower_nav_selected')) $('lower_nav_selected').className = '';

				if($('upper_nav_'+selected_value)) $('upper_nav_'+selected_value).className = 'selected';

				if($('lower_nav_'+selected_value)) $('lower_nav_'+selected_value).className = 'selected';

				selected_value--;

				if($('upper_nav_selected')) $('upper_nav_selected').id = 'upper_nav_'+selected_value;

				if($('lower_nav_selected')) $('lower_nav_selected').id = 'lower_nav_'+selected_value;

				if (pages_nr > 13) {

					if($('upper_nav_'+Number(pages_nr))) previous_s = get_previous_sibling($('upper_nav_'+Number(pages_nr)));
					else if($('lower_nav_'+Number(pages_nr))) previous_s = get_previous_sibling($('lower_nav_'+Number(pages_nr)));

					counter = 1;

					while (previous_s.id != 'upper_previous_pages_part_href' || previous_s.id != 'lower_previous_pages_part_href') {

						if(previous_s.id == 'upper_next_pages_part_href' || previous_s.id == 'lower_next_pages_part_href') break;

						counter++;

						previous_s = get_previous_sibling(previous_s);

					}

					if (counter-(pages_nr-selected_value) > 1) {

						while (Number(pages_nr)-counter+1 != selected_value-1) {

							if($('upper_productnavi')) $('upper_productnavi').removeChild($('upper_nav_'+(Number(pages_nr)-counter+1)));

							if($('lower_productnavi')) $('lower_productnavi').removeChild($('lower_nav_'+(Number(pages_nr)-counter+1)));

							counter--;

						}

					}

				}

				selected_value++;

				if($('upper_nav_'+selected_value)) $('upper_nav_'+selected_value).id = 'upper_nav_selected';

				if($('lower_nav_'+selected_value)) $('lower_nav_'+selected_value).id = 'lower_nav_selected';

			}

			else {

				if($('upper_nav_selected')) upper_next_sib_page = get_next_sibling($('upper_nav_selected'));

				if($('lower_nav_selected')) lower_next_sib_page = get_next_sibling($('lower_nav_selected'));

				if ((upper_next_sib_page && upper_next_sib_page.id == 'upper_previous_pages_part_href') || (lower_next_sib_page && lower_next_sib_page.id == 'lower_previous_pages_part_href')) {

					while (upper_next_sib_page.id != 'upper_nav_'+(Number(pages_nr)-2) || lower_next_sib_page.id != 'lower_nav_'+(Number(pages_nr)-2)) {

						if($('upper_productnavi')) $('upper_productnavi').removeChild(upper_next_sib_page);

						if($('lower_productnavi')) $('lower_productnavi').removeChild(lower_next_sib_page);

						if($('upper_nav_selected')) upper_next_sib_page = get_next_sibling($('upper_nav_selected'));

						if($('lower_nav_selected')) lower_next_sib_page = get_next_sibling($('lower_nav_selected'));

					}

					if($('upper_nav_'+(Number(pages_nr)-2))) add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(Number(pages_nr)-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					if($('lower_nav_'+(Number(pages_nr)-2))) add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(Number(pages_nr)-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

				if($('upper_nav_selected')) {
					$('upper_nav_selected').className = '';
					value = $('upper_nav_selected').innerHTML;
				}

				if($('lower_nav_selected')) {
					$('lower_nav_selected').className = '';
					value = $('lower_nav_selected').innerHTML;
				}
				if (((pages_nr % 2 > 0 && $('upper_nav_4') && $('upper_nav_selected').innerHTML == 8) || (pages_nr % 2 == 0 && $('upper_nav_4') && $('upper_nav_selected').innerHTML == 7)) || (pages_nr % 2 > 0 && $('lower_nav_4') && $('lower_nav_selected').innerHTML == 8) || (pages_nr % 2 == 0 && $('lower_nav_4') && $('lower_nav_selected').innerHTML == 7)) {

					if($('upper_nav_4')) add_link('...', 'upper_previous_pages_part_href', '', $('upper_nav_4'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					if($('lower_nav_4')) add_link('...', 'lower_previous_pages_part_href', '', $('lower_nav_4'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

				if (((pages_nr % 2 > 0 && $('upper_previous_pages_part_href') && $('upper_nav_'+(Number(value)-4)) && $('upper_nav_'+(Number(value)-3)) && $('upper_nav_'+(Number(value)-2)) && $('upper_nav_'+(Number(value)-1))) || (pages_nr % 2 == 0 && $('upper_previous_pages_part_href') && $('upper_nav_'+(Number(value)-3)) && $('upper_nav_'+(Number(value)-2)) && $('upper_nav_'+(Number(value)-1)))) || ((pages_nr % 2 > 0 && $('lower_previous_pages_part_href') && $('lower_nav_'+(Number(value)-4)) && $('lower_nav_'+(Number(value)-3)) && $('lower_nav_'+(Number(value)-2)) && $('lower_nav_'+(Number(value)-1))) || (pages_nr % 2 == 0 && $('lower_previous_pages_part_href') && $('lower_nav_'+(Number(value)-3)) && $('lower_nav_'+(Number(value)-2)) && $('lower_nav_'+(Number(value)-1))))) {

					if($('upper_productnavi')) $('upper_productnavi').removeChild((pages_nr % 2 == 0 ? $('upper_nav_'+(Number(value)-3)) : $('upper_nav_'+(Number(value)-4))));

					if($('lower_productnavi')) $('lower_productnavi').removeChild((pages_nr % 2 == 0 ? $('lower_nav_'+(Number(value)-3)) : $('lower_nav_'+(Number(value)-4))));

				}

				if($('upper_nav_selected')) $('upper_nav_selected').id = 'upper_nav_'+value;				

				if($('lower_nav_selected')) $('lower_nav_selected').id = 'lower_nav_'+value;				

				value++;

				if($('upper_next_pages_part_href')) add_link(value, 'upper_nav_selected', 'selected', $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

				if($('lower_next_pages_part_href')) add_link(value, 'lower_nav_selected', 'selected', $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

				if (($('upper_nav_selected') && Number($('upper_nav_selected').innerHTML) == (Number(pages_nr)-3)) || ($('lower_nav_selected') && Number($('lower_nav_selected').innerHTML) == (Number(pages_nr)-3))) {

					if (pages_nr % 2 > 0) {

						if($('upper_productnavi')) $('upper_productnavi').removeChild($('upper_nav_'+(Number(value)-4)));

						if($('lower_productnavi')) $('lower_productnavi').removeChild($('lower_nav_'+(Number(value)-4)));

					}
					if($('upper_productnavi')) {
						$('upper_productnavi').removeChild($('upper_nav_'+(Number(value)-3)));
						$('upper_productnavi').removeChild($('upper_next_pages_part_href'));
					}
					if($('lower_productnavi')) {
						$('lower_productnavi').removeChild($('lower_nav_'+(Number(value)-3)));
						$('lower_productnavi').removeChild($('lower_next_pages_part_href'));
					}
				}

			}

		}

		return {

			'rs': 'module_eshop.get_category_items_page',

			'rsargs[0]' : ($('upper_nav_selected') ? $('upper_nav_selected').innerHTML : $('lower_nav_selected').innerHTML),

			'rsargs[1]' : $('products_per_page').innerHTML

		}

	},

	res: function(originalRequest) {

		if(break_call == false) {

			//alert(originalRequest.responseText);

			$('pics_section').innerHTML = originalRequest.responseText;

		}

		else {

			//alert('call breaked after next selection');

			break_call = false;

		}

	}

}



//selecting page from the list

var get_page = {

	params: function() {

		//if this page already selected

		if (($(upper_selected_element) && $(upper_selected_element).id == 'upper_nav_selected') || ($(lower_selected_element) && $(lower_selected_element).id == 'lower_nav_selected')) {

			break_call = true;

		}

		else {

			if($('upper_nav_selected')) {
				upper_old_elem = $('upper_nav_selected');
				upper_old_elem.className = '';
				try {
					upper_old_elem.attachEvent('onclick', function() {get_page_event(event);}, false);
				}
	
				catch(e) {
					upper_old_elem.setAttribute('onclick', 'get_page_event(event);');
				}
				upper_old_elem.id = 'upper_nav_'+upper_old_elem.innerHTML;
			}
			if($('lower_nav_selected')) {
				lower_old_elem = $('lower_nav_selected');
				lower_old_elem.className = '';
				try {
					if(lower_old_elem) lower_old_elem.attachEvent('onclick', function() {get_page_event(event);}, false);
				}
	
				catch(e) {
					if(lower_old_elem) lower_old_elem.setAttribute('onclick', 'get_page_event(event);');
				}
				lower_old_elem.id = 'lower_nav_'+lower_old_elem.innerHTML;
			}


			if (last_selected_element == 'lower') {

				if($(lower_selected_element)) sel_page = $(lower_selected_element).innerHTML;
				if($('upper_nav_'+sel_page)) {
					$('upper_nav_'+sel_page).className = 'selected';
					$('upper_nav_'+sel_page).id = 'upper_nav_selected';
				}
				if($(lower_selected_element)) {
					$(lower_selected_element).className = 'selected';
					$(lower_selected_element).id = 'lower_nav_selected';
				}
			}

			else if (last_selected_element == 'upper') {

				if($(upper_selected_element)) sel_page = $(upper_selected_element).innerHTML;

				if($('lower_nav_'+sel_page)) {
					$('lower_nav_'+sel_page).className = 'selected';
					$('lower_nav_'+sel_page).id = 'lower_nav_selected';
				}
				if($(upper_selected_element)) {
					$(upper_selected_element).className = 'selected';
					$(upper_selected_element).id = 'upper_nav_selected';			
				}
			}

		}

		return {

			'rs': 'module_eshop.get_category_items_page',

			'rsargs[0]' : ($('upper_nav_selected') ? $('upper_nav_selected').innerHTML : $('lower_nav_selected').innerHTML),

			'rsargs[1]' : $('products_per_page').innerHTML

		}

	},

	res: function(originalRequest) {

		if(break_call == false) {

			//alert(originalRequest.responseText);

			$('pics_section').innerHTML = originalRequest.responseText;

		}

		else {

			//alert('call breaked after page selection');

			break_call = false;

		}

	}

}



//selecting next or previous part of the list ('...' link)

var get_part = {

	params: function (e) {

		if($('upper_nav_selected')) $('upper_nav_selected').className = '';

		if($('lower_nav_selected')) $('lower_nav_selected').className = '';

		try {

			$('upper_nav_selected').attachEvent('onclick', function() {get_page_event(event);}, false);

			$('lower_nav_selected').attachEvent('onclick', function() {get_page_event(event);}, false);

		}

		catch(e) {

			$('upper_nav_selected').setAttribute('onclick', 'get_page_event(event);');

			$('lower_nav_selected').setAttribute('onclick', 'get_page_event(event);');

		}

		$('upper_nav_selected').id = 'upper_nav_'+$('upper_nav_selected').innerHTML;

		$('lower_nav_selected').id = 'lower_nav_'+$('lower_nav_selected').innerHTML;

		pages_nr = $('pages_number').value;

		next_s = get_next_sibling($('upper_nav_1'));

		counter = 1;

		while (next_s.innerHTML != pages_nr) {

			counter++;

			next_s = get_next_sibling(next_s);

		}

		//if we have '...' in the middle

		if (counter == 6) {

			if (pages_nr % 2 > 0) {

				txt_val_begin = (Number(pages_nr)+1)/2-2;

				txt_val_end = txt_val_begin+4;

				while (txt_val_begin != (txt_val_end+1)) {

					add_link(txt_val_begin, 'upper_nav_'+(txt_val_begin == (txt_val_end-4) ? 'selected' : txt_val_begin), (txt_val_begin == (txt_val_end-4) ? 'selected' : ''), ($('upper_next_pages_part_href') ? $('upper_next_pages_part_href') : $('upper_nav_'+(Number(pages_nr)-2))), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

					add_link(txt_val_begin, 'lower_nav_'+(txt_val_begin == (txt_val_end-4) ? 'selected' : txt_val_begin), (txt_val_begin == (txt_val_end-4) ? 'selected' : ''), ($('lower_next_pages_part_href') ? $('lower_next_pages_part_href') : $('lower_nav_'+(Number(pages_nr)-2))), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

					txt_val_begin++;

				}

				if ($('upper_next_pages_part_href')) {

					add_link('...', 'upper_previous_pages_part_href', '', $('upper_nav_selected'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					add_link('...', 'lower_previous_pages_part_href', '', $('lower_nav_selected'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

				else {

					add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

			}

			else {

				txt_val_begin = Number(pages_nr)/2-1;

				txt_val_end = txt_val_begin+3;

				while (txt_val_begin != txt_val_end+1) {

					add_link(txt_val_begin, 'upper_nav_'+(txt_val_begin == (txt_val_end-3) ? 'selected' : txt_val_begin), (txt_val_begin == (txt_val_end-3) ? 'selected' : ''), ($('upper_next_pages_part_href') ? $('upper_next_pages_part_href') : $('upper_nav_'+(Number(pages_nr)-2))), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

					add_link(txt_val_begin, 'lower_nav_'+(txt_val_begin == (txt_val_end-3) ? 'selected' : txt_val_begin), (txt_val_begin == (txt_val_end-3) ? 'selected' : ''), ($('lower_next_pages_part_href') ? $('lower_next_pages_part_href') : $('lower_nav_'+(Number(pages_nr)-2))), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

					txt_val_begin++;

				}

				if ($('upper_next_pages_part_href')) {

					add_link('...', 'upper_previous_pages_part_href', '', $('upper_nav_selected'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					add_link('...', 'lower_previous_pages_part_href', '', $('lower_nav_selected'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

				else {

					add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

					add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

				}

			}

		}

		else if ($('upper_next_pages_part_href') && $('upper_previous_pages_part_href')) { //if we have two '...' links

			if (upper_selected_pages_part.id == 'upper_next_pages_part_href' || upper_selected_pages_part.id == 'lower_next_pages_part_href') {

				previous_element = get_previous_sibling($('upper_next_pages_part_href'));

				previous_element_val = previous_element.innerHTML;

				if (pages_nr % 2 > 0) {

					if (Number(previous_element_val)+5 >= pages_nr-3) {	

						upper_erase_element = get_next_sibling($('upper_previous_pages_part_href'));

						lower_erase_element = get_next_sibling($('lower_previous_pages_part_href'));

						for (i=0;i<5;i++) {

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						$('upper_productnavi').removeChild($('upper_next_pages_part_href'));

						$('lower_productnavi').removeChild($('lower_next_pages_part_href'));

						counter = pages_nr-7;

						while (counter != pages_nr-2) {

							add_link(counter, 'upper_nav_'+(counter == (pages_nr-7) ? 'selected' : counter), (counter == (pages_nr-7) ? 'selected' : ''), $('upper_nav_'+(Number(pages_nr)-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+(counter == (pages_nr-7) ? 'selected' : counter), (counter == (pages_nr-7) ? 'selected' : ''), $('lower_nav_'+(Number(pages_nr)-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

					}

					else {

						upper_erase_element = get_next_sibling($('upper_previous_pages_part_href'));

						lower_erase_element = get_next_sibling($('lower_previous_pages_part_href'));

						for (i=0;i<5;i++) {

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						counter = Number(previous_element_val)+1;

						while (counter != Number(previous_element_val)+6) {

							add_link(counter, 'upper_nav_'+(counter == Number(previous_element_val)+1 ? 'selected' : counter), (counter == Number(previous_element_val)+1 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+(counter == Number(previous_element_val)+1 ? 'selected' : counter), (counter == Number(previous_element_val)+1 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

					}

				}

				else {

					if (Number(previous_element_val)+4 >= pages_nr-3) {	

						upper_erase_element = get_next_sibling($('upper_previous_pages_part_href'));

						lower_erase_element = get_next_sibling($('lower_previous_pages_part_href'));

						for (i=0;i<4;i++) {

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						$('upper_productnavi').removeChild($('upper_next_pages_part_href'));

						$('lower_productnavi').removeChild($('lower_next_pages_part_href'));

						counter = pages_nr-6;

						while (counter != pages_nr-2) {

							add_link(counter, 'upper_nav_'+(counter == (pages_nr-6) ? 'selected' : counter), (counter == (pages_nr-6) ? 'selected' : ''), $('upper_nav_'+(Number(pages_nr)-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+(counter == (pages_nr-6) ? 'selected' : counter), (counter == (pages_nr-6) ? 'selected' : ''), $('lower_nav_'+(Number(pages_nr)-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

					}

					else {

						upper_erase_element = get_next_sibling($('upper_previous_pages_part_href'));

						lower_erase_element = get_next_sibling($('lower_previous_pages_part_href'));

						for (i=0;i<4;i++) {

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						counter = Number(previous_element_val)+1;

						while (counter != Number(previous_element_val)+5) {

							add_link(counter, 'upper_nav_'+(counter == Number(previous_element_val)+1 ? 'selected' : counter), (counter == Number(previous_element_val)+1 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+(counter == Number(previous_element_val)+1 ? 'selected' : counter), (counter == Number(previous_element_val)+1 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

					}

				}

			}

			else {

				previous_element = get_next_sibling($('upper_previous_pages_part_href'));

				previous_element_val = previous_element.innerHTML;

				if (pages_nr % 2 > 0) {

					if (Number(previous_element_val)-5 <= 4) {

						upper_erase_element = $('upper_previous_pages_part_href');

						lower_erase_element = $('lower_previous_pages_part_href');

						for (i=0;i<6;i++) {

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						counter = 4;

						while (counter != 9) {

							add_link(counter, 'upper_nav_'+counter, '', $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+counter, '', $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

						if ($('upper_nav_selected')) {

							$('upper_nav_selected').className = '';

							$('upper_nav_selected').id = 'upper_nav_'+$('upper_nav_selected').innerHTML;

							$('lower_nav_selected').className = '';

							$('lower_nav_selected').id = 'lower_nav_'+$('lower_nav_selected').innerHTML;

						}

						$('upper_nav_1').className = 'selected';

						$('upper_nav_1').id = 'upper_nav_selected';

						$('lower_nav_1').className = 'selected';

						$('lower_nav_1').id = 'lower_nav_selected';

					}

					else {

						upper_erase_element = get_next_sibling($('upper_previous_pages_part_href'));

						lower_erase_element = get_next_sibling($('lower_previous_pages_part_href'));

						for (i=0;i<5;i++) {

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						counter = Number(previous_element_val)-5;

						while (counter != Number(previous_element_val)) {

							add_link(counter, 'upper_nav_'+(counter == Number(previous_element_val)-5 ? 'selected' : counter), (counter == Number(previous_element_val)-5 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+(counter == Number(previous_element_val)-5 ? 'selected' : counter), (counter == Number(previous_element_val)-5 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

					}

				}

				else {

					if (Number(previous_element_val)-4 <= 4) {

						upper_erase_element = $('upper_previous_pages_part_href');

						lower_erase_element = $('lower_previous_pages_part_href');

						for (i=0;i<5;i++) {

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						counter = 4;

						while (counter != 8) {

							add_link(counter, 'upper_nav_'+counter, '', $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+counter, '', $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

						if ($('upper_nav_selected')) {

							$('upper_nav_selected').className = '';

							$('upper_nav_selected').id = 'upper_nav_'+$('upper_nav_selected').innerHTML;

							$('lower_nav_selected').className = '';

							$('lower_nav_selected').id = 'lower_nav_'+$('lower_nav_selected').innerHTML;

						}

						$('upper_nav_1').className = 'selected';

						$('upper_nav_1').id = 'upper_nav_selected';

						$('lower_nav_1').className = 'selected';

						$('lower_nav_1').id = 'lower_nav_selected';

					}

					else {

						upper_erase_element = get_next_sibling($('upper_previous_pages_part_href'));

						lower_erase_element = get_next_sibling($('lower_previous_pages_part_href'));

						for (i=0;i<4;i++) {

							upper_erase_element_tmp = get_next_sibling(upper_erase_element);

							lower_erase_element_tmp = get_next_sibling(lower_erase_element);

							$('upper_productnavi').removeChild(upper_erase_element);

							$('lower_productnavi').removeChild(lower_erase_element);

							upper_erase_element = upper_erase_element_tmp;

							lower_erase_element = lower_erase_element_tmp;

						}

						counter = Number(previous_element_val)-4;

						while (counter != Number(previous_element_val)) {

							add_link(counter, 'upper_nav_'+(counter == Number(previous_element_val)-4 ? 'selected' : counter), (counter == Number(previous_element_val)-4 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(counter, 'lower_nav_'+(counter == Number(previous_element_val)-4 ? 'selected' : counter), (counter == Number(previous_element_val)-4 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							counter++;

						}

					}

				}

			}

		}

		else {	

			left_count = 0;

			right_count = 0;

			if ($('upper_nav_selected')) {

				$('upper_nav_selected').className = '';

				$('upper_nav_selected').id = 'upper_nav_'+$('upper_nav_selected').innerHTML;

			}

			if ($('upper_next_pages_part_href')) el = $('upper_next_pages_part_href');

			else el = $('upper_previous_pages_part_href');

			previous_el = el;

			while (previous_el.innerHTML != 1) {

				previous_el = get_previous_sibling(previous_el);

				left_count++;

			}

			next_el = el;

			while (next_el.innerHTML != pages_nr) {

				next_el = get_next_sibling(next_el);

				right_count++;

			}

			//if we have one '...' link and we have more page numbers from right side

			if (right_count > left_count) {

				start_element = get_next_sibling(el);

				end_val = Number(start_element.innerHTML);

				while (end_val != (pages_nr-2)) {

					$('upper_productnavi').removeChild($('upper_nav_'+end_val));

					$('lower_productnavi').removeChild($('lower_nav_'+end_val));

					end_val++;

				}

				end_val = Number(start_element.innerHTML);

				if (pages_nr % 2 > 0) {

					begin_val = end_val - 5;

					if (begin_val < 5) {

						for(i=4;i<9;i++) {

							add_link(i, 'upper_nav_'+i, '', ($('upper_next_pages_part_href') ? $('upper_next_pages_part_href') : $('upper_previous_pages_part_href')), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(i, 'lower_nav_'+i, '', ($('lower_next_pages_part_href') ? $('lower_next_pages_part_href') : $('lower_previous_pages_part_href')), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

						}

						if ($('upper_previous_pages_part_href')) {

							upper_next_sib = get_next_sibling($('upper_previous_pages_part_href'));

							lower_next_sib = get_next_sibling($('lower_previous_pages_part_href'));

							$('upper_productnavi').removeChild($('upper_previous_pages_part_href'));

							$('lower_productnavi').removeChild($('lower_previous_pages_part_href'));

							add_link('...', 'upper_next_pages_part_href', '', upper_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_next_pages_part_href', '', lower_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

						$('upper_nav_1').className = 'selected';

						$('upper_nav_1').id = 'upper_nav_selected';

						$('lower_nav_1').className = 'selected';

						$('lower_nav_1').id = 'lower_nav_selected';

					}

					else {

						if ($('upper_next_pages_part_href')) {

							add_link('...', 'upper_previous_pages_part_href', '', $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_previous_pages_part_href', '', $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

						}

						else {

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

							add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

					}

				}

				else {

					begin_val = end_val - 4;

					if (begin_val < 5) {

						for(i=4;i<8;i++) {

							add_link(i, 'upper_nav_'+i, '', ($('upper_next_pages_part_href') ? $('upper_next_pages_part_href') : $('upper_previous_pages_part_href')), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(i, 'lower_nav_'+i, '', ($('lower_next_pages_part_href') ? $('lower_next_pages_part_href') : $('lower_previous_pages_part_href')), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

						}

						if ($('upper_previous_pages_part_href')) {

							upper_next_sib = get_next_sibling($('upper_previous_pages_part_href'));

							lower_next_sib = get_next_sibling($('lower_previous_pages_part_href'));

							$('upper_productnavi').removeChild($('upper_previous_pages_part_href'));

							$('lower_productnavi').removeChild($('lower_previous_pages_part_href'));

							add_link('...', 'upper_next_pages_part_href', '', upper_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_next_pages_part_href', '', lower_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

						$('upper_nav_1').className = 'selected';

						$('upper_nav_1').id = 'upper_nav_selected';

						$('lower_nav_1').className = 'selected';

						$('lower_nav_1').id = 'lower_nav_selected';

					}

					else {

						if ($('upper_next_pages_part_href')) {

							add_link('...', 'upper_previous_pages_part_href', '', $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_previous_pages_part_href', '', $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

						}

						else {

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

							add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

					}

				}

			}

			else { //if we have one '...' link and we have more page numbers from left side

				start_element = get_previous_sibling(el);

				begin_val = Number(start_element.innerHTML);

				while (begin_val != 3) {

					$('upper_productnavi').removeChild($('upper_nav_'+begin_val));

					$('lower_productnavi').removeChild($('lower_nav_'+begin_val));

					begin_val--;

				}

				begin_val = Number(start_element.innerHTML)+1;

				if (pages_nr % 2 > 0) {

					end_val = begin_val + 5;

					if (end_val >= pages_nr-2) {

						for(i=(pages_nr-7);i<(pages_nr-2);i++) {

							add_link(i, 'upper_nav_'+(i == (pages_nr-7) ? 'selected' : i), (i == (pages_nr-7) ? 'selected' : ''), $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(i, 'lower_nav_'+(i == (pages_nr-7) ? 'selected' : i), (i == (pages_nr-7) ? 'selected' : ''), $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

						}

						if ($('upper_next_pages_part_href')) {

							upper_next_sib = get_next_sibling($('upper_next_pages_part_href'));

							lower_next_sib = get_next_sibling($('lower_next_pages_part_href'));

							$('upper_productnavi').removeChild($('upper_next_pages_part_href'));

							$('lower_productnavi').removeChild($('lower_next_pages_part_href'));

							add_link('...', 'upper_previous_pages_part_href', '', upper_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_previous_pages_part_href', '', lower_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

					}

					else {

						if ($('upper_next_pages_part_href')) {

							add_link('...', 'upper_previous_pages_part_href', '', $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_previous_pages_part_href', '', $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

						}

						else {

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 5 ? 'selected' : begin_val), (begin_val == end_val - 5 ? 'selected' : ''), $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

							add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

					}

				}

				else {

					end_val  = begin_val + 4;

					if (end_val >= pages_nr-2) {

						for(i=(pages_nr-6);i<(pages_nr-2);i++) {

							add_link(i, 'upper_nav_'+(i == (pages_nr-6) ? 'selected' : i), (i == (pages_nr-6) ? 'selected' : ''), $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

							add_link(i, 'lower_nav_'+(i == (pages_nr-6) ? 'selected' : i), (i == (pages_nr-6) ? 'selected' : ''), $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

						}

						if ($('upper_next_pages_part_href')) {

							upper_next_sib = get_next_sibling($('upper_next_pages_part_href'));

							lower_next_sib = get_next_sibling($('lower_next_pages_part_href'));

							$('upper_productnavi').removeChild($('upper_next_pages_part_href'));

							$('lower_productnavi').removeChild($('lower_next_pages_part_href'));

							add_link('...', 'upper_previous_pages_part_href', '', upper_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_previous_pages_part_href', '', lower_next_sib, (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

					}

					else {

						if ($('upper_next_pages_part_href')) {

							add_link('...', 'upper_previous_pages_part_href', '', $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_previous_pages_part_href', '', $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('upper_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('lower_next_pages_part_href'), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

						}

						else {

							while (begin_val != end_val) {

								add_link(begin_val, 'upper_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								add_link(begin_val, 'lower_nav_'+(begin_val == end_val - 4 ? 'selected' : begin_val), (begin_val == end_val - 4 ? 'selected' : ''), $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_page_event(event);} : 'get_page_event(event)'));

								begin_val++;

							}

							add_link('...', 'upper_next_pages_part_href', '', $('upper_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

							add_link('...', 'lower_next_pages_part_href', '', $('lower_nav_'+(pages_nr-2)), (navigator.appName == 'Microsoft Internet Explorer' ? function() {get_pages_part_event(event);} : 'get_pages_part_event(event)'));

						}

					}

				}

			}

		}

		return {

			'rs': 'module_eshop.get_category_items_page',

			'rsargs[0]' : $('upper_nav_selected').innerHTML,

			'rsargs[1]' : $('products_per_page').innerHTML

		}

	},

	res: function(originalRequest) {

		if(break_call == false) {

			//alert(originalRequest.responseText);

			$('pics_section').innerHTML = originalRequest.responseText;

		}

		else {

			//alert('call breaked after page selection');

			break_call = false;

		}

	}

}



//getting next sibling element

function get_next_sibling(n) {

	var x=n.nextSibling;

	while (x.nodeType!=1) x=x.nextSibling;

	return x;

}



//getting previous sibling element

function get_previous_sibling(n) {

	var x=n.previousSibling;

	while (x.nodeType!=1) x=x.previousSibling;

	return x;

}



//get element by id

function $(el) {

	return document.getElementById(el);

}



//onclick event for page number

function get_page_event(e) {

	var targ;

	if (!e) var e = window.event;

	if (e.target) targ = e.target;

	else if (e.srcElement) targ = e.srcElement;

	if (targ.id.substring(0, 5) == 'lower') {

		upper_selected_element = 'empty_id';

		lower_selected_element = targ.id;

		last_selected_element = 'lower';

	}

	else if (targ.id.substring(0, 5) == 'upper') {

		lower_selected_element = 'empty_id';

		upper_selected_element = targ.id;

		last_selected_element = 'upper';

	}

	SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', get_page.res, get_page.params); 

	return false;

}



//onclick event for ... link

function get_pages_part_event(e) {

	var targ;

	if (!e) var e = window.event;

	if (e.target) targ = e.target;

	else if (e.srcElement) targ = e.srcElement;

	upper_selected_pages_part = targ;

	SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', get_part.res, get_part.params); 

	return false;

}



//add link to the pages list

function add_link(txt, id, className, beforeElement, func) {

	var txt_node = document.createTextNode(txt);

	try {

		pages_part_link = document.createElement('<a href="javascript:void(0);" target="" class="'+className+'" id="'+id+'" onfocus="this.blur();"></a>');

	} 

	catch (e) {

		pages_part_link = document.createElement('a');

		pages_part_link.setAttribute('href', 'javascript:void(0);');

		pages_part_link.setAttribute('target', '');

		pages_part_link.setAttribute('class', className);

		pages_part_link.setAttribute('id', id);

		pages_part_link.setAttribute('onfocus', 'this.blur()');

	}

	try {

		pages_part_link.attachEvent('onclick', func, false);

	}

	catch(e) {

		pages_part_link.setAttribute('onclick', func);

	}

	pages_part_link.appendChild(txt_node);

	$(id.substring(0, 5)+'_productnavi').insertBefore(pages_part_link, beforeElement);

}



//-------------------------------------------//products info//-------------------------------------------//

var selected_product_id;



function show_product_info(product_id) {

	selected_product_id = product_id;

	SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', product_info.res, product_info.params); 

	return false;

}



//getting product information

var product_info = {

	params: function() {

		return {

			'rs': 'module_eshop.get_product_info',

			'rsargs[0]' : selected_product_id

		}

	},

	res: function(originalRequest) {
		data = originalRequest.responseText.split('_#<splitter>#_');
		$('product_id_for_input').value = data[0];
		$('product_info_name').innerHTML = data[1];
		$('product_info_article').innerHTML = data[2];
		$('product_info_img').src = data[6];

		

		if (Number(data[7]) > 167 && Number(data[8]) > 152) {

			if (Number(data[7]) > Number(data[8])) {

				persent = 167*100/Number(data[7]);

				$('product_info_img').width = '167';

				$('product_info_img').height = data[8]*persent/100;

			}

			else {

				persent = 152*100/Number(data[8]);

				$('product_info_img').height = '152';

				$('product_info_img').width = data[7]*persent/100;

			}

		}

		else if (Number(data[7]) > 167) {

			persent = 167*100/Number(data[7]);

			$('product_info_img').width = '167';

			$('product_info_img').height = data[8]*persent/100;

		}

		else if(Number(data[8]) > 152) {

			persent = 152*100/Number(data[8]);

			$('product_info_img').height = '152';

			$('product_info_img').width = data[7]*persent/100;

		}

		else {

			$('product_info_img').width = data[7];

			$('product_info_img').height = data[8];

		}

		try {

			$('product_info_img_href').onclick = function () {};

			$('product_info_img_href').attachEvent('onclick', function() {open_pic(data[3], '', data[4], data[5]);}, false);

		}

		catch(e) {

			$('product_info_img_href').setAttribute('onclick', 'open_pic("'+data[3]+'", "", '+data[4]+', '+data[5]+');');

		}

		SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', set_related_products.res, set_related_products.params); 

		return false;

	}

}



var set_related_products = { 

	params: function() {

		return {

			'rs': 'module_eshop.get_related_products',

			'rsargs[0]' : $('product_id_for_input').value

		}

	},

	res: function(originalRequest) {

		//alert(originalRequest.responseText);

		type_1_output = '';

		type_2_output = '';

		res_txt = originalRequest.responseText;

		type = res_txt.split('_#<type_splitter>#_');

		if (type[0].length > 0) {

			row = type[0].split('_#<row_splitter>#_');

			for (i=0;i<row.length;i++) {

				cell = row[i].split('_#<splitter>#_');

				if (Number(cell[4]) > 50 && Number(cell[5]) > 50) {

					if (Number(cell[4]) > Number(cell[5])) {

						persent = 50*100/Number(cell[4]);

						width = '50';

						height = cell[5]*persent/100;

					}

					else {

						persent = 50*100/Number(cell[5]);

						height = '50';

						width = cell[4]*persent/100;

					}

				}

				else if (Number(cell[4]) > 50) {

					persent = 50*100/Number(cell[4]);

					width = '50';

					height = cell[5]*persent/100;

				}

				else if(Number(cell[5]) > 50) {

					persent = 50*100/Number(cell[5]);

					height = '50';

					width = cell[4]*persent/100;

				}

				else {

					width = cell[4];

					height = cell[5];

				}

				type_1_output += '<a href="javascript:void(0);" target="" onfocus="this.blur();" onclick="show_product_info(\''+cell[0]+'\');">';

				type_1_output += '<img src="'+cell[3]+'" width="'+width+'" height="'+height+'" alt="'+cell[1]+'" />';

				type_1_output += '</a>';

			}

			$('sel_products_2').innerHTML = type_1_output;

		}

		else {

			$('sel_products_2').innerHTML = $('sel_products_2_msg').innerHTML;

		}

		if (type[1].length > 0) {

			row = type[1].split('_#<row_splitter>#_');

			for (i=0;i<row.length;i++) {

				cell = row[i].split('_#<splitter>#_');

				if (Number(cell[4]) > 50 && Number(cell[5]) > 50) {

					if (Number(cell[4]) > Number(cell[5])) {

						persent = 50*100/Number(cell[4]);

						width = '50';

						height = cell[5]*persent/100;

					}

					else {

						persent = 50*100/Number(cell[5]);

						height = '50';

						width = cell[4]*persent/100;

					}

				}

				else if (Number(cell[4]) > 50) {

					persent = 50*100/Number(cell[4]);

					width = '50';

					height = cell[5]*persent/100;

				}

				else if(Number(cell[5]) > 50) {

					persent = 50*100/Number(cell[5]);

					height = '50';

					width = cell[4]*persent/100;

				}

				else {

					width = cell[4];

					height = cell[5];

				}

				type_2_output += '<a href="javascript:void(0);" target="" onfocus="this.blur();" onclick="show_product_info(\''+cell[0]+'\');">';

				type_2_output += '<img src="'+cell[2]+'" width="'+width+'" height="'+height+'" alt="'+cell[1]+'" />';

				type_2_output += '</a>';

			}

			$('sel_products_3').innerHTML = type_2_output;

		}

		else {

			$('sel_products_3').innerHTML = $('sel_products_3_msg').innerHTML;

		}

	}

}



//-------------------------------------------//basket//-------------------------------------------//

var add_to_basket = { 

	params: function() {

		return {

			'rs': 'module_eshop.add_product_to_basket',

			'rsargs[0]' : $('product_id_for_input').value,

			'rsargs[1]' : $('products_amount_to_basket').value

		}

	},

	res: function(originalRequest) {

		SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', set_amount.res, set_amount.params); 

		return false;

	}

}



var set_amount = { 

	params: function() {

		return {

			'rs': 'module_eshop.get_products_amount'

		}

	},

	res: function(originalRequest) {

		$('products_amount').innerHTML = originalRequest.responseText;

		SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', set_selected_poducts.res, set_selected_poducts.params); 

		return false;

	}

}



var set_selected_poducts = { 

	params: function() {

		return {

			'rs': 'module_eshop.get_selected_products'

		}

	},

	res: function(originalRequest) {

		$('sel_products_1').innerHTML = originalRequest.responseText;

	}

}

var id_of_edit_item;

var company_of_edit_item;

function edit_basket_item(id, company) {

	id_of_edit_item = id;

	company_of_edit_item = company;

	SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', set_item_amount.res, set_item_amount.params); 

	return false;

}



var set_item_amount = { 

	params: function() {

		return {

			'rs': 'module_eshop.edit_item_amount',

			'rsargs[0]' : id_of_edit_item,

			'rsargs[1]' : $('quantity_of_'+id_of_edit_item).value

		}

	},

	res: function(originalRequest) {

		old_value = originalRequest.responseText;

		new_value = $('quantity_of_'+id_of_edit_item).value;

		result = Number($(company_of_edit_item+'_amount').innerHTML)-Number(old_value)+Number(new_value);

		$(company_of_edit_item+'_amount').innerHTML = result;

		result = Number($('total_amount_id').innerHTML)-Number(old_value)+Number(new_value);

		$('total_amount_id').innerHTML = result;

		$('products_amount').innerHTML = result;

	}

}



var id_of_remove_item;

var company_of_remove_item;

var basket_url;

function remove_basket_item(id, company, basket_href) {

	id_of_remove_item = id;

	company_of_remove_item = company;

	basket_url = basket_href;

	SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', remove_item.res, remove_item.params); 

	return false;

}



var remove_item = { 

	params: function() {

		return {

			'rs': 'module_eshop.remove_basket_item',

			'rsargs[0]' : id_of_remove_item,

			'rsargs[1]' : company_of_remove_item

		}

	},

	res: function(originalRequest) {

		res_data = originalRequest.responseText.split('_#_');

		product_id = res_data[0];

		company_name = res_data[1];
		
		removed_amount = res_data[2];

		if ($(company_name+'_basket_table') && $('row_'+product_id)) {

			$(company_name+'_basket_table').removeChild($('row_'+product_id));
			$('products_amount').innerHTML = Number($('products_amount').innerHTML)-removed_amount;
			$('total_amount_id').innerHTML = Number($('total_amount_id').innerHTML)-removed_amount;
			$(company_name+'_amount').innerHTML = Number($(company_name+'_amount').innerHTML)-removed_amount;
			//$('total_amount_id').innerHTML = Number($('total_amount_id').innerHTML)-1;

			//$(company_name+'_amount').innerHTML = Number($(company_name+'_amount').innerHTML)-1;

			

			if (Number($(company_name+'_amount').innerHTML) == 0) {

				$('basket_content_div_id').removeChild($(company_name+'_basket_table_main'));

				$('companies_amounts_table').removeChild($(company_name+'_amount_table_row'));

			}

		}

		if ($('total_amount_id').innerHTML == 0) {

			window.location = basket_url;

		}

	}

}



//-------------------------------------------//offer//-------------------------------------------//

var sending_offer = false;

function make_offer() {

	SmartyAjax.call('/web/index.php', 'post', 'f=ajax_request', send.res, send.params); 

	return false;

}



var send = { 

	params: function() {

		return {

			'rs': 'module_eshop.send_offer',

			'rsargs[0]' : $('input_name').value,

			'rsargs[1]' : $('input_last_name').value,

			'rsargs[2]' : $('input_company').value,

			'rsargs[3]' : $('input_aadress').value,

			'rsargs[4]' : $('input_town').value,

			'rsargs[5]' : $('input_fax').value,

			'rsargs[6]' : $('input_phone_nr').value,

			'rsargs[7]' : $('input_email').value,

			'rsargs[8]' : $('input_additional_info').value

		}

	},

	res: function(originalRequest) {

		//alert(originalRequest.responseText);

		sending_offer = false;

	}

}
