// --- [start /site/portal_skins/DEFAULT/recently_viewed_search_add.js] ---

var rvp_max_size = 3500;

function Titler() {

    // Constants
    this.delimiter = '|';
    this.tokenPrefix = '%';
    this.fieldToken = 'F';
    this.lowercaseFieldToken = 'L';
    this.titlecaseFieldToken = 'T';
    this.pluralToken = 'P';
    this.childrenPluralToken = 'C';
    this.separatorToken = 'S';
    this.additionToken = 'A';
    this.startConditionToken = '(';
    this.endConditionToken = ')';
    this.separator = ", ";
    this.trailingSeparatorPattern = new RegExp(this.separator.charAt(0) + '\\s*$');
    this.emptyPattern = new RegExp('^\\s*$');
    
    // Methods
    this.makeTitle = Titler_makeTitle;
    this.getField = Titler_getField;
    this.debug = Titler_debug;
    this.getSum = Titler_getSum;
}

function Titler_makeTitle(template,formObject) {
    title = '';
    timeToSeparate = false;
    condition = true;
    chunks = template.split(this.delimiter);
    
    for (c = 0; c < chunks.length; c++) {
	chunk = chunks[c];
	this.debug("Processing chunk " + chunk + " condition = " + condition);
	if (chunk.length > 0) {
	    if (chunk.charAt(0) == this.tokenPrefix) {
		token = chunk.charAt(1);
		this.debug("Found token " + token);
		if (condition || (token == this.endConditionToken)) {
		    switch(token) {
			
		    case this.fieldToken:
			field = this.getField(chunk,formObject);
			if (field != null) {
			    title += field;
			    timeToSeparate = true;
			}
			break;

		    case this.lowercaseFieldToken:
			field = this.getField(chunk,formObject);
			if (field != null) {
			    title += field.toLowerCase();
			    timeToSeparate = true;
			}
			break;

		    case this.titlecaseFieldToken:
			field = this.getField(chunk,formObject);
			if (field != null) {
			    title += field.charAt(0).toUpperCase() + field.substring(1);
			    timeToSeparate = true;
			}
			break;
			
		    case this.pluralToken:
			sum = this.getSum(chunk,formObject);
			if (sum != 1) {
			    title += "s";
			}
			break;

		    case this.childrenPluralToken:
			sum = this.getSum(chunk,formObject);
			if (sum == 1) {
			    title += 'child';
			} else {
			    title += 'children';
			}
			timeToSeparate = true;
			break;
			
		    case this.separatorToken:
			if (timeToSeparate) {
			    title += this.separator;
			    timeToSeparate = false;
			}
			break;
			
		    case this.startConditionToken:

			// A list of tokens optionally followed by an expression
			tokensExpr = chunk.slice(2).split(this.tokenPrefix + this.tokenPrefix);
			tokens = tokensExpr[0].split(this.tokenPrefix);
			expr = null;
			if (tokensExpr.length == 2) {
			    expr = tokensExpr[1];
			    sum = 0;
			}
			condition = false;
			if (tokens.length > 1) {
			    for (t = 0; t < tokens.length; t++) {
				field = formObject[tokens[t]];
				if (field != null) {
				    if (expr == null) {
					// If there is no expression this the condition
					// will be true if any field has a value
					condition = true;
					break;
				    } else {
					// If there is an expression it will be compared
					// to the sum of the int values of the fields
					sum += parseInt(field);
				    }
				}
			    }
			    if (expr != null) {
				this.debug("Token = " + tokens + " Sum = " + sum + " Expression = " + expr);
				condition = eval(sum + " " + expr);
			    }
			} else {
			    if (expr == null) {
				// Test for existence of a single field
				field = this.getField(chunk,formObject);
				condition = (field != null);	
			    } else {
				// Expression comparing with a single field
				field = formObject[tokens[0]];
				if (isNaN(parseInt(field))) {
				    // Deal with strings
				    field = '"' + field + '"';
				}
				this.debug("Token = " + tokens[0] + "Field = " + field + " Expression = " + expr);
				condition = eval(field + " " + expr);
			    }
			}				
			this.debug("Setting condition on " + chunk + " to " + condition);
			break;
			
		    case this.endConditionToken:
			condition = true;
			break;

		    case this.additionToken:
			title += this.getSum(chunk,formObject);
			break;
		    }
		}
	    } else {
		if (condition) {
		    title += chunk;
		    if ((c > 0) && (chunk.match(this.emptyPattern) == null)) {
			timeToSeparate = true;
		    }
		}
	    }
	}
    }
    
    // Remove trailing separator if necessary
    title = title.replace(this.trailingSeparatorPattern,'');  
    return title;
}

