function offerContactClickCount(offer_id) {	
	$.ajax({
		type: "POST",
		url: ajaxUrl + 'ajax/all',
		data: {
			operation: 'addcontactclick',
			id: offer_id
		},
		success: function(result) {
		}
	});
	return false;
}

function sendForm(formid) {
	var f = $('#' + formid);
	var t = f.serializeArray();
	var items = [];
	for (var i=0; i<t.length; i++)
		items[t[i]['name']] = t[i]['value'];
	var t = generateFormUrl(formid, items);
//	console.log(t);
//	return;
	if (formid == 'searchForm')
		window.location.href = f[0].action + '?' + t;
	else
		window.location.href = f[0].action + '/' + t;
}

function generateFormUrl(formid, items) {
	var result = [];
	var sep1 = '/';
	var sep2 = '/';
	if (formid == 'msearchForm_1' || formid == 'msearchForm_2') {
		var keys = {rodzaj: 'idOrderType', typ: 'idRealEstateType', miasto: 'idCity', cenaod: 'priceMin', cenado: 'priceMax', stext: 'stext', pokoje: 'rooms'};
	}
	else if (formid == 'resultsListform') {
		var keys = {rodzaj: 'idOrderType', typ: 'idRealEstateType', miasto: 'idCity', amin: 'areaFrom', amax: 'areaTo', cenaod: 'priceFrom', cenado: 'priceTo', dew: 'idDeveloper'};
	}
	else if (formid == 'searchForm') {
		var keys = {};
		for (var e in items) {
			keys[e] = e;
		}
		sep1 = '=';
		sep2 = '&';
	}
	for (var e in keys) {
//		console.log(keys[e], items[keys[e]]);
		if (items[keys[e]] != '' && items[keys[e]] != undefined)
			result[result.length] = e + sep1 + items[keys[e]];
	}
	return result.join(sep2);
}

function ajaxSendForm(url, form, operation) {
	var t = $(form).serializeArray();
	$(':checkbox:not(:checked)', $(form)).each(function(){
		t.push({ name: this.name, value: 0});
	});

	var parameters = {};
	for (var i=0; i<t.length; i++)
		parameters[t[i]['name']] = t[i]['value'];
	if (operation)
		parameters['operation'] = operation;
	$.post(url, parameters, function(data) {}, 'script');	
}

function ajaxGetItem(div, page, id, params) {
	var parameters = {};
	parameters['page'] = page;
	parameters['id'] = id;

	for (var e in params)
		if (typeof(params[e]) != 'function')
			parameters[e] = params[e];

	var t = window.location.href.split('?');
	if (t.length == 2) {
		t[1] = t[1].replace('#', '');
		var t2 = t[1].split('&');
		for (var i=0;i<t2.length;i++) {
			var t3 = t2[i].split('=');
			parameters[t3[0]] = t3[1];
		}
		
	}
	$('#' + div).html('<div style="text-align: center;"><img src="/app_cms/images/ajaxload.gif"/></div>');

	$.post('/app_cms/ajax/item', parameters, function(data) {
		$('#' + div).html(data);
		$("#" + div + " .lightbox").lightbox({
		    fitToScreen: true,
		    imageClickClose: false
	    });    
	}, 'html');
}

function showSuggester(callback) {
	window.location.href = '#';
	if (typeof(callback) != 'function')
		callback = function () { };
	var dPopUpBackground = $("#infoPopUpMainBackground");
	if (dPopUpBackground.size() == 0) {
		$('body').append('<div id="infoPopUpMainBackground" class="infoPopUpBackground"></div>');
		dPopUpBackground = $("#infoPopUpMainBackground");
    	dPopUpBackground.click(function(){
			$("#infoPopUpMainBackground").fadeOut("slow");
			$("#infoPopUpMain").fadeOut("slow");
    	});
	}
	var dPopUp = $("#infoPopUpMain");
	if (dPopUp.size() == 0) {
		$('body').append('<div id="infoPopUpMain" class=""><div id="infoPopUpClose" class="infoPopUpClose"> x </div><p id="contactArea" name="contactArea"></p></div>');
		dPopUp = $("#infoPopUpMain");
		$("#infoPopUpClose").click(function(){
			$("#infoPopUpMainBackground").fadeOut("slow");
			$("#infoPopUpMain").fadeOut("slow");
			callback();
    	});
    	$('#contactArea').append($('#sugester'));
    	$('#sugester').show();
	}
	$('#suggestionForm')[0].reset();
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = dPopUp.height();
    var popupWidth = dPopUp.width();
    dPopUp.css({
        "position": "absolute",
        "top": windowHeight/2-popupHeight/2,
        "left": windowWidth/2-popupWidth/2
    });
    
    var bgHeight = 0;
    var viewportheight = 0;
	if (typeof window.innerWidth != 'undefined') {
		viewportheight = window.innerHeight;
	} else {
		viewportheight = document.documentElement.clientHeight;
	}
	if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
		bgHeight = viewportheight;
	} else {
		if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
			bgHeight = document.body.parentNode.clientHeight;
		} else {
			bgHeight = document.body.parentNode.scrollHeight;
		}
	}
	$("#suggestionFormContent").show(); 
	$("#suggestionFormMessage").hide(); 
	$("#suggestionFormB1").show();
	
    dPopUpBackground.css({
        "opacity": "0.7",
        "height": bgHeight,
        "width": windowWidth
    });
