		function createCookie2(name,value,expires) {
			
			
			if (expires==0) {
				var date = new Date();
				date.setTime(date.getTime()+(60*24*60*60*1000));
				var expires = "; expires="+date.toGMTString();
			} else {
				 var expires = "";
			}	 
			document.cookie = name+"="+value+expires+"; path=/";
		}
		function get_cookie(Name) 
		{
		 	var search = Name + "=";
		  	var returnvalue = "";
		  	if (document.cookie.length > 0) 
		  	{
		   		offset = document.cookie.indexOf(search)
		   		if (offset != -1) 
		   		{ 
		   			// if cookie exists
		     		offset += search.length
		     		// set index of beginning of value
		     		end = document.cookie.indexOf(";", offset);
		     		// set index of end of cookie value
		     		if (end == -1)
		         		end = document.cookie.length;
		     		returnvalue=unescape(document.cookie.substring(offset, end))
		     	}
			}
		  	return returnvalue;
		}

		function toggleLocationpopup(toggle) {
			checkLocaleSelction = toggle;
		}

		//function popupLocaleSelections() {
		//	$div = $('#LocaleSelectorModalContent');
		//	if ($div.length == 0) {
		//		$('body').append('<div id="LocaleSelectorModalContent" style="display: none;"></div>');
		//	}
		//	$('#LocaleSelectorModalContent').load('/www/en-us/tools/localeselector' , LocaleSelector.showDialog);
		//}

		function isLocaleMapped (locale) {
			var supportedLocale = ["en-US","en-GB","zh-CN","zh-TW","ja-JP","ko-KR","es-LA","es-ES","it-IT","fr-FR","tr-TR","pl-PL","ru-RU","de-DE","pt-BR"];
			var passedLocale = locale.toLowerCase();
			//alert(passedLocale.length + " : " + passedLocale);
			for (var i = 0; i < supportedLocale.length; i++) {
				var slocale = supportedLocale[i].toLowerCase();
				if (slocale==passedLocale) {
					return supportedLocale[i];
				}
			}
			return "NO_";
		}
		
		function isCountryMapped (locale) {
			var supportedCountry = ["US","GB","CN","TW","JP","KR","LA","ES","IT","FR","TR","PL","RU","DE","BR"];
			var supportedLocale = ["en-US","en-GB","zh-CN","zh-TW","ja-JP","ko-KR","es-LA","es-ES","it-IT","fr-FR","tr-TR","pl-PL","ru-RU","de-DE","pt-BR"];
			var passedLocale = locale.toLowerCase();
			//alert(passedLocale.length + " : " + passedLocale);
			for (var i = 0; i < supportedCountry.length; i++) {
				var slocale = supportedCountry[i].toLowerCase();
				if (slocale==passedLocale) {
					return supportedLocale[i];
				}
			}
			return "NO_";
		}

		function getBrowserLocalSetting() {
			
			// the default setting would be like "en-secureid,en-GB,en-US;q=0.5" 
			var stringArray = getUserLocalePref().toLowerCase().split(";");
			var stringArray = stringArray[0].split(",");
			for (var i=0; i < stringArray.length; i++){
					var lclCookie = isLocaleMapped(stringArray[i]);
					if (lclCookie != "NO_" ) {
						return lclCookie;
					}
			}
			return "en-US";
			
		}
		
		function checkSelectedPreferredLanguage(){
			var selectedpreferredLocaleCookie=get_cookie("userSelectedLocaleCookie");
			var currentLocale="en-US";
				if(preferredLocaleCookie!=null&&preferredLocaleCookie!=""){
					if(preferredLocaleCookie.toLowerCase()!=currentLocale.toLowerCase()){
						window.location.replace("/www/"+preferredLocaleCookie.toLowerCase()+"/");
					} 
				} else {
					checkbrowserLocale();
				}
			}


		function checkbrowserLocale() {
				var locale = geoip_country_code();
				var MappedLocale ="NO_";
				var MappedLocale1 ="NO_";
				//var preferredLocaleCookie=get_cookie("userSelectedLocaleCookie");
				
				//if(preferredLocaleCookie!=null&&preferredLocaleCookie!=""){
				//	window.location.replace("/www/"+preferredLocaleCookie.toLowerCase()+"/");
				//} else {
					if (locale!="") {
						// got the country locale
						MappedLocale = isCountryMapped(locale);
						locale = getBrowserLocalSetting();
						if (locale!="null") {
							MappedLocale1 = isLocaleMapped(locale);
							if (MappedLocale1 != "NO_") {
								MappedLocale = MappedLocale1; 	
							} 	
						} 
					} else {
						locale = getBrowserLocalSetting();
						if (locale!="null") {
							MappedLocale1 = isLocaleMapped(locale);
							if (MappedLocale1 != "NO_") {
								MappedLocale = MappedLocale1; 	
							} 	
						}
					}
				
					if (MappedLocale !="NO_") {
						//createCookie("userPreferredLocaleCookie",MappedLocale,0);
						set_cookie("userPreferredLocaleCookie",locale,0);
						window.location.replace("/www/"+MappedLocale.toLowerCase()+"/");
					} else {
						//default the he user to US site.
						set_cookie("userPreferredLocaleCookie","en-US",1);
						window.location.replace("/www/en-us/");
						//set display pop to true
						//toggleLocationpopup(1);
					}
				//}	
		}