//define browser............................................

var br_ie = false;
var br_ns = false;

function DefineBrowser()
{
    var user_agent = navigator.userAgent.toLowerCase();
    if (user_agent.indexOf("opera") == -1 && user_agent.indexOf("webtv") == -1 && user_agent.indexOf("khtml") == -1)
    {
       if (user_agent.indexOf("msie") != -1)
		   br_ie = true;
	   else
	   {
	       if (user_agent.indexOf("compatible") == -1 && user_agent.indexOf("spoofer") == -1 && user_agent.indexOf("hotjava") == -1)
               br_ns = true; 		           
	   }	   
    } 
    
    if (!br_ie && !br_ns)
        document.location.href="/NotSupported.aspx";
        //alert("The browser you are using is not supported.  Some functionality will be lost.");
}

DefineBrowser();

//............................................................
function $GetById(value)
{
  if (typeof(value) == "string") 
    return document.getElementById(value);
    
  if (typeof(value) == "array")   
  {
     var res = new Array();
     for(var i=0; i<value.length; i++)
        res.push(document.getElementById(value[i]));
     return res;   
  }
  
  return null;  
}

function processKeyDown(keyCode, func, e)
{
    e = e || window.event;
	if (e.keyCode == keyCode)
	{
		eval(unescape(func));
		return false;
	}
}

function processCtrlAndKeyDown(keyCode, func, e)
{
    e = e || window.event;
	if (e.ctrlKey && e.keyCode == keyCode)
	{
		eval(unescape(func));
		return false;
	}
}

//............................................................
function RegisterNamespace(name)
{
   eval("window." + name + " = new Object();");
}
//............................................................

/*       gridview sorting       */
if (typeof GVS == 'undefined')
	GVS = new Object();

GVS.Sort = function (sender, gridName)
{
   if (__doPostBack)
   {
      var value = sender.options[sender.selectedIndex].value;
      if (value != "")
         __doPostBack(gridName, "Sort$" + value);  
   }   
}

GVS.Reverse = function(sender, gridName)
{
   var ddl = sender.parentNode.parentNode.parentNode.getElementsByTagName("select")[0];
   var hid = sender.parentNode.parentNode.parentNode.getElementsByTagName("input")[0];
   if (__doPostBack)
   {
      var value = ddl.options[ddl.selectedIndex].value;
      if (value != "")
      {
         if (hid.value == "")
         {
            hid.value = "*";
            __doPostBack(gridName, "Sort$*" + value);  
         }
         else
         {
             hid.value = "";
             __doPostBack(gridName, "Sort$" + value.replace(/[*]+/,""));  
         }
      }   
   }
   
   return false;   
}

/*    end of gridview sorting   */



/* search images */
function SearchLinkMouseOver(sender, str)
{
   sender.parentNode.className = sender.parentNode.className.replace(/base/, sender.getAttribute("entity"));
}

function SearchLinkMouseOut(sender)
{
   var re = new RegExp(sender.getAttribute("entity"));
   sender.parentNode.className = sender.parentNode.className.replace(re, "base");
}

/* end of search images */

/* xml http request */

function InitializeXMLHttpRequest(req)
{
    if (req != null)
       req.abort();

	if (typeof XMLHttpRequest != "undefined")
		req = new XMLHttpRequest();
	else
	{
	    try
	    { 
		    req=new ActiveXObject("Msxml2.XMLHTTP"); 
		}
	    catch(e)
	    {    
		    try { req=new ActiveXObject("Microsoft.XMLHTTP"); }
		    catch(oc){ req=null;}
	    }
	}	
       
	return req;	
}

/* end of xml http request */

/* toogle visibility */
function $ToogleVisibility(elemId)
{
  var elem = document.getElementById(elemId);
  if (elem.style.display != "none")
      elem.style.display = "none";
  else   
      elem.style.display = "block";
}
/* end of toogle visibility */


/* trace browser window activity */
function TraceBrowserWindowActivity(WindowFocused, WindowBlurred)
{
   var fisrtTime = (typeof(window.HandlersForFocused) == 'undefined');
   if (fisrtTime)
   {
      window.HandlersForFocused = new Array();
      window.HandlersForBlurred = new Array();
   }
   
   window.HandlersForFocused.push(WindowFocused);
   window.HandlersForBlurred.push(WindowBlurred);
   
   if (!fisrtTime)
     return;
   
   window.WindowIsFocused = true;
   window.ActiveElement;
   window.CallWindowFocused = function() 
                              {
     	                          if (!window.WindowIsFocused) 
     	                          {
     	                               window.WindowIsFocused=true; 
     	                               for(var i=0; i<window.HandlersForFocused.length; i++)
     	                                  eval(window.HandlersForFocused[i]);
     	                          }
     	                      };
   
   window.CallWindowBlurred = function() 
                              {
                                   if (br_ie && (window.ActiveElement != document.activeElement))
                                       window.ActiveElement = document.activeElement;
                                   else   
                                   {
 	                                   window.WindowIsFocused=false; 
 	                                   for(var i=0; i<window.HandlersForBlurred.length; i++)
     	                                  eval(window.HandlersForBlurred[i]);
                                   }
     	                      };
   
   if (window.attachEvent)
   {
     	window.ActiveElement = document.activeElement;
     	document.attachEvent("onfocusout", CallWindowBlurred);
     	window.attachEvent("onfocus", CallWindowFocused);
   }
   else 
   {
        window.addEventListener("blur", CallWindowBlurred, false);
        window.addEventListener("focus", CallWindowFocused, false);
   }   
}
/* end of trace browser window activity */

/* chat */
function OpenVoxamiChat(url)
{
    /* remove blinking indicator before opening chat window */
    var elemIndicator = document.getElementById(ChatStatusIndicatorID);
    if (elemIndicator != null)
        elemIndicator.src = elemIndicator.src.replace(/chatindicator(-new)?\.gif/, "chatindicator.gif");

    var charWindow;
    if (br_ie)
        charWindow = window.open(url, "Chat", "toolbar=0,status=0,location=0,resizable=0,width=635px,height=378px,scrollbars=0,top=0,left=0");
    else
        charWindow = window.open(url, "Chat", "toolbar=0,status=0,location=0,resizable=0,width=630px,height=377px,scrollbars=0,top=0,left=0");    
    charWindow.focus();
}
/* end of chat status */

/* file library -> upload file */
function AddFileUpload111(sender)
{
   var tbody = sender.parentNode.parentNode.parentNode;
   
   var newRow = document.createElement("TR");
   newRow.appendChild(document.createElement("TD"));
   newRow.appendChild(document.createElement("TD"));
   tbody.appendChild(newRow);
   
   var newFile = document.createElement("INPUT");
   newFile.type = "file";
   newFile.className = "tb w200";
   newFile.name = "fupload" + tbody.rows.length;
   
   newRow.cells[1].appendChild(newFile);
}
/* end of file library */