﻿

        //////////////////////////////////////////////////////////////
        //  Function is used to Detect the client's Browser
        //  
        //
        //////////////////////////////////////////////////////////////
                
        var BrowserDetect = {
        init: function () {
            this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
            this.version = this.searchVersion(navigator.userAgent)
                || this.searchVersion(navigator.appVersion)
                || "an unknown version";
            this.OS = this.searchString(this.dataOS) || "an unknown OS";
        },
        searchString: function (data)
         {
            for (var i=0;i<data.length;i++)	{
                var dataString = data[i].string;
                var dataProp = data[i].prop;
                this.versionSearchString = data[i].versionSearch || data[i].identity;
                if (dataString) 
                {
                    if (dataString.indexOf(data[i].subString) != -1)
                        return data[i].identity;
                }
                else if (dataProp)
                    return data[i].identity;
            }
        },
        searchVersion: function (dataString)
        {
            var index = dataString.indexOf(this.versionSearchString);
            if (index == -1) return;
            return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
        },
        dataBrowser: [
            { 	string: navigator.userAgent,
                subString: "OmniWeb",
                versionSearch: "OmniWeb/",
                identity: "OmniWeb"
            },
            {
                string: navigator.vendor,
                subString: "Apple",
                identity: "Safari"
            },
            {
                prop: window.opera,
                identity: "Opera"
            },
            {
                string: navigator.vendor,
                subString: "iCab",
                identity: "iCab"
            },
            {
                string: navigator.vendor,
                subString: "KDE",
                identity: "Konqueror"
            },
            {
                string: navigator.userAgent,
                subString: "Firefox",
                identity: "Firefox"
            },
            {
                string: navigator.vendor,
                subString: "Camino",
                identity: "Camino"
            },
            {		// for newer Netscapes (6+)
                string: navigator.userAgent,
                subString: "Netscape",
                identity: "Netscape"
            },
            {
                string: navigator.userAgent,
                subString: "MSIE",
                identity: "Explorer",
                versionSearch: "MSIE"
            },
            {
                string: navigator.userAgent,
                subString: "Gecko",
                identity: "Mozilla",
                versionSearch: "rv"
            },
            { 		// for older Netscapes (4-)
                string: navigator.userAgent,
                subString: "Mozilla",
                identity: "Netscape",
                versionSearch: "Mozilla"
            }
        ],
        dataOS : [
            {
                string: navigator.platform,
                subString: "Win",
                identity: "Windows"
            },
            {
                string: navigator.platform,
                subString: "Mac",
                identity: "Mac"
            },
            {
                string: navigator.platform,
                subString: "Linux",
                identity: "Linux"
            }
        ]

        };
        

        BrowserDetect.init();
        var bname;
        
        //////////////////////////////////////////////////////////////
        //  Function is used to Detect the client's Browser
        //  
        //
        //////////////////////////////////////////////////////////////

        function fnBrowserDetect()
        {
          bname=BrowserDetect.browser;
        }

        //////////////////////////////////////////////////////////////
        //  Function to Show the Popup Window
        //  it takes the paramerers as PageURL,tittle,Width,Height etc
        //
        //////////////////////////////////////////////////////////////
        
        function PopupWin(sPicURL, title,w,h) 
		{ 
			var winname;
			var winl = (screen.width - w) / 2;
	
			var wint = (screen.height - h) / 2;
			winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable=0,scrollbars=yes';
			winname = window.open(sPicURL+"", title, winprops);   
			winname.focus()
			//childWindowHandles[childWindowHandles.length] = winname;
			return winname;
		} 
		
//        function lnkLogOut()
//        {
//            if(document.getElementById('divSignInOut').innerHTML=="Log Out")
//            {
//                 var Sub=document.getElementById('hidAffliateurl').value;
//                if (Sub=="OFAS")
//                {
//                        clsUtility.LogOut();
//                        window.location.href="Default.aspx";
//                }
//                else
//                {
//                    clsUtility.LogOut();
//                    window.location.href="Default.aspx";
//                
//                }
//            }
//            else
//            {     
//                window.location.href="../frmLogin.aspx";
//            }
//        }

//		function LogOut()
//		{
//			WebApp.Utility.LogOut(LogOutSuccess); // this function
//		}

