var d = document;

var drp = {
	down:function(node){
		node.style.display = 'block';
	},
	up:function(node){
		node.style.display = 'none';
	},
	tog:function(node){
		if(node.style.display == 'block')
			node.style.display = 'none';
		else
			node.style.display = 'block';
	}
};

var region={
	form:false,
	in_id:false,
	in_type:false,
	node:false,
	get:function(n, type){
		region.build_form();
		
		region.in_id.setAttribute('value', n[n.selectedIndex].getAttribute('value'));
		region.in_type.setAttribute('value', type);
		
		submit(region.form, 'regions');
	},
	show:function(arr, id, selected_id){
		region.clear(id);
		
		for(var i = 0; i < arr.length; i++)
		{
			var option = d.createElement('option');
			option.setAttribute('value', arr[i][0]);
			
			if(selected_id == arr[i][0])
				option.setAttribute('selected', 'true');
			
			option.innerHTML = arr[i][1];
			
			
			d.getElementById(id).appendChild(option);
		}
		
	},
	clear:function(id){
		d.getElementById(id).innerHTML = '';
		
		var option = d.createElement('option');
		option.value = 0;
		option.innerHTML = '-- Select --';
		
		d.getElementById(id).appendChild(option);
	},
	add:function(){
		if(d.getElementById('towns').selectedIndex != 0)
		{
			region.in_id.setAttribute('value', d.getElementById('towns')[d.getElementById('towns').selectedIndex].getAttribute('value'));	
			submit(region.form, 'add');
		}
		else
			region.err('Please select a town first');
	},
	del:function(n, id){
		if(confirm("Are you sure you want to delete this region?"))
		{
			if(!region.node)
			{
				region.build_form();
				
				region.node = n;
				region.in_id.setAttribute('value', id);
				submit(region.form, 'del');
			}
		}
	},
	add_node:function(n){
		d.getElementById('my_regions').innerHTML += "<div>"+n.innerHTML+"</div>";
	},
	del_node:function(){
		region.node.parentNode.removeChild(region.node);
		region.node = false;
	},
	err:function(error){
		d.getElementById('reg_err').innerHTML = error;
	},
	pop:function(suburb_id){
		region.build_form();
		
		region.in_id.setAttribute('value', suburb_id);
		submit(region.form, 'pop');
	},
	pop_town:function(province_id, town_id){
		region.build_form();
		
		region.in_id.setAttribute('value', town_id);
		region.in_type.setAttribute('value', province_id);
		
		submit(region.form, 'pop_town');
	},
	build_form:function(){
		if(!region.form){
			region.form = d.createElement('form');
			region.form.setAttribute('action', 'region.php');
			region.form.setAttribute('target', 'frame');
			region.form.setAttribute('method', 'post');
			
			region.in_id = d.createElement('input');
			region.in_id.setAttribute('type', 'hidden');
			region.in_id.setAttribute('name', 'id');
			
			region.in_type = d.createElement('input');
			region.in_type.setAttribute('type', 'hidden');
			region.in_type.setAttribute('name', 'type');
			
			region.form.appendChild(region.in_id);
			region.form.appendChild(region.in_type);
			
			d.body.appendChild(region.form);
		}
	}
};

var services = {
	interval:5000,
	arr_index:0,
	app_index:0,
	amount_displayed:0,
	dir:[],
	run:function(){
		setInterval('services.load()', services.interval);
	},
	load:function(index){
		
		if( (typeof(index) == 'number')  && (index < services.dir.length) )
			services.arr_index = index;
			
		services.insert(services.dir[services.arr_index][0], services.dir[services.arr_index][1], services.dir[services.arr_index][2], services.dir[services.arr_index][3], services.dir[services.arr_index][4], services.app_index);
		
		services.app_index++;
		if(services.app_index == services.amount_displayed)
			services.app_index = 0;
		
		services.arr_index++;
		if(services.arr_index == services.dir.length)
			services.arr_index = 0;
		
	},
	insert:function(id, service, name, logo, area, index){
		
		var content = "<div><a href='service.php?id="+id+"' ><b class='orange_heading'>"+name+"</b></a></div>";
		
		if(logo != '')
			content += "<div style='text-align:center;'><a href='service.php?id="+id+"'><img src='images/directory/"+logo+"' alt='Logo'/></a></div>";
		
		content += "<p class='box_attr'><span class='orange_font'>Service:</span> "+service+"</p>";
		
		if(area != '')
			content += "<p class='box_attr'><span class='orange_font'>Area:</span> "+area+"</p>";
		
		d.getElementById( 'service_'+index ).innerHTML = content;
	}
};




