var CURRENT_URL_COOKIE = 'CURRENT_URL';
var USERLOGGEDIN_COOKIE = 'CLIENTID';
var USERLOGGEDIN_NICK_COOKIE = 'CLIENTNICK';
var USERLOGGEDIN_EMAIL_COOKIE = 'CLIENTEMAIL';
var CITY_LOCATION_COOKIE = 'CITYLOCATION';
var GALLERY_COOKIE = 'GALLERY';
var PARTNER_COOKIE = 'PARTNER';
var FILTER_COOKIE = 'FILTER';
var USERLOGGEDIN_ADULT = 'ADULTCLIENT';
var USER_DEPARTMENT_ID = 'USERDEPARTMENTID';
var CLIENT_IS_NOT_VALID = 'CLIENTISNOTVALID';
var _static = '/www/';
var _context = '/www';
var _errorCssClass = 'error';
var _delimiter = '§';

/* ----------------------------------*/
/*	COMMON                       */
/* ----------------------------------*/

function errorAppend(input, message, css) {
    var span = $(document.createElement('span'));
    span.attr('class', css);
    span.html(message);
    var br = $(document.createElement('br'));
    br.attr('class', css);
    input.after(br);
    br.after(span);
}

function showErrors(data, prefix, css) {
    $.each(data, function(a, b) {
        var input;
        if (prefix.length > 0) {
            input = $("#" + prefix + "_" + a);
        } else {
            input = $('#' + a);
        }
        errorAppend(input, b, css);
    });
} 

/*Konwencja metody wymaga, aby pola na feedback posiadały id analogiczne do walidowanych pól/formy z literą 'v' z przodu*/
/*W obecnej wersji maksymalnie jeden komunikat na pole*/
function postForm(formInput, url, contextName, callBack)
{
    var registerBean = formInput.serializeObject();

	$("." + _errorCssClass).detach();
	$.postJSON(_context + url, registerBean, function(argMap) {
		
		var i = 0;

		$("." + _errorCssClass).detach();

		$.each(argMap, function(argKey, arg) {
			if(argKey == 'errors') {
				$.each(arg, function(fieldKey, fieldValue) {
					errorAppend($(contextName + ' #v' + fieldKey), fieldValue, _errorCssClass);
					i = i + 1;
				});
			}
		});
		
		if(i == 0) {
			callBack();
		}
		
	}, "json");
}

function postFormWithPopup(formInput, url, callBack)
{
	var dialog = $("#loginDialog");
	var errorBox = $("#loginDialog #errorBox");
	
	errorBox.html("");
	var header = $(document.createElement('strong'));
	header.html("Trwa logowanie...");
	var br = $(document.createElement('br'));
	errorBox.append(header);
	errorBox.append(br);
	
    var registerBean = formInput.serializeObject();

	$("." + _errorCssClass).detach();
	$.postJSON(_context + url, registerBean, function(argMap) {
		
		var i = 0;

		$("." + _errorCssClass).detach();

		$.each(argMap, function(argKey, arg) {
			if(argKey == 'errors') {
				errorBox.html("");
				 $.each(arg, function(fieldKey, fieldValue) {
					    var span = $(document.createElement('span'));
						span.html(fieldValue);
						span.attr('class', 'loginError');
						errorBox.append(span);
						var br = $(document.createElement('br'));
						errorBox.append(br);
						i = i + 1;
				});
				 
				 if( i > 0) {
					 dialog.jqm({});
					 dialog.jqmShow();
				 } else {
					 errorBox.html("");
					 dialog.jqm({});
				 }
			}
		});
		if(i == 0) {
			callBack();
		}
		
	}, "json");
}

function showLoginPopup(info) {
	var dialog = $("#loginDialog");
	var errorBox = $("#loginDialog #errorBox");
	
	errorBox.html("");
	var header = $(document.createElement('strong'));
	if(info == null)
		header.html("Logowanie");
	else
		header.html(info);
	var br = $(document.createElement('br'));
	errorBox.append(header);
	errorBox.append(br);
	
	dialog.jqm({});
	dialog.jqmShow();
}

