
/*
	Funkcja wysuwajaca warstwe z wyszukiwarka
*/
function showSearchFields() {

	$("#searcher_no_active").css("z-index", "-1");
	$("#searcher_no_active").animate({
		"top": "20",
		opacity: 0
	}, 250 );

	$("#searcher_active").animate({
			"z-index": "0",
			"top": "0",
			opacity: 1
		},
		350,
		function() {
			$("#searcher_active").css("z-index", "1");
		}
	);
}

/** Usuwanie z pola tekstowego zawartosci i zdarzenia onClick */
function clearField(filed)
{
	filed.value = '';
	filed.onclick = null;
}

/** Subskrypcja do newslettera */
function newsletterSubscribe(uri)
{
	var email = $('#newsletter_field').val();
	if (email == ''){
		return ;
	}
	email = $.trim(email);
	if (email == ''){
		return ;
	}

	var template = /^([A-Za-z0-9_\-\.])+[^\.]\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (!template.test(email)){
		alert(newsletter_invalidEmail);
		return ;
	}

	var url = '/do/Newsletter?task=SUBSCRIBE&lang=' + langCode + '&email=' + escape(email) + '&referer_uri=' + uri;
	var winopts = 'dependent=yes,toolbar=no,resizable=yes,width=320,height=240';
		winopts = winopts + ',top=' + ((screen.height-240)/2) + ',left=' + ((screen.width-320)/2);
	var win = window.open(url,'_blank',winopts);
}

/** Subskrypcja do newslettera */
function newsletterSubscribeRD(uri)
{
	var email = $('#newsletter_field').val();
	if (email == ''){
		return ;
	}
	email = $.trim(email);
	if (email == ''){
		return ;
	}

	var template = /^([A-Za-z0-9_\-\.])+[^\.]\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (!template.test(email)){
		alert(newsletter_invalidEmail);
		return ;
	}

	var url = '/do/Newsletter?task=SUBSCRIBE_RD&lang=' + langCode + '&email=' + escape(email) + '&referer_uri=' + uri;
	var winopts = 'dependent=yes,toolbar=no,resizable=yes,width=320,height=240';
		winopts = winopts + ',top=' + ((screen.height-240)/2) + ',left=' + ((screen.width-320)/2);
	var win = window.open(url,'_blank',winopts);
}

function validateTopSearch()
{
	var query = $("#query").val();
	return (query != null) && (query != "");
}


/** Map komponent - Funkcja wywolywana gdy wybrano odzial z mapki lub z listy */
function mcUnitSelected(name, idx) {
		var cfgArray = window[name];
		var cfg =  cfgArray[0];

		cfg['idx'] = idx;

		var task = cfg['ajaxTask2'];

		var sectionUrl = cfgArray[idx];

		var params = new Object();
		params['sectionUrl'] = sectionUrl;
		params['idx'] = idx;
		params['unitType'] = cfg['unitType'];

		ajaxTask(name, task, params);
}

/** Map komponent - Funkcja wywolywana gdy wracamy ze strony trzecie na druga */
function mcUnitSelectedBack(name) {
		var cfgArray = window[name];
		var cfg =  cfgArray[0];
		var idx = cfg['idx'];

		mcUnitSelected(name, idx);
}

/** Map komponent - Funkcja wywolywana gdy chcemy wyswietlic detale biura */
function mcUnitDisplay(name, pageUrl) {
		var params = new Object();
		params['pageUrl'] = pageUrl;

		ajaxTask(name, 'map_pg3', params);
		return false;
}

/**
	Map komponent - ladowanie strony
	@param name Nazwa tablicy konfiguracyjnej.
				Zerowy element to obiekt konfiguracji, z wlasciwoscia unqLabel.
				Odpowiedz zwrocona przez serwer HTTP bedzie umieszona wewnatrz diva
				o id rownym wartosci tego parametru
	@param task Zadanie (task)
	@param params Pozostale parametry zadania HTTP
*/
function ajaxTask(name, task, params) {

		var cfgArray = window[name];
		var cfg =  cfgArray[0];

		var params3 = new Object();
		params3['name'] = name;
		params3['task'] = task;
		params3['referer_uri'] = location.pathname;
		params3['request_url'] = "/do/HTAjax";
		params3['UNQLABEL'] = cfg['unqLabel'];
		params3['mapType'] = cfg['mapType'];

		// przekopiowanie dostarczonych parametrow
		if (params != null){
			for(var p in params){
				params3[p] = params[p];
			}
		}

		// debug
		/*
		var s = '';
		for(var p in params3){
			s = s + '' + p + '=' + params3[p] + '\n';
		}
		alert(s);
		*/

		// pobranie i usuniecie URLa
		var url = params3['request_url'];
		params3['request_url'] = null;


		$("#" + name).append('<img src="/static/img/ajax_loading.gif" class="ajax_loading" />');

		// wykonanie zapytania
		$.get(url, params3,
			function(data, textStatus){
				//alert("Status: " + textStatus);
				//alert("Data Loaded: " + data);

				if (textStatus == 'success'){
					$("#" + name).html(data);
				} else {
					alert(htMap_ajax_failure);
				}

			}
		);
}

/** pobieranie parametru z URLa */
function getRequestParameter( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
	return "";
else
	return results[1];
}

/** dodanie metody reset do formularza */
$.fn.extend({ reset: function() {
	return this.each(function() {
		$(this).is('form') && this.reset();
	})
} });

