function initCustomDirForm(){

	addPhysButtons();
	addFacButtons();

	specialtiesChanged();
	servicesChanged();
	limitChanged();

	document.customdirform.action = "#";
	document.customdirform.onsubmit = function(){return false;};
	document.getElementById('submitBtn').onclick = function(){submitCustomDirForm(); return false;};
}

function addPhysButtons(){
	var dest = document.getElementById('physicianbuttons');
	if( typeof dest != 'object' )
		return;

	var btn = document.createElement("BUTTON");
	btn.style.fontSize = '11px';
	btn.onclick = function(){
		var sel = document.getElementById('specialties');
		var len = sel.options.length;
		for(var i=0; i<len; i++){
			sel.options[i].selected = true;
		}
		return false;
	};
	btn.appendChild(document.createTextNode("Select All"));
	dest.appendChild(btn);

	dest.appendChild(document.createTextNode(" "));

	var btn = document.createElement("BUTTON");
	btn.style.fontSize = '11px';
	btn.onclick = function(){
		var sel = document.getElementById('specialties');
		var len = sel.options.length;
		for(var i=0; i<len; i++){
			sel.options[i].selected = false;
		}
		return false;
	};
	btn.appendChild(document.createTextNode("Select None"));
	dest.appendChild(btn);
}

function addFacButtons(){
	var dest = document.getElementById('facilitybuttons');
	if( typeof dest != 'object' )
		return;

	var btn = document.createElement("BUTTON");
	btn.style.fontSize = '11px';
	btn.onclick = function(){
		var sel = document.getElementById('services');
		var len = sel.options.length;
		for(var i=0; i<len; i++){
			sel.options[i].selected = true;
		}
		return false;
	};
	btn.appendChild(document.createTextNode("Select All"));
	dest.appendChild(btn);

	dest.appendChild(document.createTextNode(" "));

	var btn = document.createElement("BUTTON");
	btn.style.fontSize = '11px';
	btn.onclick = function(){
		var sel = document.getElementById('services');
		var len = sel.options.length;
		for(var i=0; i<len; i++){
			sel.options[i].selected = false;
		}
		return false;
	};
	btn.appendChild(document.createTextNode("Select None"));
	dest.appendChild(btn);
}

function planChanged(){
	var plan = document.getElementById('plan');
	var physObj = document.getElementById('physician_section');
	var facObj = document.getElementById('facility_section');

	if( plan.options[plan.selectedIndex].value == 'CHIRO' ){
		physObj.style.display = 'none';
		facObj.style.display = 'none';

		// deselect all specialties
		var sel = document.getElementById('specialties');
		var len = sel.options.length;
		for(var i=0; i<len; i++){
			sel.options[i].selected = false;
		}

		// deselect all services
		var sel = document.getElementById('services');
		var len = sel.options.length;
		for(var i=0; i<len; i++){
			sel.options[i].selected = false;
		}

		// do not include specialties or services
		document.getElementById('includefacilities_no').checked = true;
		document.getElementById('includephysicians_no').checked = true;
		specialtiesChanged();
		servicesChanged();
	}else{
		physObj.style.display = '';
		facObj.style.display = '';
	}
}

function specialtiesChanged(){
	var specialtiesfs = document.getElementById('specialtiesfs');
	if( document.getElementById('includephysicians_yes').checked ){
		specialtiesfs.style.display = '';
	}else{
		specialtiesfs.style.display = 'none';
	}
}

function servicesChanged(){
	var servicesfs = document.getElementById('servicesfs');
	if( document.getElementById('includefacilities_yes').checked ){
		servicesfs.style.display = '';
	}else{
		servicesfs.style.display = 'none';
	}
}

function limitChanged(){
	var citiesfs = document.getElementById('citiesfs');
	var countiesfs = document.getElementById('countiesfs');

	if( document.getElementById('limitby_county').checked ){
		citiesfs.style.display = 'none';
		countiesfs.style.display = '';
	}else if( document.getElementById('limitby_city').checked ){
		citiesfs.style.display = '';
		countiesfs.style.display = 'none';
	}else{
		citiesfs.style.display = 'none';
		countiesfs.style.display = 'none';
	}
}

function submitCustomDirForm(){
	if( document.getElementById('plan').selectedIndex == 0 )
		return alert("You must select a network plan type");

	if( document.getElementById('plan').options[document.getElementById('plan').selectedIndex].value == 'CHIRO' ){
		if( document.getElementById('includefacilities_yes').checked || document.getElementById('includephysicians_yes').checked )
			return alert("You cannot include physicians or facilities when creating a Chiropractic directory");
	}else{
		if( !document.getElementById('includephysicians_yes').checked && !document.getElementById('includefacilities_yes').checked )
			return alert("You must include physicians and/or facilities to create a directory");
	}

	if( document.getElementById('includephysicians_yes').checked ){
		var hasSpecialty = false;
		var obj = document.getElementById('specialties');
		var len = obj.options.length;
		for(var i=0; i<len; i++){
			if( obj.options[i].selected ){
				hasSpecialty = true;
				break;
			}
		}

		if( !hasSpecialty )
			return alert("You must select at least one specialty\nwhen including physicians");
	}

	if( document.getElementById('includefacilities_yes').checked ){
		var hasService = false;
		var obj = document.getElementById('services');
		var len = obj.options.length;
		for(var i=0; i<len; i++){
			if( obj.options[i].selected ){
				hasService = true;
				break;
			}
		}

		if( !hasService )
			return alert("You must select at least one service\nwhen including facilities");
	}

	document.customdirform.action = "/customdirectory/output.php";
	document.customdirform.onsubmit = function(){return true;}
	document.customdirform.submit();
}