function savePromotionCodeInputPopup(id, reload, offerName, showInfoOnly, priceId) {
	$("#promotionCodeDialogFrom #promotionCodeDialogFromId").val(id);
	$("#promotionCodeDialogFrom #promotionCodeDialogFromReload").val(reload);
	$("#promotionCodeDialogFrom #promotionCodeDialogFromOfferName").val(offerName);
	$("#promotionCodeDialogFrom #promotionCodeDialogFromShowInfoOnly").val(showInfoOnly);
	$("#promotionCodeDialogFrom #promotionCodeDialogFromPromotionCode").val('');
	$("#promotionCodeDialogFrom #promotionCodeDialogFromPriceId").val(priceId)
}

function showPromotionCodeInputPopup(id, reload, offerName, showInfoOnly, result) {
	
	$("#promotionCodeDialogTitle").html(result.title);
	
	var infoBox = $("#promotionCodeDialogInfoBox");
	
	infoBox.html(result.message);
	
	if (result.codeRequired == 1) { // promocja wymaga kodu, a nie podano kodu
		infoBox.css('color', '#f49814');
	} else if (result.codeRequired == 2) { // promocja wymaga kodu, a podano błedny kod lub kod został wykorzystany
		infoBox.css('color', '#ff4444');
	} else if (result.codeRequired == 3) { // promocja wymaga kodu, a kod utracił ważność
		infoBox.css('color', '#ff4444');
	} else { // przypadek nie powinien wystąpić, ale dla pewności zaślepka
		infoBox.css('color', '#ff4444');
	}

	var dialog = $("#promotionCodeDialog");
	
	dialog.jqm({});
	dialog.jqmShow();
}

/* ----------------------------------*/
/*	Funkcje związane z zalogowanym   */ 
/*  użytkownikiem                    */
/* ----------------------------------*/

function isLoggedIn() {
    var loggedIn = jQuery.cookie(USERLOGGEDIN_COOKIE);
    var logged = (loggedIn != null && loggedIn != "-1" && loggedIn != "" );
    return logged;
}


/* ----------------------------------*/
/*	Funkcje ze skrzynka wiadomosci   */
/* ----------------------------------*/

function deleteMessage(msgList, assignUrl)
{
	if (msgList != null && msgList.length > 0)
	{
		$.postJSON("deleteMsg.do", msgList, function(result) 
		{
			if (result && assignUrl != null)
			{
				window.location.assign(assignUrl);
			}
		}, "json");
	}
}

/* ----------------------------------*/
/*	Wyslasnie kodu promocyjnego      */
/* ----------------------------------*/

function sendPromotionCodeWithRequiredCode()
{
	var promotionCodeDialogFromId = $("#promotionCodeDialogFrom #promotionCodeDialogFromId");
	var promotionCodeDialogFromReload = $("#promotionCodeDialogFrom #promotionCodeDialogFromReload");
	var promotionCodeDialogFromOfferName = $("#promotionCodeDialogFrom #promotionCodeDialogFromOfferName");
	var promotionCodeDialogFromShowInfoOnly = $("#promotionCodeDialogFrom #promotionCodeDialogFromShowInfoOnly");
	var promotionCodeDialogFromPromotionCode = $("#promotionCodeDialogFrom #promotionCodeDialogFromPromotionCode");
	var promotionCodeDialogFromPriceId = $("#promotionCodeDialogFrom #promotionCodeDialogFromPriceId");
	
	var id = promotionCodeDialogFromId.val();
	var reload = promotionCodeDialogFromReload.val();
	var offerName = promotionCodeDialogFromOfferName.val();
	var showInfoOnly = promotionCodeDialogFromShowInfoOnly.val();
	var promotionCode = promotionCodeDialogFromPromotionCode.val();
	var priceId = promotionCodeDialogFromPriceId.val();
	
	promotionCodeDialogFromId.val('');
	promotionCodeDialogFromReload.val('');
	promotionCodeDialogFromOfferName.val('');
	promotionCodeDialogFromShowInfoOnly.val('');
	promotionCodeDialogFromPromotionCode.val('');
	promotionCodeDialogFromPriceId.val('');

	sendPromotionCode(id, reload, offerName, showInfoOnly, promotionCode, priceId);
}


