function select_years(ctrl, model_id)
{
	ctrl.length = 1;
	document.getElementById('engine').length = 1;
	document.getElementById('engine').disabled = true;	
	if(model_id == "" && model_id !="0") 
	{
		ctrl.disabled = true;	
	}
	else if (model_id=="0")
	{
		ctrl.disabled=false;
		ctrl.length++;
		ctrl.options[1].text = "Any";
		ctrl.options[1].value = "0";
	}
	else {
		ctrl.disabled = true;
		if(engines[model_id] != undefined && engines[model_id].length > 0) {
			ctrl.disabled = false;
			var pos;
			var pre_year = "";
			for(x=0;x<engines[model_id].length;x++) {
				
				var temp_data = engines[model_id][x].split("/");
				var cur_year = temp_data[1];
				if(pre_year != cur_year && cur_year != "") {
					//temp_data.splice(0,1);
					//var txt = temp_data.join("/");
					pos = ctrl.length;
					ctrl.length++;
					ctrl.options[pos].text = cur_year;
					ctrl.options[pos].value = cur_year;
				}
				pre_year = cur_year;
			}
		}
	}
	call_categories_through_ajax();

}
 var tmp_ctr=0;
function select_categories(ctrl)
{
	ctrl.length = 1;
	var search_for = "";
	var search_for_make = "";
	var search_for_make_model = "";
	var search_for_make_model_year = "";
	var make = document.getElementById('makeid').value;
	var search_for_make_model_flag = false;
	var search_for_make_model_year_flag = false;
	var search_for_make_model_year_engine_flag = false;
	var search_for_any_flag = false;
	var show_all_flag = false;
	var category_data_length=0;
	if(make != "") {
		search_for = make+"/";
		search_for_make = GTM_CONCAT_MMYE+search_for+"0/0/";
		var model = document.getElementById('modelid').value;
		if(model != "") {
			search_for += model+"/";	
			search_for_make_model = GTM_CONCAT_MMYE+search_for+"0/";
			search_for_make_model_flag = true;	
			var year = document.getElementById('year').value;
			if(year != "") {
				search_for += year+"/";	
				search_for_make_model_year = GTM_CONCAT_MMYE+search_for+GTM_CONCAT_MMYE;
				search_for_make_model_year_flag = true;	
				
				var engine = document.getElementById('engine').value;
				if(engine != "") {
					search_for_make_model_year_engine_flag=true;
					search_for += engine;	
				}		
			}
		}
	}
	//####### code added by vaibhav parashar to fetch all category in case of any.
	if (search_for=="0/" || search_for=="0/0/" || search_for=="0/0/0/" )
	{
		show_all_flag = true;			
	}
	arr = search_for.split("/");	
	
	if (arr[3]!= null && arr[3]!="")
	{
	  engine_prefix =arr[0]+"/"+arr[1]+"/"+arr[2]+"/";	
	  if (engine_prefix=="0/0/0/")
	  {
		  // update engine category only in case of "Any" selection 		  
		  search_for =arr[3];	  		  
		  search_for_any_flag=true;
		  engines_categories = only_engine_categories;		  		  
	  }
	  else 
	  {
		engines_categories = tmp_engines_categories;
	  }
	}
	else 
	{		
		engines_categories = tmp_engines_categories;
	}	
	//#######
	
	if(INDEX_PAGE != "yes") {
		document.getElementById('fancy_categories_div').style.display='block';	
		document.getElementById('fancy_categories_not_found').style.display='none';	
	}
	

				
	if(search_for == "" || show_all_flag == true) {
		select_all_categories(document.getElementById('categoryid'));
		show_all_flag = true;
	}
	else {
		search_for = GTM_CONCAT_MMYE+search_for;

		if(INDEX_PAGE != "yes") {
			//hideAllFancyCategories();
			for(category_id in window.allcategories) {
				try {
					if (window.allcategories.hasOwnProperty(category_id)) {
						var cur_ctrl = document.getElementById('category_div_'+category_id);
						cur_ctrl.style.display='none';
						try {
							var cur_product_cat = document.getElementById('product_cat'+category_id+'img');
							cur_product_cat.src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_empty.gif';
							//document.getElementById('product_cat'+category_id+'img').style.display = 'none';
							var cur_product_cat_2 = document.getElementById('product_cat'+category_id);
							cur_product_cat_2.style.display = 'none';
						}
						catch(e) {
							
						}
					}
					else {
						//break;	
					}
				}
				catch(e) {
					//break;	
				}
			}	
			
		}
		
		var category_flag = false;
		var real_category_data = new Array();
		var real_category_count = 0;
		
		for(category_key in engines_categories) {

			//if(typeof(category_key) == "string") {
			if (engines_categories.hasOwnProperty(category_key)) {										    
				if((category_key.indexOf(GTM_CONCAT_MMYE+GTM_CONCAT_MMYE) != -1 && search_for_any_flag== true ) ||category_key.indexOf(search_for) != -1 || category_key.indexOf(search_for_make) != -1 || (category_key.indexOf(GTM_CONCAT_MMYE+"0/") != -1) || (search_for_make_model_flag == true && category_key.indexOf(search_for_make_model) != -1) || (search_for_make_model_year_flag == true && (category_key.indexOf(search_for_make_model_year) != -1 || (category_key.indexOf(GTM_CONCAT_MMYE+"0/0/"+year+"/") != -1 )))) {
					//alert(category_key);
					category_flag = true;
					var category_length = engines_categories[category_key].length;
					for(x=0;x<category_length;x++) {
						//alert(category_key);
						var temp_data = engines_categories[category_key][x].split("/");
						var category_id = temp_data[0];
						categories_data_length = window.allcategories[category_id]["categoryid_path"].length;
						if(INDEX_PAGE != "yes") {
							var cur_ctrl = 	document.getElementById('category_div_'+category_id);
							if(cur_ctrl.style.display == 'none') {
								if(check_data_in_array(real_category_data, window.allcategories[window.allcategories[category_id]["categoryid_path"][0]]["category"]+"/"+window.allcategories[category_id]["categoryid_path"][0]) == false) {
									real_category_data[real_category_count] = window.allcategories[window.allcategories[category_id]["categoryid_path"][0]]["category"]+"/"+window.allcategories[category_id]["categoryid_path"][0];
									real_category_count++;
								}
								
								cur_ctrl.style.display = 'block';
								

								
								//document.getElementById ( 'product_cat'+category_id+"img").src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_empty.gif';	
								
								//document.getElementById ( 'product_cat'+category_id+"img").style.display = 'none';	
								
								for(j=0;j<(categories_data_length - 1);j++) {
									var cur_ctrl = document.getElementById('category_div_'+window.allcategories[category_id]["categoryid_path"][j]);
									var cur_image = document.getElementById ( 'product_cat'+window.allcategories[category_id]["categoryid_path"][j]+"img")
									cur_image.src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_plus.gif';	
									//document.getElementById ( 'product_cat'+window.allcategories[category_id]["categoryid_path"][j]+"img").style.display = 'block';	
									if(cur_ctrl.style.display == 'none') {
										cur_ctrl.style.display = 'block';
									}
									else {
										//break;	
									}
								}
								
							}
						}
						else {
							
							if(check_data_in_array(real_category_data, window.allcategories[window.allcategories[category_id]["categoryid_path"][0]]["category"]+"/"+window.allcategories[category_id]["categoryid_path"][0]) == false) {
								real_category_data[real_category_count] = window.allcategories[window.allcategories[category_id]["categoryid_path"][0]]["category"]+"/"+window.allcategories[category_id]["categoryid_path"][0];
								real_category_count++;	
							}
						}
					}
				}
				else {
					if(category_flag == true) {
						//break;	
					}	
				}
			}
			else {
				//break;	
			}
		}
		real_category_data = real_category_data.sort();
		category_data_length = real_category_data.length;
		for(x=0;x<category_data_length;x++) {
			pos = ctrl.length;
			ctrl.length++;
			var temp = real_category_data[x];
			var temp_arr = temp.split("/");
			ctrl.options[pos].text = temp_arr[0];
			ctrl.options[pos].value = temp_arr[1];	
		}
	}
	try {
		document.getElementById("categories_loading_div").style.display = 'none';
		document.getElementById("main_categories_div").style.display = 'block';	
	}
	catch(e) {
		
	}
	
	if(INDEX_PAGE != "yes" && category_data_length == 0 && show_all_flag == false) {
		document.getElementById('fancy_categories_div').style.display='none';	
		document.getElementById('fancy_categories_not_found').style.display='block';		
	}

}

