function checkKey(evt) 
{
	var keycode = (evt.which) ? evt.which : evt.keyCode;
	if (keycode == 13) {
		return invokeSearch("cts_dd");
	}
	else
		return true;
}

function invokeSearch(){
	//var catVal = $(catDropDownId).value;
	var keyw = $("keywordText").value;
	//addUpdateParameter("categoryID",catVal);
	addUpdateParameter("q",keyw);
	addUpdateParameter("pn",1);

	var saction = document.forms['searchResultForm'].action;
	
	if(saction.indexOf('category.jsp') != -1 || saction.indexOf('/product/y/--') != -1 || saction.indexOf('search.jsp') != -1 ){

		saction = saction.substring(0,saction.indexOf('/fnp/faces/tiles/category.jsp'))+'/fnp/faces/tiles/search.jsp';
			
		document.forms['searchResultForm'].action = saction;

}
	document.forms['searchResultForm'].submit();
}

function narrowSearch (){
	var dcty = "";
	addOrUpdateCheckBox('bid');
	addOrUpdateCheckBox('sid');
	addUpdateParameter("pn",1);
	addUpdateKeywords();
	if(!validSearch())
		return false ;
	var isValid = checkvalue();
	if($('shipCity')!=null){
		dcty = $('shipCity').value;
	}
	
	if(dcty.length > 0)
		addUpdateParameter('dcty',dcty);
	else
		removeParameter('dcty');
	
	if(isValid){
		var prcVal = getPrice();
		addUpdateParameter('prc',prcVal);
		var saction = document.forms['searchResultForm'].action;
		if(saction.indexOf('category.jsp') != -1 || saction.indexOf('/product/y/--') != -1){

			saction = saction.substring(0,saction.indexOf('/fnp/faces/tiles/category.jsp'))+'/fnp/faces/tiles/search.jsp';
			document.forms['searchResultForm'].action = saction;

		}
		document.forms['searchResultForm'].submit();
	}
	if(!isValid){
		return false;
		
	}
	return false;
}
function addUpdateKeywords(){
	var value = null;
	for(var j = 1 ;j < 13 ;j++){
		value = getKeywordValue("_k"+j);
		if(value.length > 0){
			addUpdateParameter("k"+j,value);
		}
		else{
			removeParameter("k"+j);
		}
	}
}
function getKeywordValue(keyword){
	
	var elements = document.getElementsByName(keyword);
	for(var i= 0 ; i < elements.length ; i++){
		var obj = elements[i]
		if(obj.type=='radio' && obj.checked){
				return obj.value;
		}
		else if(obj.type=='text' && obj.value.length > 0){
				return obj.value;
		}
	}
	
	return "";
}
function addOrUpdateCheckBox(nm){
	var els =  document.getElementsByName(nm+"Box");
	var value = "";
	if(els != null && els != "undefined"){
		value = "";
	for(var i=0 ; i < els.length; i++)
		{			
			if(els[i].checked)
				value  += els[i].value +',';
		}
		value = value.substring(0,value.lastIndexOf(','));
	}
	if(value.length > 0)
		addUpdateParameter(nm,value);
	else
		removeParameter(nm);
}
function removeParameter(id){
	var obj = $(id);
	
	if(obj != null && obj != 'undefined'){
		try{
		$('searchResultForm').removeChild(obj);
		}catch(err){}
	}
}
/** This is for test remove in production*/
function addParameter(id , val){
	alert(document.forms['searchResultForm'].elements.length);
	var obj = $(id);
	if(obj != null && obj != 'undefined'){
		obj.value = val;
	}
	else{
		var input = document.createElement('input');
		input.type='hidden';
		input.name=id;
		input.id=id;
		input.value = val;
		$('searchResultForm').appendChild(input);
	}
	alert(document.forms['searchResultForm'].elements.length);	
}
/**
This Function will update the parameter
if already exist otherwise add it.
*/