function SendPromotionCode(promotion_id, promotion_code, promotion_price_id, sendMethod) {
    this.id = promotion_id;
    this.promotionCode = promotion_code;
	this.priceId = promotion_price_id;
	this.sendMethod = sendMethod;

	if (sendMethod ==null)
		this.sendMethod = "BOTH";
}

function sendPromotionCode(id, reload, offerName, showInfoOnly) {
	sendPromotionCode(id, reload, offerName, showInfoOnly, null, "BOTH");
}

function sendPromotionCode(id, reload, offerName, showInfoOnly, promotionCode, priceId, sendMethod)
{
	var sendPromotionCode = new SendPromotionCode(id, promotionCode, priceId, sendMethod);

	savePromotionCodeInputPopup(id, reload, offerName, showInfoOnly, priceId);

	if(isLoggedIn())
	{
		$.postJSON("sendPromotionCode.do", sendPromotionCode, function(result, id, reload, offerName, showInfoOnly, priceId, sendMethod)
		{
			if (result.status) {
				$("#promotionCodeDialog").hide();

				if(reload)
					showInfo(result.message, 1, reload);
				else
					showInfo(result.message, 1);

				// kod konwersji
				_gaq.push(['_trackEvent', 'Oferty', 'Pobranie_kuponu', offerName]);
			} else {
				if(result.codeRequired > 0) {
					showPromotionCodeInputPopup(id, reload, offerName, showInfoOnly, result, priceId, sendMethod);
				} else {
					if(result.message != null)
						showInfo(result.message, 2);
					else
						showInfo('Niestety, kupon nie został wysłany', 2);
				}
			}
		}, "json");
	}
	else
	{
		if (showInfoOnly)
			showInfo('Aby pobrać kupon musisz być zalogowany');
		else
			showLoginPopup('Aby pobrać kupon musisz być zalogowany');
	}
}

function isCorrect(val) 
{
	if (isNaN(parseFloat(val)) || val < '1') 
	{
		return false;
	}
	return true
}

function showInfo(info, status, reload)
{
	var errorDialog = $("#errorDialog");
	var errorBox = $("#errorDialog #errorBox2");
	errorBox.html("");
	var span = $(document.createElement('span'));
	span.html(info);
	if(status == 1)
		span.attr('class', 'loginInfo');
	else
		span.attr('class', 'loginError');
	errorBox.append(span)
	errorDialog.jqm({});
	errorDialog.jqmShow();
	
	if (reload)
		$("#errorDialog #reload").val('reload');
}

function showPassRecoverInfo(info, status, hideMethod)
{
	var errorDialog = $("#errorDialog");
	var errorBox = $("#errorDialog #errorBox2");
	errorBox.html("");
	var span = $(document.createElement('span'));
	span.html(info);
	if(status == 1)
		span.attr('class', 'loginInfo');
	else
		span.attr('class', 'loginError');
	errorBox.append(span)
	errorDialog.jqm({onHide:hideMethod});
	errorDialog.jqmShow();
}

/* ----------------------------------*/
/*	Facebook connect                 */
/* ----------------------------------*/

var facebookAccessToken;
var autoLogin;

function FBButtonClick()
{
    if (!isLoggedIn())
	{
        var authResponse = FB.getAuthResponse();
        if (authResponse != null && authResponse.accessToken != null) {
            doFBLogin(authResponse.accessToken, true);
        }
    }
}

