
function WriteCalendar1(TopicGroupId, Date, Width, Height, Align)
{
    var sHtml = GetCalendarHtml(TopicGroupId, Date, Width, Height, Align);  
    document.write(sHtml);
}
function FillElementWithCalendar1(Id, TopicGroupId, Date, Width, Height, Align)
{    
    var sHtml = GetCalendarHtml(TopicGroupId, Date, Width, Height, Align);
    document.getElementById(Id).innerHTML = sHtml;
}
function GetCalendarHtml(TopicGroupId, Date, Width, Height, Align)
{
    var url = "/EBMS/API/ClientSideCalendar.esp";
    var parameters = "TopicGroupId=" + TopicGroupId;
    //alert(url + "?" + parameters);
    parameters += "&Date=" + cURLEncode(Date);
    parameters += "&Width=" + cURLEncode(Width);
    parameters += "&Height=" + cURLEncode(Height);
    parameters += "&Align=" + cURLEncode(Align);
    http_request = false;
    if (window.XMLHttpRequest) 
    { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) 
        {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
        }
    } 
    else if (window.ActiveXObject) 
    { // IE
        try 
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) 
        {
            try 
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }   
            catch (e) {}
        }
    }
    if (!http_request) 
    {
        alert('Cannot create XMLHTTP instance');
        return "";
    }
    http_request.open('POST', url, false);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
    ///alert(http_request.status);
    if (http_request.readyState == 4) 
    {
        if (http_request.status == 200) 
        {
            return http_request.responseText;
        }
    }
}
function cURLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
        output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}
