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 = saction.substring(0,saction.indexOf('category.jsp'))+'search.jsp';
		document.forms['searchResultForm'].action = saction;
	}
	document.forms['searchResultForm'].submit();
}

function narrowSearch (){
	addOrUpdateCheckBox('bid');
	addOrUpdateCheckBox('sid');
	addUpdateParameter("pn",1);
	addUpdateKeywords();
	var isValid = checkvalue();
	var 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 = saction.substring(0,saction.indexOf('category.jsp'))+'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(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 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(','));
	}
}

//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)
{
	/*var elems = document.forms['searchResultForm'].elements;
	for(var i = 0 ; i<= elems.length ; i++){
		if(elems[i].value.length < 1)
			alert(elems[i].name);
		else
			alert(elems[i].name +'----');
	}
	*/
	addUpdateParameter(id , val);
	var keyw = $("keywordText").value;
	addUpdateParameter("q",keyw);
	if(id == 'sort')
		addUpdateParameter('pn' , '1');
	//addUpdateParameter('action' , 'SearchResultActionBean.ajaxSearchAction');
	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--;
		}
	}
}
/** 
	Code for compare products End
*/
function pagination(paramName , value){
	$(paramName).value = value;
	document.forms["wallpaper"].submit();
}
function updateCount(refNo){
	new Ajax.Request("wallpapers.jsp?ref="+refNo, {method: 'GET',parameters: {'invoke:action':'DownloadsActionBean.updateCounter'}});
	return false;
}