function doFBSessionChange(response)
{    
    if (response.status == 'connected' && !isLoggedIn()) {
        doFBLogin(response.authResponse.accessToken, false);
    }
}

function FBLogin(access_token, auto_login)
{
    this.facebookAccessToken = access_token;
    this.autoLogin = auto_login;
}

function doFBLogin(accessToken, wasFBButtonClicked)
{
    var fbLogin = new FBLogin(accessToken.toString(), !wasFBButtonClicked);
    facebookAccessToken = accessToken.toString();
    $.postJSON(_context + "/loginFB.do", fbLogin, function(data) 
	{
        if (data.status == -1) 
        {
        	// uzytkownik sie sam wylogował, nie logujemy go ponownie!
        }
        else if (data.status == 0) 
		{
			if(wasFBButtonClicked)
			{
				showFacebookRegisterPopup();
			}
			else
			{
				twttr.anywhere(function (T) 
				{		
					if(T.isConnected())
					{  
						loginTwitter(T.currentUser.id, false);
					}
				});
			}
        } 
		else if (data.status == 1) 
		{
			if(wasFBButtonClicked)
			{
				var department = jQuery.cookie(USER_DEPARTMENT_ID);
				
				if(department != null)
				{
					window.location.assign(_context + "/user/departmentProfile/" + department + ".do");
				}
				else
				{
					location.reload();
				}
			}
			else
			{
				location.reload();
			}
        } 
    }, "json");
}

function registerFB()
{
	var registerFBBean = $("#registerFBBean").serializeObject();
	registerFBBean.facebookAccessToken = facebookAccessToken;
	$.postJSON(_context + "/registerFB.do", registerFBBean, function(errorList) 
	{
		if (errorList.length == 0)
		{
			location.reload();
		}
		else
		{
			var errorBox = $("#facebookRegisterPopup #errorBox");
			errorBox.html("");
			var i;
			for(i=0; i<errorList.length; i++)
			{
				var span = $(document.createElement('span'));
				span.html(errorList[i]);
				errorBox.append(span);
				var br = $(document.createElement('br'));
				errorBox.append(br);
			}
		};
	}, "json");
}

function mergeFB()
{
	var mergeFB = $("#mergeFBBox").serializeObject();
	mergeFB.facebookAccessToken = facebookAccessToken;
	$.postJSON("mergeFB.do", mergeFB, function(errorList) 
	{
		if (errorList.length == 0)
		{
			location.reload();
		}
		else
		{
			var errorBox = $("#facebookMergePopup #errorBox");
			errorBox.html("");
			var i;
			for(i=0; i<errorList.length; i++)
			{
				var span = $(document.createElement('span'));
				span.html(errorList[i]);
				errorBox.append(span);
				var br = $(document.createElement('br'));
				errorBox.append(br);
			}
		};
	}, "json");
}

function showFacebookRegisterPopup()
{
	var dialog = $("#facebookRegisterPopup");
	var errorBox = $("#facebookRegisterPopup #errorBox");
	errorBox.html("");
	dialog.jqm({});
	dialog.jqmShow();
}

function showFacebookMergePopup()
{
	var dialog = $("#facebookMergePopup");
	dialog.jqm({});
	dialog.jqmShow();
}

/** Funkcje zmieniajace tekst i typ inputów logowania i hasła */

function lgnBlur(input)
{
	if($(input).val()=='') 
		$(input).val('numer telefonu');
}

function lgnFocus(input)
{
	if($(input).val() == 'numer telefonu')
		$(input).val('');
}

