	    var name, address, city, stateProvince, postalCode, latitude, longitude, radius, type, unit;

	    var map;
		// Remove this code after 1.3.12 release temp fix for wrong Maps for few FA & branches
		document.getElementsByClassName = function(cl) 
		{
			var node = [];
			var reqclass = new RegExp('\\b'+cl+'\\b');
			var element = this.getElementsByTagName('*');
			for (var i = 0; i < element.length; i++) 
			{
				var classes = element[i].className;
				if (reqclass.test(classes)) node.push(element[i]);
			}
			return node;
		};
        /*window.onload = function()
        {   
			// Add the FA/branch code here in the array
			var objArray = new Array('jon_barter','theolsongroup','jeffrey_m_james','Masterson_Emma_Associates','NEWPORT_BEACHCA','jack_klein');
			
			var objURL = new Object();
			// Use the String::replace method to iterate over each
			// name-value pair in the query string. Location.search
			// gives us the query string (if it exists).
			parent.window.location.search.replace(new RegExp( "([^?=&]+)(=([^&]*))?", "g" ),function( $0, $1, $2, $3 ){objURL[ $1 ] = $3;});
			for (prop in objURL) 
			{
				if(prop.toLowerCase() == 'pageurl' || prop.toLowerCase() == 'branchcode')
				{
					for(i=0;i<objArray.length;i++)
					{
						if(objArray[i].toLowerCase().indexOf(objURL[prop].toLowerCase())!=-1)
						{
							if(document.getElementById('divAddress').innerText)
								document.getElementById('divAddress').innerText = '';
							else
								document.getElementById('divAddress').textContent = '';
								
							if(document.getElementById('divCityStatePostal').innerText)
								document.getElementById('divCityStatePostal').innerText = '';
							else
								document.getElementById('divCityStatePostal').textContent = '';
								
							onPageLoad();
							document.getElementById('staticMap').style.display = 'none';							
							break;
						}
					}
				}
			}
			document.getElementById('maindiv').style.backgroundColor='white';
			document.getElementsByTagName('HTML')[0].style.backgroundColor='white';
			document.getElementById('pnlViewDirections').style.backgroundColor='white';
		}*/
	    /**
	    * Function to geocode an MQAddress object
	    *
	    * @param		addr- an MQAddress object
	    * @param		fnct - string containing javascript function name to call when choosing an address from Ambiguous results.
	    * @return		If geocode results are not ambiguous return geocoded Address, if ambiguous display multiple results table.
	    *				Ambiguous results and no results return false.
	    * @author       Seisan Consulting   2-14-2007
	    **/
	    function geocode(addr, fnct){
		    var locationcollection = new MQLocationCollection();
		    //Create geocoder object
		    var geoExec = new MQExec(geocodeServer, serverPath, serverPort, proxyServer, proxyPath, proxyPort);
		    //Geocode Address
		    geoExec.geocode(addr, locationcollection, null);

		    if(locationcollection.getSize()==0){
			    //No results found
			    alert("Address couldn't be geocoded!");
			    return false;
		    }
		    else if(locationcollection.getSize()==1){
			    //Location found - return result
			    return locationcollection.getAt(0);
		    }
		    else {
			    //Ambiguous results - build multiple results table
			    var params = new Array();
			    params.push(new Array("txtAddress", addr.getStreet()));
			    params.push(new Array("txtCity", addr.getCity()));
			    params.push(new Array("selStateProvince", addr.getState()));
			    params.push(new Array("txtPostalCode", addr.getPostalCode()));

			    if(document.getElementById("rdoTypeOrig").checked)
				    params.push(new Array("rdoTypeOrig", "true"));
			    else
				    params.push(new Array("rdoTypeOrig", "false"));

			    buildGeocodeResultTable("divFrm", locationcollection, fnct, params);
			    return false;
		    }

	    }

	    /**
	    * Function to geocode an MQAddress object
	    *
	    * @param		addr- an MQAddress object
	    * @param		fnct - string containing javascript function name
	    * @return		If geocode results are not ambiguous return geocoded Address, if ambiguous display multiple results table.
	    *				Ambiguous results and no results return false.
	    * @author       Seisan Consulting   2-14-2007
	    **/
	    function processDirections(){
if(top.document.location.href.toLowerCase().indexOf('ViewFAPage'.toLowerCase()) > -1)

    {
 

   
   var objImgframe = top.document.createElement('iframe');

	var frameSrc = 'http://fls.doubleclick.net/activityi;src=1359940;type=sdlpb511;cat=';

	var axel = Math.random()+"";

	var a = axel * 10000000000000;

	objImgframe.width = "1";

	objImgframe.height="1"
	objImgframe.frameBorder="0";
	
	objImgframe.src = frameSrc + 'faloc138;ord=1;num='+ a + '?';

	top.document.body.appendChild(objImgframe);
 

       }
 if(top.document.location.href.toLowerCase().indexOf('ViewBranchPage'.toLowerCase()) > -1)

    {
 

   
   var objImgframe = top.document.createElement('iframe');

	var frameSrc = 'http://fls.doubleclick.net/activityi;src=1359940;type=sdlpb511;cat=';

	var axel = Math.random()+"";

	var a = axel * 10000000000000;

	objImgframe.width = "1";

	objImgframe.height="1"
	objImgframe.frameBorder="0";
	
	objImgframe.src = frameSrc + 'mlloc448;ord=1;num='+ a + '?';

	top.document.body.appendChild(objImgframe);
 

       }

	        var messageDiv = document.getElementById("Message");
	        messageDiv.innerHTML = "";
	        messageDiv.style.display = "none";
	        
		    //Retrieve Address from form on page
		    var frmAddress = document.getElementById("txtAddress").value;
		    var frmCity = document.getElementById("txtCity").value;
		    var sel = document.getElementById("selStateProvince");
		    var frmState = sel.options[sel.selectedIndex].value;
		    var frmPostalcode = document.getElementById("txtPostalCode").value;
		    
		    //clear geocoding duplicate towns
		    var frmDiv = document.getElementById("divFrm");
            frmDiv.innerHTML = '';
            
            //clear results
		    var res = document.getElementById("r");
            res.innerHTML = '';
		                
		    //Validate required fields are filled in		    
		    if( (StringFunctions.isBlank(frmCity) ||  StringFunctions.isBlank(frmState) ) && StringFunctions.isBlank(frmPostalcode)){
			    messageDiv.innerHTML = "City & State or Zip required!";
			    messageDiv.style.display = "block";
			     if(document.getElementById('dvLeftPrint') || document.getElementById('PrintButton'))
			    {
			        document.getElementById('dvLeftPrint').style.setAttribute("display","none");
			        document.getElementById('PrintButton').style.setAttribute("display","none");
			    }			   
			    return false;
		    }

            messageDiv.innerHTML = "Calculating directions...";			    
			messageDiv.style.display = "block";
			
		    //Build MQAddress object
		    addr = new MQAddress();
		    addr.setStreet(frmAddress);
		    addr.setCity(frmCity);
		    addr.setState(frmState);
		    addr.setPostalCode(frmPostalcode);
		    addr.setCountry("US");
         
		    //Geocode MQAddress
		    var geoAddress = geocode(addr, "javascript:selectGeocodeOption()");
		    
		        		        
		    if(geoAddress){
		        if ( (latitude == undefined) || (longitude == undefined) )
		            GeocodeItAgain();
                document.getElementById('staticMap').style.display = 'none'; 
			    //If geocoded successfully perform route			    			    
			    //alert ("get directions");
			    route(geoAddress, document.getElementById("rdoTypeOrig").checked);			    
			    if(document.getElementById('ddlprintOptionLeft') == undefined ||document.getElementById('ddlprintOptionLeft') == null)
			    {   
			            createLeftPrintMapDropDown();			      
			    }
			    
			    if(document.getElementById('ddlprintOptionRight') == undefined ||document.getElementById('ddlprintOptionRight') == null)
			    {
			        createRightPrintMapDropDown();
			    }
				//Remove this code after 1.3.12 release temp fix added
				document.getElementsByClassName('greyLine width143prcnt')[0].style.clear='both';
//			    document.getElementById('dvPrint').style.display = "inline";			    
		    }
		    //Changes for putting in IFrame - sroy1 - 25-02-09
		    messageDiv.innerHTML = "";
	        messageDiv.style.display = "none";
			window.parent.resizeIframe('MQframe');
	    }

	    /**
	    * Function to set the address when an address is chosen from the Ambiguous results table.
	    * Performs route based on address chosen.
	    *
	    * @param		frmid - an html form element
	    * @author       Seisan Consulting   2-14-2007
	    **/
	    function selectGeocodeOption(frmid){
		    //Retrieve ambiguous results form
		    var frm = document.getElementById(frmid);
		    //Build Geocoded Address Object
		    var geoAddress = new MQGeoAddress();
		    /*if (frm.txtAddress == undefined)
		    {
			    for( rat=0; rat < frm.elements.length;rat ++)
			    {
				    eval("frm." + frm.elements[rat].name + "={};");
				    eval("frm." + frm.elements[rat].name + ".value = '" + frm.elements[rat].value + "'");
			    }
		    }*/
		    //geoAddress.setStreet(frm.txtAddress.value);
		    geoAddress.setCity(frm.txtCity.value);
		    geoAddress.setState(frm.selStateProvince.value);
		    geoAddress.setPostalCode(frm.txtPostalCode.value);
		    var lat = frm.hdnLatitude.value;
		    var lng = frm.hdnLongitude.value;
		    geoAddress.setMQLatLng(new MQLatLng(lat, lng));

		    var rdo = false;
		    if(frm.rdoTypeOrig.value == "true")
			    rdo = true;

		    //Perform Route based on Geocoded Address chosen from Ambiguous results table
		    route(geoAddress, rdo);
		    //Changes for putting in IFrame - sroy1 - 25-02-09
		    window.parent.resizeIframe('MQframe');
	    }

	    /**
	    * Function to perform route
	    *
	    * @param		geoaddress - an MQGeoAddress object
	    * @author       Seisan Consulting   2-14-2007
	    **/
	    function route(geoAddress, rdo){

		    var geoAddress2, destGeoAddress, origGeoAddress;

		    //Build MQGeoAddress from request
		    geoAddress2 = new MQGeoAddress();
		    geoAddress2.setStreet(address);
		    geoAddress2.setCity(city);
		    geoAddress2.setState(stateProvince);
		    geoAddress2.setPostalCode(postalCode);
		    geoAddress2.setMQLatLng(new MQLatLng(latitude, longitude));

		    //Set which address is the Origin and which address is the Destination based on radio button on form
		    if(rdo){
			    origGeoAddress = geoAddress;
			    destGeoAddress = geoAddress2;
		    }
		    else {
			    origGeoAddress = geoAddress2;
			    destGeoAddress = geoAddress;
		    }
		    //clear geocoding duplicate towns
		    var frmDiv = document.getElementById("divFrm");
            frmDiv.innerHTML = '';
            
		    //Clear content area
		    var content = document.getElementById("divContent");
		    //removeAllChildren(content);
		    
		    var searchCriteria = document.getElementById("divSearchCriteria"); 
            var m = document.getElementById("m"); 
            var s = document.getElementById("s"); 
            var r = document.getElementById("r"); 
            removeAllChildren(m);
            removeAllChildren(s);
            removeAllChildren(r);
		    //Build Map Div
		    var qs = new Querystring();	
		     
	         var mapWindow = document.createElement("div");
             mapWindow.id = "mapWindow";
            if(qs.params.type == "Print")
            {
                mapWindow.style.display ='none';
            }
             
            if(qs.params.type != "Print")
            {
                for(i=0;i<document.getElementsByTagName('INPUT').length;i++)
                with(document.getElementsByTagName('INPUT')[i]) {
                   if(type == 'hidden' && id.indexOf('hdnTrnsfrmName') != -1)
                   {
                        var hiddenVar = document.getElementsByTagName('INPUT')[i];
                        break;
                    }
                        else continue;
                }
                /*Changes for putting MapQuest in IFrame - sroy1 03-02-09*/
//                if(document.getElementById('mapQuestDiv') && document.getElementById('mapQuestDiv').className.indexOf('stateRegWidth70') != -1)
//                {
//                    mapWindow.style.width = '590px';
//                    mapWindow.style.height = '260px';
//                }
//                else 
                if((hiddenVar != undefined || hiddenVar != null) && hiddenVar.value != '')
                {
                    var hiddenArr = hiddenVar.value.split(',');
                    mapWindow.style.width = hiddenArr[0];
                    mapWindow.style.height = hiddenArr[1];
                    /*Changes for putting MapQuest in IFrame - sroy1 03-02-09*/
                    var greyBarDivs = getElementsByClassName('width143prcnt',document.getElementById('maindiv'));
                    if(greyBarDivs)
                    {
                        for(i=0;i<greyBarDivs.length;i++)
                            greyBarDivs[i].className = greyBarDivs[i].className.replace('width143prcnt','');
                    }
                    hiddenVar = null;
                    hiddenArr = null;
                }
                else
                {
                    mapWindow.style.width = "328px";
                    mapWindow.style.height = "217px";
                    /*Changes for putting MapQuest in IFrame - sroy1 03-02-09*/
                    var greyBarDivs = getElementsByClassName('width143prcnt',document.getElementById('maindiv'));
                    if(greyBarDivs)
                    {
                        for(i=0;i<greyBarDivs.length;i++)
                            greyBarDivs[i].className = greyBarDivs[i].className.replace('width143prcnt','');
                    }
                }
	            m.appendChild(mapWindow);
		    }    
		    else
		    {
	            mapWindow.style.width = "650px";
	            mapWindow.style.height = "520px";
		        m.appendChild(mapWindow);
		    }
		    
		    //Build Result Table Div
	        var divResults = document.createElement("div");
	        divResults.id = "divRouteResults";
	        s.appendChild(searchCriteria);
	        r.appendChild(divResults);
       
            
		    //Create TileMap
		    map = new MQTileMap(mapWindow);

//		    //Add zoom controls to Map
//		    var zoomControl =  new MQLargeZoomControl();
//		    map.addControl(zoomControl, new MQMapCornerPlacement(MQMapCorner.TOP_LEFT, new MQSize(0, 0)))

//		    //Add view controls to map
//		    var viewControl = new MQViewControl();
//		    map.addControl(viewControl, new MQMapCornerPlacement(MQMapCorner.TOP_RIGHT, new MQSize(-6, 0)))

		    //Place MapQuest and Copyright logos
		    map.setLogoPlacement(MQMapLogo.MAPQUEST, new MQMapCornerPlacement(MQMapCorner.TOP_LEFT, new MQSize(44, 0)));
		    map.setLogoPlacement(MQMapLogo.SCALES, new MQMapCornerPlacement(MQMapCorner.TOP_RIGHT, new MQSize(0, 23)));
		    map.setLogoPlacement(MQMapLogo.NAVTEQ_COPYRIGHT, new MQMapCornerPlacement(MQMapCorner.BOTTOM_RIGHT, new MQSize(2, 12)));
		    map.setLogoPlacement(MQMapLogo.MAPQUEST_COPYRIGHT, new MQMapCornerPlacement(MQMapCorner.BOTTOM_RIGHT, new MQSize(0, 0)));
		    map.setLogoPlacement(MQMapLogo.ICUBED_COPYRIGHT, new MQMapCornerPlacement(MQMapCorner.BOTTOM_RIGHT, new MQSize(103, 1)));

		    //Setup Route Exec object
		    var routeExec = new MQExec(routeServer, serverPath, serverPort, proxyServer, proxyPath, proxyPort);
		    var session = new MQSession();
		    var routeRes = new MQRouteResults();
		    var wayPoints = new MQLocationCollection();
		    var myBB = new MQRectLL(new MQLatLng(),new MQLatLng());

		    //Add Origin and Destination to MQLocationCollection
		    wayPoints.add(origGeoAddress);
		    wayPoints.add(destGeoAddress);

		    //Set any Route Options
		    var routeOpt = new MQRouteOptions();
		    routeOpt.setMaxShapePointsPerManeuver(MAX_SHAPE_POINTS);

		    //Create Session for route
		    var sessId = routeExec.createSessionEx(session);
		    //Do Route
		    routeExec.doRoute(wayPoints,routeOpt,routeRes,sessId,myBB);

		    //Add route highlight to map
		    map.addRouteHighlight(myBB,"http://map.access.mapquest.com",sessId,true);

		    //Create Destination Icon
		    var endIcon = new MQMapIcon();
		    endIcon.setImage(MLGlobalVar_GlobalImagePath + "end.gif", 37, 11, true, false);

		    //Create Origin Icon
		    var startIcon = new MQMapIcon();
		    startIcon.setImage(MLGlobalVar_GlobalImagePath + "start.gif", 37, 11, true, false);

		    //Create Origin Poi and add to the Map
		    var startPoi = new MQPoi(origGeoAddress.getMQLatLng(), startIcon);
		    startPoi.setInfoTitleHTML("Origin");
		    startPoi.setInfoContentHTML(mqAddressToString(origGeoAddress));
		    map.addPoi(startPoi);

		    //Create Destination Poi and add to the Map
		    var endPoi = new MQPoi(destGeoAddress.getMQLatLng(), endIcon);
		    endPoi.setInfoTitleHTML("Destination");
		    endPoi.setInfoContentHTML(mqAddressToString(destGeoAddress));
		    map.addPoi(endPoi);

		    //Perform Best Fit on the Map
		    map.bestFit(false, 1, 11);

		    //Display Results Table
		    displayResults(routeRes, origGeoAddress, destGeoAddress);

            //Show Hide Map Div & Results
            showHideMapResults();
		    
		    if(qs.params.type == "Print")
            {
               map.showStaticMap();
               // To Hide POI on start and end
               document.getElementById('mqpoidiv').childNodes[0].style.display= 'none';
               document.getElementById('mqpoidiv').childNodes[1].style.display= 'none';               
                              
            }
            
	    }
	    
	    function showHideMapResults()
	    {
		    var qs = new Querystring();	
		    if(qs.params.styleIndex != undefined)
		    {
                switch(qs.params.styleIndex)
                {
                    case "1":
                            document.getElementById('divRouteResults').style.display ='block';
                            document.getElementById('mapWindow').style.display ='block';
                            break;
                    case "2":
                            document.getElementById('divRouteResults').style.display ='none';
                            document.getElementById('mapWindow').style.display ='block';
                            break;
                    case "3":
                            document.getElementById('divRouteResults').style.display ='block';
                            document.getElementById('mapWindow').style.display ='none';
                            break;
                }
            document.getElementById('divRouteResults').style.fontSize ='86%';
	        var divFAAddress = document.createElement('div');
	        divFAAddress.Id = 'FAAddress';
	        document.getElementById('divRouteResults').style.color = '#666666';
	        document.getElementById('divRouteResults').style.fontFamily = 'Arial,Helvetica,sans-serif';
	        
	        divFAAddress.style.color = '#666666';
	        divFAAddress.style.fontFamily = 'Verdana';
	        divFAAddress.style.fontSize ='84%';
	        divFAAddress.style.fontWeight = 'bold';
	        
            // Check for FA or Branch as per the URL set
            /*=============================================================================*/
            /* Commented as this code wont work if Mapquest is added in frames
            /*=============================================================================*/
            //if(window.opener.location.href.split('?')[0].toUpperCase().indexOf('FA') != -1)
            //{
            //    DisplayAddress('ctl00_MainContent_ViewFAPage1_ctrFAPage_',divFAAddress);
            //}
            //else
            //{
            //    if(window.opener.location.href.split('?')[0].toUpperCase().indexOf('BRANCH') != -1)
            //    {
            //        DisplayAddress('ctl00_MainContent_ViewBranchPage1_ctrBranchPage_',divFAAddress);        
            //    }
            //}
            /*=============================================================================*/
            /* Comment Ends Here
            /*=============================================================================*/
            
            // Code added as the MapQuest code was added in Frames
            // Changed the code to window.opner.top so as to get the topmost frames.
            // Dated: 19th Feb 2009
            if(window.opener.top.location.href.split('?')[0].toUpperCase().indexOf('FA') != -1)
	        {
	            DisplayAddress('ctl00_MainContent_ViewFAPage1_ctrFAPage_',divFAAddress);
	        }
	        else
	        {
	            if(window.opener.top.location.href.split('?')[0].toUpperCase().indexOf('BRANCH') != -1)
	            {
	                DisplayAddress('ctl00_MainContent_ViewBranchPage1_ctrBranchPage_',divFAAddress);	                
	            }
	        }
	        }   	
	        
    	 
	                	        
	    }
	    
	    
	    /** INITIAL MAP **/
	    
       function InitMap(){
		    var geoAddress2, destGeoAddress, origGeoAddress;

	        //Build MQGeoAddress from request
	        geoAddress2 = new MQGeoAddress();
	        geoAddress2.setStreet(address);
	        geoAddress2.setCity(city);
	        geoAddress2.setState(stateProvince);
	        geoAddress2.setPostalCode(postalCode);
	        geoAddress2.setMQLatLng(new MQLatLng(latitude, longitude));
            origGeoAddress = geoAddress2;

		    //Clear content area
		    var content = document.getElementById("divContent");
		    //removeAllChildren(content);
		    
		    var searchCriteria = document.getElementById("divSearchCriteria"); 
            var m = document.getElementById("m"); 
            var s = document.getElementById("s"); 
            removeAllChildren(m);
            removeAllChildren(s);

            
		    //Build Map Div
		    var mapWindow = document.createElement("div");
		    mapWindow.id = "mapWindow";
		    for(i=0;i<document.getElementsByTagName('INPUT').length;i++)
               with(document.getElementsByTagName('INPUT')[i]) {
                   if(type == 'hidden' && id.indexOf('hdnTrnsfrmName') != -1)
                   {
                        var hiddenVar = document.getElementsByTagName('INPUT')[i];
                        break;
                    }
                        else continue;
                }
                /*Changes for putting MapQuest in IFrame - sroy1 03-02-09*/
//                if(document.getElementById('mapQuestDiv') && document.getElementById('mapQuestDiv').className.indexOf('stateRegWidth70') != -1)
//                {
//                    mapWindow.style.width = '590px';
//                    mapWindow.style.height = '320px';
//                }
//                else 
                    if((hiddenVar != undefined || hiddenVar != null) && hiddenVar.value != '')
                    {
                        var hiddenArr = hiddenVar.value.split(',');
                        mapWindow.style.width = hiddenArr[0];
                        mapWindow.style.height = hiddenArr[1];
                        /*Changes for putting MapQuest in IFrame - sroy1 03-02-09*/
                        var greyBarDivs = getElementsByClassName('width143prcnt',document.getElementById('maindiv'));
                        if(greyBarDivs)
                        {
                            for(i=0;i<greyBarDivs.length;i++)
                                greyBarDivs[i].className = greyBarDivs[i].className.replace('width143prcnt','');
                        }
                        hiddenVar = null;
                        hiddenArr = null;
                }
                else
                {
		                mapWindow.style.width = "325px";
		                mapWindow.style.height = "217px";
		                /*Changes for putting MapQuest in IFrame - sroy1 03-02-09*/
                        var greyBarDivs = getElementsByClassName('width143prcnt',document.getElementById('maindiv'));
                        if(greyBarDivs)
                        {
                            for(i=0;i<greyBarDivs.length;i++)
                                greyBarDivs[i].className = greyBarDivs[i].className.replace('width143prcnt','');
                        }
		        }
		    
		    //Build Result Table Div
		    var divResults = document.createElement("div");
		    divResults.id = "divRouteResults";
		    m.appendChild(mapWindow);
		    s.appendChild(searchCriteria);

		    //Create TileMap
		    map = new MQTileMap(mapWindow);

//		    //Add zoom controls to Map
//		    var zoomControl =  new MQLargeZoomControl();
//		    map.addControl(zoomControl, new MQMapCornerPlacement(MQMapCorner.TOP_LEFT, new MQSize(0, 0)))

//		    //Add view controls to map
//		    var viewControl = new MQViewControl();
//		    map.addControl(viewControl, new MQMapCornerPlacement(MQMapCorner.TOP_RIGHT, new MQSize(-6, 0)))

		    //Place MapQuest and Copyright logos
		    map.setLogoPlacement(MQMapLogo.MAPQUEST, new MQMapCornerPlacement(MQMapCorner.TOP_LEFT, new MQSize(44, 0)));
		    map.setLogoPlacement(MQMapLogo.SCALES, new MQMapCornerPlacement(MQMapCorner.TOP_RIGHT, new MQSize(0, 23)));
		    map.setLogoPlacement(MQMapLogo.NAVTEQ_COPYRIGHT, new MQMapCornerPlacement(MQMapCorner.BOTTOM_RIGHT, new MQSize(2, 12)));
		    map.setLogoPlacement(MQMapLogo.MAPQUEST_COPYRIGHT, new MQMapCornerPlacement(MQMapCorner.BOTTOM_RIGHT, new MQSize(0, 0)));
		    map.setLogoPlacement(MQMapLogo.ICUBED_COPYRIGHT, new MQMapCornerPlacement(MQMapCorner.BOTTOM_RIGHT, new MQSize(103, 1)));

		    //Setup Route Exec object
		    var wayPoints = new MQLocationCollection();

		    //Add Origin and Destination to MQLocationCollection
		    wayPoints.add(origGeoAddress);

		    //Set any Route Options
		    var routeOpt = new MQRouteOptions();
		    routeOpt.setMaxShapePointsPerManeuver(MAX_SHAPE_POINTS);

		    //Create Origin Icon
		    var startIcon = new MQMapIcon();
		    startIcon.setImage(MLGlobalVar_GlobalImagePath + "star_red.gif", 32, 33, true, false);

		    //Create Origin Poi and add to the Map
		    var startPoi = new MQPoi(origGeoAddress.getMQLatLng(), startIcon);
		    startPoi.setInfoTitleHTML("Branch Office");
		    startPoi.setInfoContentHTML(mqAddressToString(origGeoAddress));
		    map.addPoi(startPoi);



		    //Perform Best Fit on the Map
		    map.bestFit(false, 1, 11);

	    }
	    


	    /**
	    * Function to display route directions table
	    *
	    * @param		routeResults - Route Results object
	    * @param		origAddress - an MQGeoAddress object
	    * @param		destAddress - an MQGeoAddress object
	    * @author       Seisan Consulting   2-14-2007
	    **/
	    function displayResults(routeResults, origAddress, destAddress){
		    var tbl, tr, td, b, div;

		    var tbl = document.createElement("table");
		    //tbl.className = "routeresults";
		    tbl.width = "500"
		    tbl.cellPadding = 4;
		    tbl.cellSpacing = 0;
		    tbl.border = 0;

    	    tr = document.createElement("tr");

		    tbl.appendChild(tr);

		    //Display Total Route Distance
		    tr = document.createElement("tr");

//		    td = document.createElement("td");
//		    td.appendChild(document.createTextNode(" "));
//		    tr.appendChild(td);

		    td = document.createElement("td");
		    td.align = "left";
		    //td.colSpan = 3;
		    //td.className = "hdrrouteresults";
		    var est;
		    if(routeResults.getTime() > 3600)
			    est = formatTime(routeResults.getTime() , "%h hours %m minutes");
		    else
			    est = formatTime(routeResults.getTime() , "%m minutes");

		    est += " for " + formatDistance(routeResults.getDistance()) + " miles of travel.";
		    td.appendChild(document.createTextNode("Estimated Travel Time: " + est));
		    tr.appendChild(td);



		    tbl.appendChild(tr);

		    //Display each maneuver in the route direcitons
		    tr = document.createElement("tr");
		    td = document.createElement("td");
		    //td.colSpan = 3;
		    var headers = new Array();
		    headers.push("DRIVING STEPS");
		    headers.push("distance");
		    headers.push("time");
		    td.appendChild(getRouteDirections(routeResults, true, true, true, true, headers));
		    tr.appendChild(td);
		    tbl.appendChild(tr);

		    var divresults = document.getElementById("divRouteResults");
		    if(!browserCheck.ie){
			    divresults.appendChild(tbl);
		    }
		    else {
			    divresults.innerHTML = tbl.outerHTML;			    
		    }
		    
		    document.getElementById("Message").innerHTML = "";
	    }

        function trim(stringValue)
        {
            //alert (stringValue);
            //alert(/^\s*(.*?)\s*$/);
            return stringValue.replace(/(^\s*|\s*$)/, "");
           
        }

        
        function setStartingDirection()
        {            
            
		    name = '';//qs.get("txtName");
		    if(name == null)
			    name = "";
		  
		    latitude = '';//qs.get("hdnLatitude");
		    longitude = '';//qs.get("hdnLongitude");
		    radius = '';//qs.get("txtDistance");
		    //type = qs.get("hdnType");
		    //unit = qs.get("rdoUnit");
		    type = 'ByLocation';
		    unit = 'Mi';
		    var strMqCityData = window.opener.document.getElementById('hdnMqCityData').value;
		    var objArr = strMqCityData.split(",");
		    address = objArr[0];
		    city = objArr[1];
		    stateProvince = objArr[2];
		    postalCode = objArr[3];
		    //alert("Get Hidden Values");
		    startCity = '';//qs.get("hdnCity");
		    startStateProvince = '';//qs.get("hdnStateProvince");
		    startPostalCode = '';//qs.get("hdnPostalCode");
		    startLatitude = '';//qs.get("orgLatitude");
		    startLongitude = '';//qs.get("orgLongitude");
    		

//		    //Display Address information
//		    document.getElementById("divName").appendChild(document.createTextNode(name));
//		    document.getElementById("divAddress").appendChild(document.createTextNode(address));
//		    document.getElementById("divCityStatePostal").appendChild(document.createTextNode(city + ", " + stateProvince + " " + postalCode));
		    
		    if ( (latitude == "") || (longitude == "") )
		        GeocodeItAgain();
		        
          //  InitMap();
            }
            
	    function onPageLoad(){
		    //Get Geocoded Address data from Query String
		    var qs = new Querystring();		
            //alert ("Enter OnPageLoad");
		    name = '';//qs.get("txtName");
		    if(name == null)
			    name = "";
		    //address = qs.get("txtAddress");
		    address = mqVar_Address;
		    //city = qs.get("txtCity");
		    city = mqVar_City;
		    //stateProvince = qs.get("selStateProvince");
		    stateProvince = mqVar_State;
		    //postalCode = qs.get("txtPostalCode");
		    postalCode = mqVar_Zip;
		    latitude = '';//qs.get("hdnLatitude");
		    longitude = '';//qs.get("hdnLongitude");
		    radius = '';//qs.get("txtDistance");
		    //type = qs.get("hdnType");
		    //unit = qs.get("rdoUnit");
		    type = 'ByLocation';
		    unit = 'Mi';
    		document.getElementById('hdnMqCityData').value = mqVar_Address+","+mqVar_City+","+mqVar_State+","+mqVar_Zip;
		    //alert("Get Hidden Values");
		    startCity = '';//qs.get("hdnCity");
		    startStateProvince = '';//qs.get("hdnStateProvince");
		    startPostalCode = '';//qs.get("hdnPostalCode");
		    startLatitude = '';//qs.get("orgLatitude");
		    startLongitude = '';//qs.get("orgLongitude");
    		

		    //Display Address information
		    document.getElementById("divName").appendChild(document.createTextNode(name));
		    document.getElementById("divAddress").appendChild(document.createTextNode(address));
		    document.getElementById("divCityStatePostal").appendChild(document.createTextNode(city + ", " + stateProvince + " " + postalCode));

		    //Set all form values to their defaults on page load
		    document.getElementById("rdoTypeOrig").checked = true;		
		    //document.getElementById("txtCity").value = startCity;
		    document.getElementById("txtCity").value = '';
		    document.getElementById("selStateProvince").selectedIndex = 0;
		    //document.getElementById("txtPostalCode").value = startPostalCode;
		    document.getElementById("txtPostalCode").value = '';
    		   		
    				
		    //Set the State dropdown with the original State
		    ddlStProv = document.getElementById("selStateProvince");
		    for (var i=0; i<ddlStProv.length-1; i++)
		    {
		        //alert(i);
		        if (ddlStProv.options[i].value == startStateProvince)
		        {
		            ddlStProv.selectedIndex=i;
		            i = ddlStProv.length;
		            //alert (i);
		        }
		    }
		    //alert ("Lat: " + startLatitude);
		    if ( (latitude == "") || (longitude == "") )
		        GeocodeItAgain();
		        
            InitMap();
	    }

    function GeocodeItAgain()
    {
            var addr = new MQAddress();
		    addr.setStreet(address);
		    addr.setCity(city);
		    addr.setState(stateProvince);
		    addr.setPostalCode(postalCode);
		    addr.setCountry("US");
         
            //var x = new MQGeoAddress();
         
		    //Call Geocode
		    //alert ("geocodeItAgain");
		    var location = geocode (addr, "javascript:selectGeocodeOption()");
		    
		    if (location == false)
		        alert ("Cannot get driving directions at this time.  Try again later");
		    else
		        {
		            latitude = location.getMQLatLng().getLatitude();
		            longitude = location.getMQLatLng().getLongitude();
		            //alert ("Lat: " + startLatitude + " Long: " + startLongitude);
		        }    
    }
    
     /**
	    * Function to geocode an MQAddress object
	    *
	    * @param		addr- an MQAddress object
	    * @param		fnct - string containing javascript function name
	    * @return		If geocode results are not ambiguous return geocoded Address, if ambiguous display multiple results table.
	    *				Ambiguous results and no results return false.
	    * @author       Seisan Consulting   2-14-2007
	    **/
	    function processPrintDirections(){	   
	        var messageDiv = document.getElementById("Message");
	        messageDiv.innerHTML = "";
	        messageDiv.style.display = "none";
	        
		    //Retrieve Address from form on page
		    var frmAddress = window.opener.document.getElementById("txtAddress").value;
		    var frmCity = window.opener.document.getElementById("txtCity").value;
		    var sel = window.opener.document.getElementById("selStateProvince");
		    var frmState = sel.options[sel.selectedIndex].value;
		    var frmPostalcode = window.opener.document.getElementById("txtPostalCode").value;
		    
		    //clear geocoding duplicate towns
		    var frmDiv = document.getElementById("divFrm");
            frmDiv.innerHTML = '';
            
            //clear results
		    var res = document.getElementById("r");
            res.innerHTML = '';
		                
		    //Validate required fields are filled in		    
		    if( (StringFunctions.isBlank(frmCity) ||  StringFunctions.isBlank(frmState) ) && StringFunctions.isBlank(frmPostalcode)){
			    messageDiv.innerHTML = "City & State or Zip required!";
			    messageDiv.style.display = "block";
			    if(document.getElementById('dvLeftPrint') || document.getElementById('PrintButton'))
			    {
			        document.getElementById('dvLeftPrint').style.setAttribute("display","none");
			        document.getElementById('PrintButton').style.setAttribute("display","none");
			    }
			    //window.parent.resizeIframeData('MQframe');
			    return false;
		    }

            messageDiv.innerHTML = "Calculating directions...";			    
			messageDiv.style.display = "block";
			
		    //Build MQAddress object
		    addr = new MQAddress();
		    addr.setStreet(frmAddress);
		    addr.setCity(frmCity);
		    addr.setState(frmState);
		    addr.setPostalCode(frmPostalcode);
		    addr.setCountry("US");
         
		    //Geocode MQAddress
		    var geoAddress = geocode(addr, "javascript:selectGeocodeOption()");
		    if(geoAddress){
			    //If geocoded successfully perform route			    			    
			    //alert ("get directions");
			    setStartingDirection();			    
			    route(geoAddress, window.opener.document.getElementById("rdoTypeOrig").checked);
		    }
		    
	    }
	    
	    function PrintMapPopUpWindow(stringDirection)
	    {
	        var ddlprintOption = document.getElementById('ddlprintOption'+stringDirection);
	        var params = 'PrintMapDirection.aspx?type=Print&styleIndex=';
	        
	        if(ddlprintOption.selectedIndex != 0)
	        {
	            params = params + ddlprintOption.options[ddlprintOption.selectedIndex].value;
                window.open(params);
	        }
	        else
	        {
	            alert('Please select print option before printing');
	        }
	        
            return false;
	    }
	    
	    function createLeftPrintMapDropDown()
	    {
	            var dvLeftPrint = document.createElement('div');
	            dvLeftPrint.id = 'dvLeftPrint';
	            //Changes for putting in IFrame - sroy1 - 03-02-09
	            dvLeftPrint.className="floatLeft";
	            if(navigator.appName == 'Netscape')
	                dvLeftPrint.style.cssText = 'margin-top:2px;';
	            var divPrintLeftButton = document.createElement('a');	            
	            divPrintLeftButton.innerHTML = '<span>Print Directions</span>';
	            divPrintLeftButton.onclick = function(){PrintMapPopUpWindow('Left')};
	            divPrintLeftButton.className = 'button';
	            
	            //<a class="button" onclick="return PrintMapPopUpWindow();"></a></div>
                var selectPrintOption =  document.createElement('select');
			    selectPrintOption.className = 'input';
			    selectPrintOption.style.fontSize = '11px';
			    selectPrintOption.id = 'ddlprintOptionLeft';
			    
			    for(i=0;i<4;i++)
			    {
                    var optn = document.createElement("OPTION");
			        switch(i)
			        {
			            case 0:
                             optn.text = '--Select--';
                             optn.value = i;
                             break;
                        case 1:
                             optn.text = 'Map & Directions';
                             optn.value = i;
                             break;
                        case 2:
                             optn.text = 'Map';
                             optn.value = i;
                             break;
                        case 3:
                             optn.text = 'Directions';
                             optn.value = i;
                             break;
			        }
			       
                    selectPrintOption.options.add(optn);
                }
                 var divElement = document.createElement('div');
                 divElement.id = 'PrintButton';
	            divElement.className = 'paddingTop10px';
	            divElement.appendChild(divPrintLeftButton);
			    dvLeftPrint.appendChild(selectPrintOption);
			    divElement.style.display = "block";
			    dvLeftPrint.style.display = "block" ;             
//			    dvLeftPrint.appendChild(divPrintButton);
			    document.getElementById('divSearchCriteria').appendChild(divElement);
		    
			    document.getElementById('divSearchCriteria').appendChild(dvLeftPrint);
			    //Changes for putting in IFrame - sroy1 - 03-02-09
			    //window.parent.resizeIframe('MQframe');	
			    
	    }
	    
	    function createRightPrintMapDropDown()
	    {
	         var dvRightPrint = document.createElement('div');
	            dvRightPrint.Id = 'dvRightPrint';
	            dvRightPrint.className="floatRight paddingBottom10px";
	           if(navigator.appName == 'Netscape')
	                dvRightPrint.style.cssText = 'margin-top:2px;';
	             var divPrintRightButton = document.createElement('a');	            
	            divPrintRightButton.innerHTML = '<span>Print Directions</span>';
	            divPrintRightButton.onclick = function(){PrintMapPopUpWindow('Right')};
	            divPrintRightButton.className = 'button';
	            //Changes for putting in IFrame - sroy1 - 03-02-09
	            divPrintRightButton.style.paddingLeft = "265px";
	            //divElement.appendChild(divPrintRightButton);
	            var selectPrintOptionRight =  document.createElement('select');
			    selectPrintOptionRight.className = 'input';
			    selectPrintOptionRight.style.fontSize = '11px';			    
			    selectPrintOptionRight.id = 'ddlprintOptionRight';
			    for(i=0;i<4;i++)
			    {
                    var optn = document.createElement("OPTION");
			        switch(i)
			        {
			            case 0:
                             optn.text = '--Select--';
                             optn.value = i;
                             break;
                        case 1:
                             optn.text = 'Map & Directions';
                             optn.value = i;
                             break;
                        case 2:
                             optn.text = 'Map';
                             optn.value = i;
                             break;
                        case 3:
                             optn.text = 'Directions';
                             optn.value = i;
                             break;
			        }
			       
                    selectPrintOptionRight.options.add(optn);
                }
  			    document.getElementById('divRouteResults').appendChild(divPrintRightButton);
	            dvRightPrint.appendChild(selectPrintOptionRight);                
			    document.getElementById('divRouteResults').appendChild(dvRightPrint);
			    //Changes for putting in IFrame - sroy1 - 03-02-09
			    window.parent.resizeIframe('MQframe');
	    }
	    
	    function DisplayAddress(strAppendMasterPageId,divFAAddress)
	    {
	        if(window.opener.document.getElementById('divAddress').innerText!=undefined || window.opener.document.getElementById('divAddress').innerText!=null)
            {
                if(window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblContactName')!=undefined || window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblContactName')!=null)
                {
                    divFAAddress.innerHTML =  window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblContactName').innerText;
                }
                if(window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblBuildingName')!=undefined || window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblBuildingName')!=null)
                {
                    divFAAddress.innerHTML +=  "<br />"+window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblBuildingName').innerText;
                }
                if(window.opener.parent.document.getElementById('divAddress')!=undefined || window.opener.document.getElementById('divAddress')!=null)
                {
                    divFAAddress.innerHTML +=  "<br />"+window.opener.document.getElementById('divAddress').innerText;
                }
                if(window.opener.parent.document.getElementById('divCityStatePostal')!=undefined || window.opener.parent.document.getElementById('divCityStatePostal')!=null)
                {                
                    divFAAddress.innerHTML +=  "<br />"+window.opener.parent.document.getElementById('divCityStatePostal').innerText;
                }
                if(window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblPhoneNumber')!=undefined || window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblPhoneNumber')!=null)
                {
                    divFAAddress.innerHTML +=  "<br />"+window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblPhoneNumber').innerText;
                }
                document.getElementById('divContent').insertBefore(divFAAddress,$('r'));
            }
            else
            {
                if(window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblContactName')!=undefined || window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblContactName')!=null)
                {
                    divFAAddress.innerHTML =  window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblContactName').textContent;
                }
                if(window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblBuildingName')!=undefined || window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblBuildingName')!=null)
                {
                    divFAAddress.innerHTML +=  "<br />"+window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblBuildingName').textContent;
                }
                if(window.opener.parent.document.getElementById('divAddress')!=undefined || window.opener.parent.document.getElementById('divAddress')!=null)
                {
                    divFAAddress.innerHTML +=  "<br />"+window.opener.parent.document.getElementById('divAddress').textContent;
                }
                if(window.opener.parent.document.getElementById('divCityStatePostal')!=undefined || window.opener.parent.document.getElementById('divCityStatePostal')!=null)
                {                
                    divFAAddress.innerHTML +=  "<br />"+window.opener.parent.document.getElementById('divCityStatePostal').textContent;
                }
                if(window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblPhoneNumber')!=undefined || window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblPhoneNumber')!=null)
                {
                    divFAAddress.innerHTML +=  "<br />"+window.opener.parent.document.getElementById(strAppendMasterPageId + 'lblPhoneNumber').textContent;
                }
                document.getElementById('divContent').insertBefore(divFAAddress,$('r'));
            }
	    }
	//Added for migration of MapQuest into IFrame - sroy1 - 03-02-09
	function getElementsByClassName(classname,node){
        if(!node) node = document.getElementsByTagName("body")[0];
        var a = [];
        var re = new RegExp('\\b' + classname + '\\b');
        var els = node.getElementsByTagName("*");
        for(var i=0,j=els.length; i<j; i++)
            if(re.test(els[i].className))
            a.push(els[i]);
            return a;
    }

