/* $.pmws.post("addemp",formDataJSon,onAddEmpFunc); */
jQuery.pmws = {
  post: function(aId, data, callback) {
	var TickId = $("input[name$='__TickId']").val();
	var FormName = $("input[name$='__FORMNAME']").val();
    var url = FormName+"?Ajax="+aId+"&__FORMNAME="+FormName+"&__TickID="+TickId;
	$.ajax({
      type: "POST",
  	  url: url,
  	  data: data,
  	  contentType: "application/json; charset=utf-8",
  	  dataType: "json",
  	  success: callback,
	  error:function (xhr, ajaxOptions, thrownError){
                    alert("http error:"+xhr.status);
                    alert(thrownError);
	   }
	});
  },
  get: function(aId, aAjaxModule, data, callback) {
	var url = "ewfTemplate?Ajax="+aId+"&AjaxModule="+aAjaxModule;
    $.ajax({
      type: "POST",
  	  url: url,
  	  data: data,
  	  contentType: "application/json; charset=utf-8",
  	  dataType: "json",
  	  success: callback,
	  error:function (xhr, ajaxOptions, thrownError){
                    alert("http error:"+xhr.status);
                    alert(thrownError);
	   }
	}); },
  test: function() {
	alert("følkdfødlkf");
  },
  InitAjaxCursorChange: function (){
  $("html").bind("ajaxStart", function(){
     if ($("#ajaxloader").length==0) {
      $(document.body).append('<div id="ajaxloader"></div>');
      var $b = $("#ajaxloader");
      $b.css("position","absolute");
      $b.css("top","50%");
      $b.css("left","50%");
      $b.css("width","32px");
      $b.css("height","32px");
      $b.css("margin-top","-16px");
      $b.css("margin-left","-16px");
      $b.css("background-image","url('ajax-loader.gif')");
      $b.css("z-index","999");
     }
     $("#ajaxloader").show();
   }).bind("ajaxStop", function(){
     $("#ajaxloader").hide();
   });
}
};

jQuery.fn.pmwsAutoComplete = function(aUrl, options) {
    var opts = jQuery.extend({},
            jQuery.fn.pmwsAutoComplete.defaults, options);
    return this.each(function() {
        var $element = jQuery(this);
        var aAjaxId = $element.attr("id");
        if (!aAjaxId) {
            aAjaxId = $element.attr("name")
        }
        var aAjaxSource = {
            source: function(request, response) {
                var postOpts = {name: aAjaxId, value: request.term};
                postOpts = jQuery.extend(postOpts, opts.extraParams);
                jQuery.pmws.post("autocomplete", postOpts,
                        function(data) {
                            if (data.error) alert("Ajax error:" + data.error);
                            response($.map(data.value.values, function(item) {
                                return {
                                    label: item.label,
                                    value: item.label
                                }
                            }))
                        })
            }
        };
        $element.autocomplete(jQuery.extend({}, opts, aAjaxSource))
    })
}
jQuery.fn.pmwsAutoComplete.defaults = {
    minLength: 1
}

jQuery.fn.pmwsFormatTable = function() {
    return this.each(function() {
        var $t = jQuery(this);
        $t.addClass('dmEWFscTbl');
        $t.find('thead tr').addClass('dmEWFscTblHead');
        $t.find('tbody tr:even').addClass('dmEWFscTblAltItem');
        $t.find('tbody tr').mouseover(function() {
            $(this).addClass('dmEWFscTblItemH ')
        }).mouseout(function() {
            $(this).removeClass('dmEWFscTblItemH ');
        });
    })
}