function pwdFocus(type)
{
	if(type == 1)
	{
		$('#fakePasswordTop').hide();
		$('#passwordTop').show();
		$('#passwordTop').focus();
	}
	else if(type == 2)
	{
		$('#fakePasswordPopup').hide();
		$('#passwordPopup').show();
		$('#passwordPopup').focus();
	}
	else if(type == 3)
	{
		$('#fakePasswordFB').hide();
		$('#passwordFB').show();
		$('#passwordFB').focus();
	}
	else if(type == 4)
	{
		$('#fakePasswordFBLP').hide();
		$('#passwordFBLP').show();
		$('#passwordFBLP').focus();
	}
	else if(type == 5)
	{
		$('#fakePasswordT').hide();
		$('#passwordT').show();
		$('#passwordT').focus();
	}
}

function pwdBlur(type)
{
	if(type == 1)
	{
		if ($('#passwordTop').attr('value') == '') 
		{
			$('#passwordTop').hide();
			$('#fakePasswordTop').show();
		}
	}	
	else if(type == 2)
	{
		if ($('#passwordPopup').attr('value') == '') 
		{
			$('#passwordPopup').hide();
			$('#fakePasswordPopup').show();
		}
	}	
	else if(type == 3)
	{
		if ($('#passwordFB').attr('value') == '') 
		{
			$('#passwordFB').hide();
			$('#fakePasswordFB').show();
		}
	}	
	else if(type == 4)
	{
		if ($('#passwordFBLP').attr('value') == '') 
		{
			$('#passwordFBLP').hide();
			$('#fakePasswordFBLP').show();
		}
	}
	else if(type == 5)
	{
		if ($('#passwordT').attr('value') == '') 
		{
			$('#passwordT').hide();
			$('#fakePasswordT').show();
		}
	}
	
}

function isLoggedClientAdult() 
{
    var loggedIn = jQuery.cookie(USERLOGGEDIN_ADULT);
    var logged = (loggedIn != null && loggedIn != "-1" && loggedIn != "" && loggedIn != 'false');
    return logged;
}