function addUpdateParameter(id , val){
	//alert("id:"+id +",val:"+val);
	var obj = $(id);
	if(obj != null && obj != 'undefined'){
		obj.value = val;
	}
	else{
		var input = document.createElement('input');
		input.type='hidden';
		input.name=id;
		input.id=id;
		input.value = val;
		$('searchResultForm').appendChild(input);
	}
	//alert(document.forms['searchResultForm'].elements.length);	
}

/* This will return firmatted price*/
function getPrice()
{
	var priceRange = "";
	var startPrice = $("startPrice").value;
	var endPrice = $("endPrice").value;
					
	if(endPrice !="" && startPrice !="")
	{
		priceRange=startPrice+"-"+endPrice;
	}
	else if (startPrice != "" && endPrice == "" )
	{
		priceRange=startPrice+"-"+99999999;
	}
	else if (endPrice != "" && startPrice == "")
	{
		priceRange="0"+"-"+endPrice;
	}
	else
		priceRange="";

	return priceRange;
}
function checkvalue()
{
	var minPrice = "0";
	var maxPrice = "99999999" ;
	minPrice = $("startPrice").value;
	maxPrice = $("endPrice").value;
	if( maxPrice/minPrice<1){
		alert("Second prize value should be greater than 1st one");
		return false;
	}
	return true;
}

function checkboxValidation(obj,nm){
	var els = document.getElementsByName(nm);
	var _defIndx = -1;
	if(obj.checked && obj.value.length ==0 ){
		for(var i=0 ; i < els.length; i++)
			els[i].checked = false;
		obj.checked = true;
	}
	else
	{
		var value ="";
		for(var i=0 ; i < els.length; i++)
		{
			var el = els[i];
			//alert(el.checked);
			if(el.checked && el.value.length == 0){	
				els[i].checked = false;
			}
			else{
				if(els[i].checked)
					value  += els[i].value +',';
			}
		}//for closed
		//value = value.substring(0,value.lastIndexOf(','));
	}
}
function validSearch(){
	var retVal = true ;
	var sysTime = new Date();
	var sysDate = sysTime.getDate();
	var sysMon = sysTime.getMonth();
	var sysYr = sysTime.getYear();
	var usrDate = null ;
	var shipable = null;
	var isDate = false;
	if($('fastDate') != null && $F('fastDate').length >0)
	{
		var date = $F('fastDate');
		usrDate = date.split('-');
		if((usrDate - sysDate) < 0){
			alert('Please choose valid date.');
			return false;
		}
		usrDate = usrDate[0];
		shipable = (usrDate - sysDate);
		isDate = true ;
	}
	var shipOption = null ;
	var isShipOpt = false ;
	if($('shipOption') != null && $F('shipOption').length > 0){
		shipOption = $F('shipOption').split('#');
		shipOption = shipOption[1];
		isShipOpt = true ;
	}
	if(isShipOpt && isDate){
		if(shipOption <= shipable){
			retVal = true;
		}
		else{
			alert('Product not available for selected date & delivery Type.');
			return false;
		}
	}else if(!isShipOpt && isDate){
		var somVal = prepareSom(shipable);
			addUpdateParameter("som",somVal);
	}
	return retVal;
}
function prepareSom(_param){
	var _return =  '' ;
	if($('shipOption') != null && $F('shipOption').length == 0)
	{
		var opts = $('shipOption').options;
		for(var i = 0 ; i < opts.length ; i++){
			 var value = opts[i].value ;
			 var temp = value.split('#');
			 temp = temp[1];
			 if(temp <= _param)
				_return += value+"_" ; 
		}
	}
	if(_return.length > 1)
		_return = _return.substring(0,(_return.length - 1));
	return  _return;
}
function findFastGift(){

//if($F('fastClgs')==null || $F('fastClgs')==""){
// $('fastClgs').value=2;

// addUpdateParameter("catalogueID",'2');

 //}else{

	addUpdateParameter("catalogueID",$F('fastClgs'));
//}
	addUpdateParameter("som",$F('shipOption'));
	if(!validSearch())
		return false ;
	addUpdateParameter("pn",1);
	/*var removeIds = new Array();
	var elems = document.forms['searchResultForm'].elements;
	for(var i = 0 ;  i < elems.length ; i++){
		var obj = elems[i];
		if(obj.value.length < 1){
			removeIds[i] = obj.id ;
		}
	}
	for(var i = 0 ;  i < removeIds.length ; i++){
			removeParameter(removeIds[i]);
	}*/
addUpdateParameter("sft", "ft");
	var isValid = checkvalue();
	
	if(isValid){
		var prcVal = getPrice();
		addUpdateParameter('prc',prcVal);
		var saction = document.forms['searchResultForm'].action;
		if(saction.indexOf('/fnp/faces/tiles/category.jsp') != -1 ){

			saction = saction.substring(0,saction.indexOf('/fnp/faces/tiles/category.jsp'))+'/fnp/faces/tiles/search.jsp';
			document.forms['searchResultForm'].action = saction;
		}
		document.forms['searchResultForm'].submit();
	}
	if(!isValid){
		return false;
		
	}
	return false;
}

