var HomepageBranding = {
    isDemographicGroupPage: false, 
    isZipSearchCountry: false, 
    demographicGroupName: "", 
    
    CheckNewZip: function(newPostalCode, currentPostalCode, currentCityID, countryCode) { 
        if (!HomepageBranding.isZipSearchCountry) return;  // does nothing if we can't lookup distances by zip code
        if (newPostalCode == currentPostalCode) return;    // does nothing if the postal code did not change
        GetAjaxContent("/ajax/postalcodetocityid.aspx?p=" + newPostalCode + "&c=" + countryCode, function(response) { 
                HomepageBranding.CheckNewZipResponse(newPostalCode, countryCode, currentCityID, response) 
            });
    }, 
    
    CheckNewZipResponse: function(postalCode, countryCode, currentCityID, response)
    { 
        var cityID = 0;
        var locationEdition = "";
        
        if (response.indexOf("ERROR") == 0)
        {
            return;  // ignore invalid zips
        }
        else
        {
            cityID = parseInt(response.split("|")[0]);
            locationEdition = response.split("|")[1];
        }
        
        CreateCookie("locationedition", locationEdition, 365);

		// Even if city didn't change, they might be farther away so we would want to change to the country content
		// Ideally check if location edition has changed so you can skip this and the calls below
		
		if (!HomepageBranding.isDemographicGroupPage)
		{
			HomepageBranding.GetControlReplacement("MD", "HomePageEditionHeader", "~/controls/layout/rightcolumn/home/HomePageEditionHeader.ascx", "<MD:HomePageEditionHeader ID=\"HomePageEditionHeaderControl\" runat=\"server\" CityID=\"" + cityID + "\" CountryCode=\"" + countryCode + "\" Demographic=\"" + HomepageBranding.demographicGroupName + "\" postalcode=\"" + postalCode + "\" locationEdition=\"" + locationEdition + "\"/>", "SpanHomePageEditionHeaderControl");
			HomepageBranding.GetControlReplacement("MD", "HomePageMainCopy", "~/controls/layout/rightcolumn/home/HomePageMainCopy.ascx", "<MD:HomePageMainCopy ID=\"HomePageMailCopyControl\" runat=\"server\" CityID=\"" + cityID + "\" CountryCode=\"" + countryCode + "\" Demographic=\"" + HomepageBranding.demographicGroupName + "\"  postalcode=\"" + postalCode + "\" locationEdition=\"" + locationEdition + "\"/>", "SpanHomePageMainCopyControl");
		}
        
        if (cityID != currentCityID)
        {
			if (cityID != 0)
				CreateCookie("metrodatecity", cityID, 365);           
			CreateCookie("country", countryCode, 365);
			CreateCookie("zip", postalCode, 365);

	        clearTimeout(BannerImages.rotateTimer);

			DynamicSearchForm.currentCityId = cityID;
			if (DynamicSearchForm.txtPostalCode && DynamicSearchForm.txtPostalCode.value.toUpperCase() != postalCode.toUpperCase()) { 
				DynamicSearchForm.txtPostalCode.value = postalCode;
				DynamicSearchForm.txtPostalCode.style.color = "#000000";
				DynamicSearchForm.FormUpdated(null);
			}

			if (!HomepageBranding.isDemographicGroupPage) 
				document.title = "Metrodate.com - 100% FREE Online Dating Singles Site";
			
			// Update rotating city and people images
			GetAjaxContent("/ajax/slurpcontrol.aspx?prefix=MD&name=CityBanner&src=" + escape("~/controls/layout/CityBanner.ascx") + "&tag=" + escape("<MD:CityBanner ID=\"CityBannerControl\" runat=\"server\" Demographic=\"" + HomepageBranding.demographicGroupName + "\" />"), 
				function(response){ 
					BannerImages.imgNumber = 0;
					BannerImages.images = response.substring(1, response.indexOf("<")-5).split("\", \"");
					BannerImages.rotateTimer = setTimeout(function() { BannerImages.Rotate() }, 1000);
				});
				
			HomepageBranding.GetControlReplacement("MD", "HomeFeatures", "~/controls/layout/rightcolumn/home/HomeFeatures.ascx", "<MD:HomeFeatures ID=\"HomeFeaturesControl\" runat=\"server\"  CityID=\"" + cityID + "\" CountryCode=\"" + countryCode + "\" GroupName=\"" + HomepageBranding.demographicGroupName + "\" LocationEdition=\"" + locationEdition + "\" />", "SpanHomeFeaturesControl");
		}		
    }, 
    
    GetControlReplacement: function(tagPrefix, tagName, tagSrc, tag, pageElem) { 
        GetAjaxContent("/ajax/slurpcontrol.aspx?prefix=" + escape(tagPrefix) + "&name=" + escape(tagName) + "&src=" + escape(tagSrc) + "&tag=" + escape(tag), 
            function(response){ HomepageBranding.ReplaceControl(pageElem, response); });
    }, 
    
    ReplaceControl: function(pageElem, response) { 
        pageElem = Get(pageElem);
        if (pageElem && response.indexOf("ERROR") != 0) { 
            ClearChildNodes(pageElem);
            pageElem.innerHTML = response;
        }
    }
}