// Get the sum of a number of fields
function Titler_getSum(chunk,formObject) {
    sum = 0;
    if (chunk.length > 2) {
	tokens = chunk.slice(2).split(this.tokenPrefix);
	for (t = 0; t < tokens.length; t++) {
	    field = formObject[tokens[t]];
	    if (field != null) {
		sum += parseInt(field); 
	    }
	}
    }
    return sum;
}


// Retrieve value of a field
function Titler_getField(chunk,formObject) {
    if (chunk.length > 2) {
	return formObject[chunk.slice(2)];
    } else {
	return null;
    }
}

// Temporary - output debugging messages to screen
function Titler_debug(message) {
    //    document.writeln('<br />' + message);
}


function rms_encodeCookieString(searchType,formObj,userEditableFields,defaultValue,test)
	{
	if(document.location.href.indexOf('test=encode')>-1)test=true;
	if(test)alert('rms_encodeCookieString');
	if(test=='verbose')alert('search type = ' + searchType);
	// for each user-editable element, get value
	cookieStr='';
	
	for (x in userEditableFields)
		if (userEditableFields[x]=="N")
			for (y=0;y < formObj.elements.length;y++)
				{
				if(test=='verbose')alert(formObj.elements[y].name +' = '+formObj.elements[y]);
				formElement = formObj.elements[y];
				if (formElement.name=="N" && formElement.value!="0")
					{
//					if(test)alert('Adding N object to cookie string');
					cookieStr+="N="+formElement.value+'&';
					}
				}
		else
			if (element = formObj.elements[userEditableFields[x]])
				if(!(element.type=="checkbox" && element.checked=="true") && element.value!="" && element.value!=defaultValue && element.value!=undefined)
					{
//					if(test)alert('Adding object to cookie string');
					cookieStr+=element.name+'='+element.value+'&';
					}
				else
					{
					if(test)alert('Element type is undefined');
					if(len = element.length)
						for (i=0;i < len;i++)
							{
							myObj = element[i];
							if(myObj.type=='radio' && myObj.checked==true)
								{
								cookieStr+=myObj.name+'='+myObj.value+'&';
								if(test)alert('Radio element added: '+myObj.name+' = '+myObj.value);
								}
							}
					}
					
//	if(test)alert('Endcoded cookie string = '+cookieStr+'<br />');
	return cookieStr;
	}

function rms_makeTitle(searchType,formValues,ftemplate)
	{
	if(test)alert('rms_makeTitle');
	titler = new Titler();
	title = titler.makeTitle(ftemplate,formValues);
	return(title);
	}

function rms_addCookieStr(cookieStr,separator,cookieVal,noOfItems,test) {
	if (test) alert('rms_addCookieStr');
	var newCookieVal = '';
	// if cookie exists
	if (cookieVal) {
		// get each item from cookie		
 		var items = cookieVal.split(separator,noOfItems);
		var newSize = document.cookie.length - escape(cookieVal).length + escape(cookieStr).length;
		for (x in items) {
			if (cookieStr==items[x]) return cookieVal;
			newSize += escape(items[x]).length + escape(separator).length;
			if (newSize > rvp_max_size) {
				// alert('Cookie size exceeded ' + x + ' proposed=' + newSize + ' previous=' + (newSize - escape(items[x]).length - escape(separator).length));
				break;
			} else {
				newCookieVal += separator + items[x];
			}
		}
		newCookieVal = cookieStr + separator + newCookieVal;	
	} else {
		if (!(document.cookie && document.cookie != null && document.cookie.length > rvp_max_size)) {
			newCookieVal = cookieStr;
		}
	}
	return newCookieVal;
}


