﻿//searches for element in current document
function get_element_client_id(element_tag,element_id)
{
    return get_element_client_id_ex(document,element_tag,element_id);
}

//searches for element in specified document
//When you are try to get some element in parent window or in some iFrame use this method
//use this method if search is in other document than current. 
function get_element_client_id_ex(content_document,element_tag,element_id)
{
    var allInputs = content_document.getElementsByTagName(element_tag);
	for (var i=0; i <= allInputs.length - 1; i++)
	{
		if (allInputs[i].id.indexOf(element_id) != -1)
			return allInputs[i].id;
	}
}



function IsNullOrUndefined(obj)
{
    if(typeof(obj)==typeof(undefined))
        return true;
    if(obj == null)
        return true;
    
    return false;
}


     function get_scrollbar_width () 
     {
        var inner = document.createElement('p');
        inner.style.width = '100%';
        inner.style.height = '200px';

        var outer = document.createElement('div');
        outer.style.position = 'absolute';
        outer.style.top = '0px';

        outer.style.left = '0px';
        outer.style.visibility = 'hidden';
        outer.style.width = '200px';
        outer.style.height = '150px';
        outer.style.overflow = 'hidden';
        outer.appendChild (inner);

        document.body.appendChild (outer);
        var w1 = inner.offsetWidth;
        outer.style.overflow = 'scroll';
        var w2 = inner.offsetWidth;
        if (w1 == w2) w2 = outer.clientWidth;

        document.body.removeChild (outer);

        return (w1 - w2);
    }

    
   function element_has_vertical_scrollbar(elem_id) 
   { 
        var  elem = document.getElementById(elem_id); 
    
        if(elem == null)
            alert(elem+' is not found!');
        
        if (elem.clientHeight < elem.scrollHeight) 
            return true;
        else 
            return false;
  }


  function centerElementOnScreen(element) {


      var scrollTop = document.body.scrollTop;
      var scrollLeft = document.body.scrollLeft;

      var viewPortHeight = document.body.clientHeight;
      var viewPortWidth = document.body.clientWidth;

      if (document.compatMode == "CSS1Compat") {
          viewPortHeight = document.documentElement.clientHeight;
          viewPortWidth = document.documentElement.clientWidth;

          scrollTop = document.documentElement.scrollTop;
          scrollLeft = document.documentElement.scrollLeft;
      }

      var topOffset = Math.ceil(viewPortHeight / 2 - element.offsetHeight / 2);
      var leftOffset = Math.ceil(viewPortWidth / 2 - element.offsetWidth / 2);

      var top = scrollTop + topOffset - 40;
      var left = scrollLeft + leftOffset - 70;

      element.style.position = "absolute";
      element.style.top = top + "px";
      element.style.left = left + "px";
  }



  //error handlingot ne raboti na safari i opera, ne e poddrzan od niv
  //krstev: error_handler treba da bide vo aspx, en vi liib za da moze da se koristi
  // pusti ja ovaa linija kod, ega dodeka programiram, mi smeta
  //window.onerror = error_handler;

  function error_handler(error_message, error_url, error_line) {

      try {

          if (typeof (error_message) != 'undefined' && error_message != null)
              alert('Java script error handler: ' + error_message);

          log_client_error_to_server(error_message, error_url, error_line);


      }
      catch (e) {
          alert('Java script error handler: there is a error while executing method from java script error handler!Error message:  ' + e.message);
      }
  }
  function log_client_error_to_server(error_message, error_url, error_line) {
      try {
          do_ajax_callback('clienterrorlogger.aspx', '[error_message=' + error_message + '] [error_url= ' + error_url + '] [error_line=' + error_line + ']', null);
      }
      catch (ex) {
          alert(ex);
      }
  }