function showNewScroll(text)
{
	var itype = document.getElementById('item_type').value;

	if (itype <= 0){
		alert(text);
		return;
	}
	var iplace = document.getElementById('item_area').value;
	var url = "genScroll2.php?item_type="+itype+"&item_area="+iplace;
	if (document.getElementById) {
		document.getElementById('bufferFrame').src = url;
	} else if (document.all) {
		parent.bufferFrame.document.location = url;
	}
}




function loadSourceFinish(id) 
{
	if (document.all) {
		document.all[id].innerHTML = parent.bufferFrame.document.body.innerHTML;
		document.all[id].style.display = "block";
	} else if (document.getElementById) {
		document.getElementById(id).innerHTML = document.getElementById('bufferFrame').contentDocument.body.innerHTML;
		document.getElementById(id).style.display = "block";
	}
	if (document.other_search[4]) 
		document.other_search[4].onchange=function() 
					{
						if (this.value > 0) document.other_search.ofull.value=1;
							else document.other_search.ofull.value=0;
					};
}

function loadPlaces(scroll,area)
{
	if (!area)
		return;
	var prev = "";
	for(i=0;i<area.length;i++){
		if (prev != area[i][0]){
			scroll.options[scroll.options.length] = new Option(area[i][1],area[i][0]);
			prev = area[i][0];
		}
	}
}


function loadSelect(id,value)
{
	var sID = parseInt(id) ? 'sett' : 'area';
	var extData = parseInt(id) ? as : ta;
	var select = document.getElementById('search_'+sID);
	
	var val0 = select.options[0];
	select.options.length = 0;
	select.options[0] = val0;
	
	loadPlaces(select,extData[parseInt(value)]);
	if(!id)
		loadSelect(1,0);
}


function cmpOption(op1,op2)
{
	if (op1[0] == 0) return -1;
	if (op2[0] == 0) return 1;
	if (op1[1] < op2[1]) return -1;
	if (op1[1] > op2[1]) return 1;
	return 0;
}


function addbookmark(text)

{
	var bmurl="http://www.galil-bordo.co.il";
	var bmtitle=""+text;
	
	if (document.all);
		window.external.AddFavorite(bmurl,bmtitle);
}

function update_search(type,value)
{
	value = parseInt(value);
	switch(type){
		case 'type':
			var o = types[value]; 
			nulify(setts,1); nulify(areas,1);
			for(var k in params)
				params[k].go1 = (params[k].type == value) ? 1 : 0;
			var ts = [];
			for(var j=0; j<o.setts.length; j++){
				var tmp = setts[o.setts[j]];
				tmp.go1 = 1;
				areas[tmp.area].go1 = 1;
				ts = ts.concat(tmp.params);
			}
			dumb_params(ts);
			update_scroll(document.getElementById('search_area'),areas);
			update_scroll(document.getElementById('search_sett'),setts);
			update_scroll(document.getElementById('search_param'),params);
		break;
		
		case 'area':
			nulify(setts,2); nulify(params,2);
			var ts = [];
			for(var i in setts)
				if (!value || setts[i].area == value) {
					setts[i].go2 = 1;
					ts = ts.concat(setts[i].params);
				}
			dumb_params(ts);
			update_scroll(document.getElementById('search_sett'),setts);
			update_scroll(document.getElementById('search_param'),params);
		break;
		
		case 'sett':
			var tmp = setts[value];
			nulify(params,2);
			dumb_params(tmp.params);
			update_scroll(document.getElementById('search_param'),params);
		break;
	}
}

// this function is pure shit, but it makes code to look a little bit nicer
function dumb_params(arr)
{
	var p = 0;
	arr.sort();
	for(var b=0; b<arr.length; b++){
		if (p == arr[b])
			continue;
		params[arr[b]].go2 = 1;
		p = arr[b];
	}
}

function nulify(arr,ind)
{
	for(var i in arr)
		if (ind)
			arr[i]['go'+ind] = 0;
		else
			arr[i].go1 = arr[i].go2 = 0;
}

function update_scroll(obj,arr)
{
	if (!obj)
		return;
	var val0 = obj.options[0];
	obj.options.length = 0;
	obj.options[0] = val0;
	
	var k=0;
	for(var i in arr)
		if (arr[i].go1 && arr[i].go2)
			obj.options[++k] = new Option(arr[i].title,i);
}