var region_ctrl={
	form:false,
	in_parent_id:false,
	in_active_id:false,
	in_node_id:false,
	in_search:false,
	requests:[],
	add_request:function(request){
		region_ctrl.requests.push(request);
	},
	run:function(){
		if(region_ctrl.requests.length > 0)
		{
			setTimeout(region_ctrl.requests[region_ctrl.requests.length - 1], 1);
			region_ctrl.requests.pop();
		}
	},
	load:function( scope, node_id, parent_id, active_id, search ){
		region_ctrl.build_form();
		
		region_ctrl.in_node_id.setAttribute('value', node_id);
		region_ctrl.in_parent_id.setAttribute('value', parent_id);
		region_ctrl.in_active_id.setAttribute('value', active_id);
		region_ctrl.in_search.setAttribute('value', search);
		
		submit(region_ctrl.form, scope);
	},
	display:function(node_id, info_arr, active_id){
		region_ctrl.clear(node_id);
		
		var node = d.getElementById(node_id);
		
		for(var i = 0; i < info_arr.length; i++){
			
			var option = d.createElement('option');
			option.setAttribute('value', info_arr[i][0]);
			option.innerHTML = info_arr[i][1];
			
			if(active_id == info_arr[i][0])
				option.setAttribute('selected', 'true');
			
			node.appendChild(option);
		}
		
		region_ctrl.run();
	},
	clear:function(id){
		var node = d.getElementById(id);
		
		var default_option = d.createElement('option');
		default_option.setAttribute('value', 0);
		default_option.innerHTML = '-- Select --';
		
		node.innerHTML = '';
		node.appendChild(default_option);
	},
	build_form:function(){
		if( !region_ctrl.form )
		{
			region_ctrl.form = d.createElement('form');
			region_ctrl.form.setAttribute('method', 'post');
			region_ctrl.form.setAttribute('action', 'region_ctrl.php');
			region_ctrl.form.setAttribute('target', 'region_ctrl_frame');
			d.body.appendChild(region_ctrl.form);
			
			region_ctrl.in_parent_id = d.createElement('input');
			region_ctrl.in_parent_id.setAttribute('type', 'hidden');
			region_ctrl.in_parent_id.setAttribute('name', 'parent_id');
			region_ctrl.form.appendChild(region_ctrl.in_parent_id);
			
			region_ctrl.in_active_id = d.createElement('input');
			region_ctrl.in_active_id.setAttribute('type', 'hidden');
			region_ctrl.in_active_id.setAttribute('name', 'active_id');
			region_ctrl.form.appendChild(region_ctrl.in_active_id);
			
			region_ctrl.in_search = d.createElement('input');
			region_ctrl.in_search.setAttribute('type', 'hidden');
			region_ctrl.in_search.setAttribute('name', 'search');
			region_ctrl.form.appendChild(region_ctrl.in_search);
			
			region_ctrl.in_node_id = d.createElement('input');
			region_ctrl.in_node_id.setAttribute('type', 'hidden');
			region_ctrl.in_node_id.setAttribute('name', 'node_id');
			region_ctrl.form.appendChild(region_ctrl.in_node_id);
		}
	}
};


function submit(form, type)
{
	var action = document.createElement('input');
	action.setAttribute('type', 'hidden');
	action.setAttribute('name', 'action');
	action.setAttribute('value', type);
	form.appendChild(action);
	form.submit();
}

function set_logo(n){
	d.getElementById('logo_display').setAttribute( 'src', ('images/agencies/'+n[n.selectedIndex].getAttribute('logo')) );
}

function check_web_ref(){
	return (document.ref_form.ref.value != '');
}