function getMaxTitleLength()
{
    return 50;
}
function clearMessage(message, maxlength)
{
    if (maxlength == undefined)
        maxlength = message.length;
    if (maxlength > message.length)
        maxlength = message.length;
    var ans = "";
    var wbr = ""; //should be used if users don't send very long URSl
    //var wbr = "<wbr/>";
    for (var i=0;i<maxlength;i++)
    {
        var c = message.charAt(i);
        if (c == '\r') ;
//        else if (c == ' ')  ans += ((ans.charAt(ans.length - 1) == ' ') ? "&nbsp" : " ");
//        else if (c == '\n') ans += wbr + "<br/>";
        else if (c == '<')  ans += wbr + "&lt;";
        else if (c == '>')  ans += wbr + "&gt;";
        else if (c == '&')  ans += wbr + "&amp;";
        else if (c == '\"') ans += wbr + "&quot;";
        else if (c == '\'') ans += wbr + "&#039;";
//        else if (c == ' ')  ans += wbr + "&#32;";
//        else if (c == '\t') {ans += wbr + " ";for (var j=0;j<4;j++)ans += wbr + "&nbsp";}
        else
            ans += wbr + c;
    }
    if (maxlength < message.length)
        ans += wbr + "...";
    //alert(ans);
    return ans;
}
function encodeMessage(message)
{
    if (message == undefined)
        return "";
    return encodeURIComponent(message);
}
function decodeMessage(message)
{
    if (message == undefined)
        return "";
    return message;
}
function unique(a) {
   var r = array();
   o:for(var i = 0, n = a.length; i < n; i++) {
      for(var x = i + 1 ; x < n && a[x] <= a[i]; x++)
         if(a[x]==a[i]) continue o;
      r[r.length] = a[i];
   }
   return r;
}
function filterArray(a, value)
{
   var r = array();
   for (key in a)
   {
//       if (parseInt(key.toString()) == NaN)
//       {
           if (key != value && a[key] != value)
               r[key] = a[key];
//       }
//       else
//       {
//           if (key != value && a[key] != value)
//               r.push(a[key]);
//       }
   }
   return r;
}
function showLoader()
{
    if (typeof document.body.style.maxHeight === "undefined")
    {//if IE 6
            $("body","html").css({height: "100%", width: "100%"});
            $("html").css("overflow","hidden");
            if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
                    $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
                    $("#TB_overlay").click(tb_remove);
            }
    }
    else{//all others
            if(document.getElementById("TB_overlay") === null){
                    $("body").append("<div id='TB_overlay'></div><div id='TB_window'>");
                    $("#TB_overlay").click(tb_remove);
            }
            
    }

    $("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
    $('#TB_load').show();//show loader
}
function hideLoader()
{
    tb_remove();
}
function tb_remove() {
 	$("#TB_imageOff").unbind("click");
	$("#TB_overlay").unbind("click");
	$("#TB_closeWindowButton").unbind("click");
	$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').remove();});
	$("#TB_load").remove();
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}
	document.onkeydown = "";
	return false;
}
function postJSON(url, params, success, error) {
    var CallParams = {};
    CallParams.type = "POST";
    CallParams.url = url;
    CallParams.processData = true;
    CallParams.data = params;
    CallParams.dataType = "json";
    CallParams.success = success;
    if (error)
        CallParams.error = error;
    $.ajax(CallParams);
}
