var webMethod = '/NavConnect/connect.asmx';

(function($){
    $.fn.extend({
      center: function () {
       return this.each(function() {
       var top = ($(window).height() - $(this).outerHeight())/ 2;
       var left = ($(window).width() - $(this).outerWidth()) / 2;
      $(this).css({position:'absolute', margin:0, top: (top > 0 ? top : 0)+'px', left: (left > 0 ? left : 0)+'px'});
     });
    }
  }); 
})(jQuery);

jQuery.ajaxSetup({   
  beforeSend: function() {   
     $('#loadingdiv').center();
     $('#loadingdiv').show();   
  },   
  complete: function(){   
     $('#loadingdiv').hide();   
  },   
  success: function() {}   
});

  $(document).ready(function(){   

    $("form input:text").change(function () {
       FieldValidate(this);
    });
    
    $("form input:text").focus(function () {
       $(this).attr("xValue",this.value);
       $(this).select();
    });
 
    $("form textarea").change(function () {
       FieldValidate(this);
    });
    
    $("form textarea").focus(function () {
       $(this).attr("xValue",this.value);
       $(this).select();
    });
    
    $('form select').change(function() {
       FieldValidate(this);
    });
 
    $("form select").focus(function () {
       $(this).attr("xValue",this.value);
    });
 
    
    $("form input:button").click(function () {
       ButtonClick(this);
    });
    $("input[id*='NC_']").click(function () {
       ButtonClick(this);
    });
    
    $("form a").click(function () {
       LinkClick(this);
    });
    $("a[id*='NC_']").click(function () {
       ButtonClick(this); /*As button*/
    });
    
    $("textarea[maxlength]").keyup(function(){   
      var limit = parseInt($(this).attr('maxlength'));   
      var text = $(this).val();   
      var chars = text.length;   
      if(chars > limit){   
          var new_text = text.substr(0, limit);   
          $(this).val(new_text);   
      }   
    });  

  });

function FieldValidate(thisPtr)
{
  var parameters = "{'id':'"+$(thisPtr).attr('id')+"', 'pId':'"+$(thisPtr).attr('pId')+"', xValue:'"+$(thisPtr).attr('xValue')+"', 'value': '"+$(thisPtr).val()+"', 'key': '"+ $(thisPtr).attr('key') + "', 'eventName': '"+$(thisPtr).attr('event')+ "'}"; 

   $.ajax(
    { type: "POST",
      url: webMethod+'/FieldValidate',
      contentType: "application/json; charset=utf-8",
      data: parameters,
      dataType: "json",
      success: AjaxSucceededValidate, 
      error: AjaxFailed,
      async:   false        
     }
  );
}

function ButtonClick(thisPtr)
{
  var parameters = "{'pId':'"+$(thisPtr).attr('pId')+"', 'id':'"+$(thisPtr).attr('id')+"', 'eventName':'"+$(thisPtr).attr('event')+"'}"; 
  $.ajax(
    { type: "POST",
      url: webMethod+'/ButtonClick',
      contentType: "application/json; charset=utf-8",
      data: parameters,
      dataType: "json",
      success: AjaxSucceededButton, 
      error: AjaxFailed,
      async:   false        
     }
  );
  
}
function LinkClick(thisPtr)
{
  var parameters = "{'pId':'"+$(thisPtr).attr('pId')+"', 'id':'"+$(thisPtr).attr('id')+"', 'value': '"+$(thisPtr).html()+"', 'key': '"+$('#'+ thisPtr.id).attr('key') + "', 'eventName': '"+$(thisPtr).attr('event')+ "'}"; 
  $.ajax(
    { type: "POST",
      url: webMethod+'/LinkClick',
      contentType: "application/json; charset=utf-8",
      data: parameters,
      dataType: "json",
      success: AjaxSucceededButton, 
      error: AjaxFailed,
      async:   false        
     }
  );
}
function UpdateNav(pId,thisPtr, eventName,param1,param2,param3,param4,param5,param6,param7,param8)
{
  var parameters = "{'pId':'"+pId+"', 'id':'"+thisPtr.id+"', 'eventName':'"+eventName+"', 'param1':'"+param1+"', 'param2': '"+param2+"', 'param3': '"+ param3 + "', 'param4': '"+param4+ "', 'param5': '"+param5+ "', 'param6': '"+param6+ "', 'param7': '"+param7+ "', 'param8': '"+param8+ "'}"; 
  $.ajax(
    { type: "POST",
      url: webMethod+'/UpdateNav',
      contentType: "application/json; charset=utf-8",
      data: parameters,
      dataType: "json",
      success: AjaxSucceededUpdateNav, 
      error: AjaxFailed,
      async:   false        
     }
  );
}

