﻿var hashLoc = ""

function WindowOnload(f)
{
    var prev = window.onload;
    window.onload=function(){ if(prev)prev(); f(); }
}

function JumpToHash(h)
{
    window.location.hash=hashLoc;
}

function CheckNumeric(e) 
{   
    var key //= (window.event) ? event.keyCode : e.which;   
    if (window.event)
         key = event.keyCode
    else
         key = e.which
    // Was key that was pressed a numeric character (0-9) or backspace (8)?
    if ( key > 47 && key < 58 || key == 8 || key == 22)
         return; // if so, do nothing
    else // otherwise, discard character
    {
        if (window.event) //IE
            window.event.returnValue = null;
        else //Firefox
            e.preventDefault();
    }
}

function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

// Cookie functions
function SetCookie(name, value, expires, path, domain, secure) 
{
    var today = new Date();
    today.setTime(today.getTime());
    if (expires)
    {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));
    document.cookie = name + "=" +escape(value) +
    ((expires) ? ";expires=" + expires_date.toGMTString() : "") + 
    ((path) ? ";path=" + path : "") + 
    ((domain) ? ";domain=" + domain : "") +
    ((secure) ? ";secure" : "");
}

function GetCookie(check_name)
{
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false;
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}				

function DeleteCookie(name, path, domain)
{
    if (GetCookie(name)) document.cookie = name + "=" +
    ((path) ? ";path=" + path : "") +
    ((domain) ? ";domain=" + domain : "") +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function Auth()
{
    if (document.getElementById("rememberMe").checked)
    {
        SetCookie("artimus_un", document.getElementById("uname").value, 30, "/", "", "");
        SetCookie("artimus_rm", true, 30, "/", "", "");
    }
    else
    {
        DeleteCookie("artimus_un", "/", "");
    }
    AjaxRequest.get(
      {
        'url':'LoginAuth.aspx?un=' + document.getElementById('uname').value + '&pwd=' + document.getElementById('pword').value + '&rem=' + document.getElementById('rememberMe').checked
        ,'onSuccess':function(req)
        {
            if (req.responseText == "admin")
            {
                window.location = (window.pageRedirectURL) ? window.pageRedirectURL : "AdminPortal.aspx";
            }
            else if (req.responseText == "user")
            {
                window.location = (window.pageRedirectURL) ? window.pageRedirectURL : "Portal.aspx";
            }
            else
            {
              document.getElementById("divLBErr").innerHTML = req.responseText;
            }
        }
        ,'onError':function(req){ 
          document.getElementById("lightbox").innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;
        }
    });
}

function EnterKeyLogin(e)
{
	// This method is tied to an onKeyDown event on the password field
	if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))
	{
		// cancel the default submit
		e.returnValue=false;
		e.cancel = true;

		Auth();
	}
}

function GetSelectedValue(radioObj) 
{
    if(!radioObj)
    {
        return "";
    }
    var radioLength = radioObj.length;
    if(radioLength == undefined)
    {
        if(radioObj.checked)
        {
            return radioObj.value;
        }
        else
        {
            return "";
        }
    }
    for(var i = 0; i < radioLength; i++) 
    {
        if(radioObj[i].checked) 
        {
            return radioObj[i].value;
        }
    }
    return "";
}

function SetSelectedValue(radioObj, newValue) 
{
	if(!radioObj)
	{
		return;
    }
	var radioLength = radioObj.length;
	if(radioLength == undefined) 
	{
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++)
	{
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) 
		{
			radioObj[i].checked = true;
		}
	}
}

function SetUniqueRadioButton(nameregex, current)
{
    var re = new RegExp(nameregex);  
    for(i = 0; i < document.forms[1].elements.length; i++) 
    {
	    elm = document.forms[1].elements[i];
	    if (elm.type == 'radio') 
	    {
		    if (re.test(elm.name))
		    {
			    elm.checked = false;
		    }
	    }
    }
    current.checked = true;
}