//metoda zwrcająca id maiasta lokalizacji z pliku cookie
function getCityId() {
	var cityCookie = $.cookie(CITY_LOCATION_COOKIE);
	if(cityCookie != null) {
		return cityCookie.replace(/\"/g,"").split(_delimiter)[0];
	} else
		return cityCookie;
}

// metoda zwrcająca nazwę maiasta lokalizacji z pliku cookie
function getCityName() {
	var cityCookie = $.cookie(CITY_LOCATION_COOKIE);
	if(cityCookie != null) {
		return cityCookie.replace(/\"/g,"").split(_delimiter)[1];
	} else
		return cityCookie;
}

//metoda zwrcająca nazwę aktywnego filtru z pliku cookie
function getActiveFilterName() {
	var cookie = $.cookie(FILTER_COOKIE);
	if(cookie != null) {
		return cookie.replace(/\"/g,"").split(_delimiter)[0];
	} else
		return cookie;
}

// metoda zwrcająca wartość aktywnego filtru z pliku cookie
function getActiveFilterValue() {
	var cookie = $.cookie(FILTER_COOKIE);
	if(cookie != null) {
		return cookie.replace(/\"/g,"").split(_delimiter)[1];
	} else
		return cookie;
}

// metoda tworzaca kod HTML oferty XL na podstawie obiektu OfferHeader w divie po podanym indexie
function drawXL(offerHeader)
{
	var promotionCodeURL = 'javascript:sendPromotionCode(' + offerHeader.id;
	
	if(offerHeader.availableVoucherCount != null)
		promotionCodeURL += ', true, "' + offerHeader.promotionName + '")';
	else
		promotionCodeURL += ', false, "' + offerHeader.promotionName + '")';
	
	var offerDetailsUrl = 'offerDetails.do?id=' + offerHeader.id;
	var offerImageUrl = 'image?h=211&amp;w=211';
			
	if(offerHeader.photoID != null)
		offerImageUrl += "&amp;id=" + offerHeader.photoID;

	// dodanie ID oferty na potrzeby cache'owania	
	offerImageUrl += '&amp;offer_id=' + offerHeader.id;		
		
	var offerType = "ofertaxl";
	if(offerHeader.price == null)
		offerType = "ofertaxl1";
		
	$('#' + offerHeader.id).addClass(offerType);	
	
	var code = '';
	
	// jezeli jest to oferta z limitowana iloscia kuponow i wszystkie zostaly wykorzystane to dodajemy zaciemnienie
	if(offerHeader.cyclicCharged)
	{
		code += '<div class="zaciemnienie-info"><a href="' + offerDetailsUrl + '">';
		
		if(offerHeader.noVoucherInfo != null && offerHeader.noVoucherInfo != '')
			code += offerHeader.noVoucherInfo;
		else
			code += 'Niestety, kupony zostały wykorzystane. Spróbuj ponownie później';
		
		code += '</a></div>';
		
		code += '<div class="zaciemnienie"></div>';
	}
	
	code += '<div class="lewakolumnaofertaxl">';
	code += '<div class="naglowek"><h1>';
	code += '<a href="';
	code += offerDetailsUrl;
	code += '">';
	code += offerHeader.promotionName;
	code += '</a></h1></div>';
	code += '<div class="srodek">';
	
	// jesli promocja cenowa to dodajemy dodatkowego div'a
	if(offerHeader.price != null)
	{
		code += '<div class="znizka">';
		code += '<div class="nowacena"><p>';
		code += convertPrice(offerHeader.price.value);
		code += ' zł</p></div>';
		code += '<div class="staracena"><p><span style="font-size:10px">zamiast<br /></span>';
		code += convertPrice(offerHeader.basePrice.value);
		code += ' zł</p></div></div>';
	}
	
	code += '<div class=\"textznizka\"><p><a href="';
	code += offerDetailsUrl;
	code += '">';

	if(offerHeader.wapDescription.length > 270)
		code += offerHeader.wapDescription.substring(0, 266) + '...';
	else
		code += offerHeader.wapDescription;
	
	code += '<span class="szczegoly">';
	code += '</span></a></p></div></div>';
	code += '<div class="stopa"><div class="procenty"><p><a href="';
	code += offerDetailsUrl;
	code += '"><span>';
	code += offerHeader.promotionLabel;
	code += '</span></a></p></div>';
	code += '<div class="skorzystaj"><p>Skorzystaj z promocji</p></div>';
	
	if(offerHeader.voucherAvailable)
	{
		code += '<div class="pobierzkupon"><a href="';
		code += promotionCodeURL;
		code += '" title="pobierz kupon">pobierz kupon</a></div>';
	}
	
	// jezeli jest to promocja z kuponami limitowanymi to dodajemy licznik
	if(offerHeader.cyclicCharged)
	{
		code += '<div class="licznik">Pozostało <br /><span id="licznik';
		code += offerHeader.id;
		code +=	'" class="licznik1">';
		code += '</span><br />kuponów</div>';
		
		getVoucherCount(offerHeader.id);
	}
	
	code += '</div></div>';
	code += '<div class="prawakolumnaofertaxl">';
	code += '<div class="zdjecie"><a href="';
	code += offerDetailsUrl;
	code += '"><img src="';
	code += offerImageUrl;
	code += '" alt="" /></a></div></div>';


	return code;
}

//metoda tworzaca kod HTML oferty S na podstawie obiektu OfferHeader w divie po podanym indexie
function drawS(offerHeader)
{
	var offerDetailsUrl = 'offerDetails.do?id=' + offerHeader.id;
	var offerImageUrl = 'image?h=94&amp;w=94';
	
	if(offerHeader.photoID != null)
		offerImageUrl += '&amp;id=' + offerHeader.photoID;
	
	// dodanie ID oferty na potrzeby cache'owania	
	offerImageUrl += '&amp;offer_id=' + offerHeader.id;		
			
	var promotionCodeURL = 'javascript:sendPromotionCode(' + offerHeader.id;
	promotionCodeURL += ', false, "' + offerHeader.promotionName + '")';
	
	var offerType = 'ofertaS';
	if(offerHeader.effectivePrice == null)
		offerType = 'ofertaS1';
	
	$('#' + offerHeader.id).addClass(offerType);	
	
	var code = '<div class="lewakolumnaofertaS">';
	
	code += '<div class="naglowek">';
	code += '<h1><a href="';
	code += offerDetailsUrl;
	code += '" >';
	code += offerHeader.promotionName;
	code += '</a></h1></div>';
	code += '<div class="zdjecie"><a href="';
	code += offerDetailsUrl;
	code += '" ><img src="';
	code += offerImageUrl;
	code += '" alt="" /></a></div>';
	code += '<div class="srodek">';
	
	// jesli promocja cenowa to dodajemy dodatkowego div'a
	if(offerHeader.effectivePrice != null)
	{
		code += '<div class="znizka">';
		code += '<div class="nowacena"><p>';
		code += convertPrice(offerHeader.effectivePrice.value);
		code += ' zł</p></div>';
		code += '<div class="staracena"><p><span style="font-size:10px">zamiast<br /></span>';
		code += convertPrice(offerHeader.basePrice.value);;
		code += ' zł</p></div></div>';
	}
	
	code += '<div class="textznizka"><p><a href="';
	code += offerDetailsUrl;
	code += '">';
	
	if(offerHeader.wapDescription != null)
	{
		// substring
		if(offerHeader.wapDescription.length > 100)
			code += offerHeader.wapDescription.substring(0, 96) + '...';
		else
			code += offerHeader.wapDescription;
	}
	code += '<span class="szczegoly" onclick="location="';
	code += offerDetailsUrl;
	code += '" ></span></a></p></div></div></div>';
	code += '<div class="stopa"><div class="lewa"><div class="procenty"><p><a href="';
	code += offerDetailsUrl;
	code += '"><span>';
	code += offerHeader.promotionLabel;
	code += '</span></a></p></div>';
	code += '<div class="skorzystaj"><p>Skorzystaj z promocji</p></div>';
	if(offerHeader.voucherAvailable)
	{
		code += '<div class="pobierzkupon"><a href="';
		code += promotionCodeURL;
		code += '" title="pobierz kupon">pobierz kupon</a></div>';
	}
	code += '</div><div class="prawa"></div></div>';
	
	return code;
}

function convertPrice(price)
{
	var zl = Math.floor(price/100);
	var gr = price % 100;
	
	var result = zl + ',';
	
	if(price % 100 < 10)
		result += '0';
		
	result += gr;
	
	return result;
}

function getVoucherCount(offerID)
{
	$.postJSON(_context + "/getVoucherCount.json", offerID, function(count) 
	{
		if (count == null || count == '0')
		{
			$('#licznik' + offerID).append('0');
			$('#' + offerID + ' .overlay').show();
		}
		else
		{
			$('#licznik' + offerID).append(count);
		}
	}, "json");
}

function loginTwitter(id, showPopup)
{
	var twitterLogin = new TwitterLogin(id);
	$.postJSON(_context + "/loginTwitter.do", twitterLogin, function(data) 
	{
		if (data.status == false) 
		{
			if(showPopup == true)
			{
				$("#mergeTwitterId").val(data.id);
				$("#registerTwitterId").val(data.id);
				showTwitterRegisterPopup();
			}
		} 
		else if (data.status == true) 
		{
			location.reload();
		} 
	}, "json");	
}

function TwitterLogin(id)
{
    this.id = id;
}

function showProblemDialog(problemInfo)
{
	var dialog = $("#problemDialog");
	var errorBox = $("#problemDialog .problemInfo");
	errorBox.empty();
	errorBox.append(problemInfo);
	dialog.jqm({});
	dialog.jqmShow();
}
			