var GetJasonId = "";
var TheValue = "";
function GetJasonLookup(id, dataSet,param1,param2,param3,param4,param5)
{
  GetJasonId = id;
  TheValue = $(id).val();
  var parameters = "{'dataSet':'"+dataSet+"', 'param1':'"+param1+"', 'param2': '"+param2+"', 'param3': '"+ param3 + "', 'param4': '"+param4+ "', 'param5': '"+param5+ "'}"; 
  $.ajax(
    { type: "POST",
      url: webMethod+'/GetJsonLookup',
      contentType: "application/json; charset=utf-8",
      data: parameters,
      dataType: "json",
      success: AjaxSucceededGetJsonLookup, 
      error: AjaxFailed,
      async:   false        
     }
  );
}

function AjaxSucceededValidate(result) {   
  var ret = {}; eval ( "ret =" + result.d + ";");
  
  if (ret.value != '')
    $('#'+ret.id).val(ret.value);

  if (ret.error == '')
  {
     if (ret.href != '')
     {
        window.location.href = ret.href;
     }
  } else {
     $('#'+ret.id).val(ret.xValue);
     // $('#'+ret.id).focus();

     $('#'+ret.id).jAlert(ret.error, "warning", 'wBox'+ret.id, ret.id);
  }
  if (ret.message != '')
  {
     $('#'+ret.id).jAlert(ret.message, "info", 'iBox'+ret.id);
  } 
}
  
function AjaxSucceededUpdateNav(result) {   

  var ret = {}; eval ( "ret =" + result.d + ";");
  
  if (ret.error == '')
  {
     if (ret.href != '')
     {
        location.href = ret.href;
     }
  } else {
     $('#'+ret.id).jAlert(ret.error, "warning", 'wBox'+ret.id, ret.id);
  }
  if (ret.message != '')
  {
     $('#'+ret.id).jAlert(ret.message, "info", 'iBox'+ret.id);
  }
}   

function AjaxSucceededGetJsonLookup(result) {   
  var ret = {}; eval ( "ret =" + result.d + ";");
  $(GetJasonId).removeOption(/./); // Empty
  $(GetJasonId).addOption(ret, false);
  $(GetJasonId).selectOptions(TheValue, true);
}   
function AjaxSucceededButton(result) { 
  var ret = {}; eval ( "ret =" + result.d + ";");
  
  if (ret.error == '')
  {
     if (ret.href != '')
     {
        window.location.href = ret.href;
     }
  } else {
     $('#'+ret.id).jAlert(ret.error, "warning", 'wBox'+ret.id, ret.id);
  }
  if (ret.message != '')
  {
     $('#'+ret.id).jAlert(ret.message, "info", 'iBox'+ret.id);
  } 

}  
function AjaxFailed(result) {   
      $('body').jAlert(result.statusText+" ("+result.status + ")", "fatal", 'errboxid','body', 780, '100');
}

var xmlHttp
var num
function CopyPageToDiv(pageToFetch,whereToPut)
{ 
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
		{
			alert ("Sorry you cannot run AJAX Applications.")
			return
		} 
	var url=pageToFetch
	localWhereToPut = whereToPut
	url=url+"?q="
	url=url+"&sid="+Math.random()
	xmlHttp.open("GET",url,false)
	xmlHttp.send(null)
   document.getElementById(whereToPut).innerHTML 
     = xmlHttp.responseText;
}

function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
		{
			objXMLHttp=new XMLHttpRequest()
		}
	else if (window.ActiveXObject)
		{
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
	return objXMLHttp
}