/*    
    $('body').css({
	    'overflow': 'hidden'
    });
*/	if (!$.browser.msie ||  ($.browser.msie && $.browser.version.substr(0, 1) > 6) ) {
		dPopUpBackground.fadeIn("slow");
	}
	dPopUp.fadeIn("slow");	
//    $("#infoPopUpSearch").fadeIn("slow");	
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function showMessage(text, callback, codeok) {
//	window.location.hash = 'c';
	if (typeof(callback) != 'function')
		callback = function () { };
	var dPopUpBackground = $("#infoPopUpBackground");
	if (dPopUpBackground.size() == 0) {
		$('body').append('<div id="infoPopUpBackground" class="infoPopUpBackground"></div>');
		dPopUpBackground = $("#infoPopUpBackground");
    	dPopUpBackground.click(function(){
			$("#infoPopUpBackground").fadeOut("slow");
			$("#infoPopUp").fadeOut("slow");
		    $('body').css({
			    'overflow': 'auto'
		    });
    	});
	}
	var dPopUp = $("#infoPopUp");
	if (dPopUp.size() == 0) {
		$('body').append('<div id="infoPopUp" class="infoPopUp infoPopError"><div id="infoPopUpOK" class="infoPopUpOK"></div><div id="infoPopUpClose" class="infoPopUpClose"> x </div><p id="contactArea" name="contactArea"></p></div><div id="infoPopUpBackground" class="infoPopUpBackground"></div>');
		dPopUp = $("#infoPopUp");
		$("#infoPopUpClose").click(function(){
			$("#infoPopUpBackground").fadeOut("slow");
			$("#infoPopUp").fadeOut("slow");
		    $('body').css({
			    'overflow': 'auto'
		    });
			callback();
    	});
		$("#infoPopUpOK").click(function(){
			$("#infoPopUpBackground").fadeOut("slow");
			$("#infoPopUp").fadeOut("slow");
		    $('body').css({
			    'overflow': 'auto'
		    });
			callback();
    	});
	}
	if (typeof(codeok) != 'undefined' && codeok == 1)
		dPopUp.removeClass('infoPopError');
	else
		dPopUp.addClass('infoPopError');
	$('#contactArea').html(text);
    var windowWidth = document.documentElement.clientWidth;
//    var windowHeight = document.documentElement.clientHeight;
	var windowHeight = getDocHeight();
    var popupHeight = dPopUp.height();
    var popupWidth = dPopUp.width();
    var sxy = getScrollXY();
    dPopUp.css({
        "position": "absolute",
//        "top": windowHeight/2-popupHeight/2,
        "top": sxy[1] + 100,
        "left": windowWidth/2-popupWidth/2
    });
    
    dPopUpBackground.css({
        "opacity": "0.7",
        "height": windowHeight,
        "width": windowWidth
    });
    
/*    $('body').css({
	    'overflow': 'hidden'
    });
*/
	if (!$.browser.msie ||  ($.browser.msie && $.browser.version.substr(0, 1) > 6) ) {
		dPopUpBackground.fadeIn("slow");
	}
	dPopUp.fadeIn("slow");	
//    $("#infoPopUpSearch").fadeIn("slow");	
}

function newOpt(inText,inValue) {
  var myOpt = new Option(inText,inValue)
  return myOpt
}

/**
*
*  URL encode / decode
*  http://www.webtoolkit.info/
*
**/

var Url = {

    // public method for url encoding
    encode : function (string) {
        return escape(this._utf8_encode(string.replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27')));
    },

    // public method for url decoding
    decode : function (string) {
        return this._utf8_decode(unescape(string));
    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}
