searchFunctions = {
	enterHandler : function(event,btn) {
	    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	    if (keyCode == 13) {
	    	jQuery("#"+btn).click();
		} 
	},
   submitMultipleSelectiton : function(checkboxNames) {
		if(!checkboxNames) {
			alert("The parameter checkboxNames is not passed in!");
			return false;
		}
		
   },
   /*
    * parameters:
    * 	linkId - The id of link which will be updated.
    * 	checkboxNames - The facet id and multiple selection name pair, like: [3012=brandSelectionValue]
    * */
   updateHref : function(/*object */thisLink, /*String[] */checkboxNames, linkId) {
		if(!thisLink || !checkboxNames) {
			alert("The parameter thisLink or checkboxNames is not passed in!");
			return false;
		}
		var oldHref = jQuery(thisLink).attr("href");
		
		if(linkId) {
			oldHref = jQuery("#" + linkId).attr("href");
		}

		var newHref = oldHref;
		var multiValues = this.getMultipleValues(checkboxNames);
		
		if(multiValues!="") {
			if(oldHref.indexOf("?")<0) {
				newHref = newHref + "?" + multiValues;
			} else {
				newHref = newHref + "&" + multiValues;
			}
		} 
		
		window.location = newHref;
   },
   /*
    * parameters:
    * 	checkboxNames - The facet id and multiple selection name pair, like: [3012=brandSelectionValue]
    * */
   getMultipleValues : function(/*String[] */checkboxNames) {
	    if(!checkboxNames) {
			alert("The parameter checkboxNames is not passed in!");
			return false;
		}
		var result = "";
		for(var i=0; i<checkboxNames.length; i++) {
			var idNamePair = checkboxNames[i].split("=");
			var checkboxName = idNamePair[1];
			var multiSelectionId = idNamePair[0];
			
			jQuery("input[name='" + checkboxName + "']").each(function(i) {
				if(jQuery(this).attr("checked")) {
					result += checkboxName + "jQuery" + multiSelectionId + "_" + i + "=" + jQuery(this).val() + "&";
				}
			});
		}
		if(result=="") {
			result = "";
		} else {
			result = result.substring(0, result.length-1);
		}
		return result;
   },
   sumbitTwoLevelForm : function(formId) {
		if(!formId) {
			alert("Form id passed in is invalid!");
			return;
		}
		jQuery("#" + formId).submit();
   },
   submitQuery : function(formId,trail,token,additionalString) {
		jQuery("#trailProperty").val(trail);
		jQuery("#chainToken").val(token);
		jQuery("#trailInput").val(trail);
		var form;
		if(!additionalString) {
			form = jQuery("#" + formId).submit(); 
		} else {
			jQuery("#" + formId + additionalString).submit();
		}
	},
	submitIndexQuery : function(formId,trail,token,/*string[] */additionalString) {
		if(!formId) {
			alert("The id of form if null!");
			return false;
		}
		jQuery("#trailProperty").val(trail);
		jQuery("#chainToken").val(token);
		jQuery("#trailInput").val(trail);
		var form;
		if(additionalString) {
			if(additionalString) {
				for(var i=0; i<additionalString.length; i++) {
					var checkBoxName = additionalString[i];
					jQuery("input[name='" + checkBoxName + "']").each(function() {
						if(jQuery(this).attr("checked")) {
							var value = searchFunctions.escapeXml(jQuery(this).val());
							jQuery("#" + formId).append('<input name="' + additionalString[i] + '" type="checkbox" checked value="' + value + '"/>');
						}
					});
				}
			}
		}
		
		jQuery("#" + formId).submit();
	},
	submitAjaxQuery :function(formId,trail,token,/*string[] */additionalString,updateSession) {
		if(typeof(updateSession) == 'undefined') {
			updateSession = true;
		}
		if(trail) {
			jQuery("#trailProperty").val(trail);
			jQuery("#trailInput").val(trail);
		}
		if(token) {
			jQuery("#chainToken").val(token);
		}
		
		if(additionalString) {
			for(var i=0; i<additionalString.length; i++) {
				var checkBoxName = additionalString[i];
				jQuery("input[name='" + checkBoxName + "']").each(function() {
					if(jQuery(this).attr("checked")) {
						var value = searchFunctions.escapeXml(jQuery(this).val());
						jQuery("#" + formId).append('<input name="' + additionalString[i] + '" type="checkbox" checked value="' + value + '"/>');
					}
				});
			}
		}
		jQuery("#" + formId).append('<input name="updateSession" value="' + updateSession + '"/>');

		var options = {
			url:contextPath + '/search/ajax/ajaxSearchResultsPost.jsp',
		    success:function(data) {
				jQuery("#filters").empty();
				jQuery("#filters").html(jQuery(data).find("#facetDiv").html());
				jQuery("#productsContainer").empty();
				jQuery("#productsContainer").html(jQuery(data).find("#resultDiv").html());
				searchFunctions.initializeJQM();
	     	},
	     	error:function(XMLHttpRequest, textStatus, errorThrown){
				alert("error:"+textStatus);
			}
	 	};
	 	jQuery("#" + formId).ajaxSubmit(options);
	 	return false;
	},
	changeTabTo : function(trailString, tabValue) {
		jQuery("#omn_searchViewAction").val("changeTabTo");
		jQuery("#omn_searchChangeTabValue").val(tabValue);
		jQuery("#currentTable").val(tabValue);
		
		if(!trailString) {
			alert("The trail string was not passed in!");
			return false;
		}
		jQuery.ajax({
		   type: "GET",
		   url: contextPath + "/search/ajax/ajaxSearchResults.jsp",
		   data: "trailParam=" + escape(trailString),
		   dataType: "html",
		   success: function(data){
			jQuery("#filters").empty();
			//jQuery("#filters").html(jQuery(data).find("#facetDiv").html());
			var dom = jQuery(data);
			dom.find("#sharethis_0 script").attr("src","");
			jQuery('#filters').html(dom.find("#facetDiv").html());//to fix wyciwyg: in FF3.5
			jQuery("#productsContainer").empty();
			jQuery("#productsContainer").html(jQuery(data).find("#resultDiv").html());
			jQuery("#productsContainer").css("display","block");
			searchFunctions.updateClasses(tabValue);
			searchFunctions.initializeJQM();
		   }
		});
	},
	initializeJQM : function() {
		// onShow : show+make the window translucent
	    // callback function for jqmodal
	    var myOpenPNG = function(hash) {
	        var maskWidth = jQuery(window).width();
	        var maskHeight = jQuery(document).height();

	        hash.o.css({
	            position: 'absolute',
	            height: maskHeight + 'px',
	            width: maskWidth + 'px'
	        });
	        hash.o.fadeIn(5);
	        hash.w.positionCenter().show();
	        hash.w.bgiframe({ opacity: false });
	    };


	    // onClose : remove/hide the windows
	    // callback function for jqmodal
	    var myClosePNG = function(hash) {
	        hash.w.hide();

	        hash.o.fadeOut('1000');
	        hash.o.remove();
	    };

	    // onShow : show+make the window translucent
	    // callback function for jqmodal
	    var myOpenGIF = function(hash) {
	        var maskWidth = jQuery(window).width();
	        var maskHeight = jQuery(document).height();

	        hash.o.css({
	            position: 'absolute',
	            height: maskHeight + 'px',
	            width: maskWidth + 'px',
	            backgroundColor: '#f1f1f1'
	        });
	        hash.o.fadeIn('1000');
	        hash.w.positionCenter().fadeIn('1000');
	        hash.w.bgiframe({ opacity: true });
	    };


	    // onClose : remove/hide the windows
	    // callback function for jqmodal
	    var myCloseGIF = function(hash) {
	        hash.w.fadeOut('1000');
	        hash.o.fadeOut('1000');
	        hash.o.remove();
	    };

	    //
	    // jqmodal initialization
	    //
	    jQuery('#popupemailoptout').jqm({
	        overlay: 50,
	        trigger: '#emailoptout',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization
	    //
	    jQuery('#popupcontact').jqm({
	        overlay: 50,
	        trigger: '#emailsignup',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization
	    //
	    jQuery('#productquickview').jqm({
	        overlay: 50,
	        trigger: '.quickviewlink',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    
	    //
	    // jqmodal initialization - cartpopup.htm Shopping cart
	    //
	    jQuery('#cartpopup').jqm({
	        overlay: 50,
	        trigger: 'a.cartpopuptrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctAddAddress.htm
	    //
	    jQuery('#acctaddaddress').jqm({
	        overlay: 50,
	        trigger: 'a.acctaddaddresstrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctEditAddress.htm
	    //
	    jQuery('#accteditaddress').jqm({
	        overlay: 50,
	        trigger: 'a.accteditaddresstrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctRetrievepasswd.htm
	    //
	    jQuery('#acctretrievepasswd').jqm({
	        overlay: 50,
	        trigger: 'a.acctretrievepasswdtrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctRetrievepasswd.htm
	    //
	    jQuery('div.step2').jqm({
	        overlay: 50,
	        trigger: 'a.acctretrievepasswd_step2trigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctRetrievepasswd.htm
	    //
	    jQuery('div.step3').jqm({
	        overlay: 50,
	        trigger: 'a.acctretrievepasswd_step3trigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctCancelClass.htm
	    //
	    jQuery('#acctcancelclass').jqm({
	        overlay: 50,
	        trigger: 'a.acctcancelclasstrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctCulCancelPolicy.htm
	    //
	    jQuery('#acctculcancelpolicy').jqm({
	        overlay: 50,
	        trigger: 'a.acctculcancelpolicytrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    //
	    // jqmodal initialization - acctPasswdForgot.htm
	    //
	    jQuery('#forgotpasswd').jqm({
	        overlay: 50,
	        trigger: 'a.acctforgetpasswdtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctPasswdTemp.htm
	    //
	    jQuery('#temppasswd').jqm({
	        overlay: 50,
	        trigger: 'a.accttemppasswdtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctPasswdReset.htm
	    //
	    jQuery('#resetpasswd').jqm({
	        overlay: 50,
	        trigger: 'a.acctresetpasswdtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctPasswdReset_error.htm
	    //
	    jQuery('#resetpasswd_error').jqm({
	        overlay: 50,
	        trigger: 'a.acctresetpasswderrortrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });


	    //
	    // jqmodal initialization - acctPasswdCleared.htm
	    //
	    jQuery('#clearpasswd').jqm({
	        overlay: 50,
	        trigger: 'a.acctclearpasswdtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,

	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctPasswdTempSent.htm
	    //
	    jQuery('#tempsentpasswd').jqm({
	        overlay: 50,
	        trigger: 'a.accttempsentpasswdtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctAddCCardAddress.htm
	    //
	    jQuery('#acctAddCCAddress').jqm({
	        overlay: 50,
	        trigger: 'a.acctaddccaddresstrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctEditCCard.htm
	    //
	    jQuery('#editccard').jqm({
	        overlay: 50,
	        trigger: 'a.carteditccardtrigger',
	        closeClass: 'popupclose',
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctRemoveCCard.htm
	    //
	    jQuery('#removeccard').jqm({
	        overlay: 50,
	        trigger: 'a.acctremoveccardtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });



	    //
	    // jqmodal initialization - acctAddCCard.htm
	    //
	    jQuery('#addccard').jqm({
	        overlay: 50,
	        trigger: 'a.acctaddccardtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctRemovedFromWishList.htm
	    //
	    jQuery('#acctRemovedFromWishList').jqm({
	        overlay: 50,
	        trigger: 'a.acctremovedfromwishlisttrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctShippingPreferences.htm
	    //
	    jQuery('#acctShippingPreferences').jqm({
	        overlay: 50,
	        trigger: 'a.acctshippingpreferencestrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // jqmodal initialization - acctHowToRedeemGiftCard.htm
	    //
	    jQuery('#acctHowToRedeemGiftCard').jqm({
	        overlay: 50,
	        trigger: 'a.accthowtoredeemgiftcardtrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    
	    //
	    // jqmodal initialization - acctHowToRedeemGiftCard.htm
	    //
	    jQuery('#acctCheckCardBalanceLookup').jqm({
	        overlay: 50,
	        trigger: 'a.acctcheckcardbalancetrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    //
	    // jqmodal initialization - acctHowToRedeemGiftCard.htm
	    //
	    jQuery('#acctaddaddress').jqm({
	        overlay: 50,
	        trigger: 'a.acctaddaddresstrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    //
	    // jqmodal initialization - acctHowToRedeemGiftCard.htm
	    //
	    jQuery('#accteditaddress').jqm({
	        overlay: 50,
	        trigger: 'a.accteditaddresstrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    
	    //
	    // jqmodal initialization - acctRemoveAddress.htm
	    //
	    jQuery('#acctremoveaddress').jqm({
	        overlay: 50,
	        trigger: 'a.acctRemoveAddresstrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    //
	    // jqmodal initialization - giftPopCreateRegistry.htm
	    //
	    jQuery('#giftcreateregistry').jqm({
	        overlay: 50,
	        trigger: 'a.giftcreateregistrytrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    //
	    // jqmodal initialization - giftPopChoosePhoto.htm
	    //
	    jQuery('#giftchoosephoto').jqm({
	        overlay: 50,
	        trigger: 'a.giftchoosephototrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    //
	    // jqmodal initialization - giftPopRegistryContent.htm
	    //
	    jQuery('#giftregistrycontent').jqm({
	        overlay: 50,
	        trigger: 'a.giftregistrycontenttrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });
	    //
	    // jqmodal initialization - giftPopRegistryDetails.htm
	    //
	    jQuery('#giftregistrydetails').jqm({
	        overlay: 50,
	        trigger: 'a.giftregistrydetailstrigger',
	        closeClass: 'popupclose',
	        width: 495,
	        height: 300,
	        modal: false,
	        onShow: myOpenGIF,
	        onHide: myCloseGIF
	    });

	    //
	    // image preloader for popup graphics
	    //
	    (function(jQuery) {
	        var cache = [];
	        // Arguments are image paths relative to the current page.
	        jQuery.preLoadImages = function() {
	            var args_len = arguments.length;
	            for (var i = args_len; i--; ) {
	                var cacheImage = document.createElement('img');
	                cacheImage.src = arguments[i];
	                cache.push(cacheImage);
	            }
	        }
	    })(jQuery)

	    jQuery.preLoadImages('/styles/images/popup_box_top.png', '/styles/images/popup_box_btm.png', '/styles/images/popup_box_close_x.gif');
	},
	updateClasses : function(tabValue) {
		jQuery("#tabMenu").find("li").each(function() {
			var currentClassName = jQuery(this).attr('class');
			var newClassName = '';
			var spaceIndex = currentClassName.indexOf(' ');
			if(spaceIndex < 0) {
				newClassName = currentClassName;
			} else {
				newClassName = currentClassName.substring(0, spaceIndex);
			}
			if(jQuery(this).attr('id') == 'tab_'+tabValue) {
				newClassName = newClassName + ' active';
			}
			jQuery(this).attr('class', newClassName);
		});
		
	},
	ajaxChangeViewTo : function(pageViewName,columns) {
		jQuery("#omn_searchViewAction").val("changeView");

		jQuery("#columnsInput").val(columns);
	 	jQuery("#showMethodInput").val(pageViewName);
	 	
	 	var options = {
			url:contextPath + '/search/ajax/ajaxSearchResultsPost.jsp',
		    success:function(data) {
				jQuery("#filters").empty();
				jQuery("#filters").html(jQuery(data).find("#facetDiv").html());
				jQuery("#productsContainer").empty();
				jQuery("#productsContainer").html(jQuery(data).find("#resultDiv").html());
				searchFunctions.initializeJQM();
	     	},
	     	error:function(XMLHttpRequest, textStatus, errorThrown){
				alert("error:"+textStatus);
			}
	 	};
	 	jQuery("#pageViewChangeForm").ajaxSubmit(options);
	 	return false;
	},
	ajaxChangeSizeTo : function(pageSize) {
		jQuery("#omn_searchViewAction").val("changeSize");

	 	jQuery("#sizeToBeChangeInput").val(pageSize);
	 	jQuery("#howManyInput").val(pageSize);
	 	
	 	var options = {
			url:contextPath + '/search/ajax/ajaxSearchResultsPost.jsp',
		    success:function(data) {
				jQuery("#filters").empty();
				jQuery("#filters").html(jQuery(data).find("#facetDiv").html());
				jQuery("#productsContainer").empty();
				jQuery("#productsContainer").html(jQuery(data).find("#resultDiv").html());
				searchFunctions.initializeJQM();
	     	},
	     	error:function(XMLHttpRequest, textStatus, errorThrown){
				alert("error:"+textStatus);
			}
	 	};
	 	jQuery("#pageSizeChangeForm").ajaxSubmit(options);
	 	return false;
 	},	
 	ajaxSortBy : function(obj){
		jQuery("#omn_searchViewAction").val("sortBy");

	  this.ajaxSortOrGoToPage(jQuery(obj).val());
	},
 	ajaxGoToPage : function(page){
		jQuery("#omn_searchViewAction").val("goToPage");

	  this.ajaxSortOrGoToPage('0',page);
	},
	ajaxSortOrGoToPage : function(index,page){
		var options = {
			url:contextPath + '/search/ajax/ajaxSearchResultsPost.jsp',
		    success:function(data) {
				jQuery("#filters").empty();
				jQuery("#filters").html(jQuery(data).find("#facetDiv").html());
				jQuery("#productsContainer").empty();
				jQuery("#productsContainer").html(jQuery(data).find("#resultDiv").html());
				searchFunctions.initializeJQM();
	     	},
	     	error:function(XMLHttpRequest, textStatus, errorThrown){
				alert("error:"+textStatus);
			}
	 	};
		
		if( typeof(page) !== undefined)
		{
		    jQuery("#goToPage").attr('value',page);
		}
		else
		{
		 	jQuery("#goToPage").attr('value',1);
		}
		switch(index)
		{
		  case '0': 
			  jQuery("#searchselForm").ajaxSubmit(options);
			  break; 
			  		      
		  case '1':
			  jQuery("#docSort").attr('value','relevance');
			  jQuery("#searchselForm").ajaxSubmit(options);		  
			   break;
			   
		  case '2':
			  jQuery("#docSort").attr('value','title');
			  jQuery("#docSortOrder").attr('value','ascending');			  
			  jQuery("#searchselForm").ajaxSubmit(options);
			   break;
			   
		  case '3':
			  jQuery("#docSort").attr('value','title');
			  jQuery("#docSortOrder").attr('value','descending');		  
			  jQuery("#searchselForm").ajaxSubmit(options);
			  break;
			  
		  case '4':
			  jQuery("#docSort").attr('value','numprop');
			  jQuery("#docSortProp").attr('value','lowestPrice');			  
			  jQuery("#docSortOrder").attr('value','ascending');
			  jQuery("#docSortPropVal").attr('value','low');
			  jQuery("#searchselForm").ajaxSubmit(options);
			   break;	
			   	  
		  case '5':
			  jQuery("#docSort").attr('value','numprop');
			  jQuery("#docSortProp").attr('value','highestPrice');
			  jQuery("#docSortOrder").attr('value','descending');
			  jQuery("#docSortPropVal").attr('value','high');
			  jQuery("#searchselForm").ajaxSubmit(options);
			   break; 
			   
		  case '6':
			  jQuery("#docSort").attr('value','numprop');
			  jQuery("#docSortProp").attr('value','reviewRating');
			  jQuery("#docSortOrder").attr('value','ascending');
			  jQuery("#searchselForm").ajaxSubmit(options);
			   break; 
		}
		return false;
	},
 	
 	/*------------------------------------------*/
 	
	submitSimpleSearch : function(url) {
		var questionInput = jQuery("#searchQuestionDisplayed").val();
		if(questionInput.indexOf('%')!= -1) {
			questionInput = questionInput.replace(/%/gi,"");
		}
		if(questionInput=='' || questionInput=='keyword or item #') {
			return false;
		}
		/*jQuery("#searchQuestion").val(questionInput);
		jQuery("#simpleSearchForm").submit();*/
		if(jQuery.trim(questionInput) == '') {
			jQuery("#searchQuestionDisplayed").val('keyword or item #');
			jQuery("#searchQuestionDisplayed").attr("class", "text watermark inactive");
			return false;
		}
		window.location.href = url + "?q=" + escape(jQuery.trim(questionInput)) + "&s=true";
		return false;
	},
	submitSearchAgainSimpleSearch : function() {
		var questionInput = jQuery("#searchAgainTerm").val();
		// jQuery("#searchQuestion").val(questionInput);
		// jQuery("#simpleSearchForm").submit();
		jQuery("#searchQuestionDisplayed").val(questionInput);
		jQuery("#searchButton").click();
		return false;
	},
	browseQuery : function(categoryId) {
		jQuery("#categoryIdQuestion").val(categoryId);
		jQuery("#browseCategoryForm").submit();
	},
	changeTab : function(tabValue) {
		if(!tabValue) {
			return;
		}
		jQuery("#tabChangeForm" + tabValue).submit();
	},
	changeSizeTo : function(pageSize) {
	 	jQuery("#sizeToBeChangeInput").val(pageSize);
	 	jQuery("#howManyInput").val(pageSize);
	 	jQuery("#pageSizeChangeForm").submit();
 	},	  
 	changeViewTo : function(pageViewName,columns) {
 		jQuery("#columnsInput").val(columns);
	 	jQuery("#showMethodInput").val(pageViewName);
	 	jQuery("#pageViewChangeForm").submit();
 	},	  
 	checkEmptySearchKey : function(defaultSearchInput){
 		var question = jQuery.trim(jQuery('#searchQuestion').val());
 		if(question.length == 0 || question == defaultSearchInput)
 		{
 			jQuery('.search_popupBox').css('display','block');
 			return false;
 		}
 		return true;
 	},
 	colsePopupError : function(){
 		jQuery('.search_popupBox').css('display','none');
 		return false;
 	},
	sortBy : function(obj){
	  this.sortOrGoToPage(jQuery(obj).val());
	},
	newSortBy : function(obj) {
		var paramToBeAppended = jQuery(obj).val();
		var paramOld = jQuery("#searchselLink").attr("href");
		window.location = paramOld + "&" + paramToBeAppended;
	},
	goToPage : function(page){
	    this.sortOrGoToPage('0',page);
	},
	newGoToPage : function(page) {
		var paramOld = jQuery("#searchPaginationLink").attr("href");
		window.location = paramOld + "&" + "goToPageParam=" + page;
	},
	sortOrGoToPage : function(index,page){
		if( typeof(page) !== undefined)
		{
		    jQuery("#goToPage").attr('value',page);
		}
		else
		{
		 	jQuery("#goToPage").attr('value',1);
		}
		switch(index)
		{
		  case '0': 
			  jQuery("#searchselForm").submit();			  
			   break; 
			  		      
		  case '1':
			  jQuery("#docSort").attr('value','relevance');
			  jQuery("#searchselForm").submit();			  
			   break;
			   
		  case '2':
			  jQuery("#docSort").attr('value','title');
			  jQuery("#docSortOrder").attr('value','ascending');			  
			  jQuery("#searchselForm").submit();
			   break;
			   
		  case '3':
			  jQuery("#docSort").attr('value','title');
			  jQuery("#docSortOrder").attr('value','descending');		  
			  jQuery("#searchselForm").submit();  
			  break;
			  
		  case '4':
			  jQuery("#docSort").attr('value','numprop');
			  jQuery("#docSortProp").attr('value','price');			  
			  jQuery("#docSortOrder").attr('value','ascending');
			  jQuery("#docSortPropVal").attr('value','low');
			  jQuery("#searchselForm").submit();
			   break;	
			   	  
		  case '5':
			  jQuery("#docSort").attr('value','numprop');
			  jQuery("#docSortProp").attr('value','price');
			  jQuery("#docSortOrder").attr('value','descending');
			  jQuery("#docSortPropVal").attr('value','high');
			  jQuery("#searchselForm").submit();
			   break; 
			   
		  case '6':
			  jQuery("#docSort").attr('value','numprop');
			  jQuery("#docSortProp").attr('value','reviewRating');
			  jQuery("#docSortOrder").attr('value','ascending');
			  jQuery("#searchselForm").submit();
			   break; 
		}
	},
	
	getClearString : function(text) {
		var result = "";
		var prevChar = '\u0000';
		var c;
		for (var i = 0; i < text.length; i++) {
			c = text.charAt(i);
			if (c == '"') {
				result += "\\\"";
			} else if (c == '\'') {
				result += "\\'";
			} else if (c == '\\') {
				result += "\\\\";
			} else if (c == '\t') {
				result += "\\t";
			} else if (c == '\n') {
				if (prevChar != '\r') {
					result += "\\n";
				}
			} else if (c == '\r') {
				result += "\\n";
			} else if (c == '\f') {
				result += "\\f";
			} else if (c == '/') {
				result += "\\/";
			} else {
				result += c;
			}
			prevChar = c;
		}
		return result;
	},
	
	escapeXml : function(/* String */input) {
		var length = input.length;
		var result = "";

		for (var i = 0; i < length; i++) {
			var c = input.charAt(i);
			
			if (c > '>') {
				result += c;
				continue;
			}

			var escaped = "";
			
			switch(c) {
				case '&':
					escaped = "&amp;";
					break;
				case '<':
					escaped = "&lt;";
					break;
				case '>':
					escaped = "&gt;";
					break;
				case '\"':
					escaped = "&#034;";
					break;
				case '\'':
					escaped = "&#039;";
					break;
			}
			
			if (escaped == "") {
				result += c;
				continue;
			}

			result += escaped;
		}

		return result;
	}
 }
