

   var TagName = '';  
   function CalculatePopPupIframe(url){
        var o_width = document.getElementById("lblpopupwidth");
        var o_height = document.getElementById("lblpopupheight");
        var width = 800;
        var height = 400;
        
        if(o_width != undefined && o_height != undefined){      
            if(o_width != undefined && o_height == undefined){
                width = getObjInnerText(o_width);
                height = getObjInnerText(o_width);               
            }
            else if(o_width == undefined && o_height != undefined){
                width = getObjInnerText(o_height);
                height = getObjInnerText(o_height);                 
            }else if(o_width != undefined && o_height != undefined){
                width = getObjInnerText(o_width);
                height = getObjInnerText(o_height);                
            }
        }
       
        showPopWinIframe(url,parseInt(width),parseInt(height) ,null);        
   }
   
   function getObjInnerText(obj){ 
        if (obj.innerText) { // IE; 
            return obj.innerText; 
        } 
        else if (obj.textContent) 
            { 
                return obj.textContent; 
            } 
          
                
        
    }
   function SubmitHallPreference(url, width, height, returnFunc){
            if(TagName.length == 0){
                TagName = "ctlMyListsTab$RBLHallsRoommate";
            }
            var radioButtons = document.getElementsByName(TagName);
            var selectedValue = null;
            for (var x = 0; x < radioButtons.length; x ++) {
                if (radioButtons[x].checked) {
                    selectedValue  = radioButtons[x].value;
                 
                }
            }
            if( selectedValue != null){
                url= url + "?preference=" + selectedValue;
                showPopWinIframe(url , width, height, returnFunc);
            }
            else{
                alert('Please indicate wheter \"hall\" or \"roommate\" is more important.');
            }
         }
         

         function addSearchEvent(obj, evType, fn){
         if (obj.addEventListener){
            obj.addEventListener(evType, fn, true);
            return true;
         } else if (obj.attachEvent){
            var r = obj.attachEvent("on"+evType, fn);
            return r;
         } else {
            return false;
         }
        }
        function removeSearchEvent(obj, evType, fn, useCapture){
          if (obj.removeEventListener){
            obj.removeEventListener(evType, fn, useCapture);
            return true;
          } else if (obj.detachEvent){
            var r = obj.detachEvent("on"+evType, fn);
            return r;
          } else {
            alert("Handler could not be removed");
          }
        }

        function getViewportSearchHeight() {
	        if (window.innerHeight!=window.undefined) return window.innerHeight;
	        if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	        if (document.body) return document.body.clientHeight; 
	        return window.undefined; 
        }
        function getViewportSearchWidth() {
	        if (window.innerWidth!=window.undefined) return window.innerWidth; 
	        if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	        if (document.body) return document.body.clientWidth; 
	        return window.undefined; 
        }

        var gPopupMask = null;
        var gPopupContainer = null;
        var gPopFrame = null;
        var gReturnFunc;
        var gPopupIsShown = false;
        var gPopupTitle = null;
        
        var gPopupTagName = '';
        
        var gSetPopupTitle = '';

       


        var gPopupSearchMask = null;
        var gPopupSearchContainer = null;
        var gPopSearchFrame = null;
        var gpopupSearchContent = null;
        var gReturnSearchFunc;
        var gPopupSearchIsShown = false;
        var gPopupSearchTitle = null;

        var gHideSearchSelects = false;
        var gHideObjects = true;
        var gHideSelects = false;
        var gLoadingUrl = null;

        var gTabIndexes = new Array();
        // Pre-defined list of tags we want to disable/enable tabbing into
        var gTabbableTags = new Array("A","BUTTON","TEXTAREA","INPUT","IFRAME","OBJECT");	

        // If using Mozilla or Firefox, use Tab-key trap.
        if (!document.all) {
	        document.onkeypress = keyDownHandler;
        }

        function initPopUp() {
	        gPopupSearchMask = document.getElementById("popupMask");
	        gPopupSearchContainer = document.getElementById("popupContainer");
	        gPopSearchFrame = document.getElementById("popupFrame");
	        gpopupSearchContent = document.getElementById("popupContent");
	        
	        try{
	            gPopupMask = document.getElementById("popupMaskIframe");
	            gPopupContainer = document.getElementById("popupContainerIframe");
	            gPopFrame = document.getElementById("popupIFrame");	
	        }
	        catch(e)
	        {
	        }
        	
	        // check to see if this is IE version 6 or lower. hide select boxes if so
	        // maybe they'll fix this in version 7?
	        var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10);
	        if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) {
		        gHideSearchSelects = true;
	        }
        }
        addSearchEvent(window, "load", initPopUp);

        function renderPopWin(closeIconUrl)
        {
	        gLoadingUrl= 'UserFunction/usercontrol/loading.html';
	        //alert(loadingUrl);
	       
	        
	        

	        document.write('<div id="popupMask" style="display: none;">&nbsp;</div>');
	        document.write('<div id="popupContainer" style="display: none;">');
	        document.write('<div id="popupInner">');
	        document.write('<div id="popupTitleBar">');
	        document.write('<div id="popupTitle"></div>');
	        document.write('<div id="popupControls">');
	        document.write('<img id="imgPopUpClosingImage" name="imgPopUpClosingImage" src="' + closeIconUrl + '" onclick="hidePopWin(false);" />');
	        document.write('</div>');
	        document.write('</div>');	        
	        document.write('</div>');
	        document.write('</div>');
        }
        
        
         function renderPopWinIframe(closeIconUrl,loadingUrl)
        {
	        //loadingUrl= 'UserFunction/usercontrol/loading.html';
	        gLoadingUrl=loadingUrl;
	        document.write('<div id="popupMaskIframe" style="display: none;">&nbsp;</div>');
	        document.write('<div id="popupContainerIframe" style="display: none;">');
	        document.write('<div id="popupInnerIframe">');
	        document.write('<div id="popupTitleBarIframe">');
	        document.write('<div id="popupTitleIframe"></div>');
	        document.write('<div id="popupControlsIframe">');
	        document.write('<img src="' + closeIconUrl + '" onclick="hidePopWinIframe(false);" />');
	        document.write('</div>');
	        document.write('</div>');
	        document.write('<iframe src="' + loadingUrl + '" style="width:100%;height:100%;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupIFrame" name="popupIFrame" width="100%" height="100%"></iframe>');
	        document.write('</div>');
	        document.write('</div>');
        }
        
        function showPopWinIframe(url, width, height, returnFunc) {
	        gPopupIsShown = true;
	        disableTabIndexes();
	        gPopupMask.style.display = "block";
	        gPopupContainer.style.display = "block";
	        // calculate where to place the window on screen
	        centerPopWin(width, height);
        	
	        var titleBarHeight = parseInt(document.getElementById("popupTitleBarIframe").offsetHeight, 10);
        	
	        gPopupContainer.style.width = width + "px";
	        gPopupContainer.style.height = (height+titleBarHeight) + "px";
	        // need to set the width of the iframe to the title bar width because of the dropshadow
	        // some oddness was occuring and causing the frame to poke outside the border in IE6
	        gPopFrame.style.width = parseInt(document.getElementById("popupTitleBarIframe").offsetWidth, 10) + "px";
	        gPopFrame.style.height = (height) + "px";
	        gPopupTitle = window.frames["popupIFrame"].document.title;
        	
	        // set the url
	        gPopFrame.src = url;
        	
	        gReturnFunc = returnFunc;
	        // for IE
	        if (gHideSelects || gHideObjects) {
		        hideSelectBoxes();
	        }
        	
	        window.setTimeout("setPopTitleIframe();", 249);
        }
        
        function hidePopWinOpenOther(TagName, width, returnFunc, Title){
            hidePopWin(null);
            showPopWin(TagName, width, returnFunc, Title);
        }
        function showPopWinElseAlert(TagName, width, returnFunc, Title, alertMSG){
           try{
                showPopWin(TagName, width, returnFunc, Title);
                var OvjDiv = ReturnDivObject();
                if(OvjDiv == null){
                    alert(alertMSG);
                }
            }
            catch(e)
            {
                
            }
            
            
        }

        function showPopWin(TagName, width, returnFunc, Title) {
            //showserach();
            gPopupTagName = TagName;
            gSetPopupTitle = Title;
            var titleBarHeight = parseInt(document.getElementById("popupTitleBar").offsetHeight, 10);	        
            var height = 0;
	        var OvjDiv = ReturnDivObject();
	        //alert(aDivs[i].style.display);
	         if(OvjDiv!=null){ 
				    OvjDiv.style.width= width + "px";
				    OvjDiv.style.left   =   (parseInt(document.body.offsetWidth)-parseInt(400))/2 +"px";  
				   
    				
    				
                   OvjDiv.style.display="block";
                    OvjDiv.style.border="1px solid #000000";
                    OvjDiv.style.zIndex=202;
                    height = titleBarHeight + OvjDiv.offsetHeight;
                    //OvjDiv.style.height = (height+titleBarHeight) + "px";
                    //alert(OvjDiv.offsetHeight);

            }
            else{
                return;
                
            }
	        
	        gPopupSearchIsShown = true;
	        //disableTabIndexes();
	        gPopupSearchMask.style.display = "block";
	        gPopupSearchContainer.style.display = "block";
	        
	          
	         
          
	        // calculate where to place the window on screen
	        centerPopWin(width, height);
	        
        	
	      
        	
	        gPopupSearchContainer.style.width = (width+5) + "px";
	        gPopupSearchContainer.style.height = (height+titleBarHeight) + "px";
	       
	        // need to set the width of the iframe to the title bar width because of the dropshadow
	        // some oddness was occuring and causing the frame to poke outside the border in IE6
	        
	        //gPopSearchFrame.style.width = parseInt(document.getElementById("popupTitleBar").offsetWidth, 10) + "px";
	        //gPopSearchFrame.style.height = (height) + "px";
	        
	       // gPopupSearchTitle = window.frames["popupFrame"].document.title;
        	
	        // set the url
	        //gPopSearchFrame.src = url;
        	
	        gReturnSearchFunc = returnFunc;
	        // for IE
	        /*if (gHideSearchSelects || gHideObjects) {
		        hideSelectBoxes();
	        }*/
        	
	        window.setTimeout("setPopTitle();", 249);
	         
        }

        //
        var gi = 0;
         function centerPopWin(width, height) {
	        if (gPopupIsShown == true) {
		        if (width == null || isNaN(width)) {
			        width = gPopupContainer.offsetWidth;
		        }
		        if (height == null) {
			        height = gPopupContainer.offsetHeight;
		        }
        		
		        var fullHeight = getViewportHeight();
		        var fullWidth = getViewportWidth();
        		
		        var theBody = document.documentElement;
        		
		        var scTop = parseInt(theBody.scrollTop,10);
		        var scLeft = parseInt(theBody.scrollLeft,10);
        		
		        gPopupMask.style.height = fullHeight + "px";
		        gPopupMask.style.width = fullWidth + "px";
		        gPopupMask.style.top = scTop + "px";
		        gPopupMask.style.left = scLeft + "px";
        		
		        //window.status = gPopupMask.style.top + " " + gPopupMask.style.left + " " + gi++;
        		
		        var titleBarHeight = parseInt(document.getElementById("popupTitleBarIframe").offsetHeight, 10);
        		
		        gPopupContainer.style.top = (scTop + ((fullHeight - (height+titleBarHeight)) / 2)) + "px";
		        gPopupContainer.style.left =  (scLeft + ((fullWidth - width) / 2)) + "px";
		        //alert(fullWidth + " " + width + " " + gPopupContainer.style.left);
	        }
	         if (gPopupSearchIsShown == true) {
		        if (width == null || isNaN(width)) {
			        width = gPopupSearchContainer.offsetWidth;
		        }
		        if (height == null) {
			        height = gPopupSearchContainer.offsetHeight;
		        }
        		
		        var fullHeight = getViewportSearchHeight();
		        var fullWidth = getViewportSearchWidth();
        		
		        var theBody = document.documentElement;
        		
		        var scTop = parseInt(theBody.scrollTop,10);
		        var scLeft = parseInt(theBody.scrollLeft,10);
		        
        		var OvjDiv = ReturnDivObject();
        		
		        gPopupSearchMask.style.height = fullHeight + "px";
		        gPopupSearchMask.style.width = fullWidth + "px";
		        gPopupSearchMask.style.top = scTop + "px";
		        gPopupSearchMask.style.left = scLeft + "px";
		        
		        
		        
        		
		        //window.status = gPopupSearchMask.style.top + " " + gPopupSearchMask.style.left + " " + gi++;
        		
		        var titleBarHeight = parseInt(document.getElementById("popupTitleBar").offsetHeight, 10);
        		
		        gPopupSearchContainer.style.top = (scTop + ((fullHeight - (height+titleBarHeight)) / 2)) + "px";
		        gPopupSearchContainer.style.left =  (scLeft + ((fullWidth - width) / 2)) + "px";
		        
		        OvjDiv.style.top = ((scTop + ((fullHeight - (height+titleBarHeight)) / 2)) + titleBarHeight) + "px";
		        OvjDiv.style.left =  (scLeft + ((fullWidth - width) / 2)) + "px";
		        
		        
		        //alert(fullWidth + " " + width + " " + gPopupSearchContainer.style.left);
	        }
        }
       
      
        addSearchEvent(window, "resize", centerPopWin);
        //addSearchEvent(window, "scroll", centerPopWin);
        
        window.onscroll = centerPopWin;

        function hidePopWin(callReturnFunc) {
        
            var OvjDiv = ReturnDivObject();
	      
	        gPopupSearchIsShown = false;
	        restoreTabIndexes();
	        if (gPopupSearchMask == null) {
		        return;
	        }
	        OvjDiv.style.display = "none";
	        gPopupSearchMask.style.display = "none";
	        gPopupSearchContainer.style.display = "none";
	        if (callReturnFunc == true && gReturnSearchFunc != null) {
		        gReturnSearchFunc(window.frames["popupFrame"].returnVal);
	        }
        	
	        //gPopSearchFrame.src = gLoadingUrl;
        	
	        // display all select boxes
	        if (gHideSearchSelects || gHideObjects) {
		        displaySelectBoxes();
	        }
	        
	        //window.location.href=window.location.href;
        }
        
         function hidePopWinIframe(callReturnFunc) {
	      
	        gPopupIsShown = false;
	        restoreTabIndexes();
	        if (gPopupMask == null) {
		        return;
	        }
	        gPopupMask.style.display = "none";
	        gPopupContainer.style.display = "none";
	        if (callReturnFunc == true && gReturnFunc != null) {
		        gReturnFunc(window.frames["popupFrame"].returnVal);
	        }
        	
	        gPopFrame.src = gLoadingUrl;
        	
	        // display all select boxes
	        if (gHideSelects || gHideObjects) {
		        displaySelectBoxes();
	        }
	        
	       // window.location.href=window.location.href;
        }


         function setPopTitleIframe() {
	        if (window.frames["popupIFrame"].document.title == null || window.frames["popupIFrame"].document.title == gPopupTitle) 
	        {
		        window.setTimeout("setPopTitleIframe();", 99);
	        } 
	        else 
	        {
		        document.getElementById("popupTitleIframe").innerHTML = window.frames["popupIFrame"].document.title;
	        }
        }
        
        function setPopTitle() {
	        /*if (window.frames["popupFrame"].document.title == null || window.frames["popupFrame"].document.title == gPopupSearchTitle) 
	        {
		        window.setTimeout("setPopTitle();", 99);
	        } 
	        else 
	        {
		        document.getElementById("popupTitle").innerHTML = window.frames["popupFrame"].document.title;
	        }*/
	        //document.getElementById("popupTitle").innerHTML = "Refine your search";
	        
	        
//	        var   strHref   =   window.location.href; 
//            if(strHref.indexOf("SearchResult")!=-1)
//            {
//                document.getElementById("popupTitle").innerHTML = "Refine your search";
//            }
//            else
//            {
//                document.getElementById("popupTitle").innerHTML = "Lifestyle questionaire";
//            }  
            document.getElementById("popupTitle").innerHTML = gSetPopupTitle;
        }

        // Tab key trap. iff popup is shown and key was [TAB], suppress it.
        // @argument e - event - keyboard event that caused this function to be called.
        function keyDownHandler(e) {
            if (gPopupSearchIsShown && e.keyCode == 9)  return false;
        }

        // For IE.  Go through predefined tags and disable tabbing into them.
        function disableTabIndexes() {
	        if (document.all) {
		        var i = 0;
		        for (var j = 0; j < gTabbableTags.length; j++) {
			        var tagElements = document.getElementsByTagName(gTabbableTags[j]);
			        for (var k = 0 ; k < tagElements.length; k++) {
				        gTabIndexes[i] = tagElements[k].tabIndex;
				        tagElements[k].tabIndex="-1";
				        i++;
			        }
		        }
	        }
        }

        // For IE. Restore tab-indexes.
        function restoreTabIndexes() {
	        if (document.all) {
		        var i = 0;
		        for (var j = 0; j < gTabbableTags.length; j++) {
			        var tagElements = document.getElementsByTagName(gTabbableTags[j]);
			        for (var k = 0 ; k < tagElements.length; k++) {
				        tagElements[k].tabIndex = gTabIndexes[i];
				        tagElements[k].tabEnabled = true;
				        i++;
			        }
		        }
	        }
        }


        /**
        * Hides all drop down form select boxes on the screen so they do not appear above the mask layer.
        * IE has a problem with wanted select form tags to always be the topmost z-index or layer
        *
        * 
        */
        function hideSelectBoxes() {
	        for(var i = 0; i < document.forms.length; i++) {
		        for(var e = 0; e < document.forms[i].length; e++){
			        if( (gHideSearchSelects && document.forms[i].elements[e].tagName == "SELECT") 
				        || (gHideObjects && document.forms[i].elements[e].tagName == "OBJECT") ) {
				        document.forms[i].elements[e].style.visibility="hidden";
			        }
		        }
	        }
        }

        /**
        * Makes all drop down form select boxes on the screen visible so they do not reappear after the dialog is closed.
        * IE has a problem with wanted select form tags to always be the topmost z-index or layer
        */
        function displaySelectBoxes() {
	        for(var i = 0; i < document.forms.length; i++) {
		        for(var e = 0; e < document.forms[i].length; e++){
			        if( (gHideSearchSelects && document.forms[i].elements[e].tagName == "SELECT") 
				        || (gHideObjects && document.forms[i].elements[e].tagName == "OBJECT") ) {
				        document.forms[i].elements[e].style.visibility="visible";
			        }
		        }
	        }
        }
        
        
        
        function refreshWin() {
                window.location.href=window.location.href;
        }
        
        function ReturnDivObject(){
             var aDivs = document.getElementsByTagName("div");
	        var OvjDiv = null;
            //alert(aDivs.length);
           for(var i=0;i<aDivs.length;i++)
           {
              
                 if(aDivs[i].className==gPopupTagName)
                 {
                    OvjDiv = aDivs[i];
                    
                    break;
                 }
             
           }
           return OvjDiv;
        }
        function getViewportHeight() {
	        if (window.innerHeight!=window.undefined) return window.innerHeight;
	        if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	        if (document.body) return document.body.clientHeight; 
	        return window.undefined; 
        }
        function getViewportWidth() {
	        if (window.innerWidth!=window.undefined) return window.innerWidth; 
	        if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	        if (document.body) return document.body.clientWidth; 
	        return window.undefined; 
        }

