var dropShadowEnabled = false;

$(document).ready(function(){

   divLayer = new blibs.DivLayer();

});


function openDivLayer(responseHandler, href, divLayerName)
{
   $.ajax({
      url: href,
      cache: false,
      beforeSend: addAjaxHeader,
      success: function(content){
         responseHandler(false, content, divLayerName);
      }
   });
}

function ajaxRequest(e, responseHandler, divLayerName)
{
   var event = e || window.event;
   if (event.preventDefault) event.preventDefault();
   else event.returnValue = false;

   var target = event.target || event.srcElement;
   var href = findHref(target);

   $.ajax({
      url: href,
      cache: false,
      beforeSend: addAjaxHeader,
      success: function(content){
         responseHandler(false, content, divLayerName);
      }
   });
}
function findHref(elt)
{
    if (!elt.getAttributeNode('href'))
        return findHref(elt.parentNode);

    return elt.getAttribute('href');
}

function findForm(elt)
{
    if (elt.tagName == 'FORM')
        return elt;

    if (elt.tagName == 'BODY')
        return false;

    if (elt.parentNode)
        return findForm(elt.parentNode);
}

function ajaxSubmit(e, responseHandler, formname, actionUrl, hiddenFields, divLayerName)
{
    var event = e || window.event;
    var target = event.target || event.srcElement;

    if (event.preventDefault) event.preventDefault();
    else event.returnValue = false;

    if(!formname)
    {
        formElt = findForm(target);
        if (formElt)
            formname = formElt.name;
    }

    var form = $("form[name="+formname+"]");

    if (hiddenFields)
    {
        FormElt = eval("document.forms." + formname);
        for(var name in hiddenFields)
        {
            input = document.createElement('input');
            input.type = 'hidden';
            input.name = name;
            input.value = hiddenFields[name];
            FormElt.appendChild(input);
        }
    }

    if (!divLayerName)
        var divLayerName = form.parents(".divLayer").attr('id');

    var url = actionUrl? actionUrl : form.attr('action');

    FormElt = document.forms[formname];
    if (FormElt.isSend)
        return false;
    else
    {
        input = document.createElement('input');
        input.type = 'hidden';
        input.name = 'isSend';
        input.value = 1;
        FormElt.appendChild(input);
    }

    form.ajaxSubmit({
       url: url,
       beforeSend: addAjaxHeader,
       success: function(content){
          responseHandler(false, content, divLayerName);
          return false;
       }
    });
}

function addAjaxHeader(xhr)
{
   xhr.setRequestHeader("HTTP_X_REQUESTED_WITH", "XMLHttpRequest");
}
var hold=true;
function showDivLayer(e, content, divLayerName)
{
    if(typeof e == 'object')
    {
        var event = e || window.event;

        if (event.preventDefault) event.preventDefault();
        else event.returnValue = false;
    }

    divLayer.hide();
    divLayer.show(content, divLayerName);
    $("div:first").addClass("grey");
}

function hideDivLayer(e, divLayerName)
{
   if(typeof e == 'object')
   {
      var event = e || window.event;

      if (event.preventDefault) event.preventDefault();
      else event.returnValue = false;
   }

   divLayer.hide(divLayerName);
   $("div:first").removeClass("grey");
}