function check_data_in_array(arr, check_value)
{
	for(i=0;i<arr.length;i++) {		
		if(arr[i] == check_value) {
			return true;	
		}
	}
	return false;	
}

function hideAllFancyCategories()
{
	try {
		for(category_id in window.allcategories) {
			if (window.allcategories.hasOwnProperty(category_id)) {
				document.getElementById('category_div_'+category_id).style.display='none';
				try {
					if(typeof(document.getElementById('product_cat'+category_id)) != undefined) {
						document.getElementById('product_cat'+category_id).style.display = 'none';
					}
				}
				catch(e) {
					
				}
			}
			else {
				//break;	
			}
		}	
	}
	catch(e) {
			
	}
}

function showFancyCategories()
{
	hideAllFancyCategories();
	temp_length = category_data_for_fancy.length;
	if(temp_length > 0) {
		for(x=0;x<temp_length;x++) {
			if(document.getElementById('category_div_'+category_data_for_fancy[x]).style.display == 'none') {
				showFancyCategory(category_data_for_fancy[x]);	
			}
		}
	}
	else {
		document.getElementById('fancy_categories_div').style.display='none';	
		document.getElementById('fancy_categories_not_found').style.display='block';		
	}
	
}


function showAllFancyCategories()
{
	try {
		for(category_id in window.allcategories) {
			if (window.allcategories.hasOwnProperty(category_id)) {
				document.getElementById('category_div_'+category_id).style.display='block';	
				document.getElementById( 'product_cat' + category_id + 'img' ).src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_plus.gif';	
			}
			else {
				//break;	
			}
		}	
	}
	catch(e) {
		
	}
}