//Added by  for java script validation in Start and end range
function checkKeys(evt)
{
 var charCode = (evt.which) ? evt.which : evt.keyCode;
 if (charCode > 31 && (charCode < 48 || charCode > 57))
    return false;
 return true;
}


/* Show & hide the narrow search option */
function showOpts(obj,id) {
	$(obj).style.display =
		($(obj).style.display=='block') ? 'none':'block';
	swapImage(id);
}
/* This will change the = & - image*/
function swapImage(componentId)
{	
	var obj = $(componentId);
	if(obj != null && obj != "undefined")
	{
		var imgSrc = obj.src;
		var lstIndx = imgSrc.lastIndexOf('/');
		var startSrc = imgSrc.substring(0,lstIndx);
		var lastSrc = imgSrc.substring(lstIndx+1);
		var imgUrl;
		if(lastSrc.indexOf('plus.jpg')!= -1)
			imgUrl = 'minus.jpg'
		else
			imgUrl = 'plus.jpg'

		obj.src =startSrc + '/' +imgUrl;
	}	
}

function changeView(id,val){
	addUpdateParameter(id, val);
	if(id == 'sort')
		addUpdateParameter('pn', 1);
	document.forms['searchResultForm'].submit();
}

function doAjaxSearch(id , val)
{
	addUpdateParameter(id , val);
	var keyw = $("keywordText").value;
	addUpdateParameter("q",keyw);
	if(id == 'sort')
		addUpdateParameter('pn' , '1');
	//addUpdateParameter('action' , 'SearchResultActionBean.ajaxSearchAction');
var saction = document.forms['searchResultForm'].action;

	if(saction.indexOf('category.jsp') != -1 || saction.indexOf('/product/y/--') != -1 ){
		
		saction = saction.substring(0,saction.indexOf('/fnp/faces/tiles/search.jsp'))+'/fnp/faces/tiles/category.jsp';

		document.forms['searchResultForm'].action = saction;
}
	document.forms['searchResultForm'].submit();
}

/** 
	Code for compare products Start
*/
var selected = new Array();
var c = 0;
function showCount(){
	alert(selected.length);
}
function compareProduct(){
	var prod_id = "";
	if(c < 2 || c > 7)
		alert("please select minimum 2 or maximum 7 prodcuts to compare.");
	else{
		var prod_id = selected.join("x");
	}
	 
}

function getSelectedProduct(){
	var prod_id = "";
	if(selected.length > 0)
		var prod_id = selected.join("x");

	return prod_id;
}

function addRemoveProduct(chk_obj){
	if(chk_obj.checked)
		selected[c++] = chk_obj.value;
	else
		removeFromArray(chk_obj);
}
function removeFromArray(chk_obj){
	for(var i=0; i < selected.length ; i++){
		if(selected[i] == chk_obj.value)
		{	
			selected.splice(i,1);
			c--;
		}
	}
}

// Numeric value check
function isNumberKey(evt)
{
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if ((charCode > 31) && (charCode < 48 || charCode > 57)){
		alert("Please Enter the Numeric Value.");
		return false;
	}
  return true;
}
/** 
	Code for compare products End
*/