function rms_getTitleValues(userEditableFields,formObj,defaultValue,searchType,test)
	{
	if(test)alert('rms_getTitleValues: editableFields = '+userEditableFields);
	if(formObj)
		{
		formValues = new Object();
		for (x in userEditableFields)
			{
			if(test)alert('field name = '+userEditableFields[x]);
			if (userEditableFields[x]=="N")
				{
//				if(test)alert('Editable field is N');
				for (y=0;y < formObj.elements.length;y++)
					{
					if(test=='verbose') alert(formObj.elements[y])
					formElement = formObj.elements[y];
					if (formElement.name=="N")
						{
//						if(test)alert('Form field is N');
						if(formElement.value!=defaultValue && formElement.value)
							{
//							if(test)alert('element Id = ' + formElement.id);
							switch (formElement.type)
								{
								case 'select-one': 
//									if(test)alert(formElement.type);
									if(formElement.selectedIndex!=0)
										{
//										if(test)alert(formElement.selectedIndex);
										value = formElement.options[formElement.selectedIndex].text;
//										if(test)alert('Adding N object to title: '+formElement.id +' = '+value);
										regExp = /\w/;
										stringIndex = value.search(regExp);
										if (stringIndex>-1) value = value.slice(stringIndex);
										formValues[formElement.id] = value;
//										alert('Item value = ' + formValues[formElement.id]);
										}
									break;
								case 'hidden': break;
								default: alert(formElement.type);break;
								}
							}	
						}
					}
				}
			else
				{			
				if(test=='verbose')alert('Name = '+formObj.elements[userEditableFields[x]].name+', Type = '+formObj.elements[userEditableFields[x]].type);	
				fieldName = userEditableFields[x];
				var formElement2 = formObj.elements[fieldName];
				if(test)alert('Name = '+formElement2.name+', Type = '+formElement2.type);
				switch (formElement2.type)
					{
					case 'text': 
						if (formElement2.value!='' && formElement2.value!=defaultValue)
							{
							
							formValues[formElement2.name]=formElement2.value;
							if(test)alert('Added text object to title, name = '+formElement2.name + ', value = '+formElement2.value);
							}
						break;
					case 'select-one':
						/* if something has been selected, or if the select box is a date (days too?) */
						switch (searchType)
							{
							case 'hotels':
								useField = false;
								if (formElement2.selectedIndex!='0')
									{
									zeroBasedFields = new Array('lmnCountry','lmnPrice','lmnChildrenRoom1','lmnChildrenRoom2','lmnChildrenRoom3','lmnChildrenRoom4');
									for (field in zeroBasedFields) if (formElement2.name==zeroBasedFields[field]) useField=true;
									}
								otherFields = new Array('lmnRooms','lmnCheckInDay','lmnCheckInMonth','lmnLengthOfStay','lmnAdultsRoom1','lmnAdultsRoom2','lmnAdultsRoom3','lmnAdultsRoom4');
								for (field in otherFields) if (formElement2.name==otherFields[field]) useField=true;
								if (useField)
									{
									if(test)alert('Adding select object to title (hotels)');
									formValues[formElement2.name]=formElement2.options[formElement2.selectedIndex].text;
									}
								break;
							case 'dpfsm':
								if (formElement2.selectedIndex!='0')
									{
									zeroBasedFields = new Array('DPODT','DPIDT','DPCLS','DPAIR');
									for (field in zeroBasedFields) if (formElement2.name==zeroBasedFields[field]) useField=true;
									}
								otherFields = new Array("DPDAP","date_out_day","date_out_month","DPAAP","date_in_day","date_in_month","DPNOA","DPNOS","DPNOC","DPNOI");
								for (field in otherFields) if (formElement2.name==otherFields[field]) useField=true;
								if (useField)
									{
									if(test)alert('Adding select object to title (dpfsm)');
									formValues[formElement2.name]=formElement2.options[formElement2.selectedIndex].text;
									}
								break;
							default: 
								if ((formElement2.selectedIndex!=0 || (searchType=='flights' && (formElement2.name.indexOf('month')>-1 || formElement2.name.indexOf('_day')>-1 || formElement2.name=='lfe_origin'))) && !(formElement2.name=='give_or_take' && formElement2.selectedIndex==2))
									{
									/* get the text value of the option */
									if(test)alert('Name = '+formElement2.name+', Type = '+formElement2.type + ', Selected Index = '+formElement2.selectedIndex);
									value = formElement2.options[formElement2.selectedIndex].text;
									/* check that the value isn't empty and isn't the default value, though the previous if statement should negate this possibility */
									if (value!='' && value!=defaultValue)
									/* create object in formValues */
									if(test)alert('Adding select object to title');
									formValues[formElement2.name]=value;
									}
								break;
							}
						break;
					case 'checkbox':
						if (formElement2.checked==true)
							{
							if(test)alert('Adding checkbox object to title');
							formValues[formElement2.name]=true;
							}
						break;
					case 'hidden':break;
					case undefined:
						if(test)alert('input type is undefined');
						if(len = formElement2.length)
							for (i=0;i < len;i++)
								{
								myObj = formElement2[i];
								if(myObj.type=='radio' && myObj.checked==true)
									{
									formValues[myObj.name]=myObj.value;
									if(test)alert('Radio element added to title string: '+myObj.name+' = '+myObj.value);
									}
								}
						break;
					default: alert("Type="+formElement2.type+"/nValue="+formElement2.value+"/nName="+formElement2.name);break;
	//				default: alert('No type found for '+formElement2.name);break;
					}
				}
			}
		}
	else alert('Form object does not exist');
	return formValues;
}

