		function writePackageRuleString(locationcode, num)
		{
			var rule = 'url:/xml/packages/' + locationcode + '.xml|xmllist:packageDetails|num:' + num + 
									'|rule:rank=<4&private=false&active=true|template:packageitem|display:packages';
			return rule;
		}
		
		function onCompleteForPackages(success)
		{
			//this can be used to clean up?
			if(!success)
			{
				mr_ajax_do('defaultRuleGeneratorForPackages', '');
				
			}
		}
	
		function defaultRuleGeneratorForPackages()
		{
				var ruleSetString1 = '';
				var ruleSetString2 = '';
				var ruleSets = new Array();
				try
				{
					var locations = new Array('ACM','LVM','NMM','GCM');
					
					var rnd = Math.floor(Math.random()*3);
					ruleSetString1 = writePackageRuleString(locations[rnd],2);

					//RNO doesn't have enough packages to select 2
					locations = new Array('ACM','LVM','NMM','GCM', 'RNO');
					
					var rnd2 = Math.floor(Math.random()*3);
					if(rnd2==rnd) rnd2 = rnd2 + 1; //make sure no dups and because the second test has 1 more just add
									
					ruleSetString2 = writePackageRuleString(locations[rnd2],1);
			
				}
				catch(e)
				{
					ruleSetString1 = writePackageRuleString('LVM',3);
					ruleSetString2 = "";
				}	
				
				var ruleSetString = ruleSetString1 + '\n' + ruleSetString2;
				if(readQueryString("rulesets")=="yes") alert('default\n'+ruleSetString); //1
				ruleSetString = trim(ruleSetString); //this will get rid of the \n if there is only one rule string
				
				
				ruleSets = ruleSetString.split('\n');
				return ruleSets;
		}
	
		function ruleGeneratorForPackages()
		{
			var usingDefault = false;
			var defaultRuleSets = new Array();
			var ruleSetString1 = '';
			var ruleSetString2 = '';
			var ruleSets = new Array();
			var ruleSetBuilt = false;
			
			var isLoggedIn = getIsLoggedIn();
			

			if(false) //tracker item 1129
			{
				defaultRuleSets = defaultRuleGeneratorForPackages();
				usingDefault = true;
			}
			else
			{
				var num = 3;
				var trDomProp = getDomProp(); 
				var useFit = true;
				if(trDomProp!='')
				{
					ruleSetString2 = writePackageRuleString(getDomMarket(),1);
					num = 2;
					useFit = false;
				}					
				if(getLastGetQuoteMarket()!=''&&ruleSetBuilt==false)
				{
					ruleSetString1 = writePackageRuleString(getLastGetQuoteMarket(),num);
					ruleSetBuilt=true; //Prevents future tests from passing
				}
				if(isSessionStart())
				{
					if(getLastBookRoomMarket()!=''&&ruleSetBuilt==false)
					{
						ruleSetString1 = writePackageRuleString(getLastBookRoomMarket(),num);
						ruleSetBuilt=true; //Prevents future tests from passing
					}
										
					if(getLastMarketBrowsed()!=''&&ruleSetBuilt==false)
					{
						ruleSetString1 = writePackageRuleString(getLastMarketBrowsed(),num);
						ruleSetBuilt=true;
					}
					
					if(getLastMarketBrowsed()!=''&&ruleSetBuilt==false)
					{
						ruleSetString1 = writePackageRuleString(getLastMarketBrowsed(),num);
						ruleSetBuilt=true;
					}
					
				}
				else //browsing around the site
				{
					if(getLastMarketBrowsed()!=''&&ruleSetBuilt==false)
					{
						ruleSetString1 = writePackageRuleString(getLastMarketBrowsed(),num);
						ruleSetBuilt=true;
					}
				}
				
				//************THIS IS THE FAIL SAFE RULE****************************//
				if(ruleSetBuilt==false)
				{
					if(useFit==false)
					{
						ruleSetString1 = writePackageRuleString('LVM',2);
						ruleSetString2 = writePackageRuleString('ACM',1);
					}
					ruleSetBuilt = true;					
				}
				//************THIS IS THE FAIL SAFE RULE****************************//
				
			}
			
			var ruleSetString = '';
			if(usingDefault)
			{
				ruleSets = defaultRuleSets;
			}
			else
			{
				ruleSetString = ruleSetString1 + '\n' + ruleSetString2;
				ruleSetString = trim(ruleSetString); //this will get rid of the \n if there is only one rule string
				if(readQueryString("rulesets")=="yes") alert('main\n'+ruleSetString); //2
				ruleSets = ruleSetString.split('\n');
			}
			
			return ruleSets;
		}
		
		function package_onclick(propertyCode, packageCode, packageName, categoryName)
		{
			//LVM:View More
		
			s_linkType='o';
			s_linkName='Package:'+propertyCode+':'+packageCode+':'+packageName+':'+categoryName;
			
			 if(isPersonalized())
			 	s_prop24='Personalized';
			 else
				s_prop24='Non-Personalized';
			s_lnk=s_co(this); 
			s_gs('harrahsglobal'); //s_gs('harrahsglobaldev');

		
			var url = '/MakeReservation.do?propCode=' + propertyCode + '&packageCode=' + packageCode;
			var letter = getRecommendationType();
			
			url = url + '&letter='+letter;
			window.location=url;
		}