//		function LogOutSuccess(returnValue)
//		{
//			_is_redirect_allowed = true;
//			top.window.location.href = returnValue;
//			return false;
//		}

		function SetRedirectAllowed(value) {
		    _is_redirect_allowed = value;
		}

		function IsSameSite(value) {

		    _is_same_site = value;
		}
		
        function fnUnlockApp()
        {
           clsUtility.fnWsUnlock();
           
        }
        function fnonlock()
        {
            clsUtility.LogOut();
        }
        function Login(loginurl)
        {
           window.location.href=loginurl;
        }
        
        function divHideShow()
        { 
        
             if(document.getElementById('login')!=null)
             {
                document.getElementById('login').style.display="none";
             }
             if(document.getElementById('divSignInOut')!=null)
             {
                if (document.getElementById('divSignInOut').innerHTML=="Log In")
                {
                    document.getElementById('divSignInOut').innerHTML="Log Out";
                }    
             }  
              if(document.getElementById('login_sm')!=null)
             {
                document.getElementById('login_sm').style.display="none";
             }           
        }
       
        function EmbeddUrl() {
            var strHidValue=document.getElementById('hidUrlEmbedd').value;
            var links=document.getElementsByTagName("a")
            var total=links.length
            for (i=0;i<total;i++)
            {
                var objAnchor =links[i];
                if(objAnchor.name!='bookMark')
                {
                    if(document.URL.substring(0,document.URL.indexOf('/',8))==objAnchor.href.substring(0, objAnchor.href.indexOf('/',8)))
                    {
                        
                        if(objAnchor.href.indexOf('pku3at')<1)
                        {
                            if (objAnchor.href.indexOf("?") > 0)
                                objAnchor.href = objAnchor.href +'&rf='+strHidValue+'';
                            else
                                objAnchor.href = objAnchor.href +'?rf='+strHidValue+'';
                        }
                    }
                } 
            }
        }

        
        function FieldLength(value,minlength)
        {
            var fLen=value;          
            if(fLen.length < minlength)
            {
                return false;
            }
            else 
                 return true;
        }
        
        / //////////////////////////////////////////////////////////////
        //  IsValidEmail id used to validate the email
        //  it takes the paramerers as value(Email).
        //
        //////////////////////////////////////////////////////////////
		function isValidEmail(value)
		{
			var email=value;
			var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(2([0-4]\d|5[0-5])|1?\d{1,2})(\.(2([0-4]\d|5[0-5])|1?\d{1,2})){3} \])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
			return re.test(email);
		}

		// this function is intended to allow only digits to be entered into a text field.
		function AllowWholeNumberOnly(evt) {
			if (BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Netscape" || BrowserDetect.browser == "Safari") {
				return (evt.which == 8 || evt.which == 0 || evt.which == 9 || (evt.which >= 48 && evt.which <= 57));
			}
			if (BrowserDetect.browser == "Explorer") {
				return (evt.keyCode >= 48 && evt.keyCode <= 57);
			}
			if (BrowserDetect.browser == "Opera") {
				return (evt.keyCode == 8 || evt.keyCode == 37 || evt.keyCode == 39 || (evt.keyCode >= 48 && evt.keyCode <= 57));
			}
		}
		
	function fnAllowNumberOnly(evt)
	{
		if(BrowserDetect.browser=="Firefox" || BrowserDetect.browser=="Netscape" || BrowserDetect.browser=="Safari")
		{
			if(evt.which == 8 || evt.which == 0 || evt.which == 9)
				return true;
			else if(evt.which>=48 && evt.which<=57)
				return true;
			else
				return false;
		}
		if(BrowserDetect.browser=="Explorer")
		{
			if(evt.keyCode>=48 && evt.keyCode<=57)
				return true;
			else
				return false;
		}
		if(BrowserDetect.browser=="Opera")  
		{
			if(evt.keyCode == 8 || evt.keyCode == 37 || evt.keyCode == 39)
				return true;
			if(evt.keyCode>=48 && evt.keyCode<=57)
				return true;
			else
				return false;
		}
	}
		function fnAllowNumberOnlyZero(evt,_ObjCtrl)
		{
			var Objval=document.getElementById(_ObjCtrl.id).value;
			var x=Objval.charAt(0)
			if(x=='0')
			{
				return false;
			}
			if(BrowserDetect.browser=="Firefox" || BrowserDetect.browser=="Netscape" || BrowserDetect.browser=="Safari")
			{
				if(evt.which == 8 || evt.which == 0 || evt.which == 9)
					return true;
				else if(evt.which>=48 && evt.which<=57)
					return true;
				else
					return false;
			}
			if(BrowserDetect.browser=="Explorer")
			{
				if(evt.keyCode>=48 && evt.keyCode<=57)
					return true;
				else
					return false;
			}
			if(BrowserDetect.browser=="Opera")  
			{
				if(evt.keyCode == 8 || evt.keyCode == 37 || evt.keyCode == 39)
					return true;
				if(evt.keyCode>=48 && evt.keyCode<=57)
					return true;
				else
					return false;
			}
		}

		function fnSSN_Number_Masking(_ObjCtrl,evt)
		{
			if(BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Netscape" || BrowserDetect.browser == "Safari")
			{
				if(evt.which == 13)
				{
					document.getElementById(_ObjCtrl.id).value = '';
				}
				if(evt.which != 8 && evt.which != 0 && evt.which != 9)
				{
					var ctrlLength=document.getElementById(_ObjCtrl.id).value.length;
					if(ctrlLength == 3)
					{
						document.getElementById(_ObjCtrl.id).value += "-";
						MZCursorPosition(_ObjCtrl.id,5);
					}
					else if(ctrlLength == 6)
					{
						document.getElementById(_ObjCtrl.id).value += "-";
						MZCursorPosition(_ObjCtrl.id,8);
					}
					else if(ctrlLength == 11)
						document.getElementById(_ObjCtrl.id).value.length = 0;
				}
			}
			else
			{
				if((evt.keyCode == 8))
					return true;
				var ctrlLength = document.getElementById(_ObjCtrl.id).value.length;
				if(ctrlLength == 3)
					document.getElementById(_ObjCtrl.id).value += "-";
				else if(ctrlLength == 6)
					document.getElementById(_ObjCtrl.id).value += "-";
				else if(ctrlLength == 11)
					document.getElementById(_ObjCtrl.id).value.length = 0;
			}
		}
		
		
		function fnAllowSSN_PhoneNumber_Only(evt)
		{
			if(BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Netscape" || BrowserDetect.browser == "Safari")
			{
				if(evt.which == 8 || evt.which == 0 || evt.which == 9)
					return true;
				else if((evt.which >= 48 && evt.which <= 57))
					return true;
				else
					return false;
			}
			if(BrowserDetect.browser == "Explorer")
			{
				if((evt.keyCode >= 48 && evt.keyCode <= 57))
					return true;
				else
					return false;
			}
			if(BrowserDetect.browser == "Opera")
			{
				if(evt.keyCode == 8 || evt.keyCode == 37 || evt.keyCode == 39)
					return true;
				if((evt.keyCode >= 48 && evt.keyCode <= 57))
					return true;
				else
					return false;
			}
		}
		

        / //////////////////////////////////////////////////////////////
        //  ApplyNow is called when the user
        //  click on apply now button
        //
        //////////////////////////////////////////////////////////////
        
        function ApplyNow()
        {
            var EmbeddValue=document.getElementById('hidUrlEmbedd').value;
            
             if (document.getElementById('lnkMyFafsa')==null)
             {
                 window.location.href='frmProfile.aspx?rf='+EmbeddValue+'';
             }
            else
            {
                window.location.href='../frmMyActivity.aspx?rf='+EmbeddValue+'';
            }
        }
        function ShowPage(obj)
		{ 
             top.window.location.href=obj;
		}
		
		
function getY( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) {
        iReturnValue += oElement.offsetTop;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

function getX( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) {
        iReturnValue += oElement.offsetLeft;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

/*
 This function will populate a select HTML element with options.
 It expected to recieve an array of JSON objects.
 Example:
    [{value:0, text:'select'},{value:1, text:'text 1'}]
*/
function FillSelectOptions(selectElement, dataSource, valueMember, displayMember)
{
    // set some default value & display member names
    if (valueMember==null) { valueMember = "value" }
    if (displayMember==null) { displayMember = "value" }
    
    var orginallySelectedValue = null;
    if (selectElement.selectedIndex>=0)
        orginallySelectedValue = selectElement.options[selectElement.selectedIndex].value;
    selectElement.innerHTML = ""; // clear all previous options
    var opt = null;
    for (var i = 0; i < dataSource.length; i++)
    {
        //
        opt = document.createElement("option");
        opt.value = dataSource[i][valueMember];
        opt.text = dataSource[i][displayMember];
        opt.selected = (orginallySelectedValue!=null&&orginallySelectedValue==dataSource[i][valueMember]);
        selectElement.options.add(opt);
    }
}


//function SameSiteUrl() {
//    
//    var links = document.getElementsByTagName("a")
//    var total = links.length
//    for (i = 0; i < total; i++) {
//        var objAnchor = links[i];
//        if (objAnchor.name == 'rezolvegroup' || objAnchor.name == 'fafsagov') {
//            objAnchor.setAttribute('onclick', IsSameSite(false)); 
//            
//        }
//        else {
//            if (objAnchor.attachEvent) {
//                objAnchor.attachEvent('onclick', 'alert("blabla")');
//            }
//            //objAnchor.setAttribute('onclick', IsSameSite(true));
//            //objAnchor.onclick = IsSameSite(true);
//            
//        }
//    }
//}