function rms_add(searchType,formId,number_of_products,expirey,cookie_name,domain,itemSeparator,titleSeparator,dataSeparator,test)
	{
		if(document.location.href.indexOf('test=true')>-1)test=true;
		if(document.location.href.indexOf('test=verbose')>-1)test='verbose';
		if(test)alert('rms_add');
		if (formObj=document.getElementById(formId))
			{
	
			defaultValue = "I don't mind";
			if(test=='verbose')alert('Search type = '+searchType);
			switch (searchType)
				{
				// get list of all user-editable elements
				case 'holidays':
					var userEditableFields = new Array('dest_search','end_date','dep_date','dep_day','dep_month','N','give_or_take','keyword_search');
					var ftemplate = "<strong>Holidays:</strong> |%(dest_search|to |%Tdest_search||%)||%(l_360|to |%Fl_360||%)||%S||%Fdep_day| |%Fdep_month||%S||%(l_61|from |%Fl_61||%)||%S||%Fl_3||%S||%(l_95||%Fl_95| hotel|%)||%S||%Ll_94||%S||%Ll_13||%(give_or_take| give or take |%Fgive_or_take| day|%Pgive_or_take||%)||%S||%(holidays_keywords|with |%Lholidays_keywords||%)||%S||%Lholidays_keywords||%S||%(travelTime||%LtravelTime| travel|%)||%S||%(temperatureField|where it is |%LtemperatureField||%)|";
					var defaultValue = document.getElementById('holidays_search_default_text').value;
					break;
				case 'flights':
					var userEditableFields = new Array('lfe_origin','lfe_dep_day','lfe_dep_month','lfe_dep_time','lfe_destination','lfe_ret_day','lfe_ret_month','lfe_ret_time','lfe_ticket_type','lfe_cabin_class','lfe_num_adult','lfe_num_senior','lfe_num_child','lfe_num_infant','lfe_carrier','lfe_direct_only');
					var ftemplate = '<strong>Flights:</strong> |%(lfe_origin|from |%Flfe_origin||%)||%(lfe_destination| to |%Tlfe_destination||%)||%S||%(lfe_dep_day| leaving |%Flfe_dep_day| |%Flfe_dep_month| |%(lfe_dept_time| |%Llfe_dep_time||%)||%)||%S||%(lfe_ticket_type%%!="One way"||%(lfe_ret_day| returning |%Flfe_ret_day| |%Flfe_ret_month||%(lfe_ret_time| |%Llfe_ret_time||%)||%)||%S||%(lfe_num_adult%%>0||%Flfe_num_adult| adult|%Plfe_num_adult||%)||%S||%(lfe_num_senior%%>0| |%Flfe_num_senior| senior|%Plfe_num_senior||%)||%S||%(lfe_num_child%%>0| |%Flfe_num_child| |%Clfe_num_child||%)||%S||%(lfe_num_infant%%>0| |%Flfe_num_infant| infant|%Plfe_num_infant||%)||%S||%(lfe_cabin_class||%Llfe_cabin_class| class|%)||%S||%(lfe_carrier|flying with |%Flfe_carrier||%)||%S||%(lfe_direct_only%%=="true"|direct only|%)|';
					if (defaultEl = document.getElementById('flights_search_default_text')) defaultValue = defaultEl.value
					break;
				case 'dp':
					var userEditableFields= new Array("departure_airport_list","Day1","month_1", "/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_DEP_TIME_0","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.cityCode","Day2","month_2","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_DEP_TIME_1","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_CABIN_CLASS_0","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_CARRIER_0","directOnly","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMADULTSWITHOUTSENIORS","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMSENIOR","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMCHILD","/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMINFANT","differenthoteldates","differentCheckIn","differentCheckOut");
					if(test)alert(userEditableFields);
					var ftemplate = 'Flight + hotel: |%Fdeparture_airport_list|%(/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.cityCode| 	to |%F/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.cityCode|%)|%(Day1|%S|leaving |%FDay1| 	|%Fmonth_1|%(/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_DEP_TIME_0%%!="I don\'t mind"| 	|%L/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_DEP_TIME_0|%)|%(Day2|%S|returning |%FDay2| 	|%Fmonth_2|%(/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_DEP_TIME_1%%!="I don\'t mind"| 	|%L/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_DEP_TIME_1|%)|%S|%(/com/lastminute/multiproduct/navigation/packagebre	aks/BookingDetailsStore.bookingParams.NUMADULTSWITHOUTSENIORS%%>0|%F/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMADULTSW	ITHOUTSENIORS| 	adult|%P/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMADULTSWITHOUTSENIORS|%)|%(/com/lastminute/multiproduct/navigation/p	ackagebreaks/BookingDetailsStore.bookingParams.NUMSENIOR%%>0| |%F/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMSENIOR| 	senior|%P/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMSENIOR|%)|%(/com/lastminute/multiproduct/navigation/packagebreaks/	BookingDetailsStore.bookingParams.NUMCHILD%%>0| |%F/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMCHILD| 	|%C/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMCHILD|%)|%(/com/lastminute/multiproduct/navigation/packagebreaks/Booking	DetailsStore.bookingParams.NUMINFANT%%>0| |%F/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMINFANT| 	infant|%P/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.NUMINFANT|%)|%S|%(/com/lastminute/multiproduct/navigation/packagebrea	ks/BookingDetailsStore.bookingParams.ROUTE_CABIN_CLASS_0%%!="I don\'t 	mind"|%L/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_CABIN_CLASS_0| 	class|%)|%S|%(/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_CARRIER_0%%!="I don\'t mind"|flying with 	|%F/com/lastminute/multiproduct/navigation/packagebreaks/BookingDetailsStore.bookingParams.ROUTE_CARRIER_0|%)|%S|%(directOnly%%==1|direct 	only|%)|%S|%(differenthoteldates%%=="true"|%(differentCheckIn%%!="Select date"|check in 	|%FdifferentCheckIn|%)|%S|%(differenthoteldates%%=="true"|%(differentCheckOut%%!="Select date"|check out |%FdifferentCheckOut|%)|';
					if(test)alert(ftemplate);
					var defaultValue = '';
					break;
				case 'dpfsm':
					DPAIR = formObj.elements['DPAIR'].value;
					var userEditableFields = new Array("TRANS","DPDAP","date_out_day","date_out_month","DPODT","DPAAP","date_in_day","date_in_month","DPIDT","DPCLS","DPNOA","DPNOS","DPNOC","DPNOI");
					if (DPAIR!='') userEditableFields[userEditableFields.length]="DPAIR";
					var ftemplate = '<strong>Flight + hotel:</strong> |%FDPDAP|%(DPAAP| to |%FDPAAP|%)|%(date_out_day|%S|leaving |%Fdate_out_day| |%Fdate_out_month|%(DPODT%%!="I don\'t mind"| |%LDPODT|%)|%(date_in_day|%S|returning |%Fdate_in_day| |%Fdate_in_month|%(DPIDT%%!="I don\'t mind"| |%LDPIDT|%)|%S|%(DPNOA%%>0|%FDPNOA| adult|%PDPNOA|%)|%(DPNOS%%>0| |%FDPNOS| senior|%PDPNOS|%)|%(DPNOC%%>0| |%FDPNOC| |%CDPNOC|%)|%(DPNOI%%>0| |%FDPNOI| infant|%PDPNOI|%)|%S|%(DPCLS%%!="I don\'t mind"|%LDPCLS| class|%)|%S|%(DPAIR|%(DPAIR%%!="I don\'t mind"|flying with |%FDPAIR|%)|%)|%S|%(DPDIR%%==1|direct only|%)'
					break;
				case 'gifts': var userEditableFields = new Array('keyword');break;
				case 'hotels':
					numberOfRooms = formObj.elements['lmnRooms'].selectedIndex + 1;
					var userEditableFields = new Array('lmnLocation','lmnCountry','lmnCheckInDay','lmnCheckInMonth','lmnLengthOfStay','lmnPrice','lmnStar2','lmnStar3','lmnStar4','lmnStar5','lmnResultsOnMap','lmnRooms');
					x=1;
					while (x<=numberOfRooms)
						{
						userEditableFields[userEditableFields.length] = 'lmnAdultsRoom'+x;
						userEditableFields[userEditableFields.length] = 'lmnChildrenRoom'+x;
						numberOfChildren = formObj.elements['lmnChildrenRoom'+x].value;
						for (y=1;y<=numberOfChildren;y++)	userEditableFields[userEditableFields.length] = 'lmnRoom'+x+'ChildAge'+y;
						x++;
						}
	//				var ftemplate = 'Hotels: |%(lmnLocation|in |%FlmnLocation||%)||%S||%FlmnCountry||%S|check in: |%FlmnCheckInDay| |%FlmnCheckInMonth|';
					var ftemplate = '<strong>Hotels:</strong> |%(lmnAnyStar|any|%)||%(lmnStar2|2|%)||%(lmnStar3||%S|3|%)||%(lmnStar4||%S|4|%)||%(lmnStar5||%S|5|%)||%(lmnAnyStar%lmnStar2%lmnStar3%lmnStar4%lmnStar5| stars|%)||%(lmnLocation%lmnCountry| in |%TlmnLocation||%S||%FlmnCountry||%)||%S||%FlmnCheckInDay| |%FlmnCheckInMonth||%S||%(lmnLengthOfStay||%FlmnLengthOfStay| night|%PlmnLengthOfStay||%)||%S||%(lmnRooms||%FlmnRooms| room|%PlmnRooms||%)||%S||%(lmnAdultsRoom1%lmnAdultsRoom2%lmnAdultsRoom3%%>0||%AlmnAdultsRoom1%lmnAdultsRoom2%lmnAdultsRoom3| adult|%PlmnAdultsRoom1%lmnAdultsRoom2%lmnAdultsRoom3||%)||%S||%(lmnChildrenRoom1%lmnChildrenRoom2%lmnChildrenRoom3%%>0||%AlmnChildrenRoom1%lmnChildrenRoom2%lmnChildrenRoom3| |%ClmnChildrenRoom1%lmnChildrenRoom2%lmnChildrenRoom3||%)||%S||%LlmnPrice||%S||%(lmnResultsOnMap%%=="true"||%S|on a map|%)|';
					var defaultValue = '';
					break;
				case 'hotels_name':
					if(test)alert(searchType);
					var userEditableFields = new Array('lmnHotelName');
					var ftemplate = '<strong>Hotel name:</strong> |%TlmnHotelName|';
					var defaultValue='';
					break;
				default: var userEditableFields = null; alert('Invalid search type');break;
				}
			// encode form data as string
			if(test)alert('Search-type specific variables set');
			cookieStr = rms_encodeCookieString(searchType,formObj,userEditableFields,defaultValue,test);
			if(test)alert('cookie string encoded');
			// add link title to encoded data
			// alert('searchType='+searchType+'\nformValues='+formValues+'\nftemplate='+ftemplate);
			formValues = rms_getTitleValues(userEditableFields,formObj,defaultValue,searchType,test);
	    if(test)alert('Title values gathered');
			title = rms_makeTitle(searchType,formValues,ftemplate);
			if(test)alert('Title made');
			// create string for addition to cookie
			cookieStr = titleSeparator+title+dataSeparator+cookieStr;
			// get existing cookie value
			cookieVal = getCookie(cookie_name);
			// add encoded data to cookie value string (ensure only 5 items in string)
			cookieVal = rms_addCookieStr(cookieStr,itemSeparator,cookieVal,number_of_products,test);
			// set cookie with new value
			if (cookieVal && cookieVal.length > 0) { setCookie(cookie_name,cookieVal,expirey,domain); }
			if(test)alert('Cookie set');
			}
		else alert('Invalid form id');
	}
// end /site/portal_skins/DEFAULT/recently_viewed_search_add.js
			
// --- [end prdpctbd5607:4001 - /site/portal_skins/DEFAULT/recently_viewed_search_add.js - Nov 21, 2009 2:52 am GMT - pct11,pct0410 - sJ-VlwqoTDsAAA@EIdYAABgL - cache 1800 ] ---