function showFancyCategory(category_id) 
{
	categories_data = window.allcategories[category_id]["categoryid_path"];
	categories_data_arr = categories_data.split("/");
	categories_data_length = categories_data_arr.length;
	for(j=0;j<categories_data_length;j++) {
		document.getElementById('category_div_'+categories_data_arr[j]).style.display = 'block';
		if(typeof(document.getElementById('product_cat'+categories_data_arr[j]+"img")) != undefined) {
			if(j != (categories_data_arr.length - 1)) {
				document.getElementById ( 'product_cat'+categories_data_arr[j]+"img").src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_plus.gif';	
			}
			else {
				document.getElementById ( 'product_cat'+categories_data_arr[j]+"img").src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_empty.gif';	
			}
		}
	}
}



function select_all_categories(ctrl)
{
	
	ctrl.length = 1;
	try {
		for(category_id in window.allcategories) {
			
			//if(typeof(category_id) == "string") {
			
			if (window.allcategories.hasOwnProperty(category_id)) {
				//alert(category_id);

				if(window.allcategories[category_id]["categoryid_path"].length == 1) {
					ctrl.length++;
					var pos = ctrl.length - 1;
					ctrl.options[pos].text = window.allcategories[category_id]["category"];
					ctrl.options[pos].value = category_id;
					
				}
				
				if(INDEX_PAGE != "yes") {

					document.getElementById('category_div_'+category_id).style.display='block';	
					
					//document.getElementById( 'product_cat' + category_id + 'img' ).src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_empty.gif';	
					for(var x=0;x<(window.allcategories[category_id]["categoryid_path"].length-1);x++) {
						document.getElementById('product_cat'+window.allcategories[category_id]["categoryid_path"][x]).style.display='none';	
						document.getElementById( 'product_cat' + window.allcategories[category_id]["categoryid_path"][x] + 'img' ).src = 'skin1/modules/Fancy_Categories/Explorer/xp/tree_subdir_plus.gif';	
					}
				}
				
			}
			else {
				//break;	
			}
		}	
	}
	catch(e) {
		
	}
	
}

var mid;
function select_make(make_ctrl, ctrl)
{
	
	var tmp = ctrl.value;
	
	
	val =  tmp.split("/");
	make_ctrl.value=val[1];
	mid = val[2];		
	select_models(document.getElementById("modelid"), val[1]);
	//document.getElementById("modelid").disabled =true;
	if (val[0]=="")	
	{	
		make_ctrl.options[0].selected=true;
		make_ctrl.disabled= true;		
	}else {
		make_ctrl.disabled= false;		
	}
}


		
function select_models(ctrl, make_id)
{
	ctrl.length = 1;
	try {
		if(disabled_flag == undefined) {
			disabled_flag = true;	
		}
	}
	catch(e) {
		disabled_flag = true;	
	}	
	
	if(make_id == "" && disabled_flag) {
		ctrl.disabled = true;	
	}
	else {
		if(disabled_flag) {
			ctrl.disabled = true;
		}
		if(models[make_id] != undefined && models[make_id].length > 0) {
			ctrl.disabled = false;
			var pos;			
			for(x=0;x<models[make_id].length;x++) {
				ctrl.length++;
				pos = x+1;
				ctrl.options[pos].text = models[make_id][x]['model'];
				ctrl.options[pos].value = models[make_id][x]['modelid'];

				if (mid!=undefined && mid==ctrl.options[pos].value)
				{
					ctrl.options[pos].selected=true;
				}
			}
		}
		if(make_id=="0")
		{
			ctrl.disabled = false;
			ctrl.length++;
			ctrl.options[1].text = "Any";
			ctrl.options[1].value = "0";
		}
	}
	if(JS_USER_TYPE == "C") {
		document.getElementById('year').length = 1;
		document.getElementById('engine').length = 1;
		if(disabled_flag) {
			document.getElementById('year').disabled = true;
			document.getElementById('engine').disabled = true;
		}
		call_categories_through_ajax();
	}
}

function call_categories_through_ajax()
{
	try {
		if(FANCY_CATEGORY_LOADED == false || INDEX_PAGE == "yes") {
			select_categories(document.getElementById('categoryid'));
			return;
		}
	}
	catch (e) {
		select_categories(document.getElementById('categoryid'));
		return;
	}
	
	
	document.getElementById("main_categories_div").style.display = 'none';
	document.getElementById("categories_loading_div").style.display = 'block';
	
	setTimeout("select_categories(document.getElementById('categoryid'))",1000);
}

function select_sub_category()
{
	if(document.getElementById("cmb_sub_cats").value!="") {
		   document.getElementById('cmb_sub_cats').length = 1;
	}
}


