var jh = new jayhawk('1821jayhawk.php', true);
//////////////////////////////////////////////////////////////  GLOBALS
var TimeOut = 15;    // Initial time to Close window after __ number of seconds?
var TimeRemain = 0;  // Remaining time to Close window after __ number of seconds?
var RefreshRate = 1; // Check to close window every __ number of seconds?
var popupOpen = false;
var boxHeight = 0;
var boxWidth = 0;
var theDiv = '';
var doRefresh = false;
var savedID = null;



function confirmDelete(id) {
	if ( window.confirm('Are you sure you want to delete this program?') ) {
		jh.call_php_function('softDel',id);
	} 
}

function doneSoftDel(str) {
	
	scroll(0,0);
	document.getElementById('msgbox').innerHTML = 'Program Deleted..' + '<br/><br/>';
	doRefresh = true;
	popup('msg1821',300,300, true,3);
}

function addProgram() {
	/* will bring these back in when ready
	var fields = new Array('program_name','street1','street2','phone_number','zipcode','state','city','website_org',
						'email_org','disabilities','ages_served','funding_sources','community_location','other_location',
						'description','year_est','curricula','number_students','number_staff','contact_name','contact_email');
						
	//disabilites, funding sources, and commmunity location will probably have to be called seperately like with clearMulti
	for (i=0;i<fields.length;i++) {
	//for each(var field in fields) {
		document.getElementById(fields[i]).value = '';
	}
	clearCheckboxes(document.aef.disabilities);
	clearCheckboxes(document.aef.funding_sources);
	clearCheckboxes(document.aef.community_location);
	*/
	clearForm();
	document.getElementById('action').value = 'add';
	document.getElementById('spedprograms_id').value = 0;
	scroll(0,0);
	//document.getElementById('loading'+document.getElementById('agency_id').value).style.display = 'none';
	popup('form1821',600,1200, false);
	
}

function clearCheckboxes(chkBoxObj,otherObj) {
	otherObj.value = '';
	var tmp_elem = chkkBoxObj;
	for ( var x=0;x < tmp_elem.length;x++ ) {
		tmp_elem[x].checked = false;	
	}
	
}

function checkbox2serialize(chkBoxObj,otherObj) {
	var return_array = new Array();
	//alert(chkBoxObj);
	var tmp_elem = chkBoxObj;
	for ( var x=0;x < tmp_elem.length;x++ ) {
		if ( tmp_elem[x].checked == true  ) {
			return_array[x] = tmp_elem[x].value;
		} else {
			return_array[x] = null;
		}
	}
	return_array[tmp_elem.length] = specCharDS(otherObj.value);
	return serialize(return_array);
}

function saveProgram() {
	

	var program_name = document.getElementById('program_name').value;
	var street1 = document.getElementById('street1').value;
	var street2 = document.getElementById('street2').value;
	var city = document.getElementById('city').value;
	var state = document.getElementById('state').value;
	var zip_code = document.getElementById('zip_code').value;
	var phone_number = document.getElementById('phone_number').value;
	var website_org = document.getElementById('website_org').value;
	var email_org = document.getElementById('email_org').value;
	var dp_pass = checkbox2serialize(document.aef.disability_population,document.getElementById('disability_population_other'));
	var fs_pass = checkbox2serialize(document.aef.funding_sources,document.getElementById('funding_sources_other'));
	var cl_pass = checkbox2serialize(document.aef.community_location,document.getElementById('community_location_other'));
	var ages_served = document.getElementById('ages_served').value;
	var description = document.getElementById('description').value;
	var curricula = document.getElementById('curricula').value;
	var year_established = document.getElementById('year_established').value;
	var operated = document.getElementById('operated').value;
	
	var number_students = document.getElementById('number_students').value;
	var number_staff = document.getElementById('number_staff').value;
	var contact_name = document.getElementById('contact_name').value;
	var email_contact = document.getElementById('email_contact').value;
	
	//NEW
	//$staff1,$staff2,$staff3,$staff4,$additionalstaff,$submit_name,$submit_email,$submit_phone,$comm_aval,$activities,$program_goal,$active)
	var staff1 = document.getElementById('staff1').value;
	var staff2 = document.getElementById('staff2').value;
	var staff3 = document.getElementById('staff3').value;
	var staff4 = document.getElementById('staff4').value;
	var additionalstaff = document.getElementById('additionalstaff').value;
	var submit_name = document.getElementById('submit_name').value;
	var submit_email = document.getElementById('submit_email').value;
	var submit_phone = document.getElementById('submit_phone').value;
	
	if ( document.getElementById('comm_aval_yes').checked == true) {
		var comm_aval = 'Yes'
	} else {
		comm_aval = 'No';
	}
	//var comm_aval = document.aef.comm_aval.value;
	var activities = document.getElementById('activities').value;
	var program_goal = document.getElementById('program_goal').value;
	if  ( document.getElementById('active').checked == true ) {
		var active = 1;
	} else {
		var active = 0;
	}
	
	
		
	var action = document.getElementById('action').value;
	var spedprograms_id = document.getElementById('spedprograms_id').value;
	//action, for like bleow
	
	var required_fields = new Array('city','zip_code','phone_number','program_name','street1','ages_served','description','number_students','number_staff','contact_name');
	
	for (var i = 0; i < required_fields.length; i++ ) {
				document.getElementById(required_fields[i]).style.backgroundColor = 'white';
		}
	
	if ( program_name && street1 && city && state && ages_served && description && number_students && number_staff && contact_name && phone_number && zip_code) {
		jh.call_php_function('saveProgram', program_name, street1, street2, city, state,zip_code, phone_number, website_org, email_org, dp_pass,
		 fs_pass, cl_pass, ages_served, description,year_established,operated,curricula, number_students, number_staff,contact_name,
		 email_contact,action,spedprograms_id,staff1,staff2,staff3,staff4,additionalstaff,submit_name,submit_email,submit_phone,comm_aval,
		 activities,program_goal,active);
	} else {
		for (var i = 0; i < required_fields.length; i++ ) {
			if ( document.getElementById(required_fields[i]).value.length == 0 ) {
				document.getElementById(required_fields[i]).style.backgroundColor = 'yellow';
			}
		}
		document.getElementById('error_msg').innerHTML = 'Fields marked with an * are required. The ones you have missed are now highlighted.';
	}
}

function saveDone(p) {
	//document.write(p);
	scroll(0,0);
	document.getElementById('msgbox').innerHTML = 'Saved..' + '<br/><br/>';
	popup('form1821',600,800)
	doRefresh = true;
	popup('msg1821',300,300, true,3);
}

function editProgram(id) {
	jh.call_php_function('getProgram',id);
}

function clearForm() {
	//there should really be an array of these fields that i can loop through...
	document.getElementById('program_name').value = '';
	document.getElementById('street1').value = '';
	document.getElementById('street2').value = '';
	document.getElementById('city').value ='';
	document.getElementById('state').value = '';
	document.getElementById('zip_code').value = '';
	document.getElementById('phone_number').value = '';
	document.getElementById('website_org').value = '';
	document.getElementById('email_org').value = '';	
	//this will uncheck all
	
	clearCheckboxes(document.aef.disability_population,document.getElementById('disability_population_other'));
	clearCheckboxes(document.aef.funding_sources,document.getElementById('funding_sources_other'));
	clearCheckboxes(document.aef.community_location,document.getElementById('community_location_other'));
	
	document.getElementById('disability_population_other').value = '';
	document.getElementById('funding_sources_other').value = '';
	document.getElementById('community_location_other').value = '';


	document.getElementById('ages_served').value = '';
	document.getElementById('description').value = '';
	document.getElementById('year_established').value = '';
	document.getElementById('operated').value = '';
	
	document.getElementById('curricula').value = '';
	document.getElementById('number_students').value = '';
	document.getElementById('number_staff').value = '';
	document.getElementById('contact_name').value = '';
	document.getElementById('email_contact').value = '';
	
	
	document.getElementById('staff1').value =  '';
	document.getElementById('staff2').value =  '';
	document.getElementById('staff3').value =  '';
	document.getElementById('staff4').value =  '';
	document.getElementById('additionalstaff').value =  '';
	document.getElementById('submit_name').value =  '';
	document.getElementById('submit_email').value = '';
	document.getElementById('submit_phone').value = '';
	
	document.getElementById('activities').value = '';
	document.getElementById('program_goal').value = '';
	
	document.getElementById('active').checked = false;
	
}

function specChar(str) {
	if ( str == null) return ''
	return str.replace(/%26/g,'&').replace(/%27/g,"'").replace(/%09/g,"\t").replace(/%0A/g,"\n").replace(/%22/g,'"');

}

function specCharDS(str) {
	if ( str == null) return
	str = escape(str);
	return str.replace(/%20/g, ' ');
}

function displayEdit(program_name,street1,street2,city,state,zip_code,phone_number,website_org,email_org,disability_population,ages_served,
	funding_sources,community_location,description,year_established,operated,curricula,number_students,number_staff,contact_name,
	email_contact,spedprograms_id,last_change,staff1,staff2,staff3,staff4,additionalstaff,submit_name,submit_email,submit_phone,comm_aval,
	activities,program_goal,active)
 {
	clearForm();
	scroll(0,0);
	//var eles = new Array('program_name','street1','street2','city','state','zipcode','phone_number','website_org','email_org','ages_served','description','curricula','number_students','number_staff','contact_name','email_contact','last_change');
	//window.alert(program_name);
	//window.alert(program_info);
	document.getElementById('program_name').value = specChar(program_name);
	document.getElementById('street1').value = specChar(street1);
	document.getElementById('street2').value = specChar(street2);
	document.getElementById('city').value = city;
	document.getElementById('state').value = state;
	document.getElementById('zip_code').value = zip_code;
	document.getElementById('phone_number').value = phone_number;
	document.getElementById('website_org').value = specChar(website_org);
	document.getElementById('email_org').value = email_org;
	
	//NEW
	
	document.getElementById('staff1').value =  specChar(staff1);
	document.getElementById('staff2').value =  specChar(staff2);
	document.getElementById('staff3').value =  specChar(staff3);
	document.getElementById('staff4').value =  specChar(staff4);
	document.getElementById('additionalstaff').value =  specChar(additionalstaff);
	document.getElementById('submit_name').value =  specChar(submit_name);
	document.getElementById('submit_email').value = submit_email;
	document.getElementById('submit_phone').value = submit_phone;
	
	if ( comm_aval == 'Yes') {
		document.getElementById('comm_aval_yes').checked = true;
		document.getElementById('comm_aval_no').checked = false;
	} else {
		document.getElementById('comm_aval_no').checked = true;
		document.getElementById('comm_aval_yes').checked = false;
	}
	
	document.getElementById('activities').value = specChar(activities);
	document.getElementById('program_goal').value = specChar(program_goal);
	
	if ( active == 1) {
		document.getElementById('active').checked = true;
	} else {
		document.getElementById('active').checked = false;
	}
	
	var dp_raw = PHP_Unserialize(disability_population)
	var dp_elem = document.aef.disability_population;
	for ( var x=0;x < dp_elem.length;x++ ) {
		for ( var y=0; y <  dp_raw.length; y++) {
			if ( dp_elem[x].value == dp_raw[y] ) {
				dp_elem[x].checked = true;
			}
		}
	}
	document.getElementById('disability_population_other').value = specChar(dp_raw[4]) || ''; //last array...is the custome other
	///
	var fs_raw = PHP_Unserialize(funding_sources)
	var fs_elem = document.aef.funding_sources;
	for ( var x=0;x < fs_elem.length;x++ ) {
		for ( var y=0; y <  fs_raw.length; y++) {
			if ( fs_elem[x].value == fs_raw[y] ) {
				fs_elem[x].checked = true;
			}
		}
	}
	document.getElementById('funding_sources_other').value = specChar(fs_raw[6]) || ''; //last array...is the custome other
	///
	var cl_raw = PHP_Unserialize(community_location)
	var cl_elem = document.aef.community_location;
	for ( var x=0;x < cl_elem.length;x++ ) {
		for ( var y=0; y <  cl_raw.length; y++) {
			if ( cl_elem[x].value == cl_raw[y] ) {
				cl_elem[x].checked = true;
			}
		}
	}
	document.getElementById('community_location_other').value = specChar(cl_raw[10]) || ''; //last array...is the custome other
	////
	document.getElementById('ages_served').value = ages_served;
	document.getElementById('description').value = specChar(description);
	document.getElementById('year_established').value = year_established;
	document.getElementById('operated').value = operated;
	
	document.getElementById('curricula').value = specChar(curricula);
	document.getElementById('number_students').value = number_students;
	document.getElementById('number_staff').value = number_staff;
	document.getElementById('contact_name').value = specChar(contact_name);
	document.getElementById('email_contact').value = email_contact;
	
	document.getElementById('spedprograms_id').value = spedprograms_id;
	document.getElementById('last_change').value = last_change;
	
	document.getElementById('action').value = 'edit';
	popup('form1821',600,1200, false);
	
}

function clearCheckboxes(obj) {
	var clen = obj.length;
	for (var i = 0; i < clen;i++) {
		obj[i].checked = false;
	}
}


/// CODE FROM MOCA, maybe slightly changed below 

function ResetTimer() {
	TimeRemain = TimeOut;
	document.getElementById('count_down').innerHTML = TimeRemain; 
}

function CheckClose() {
	TimeRemain -= (RefreshRate);
	if (TimeRemain > 0) {
		if ( popupOpen == true ) {
			document.getElementById('count_down').innerHTML = TimeRemain; 
			setTimeout("CheckClose();",RefreshRate * 1000);
		}
	} else {
		if ( popupOpen == true ) {
			popup(theDiv,boxHeight,boxWidth);
			if ( doRefresh == true ) {
				
				var preReload = window.location.href.split('#')[0];
				window.location = preReload + '#anc' + savedID;
				location.reload(true);
			}
		}
	}
	
}

function popup(windowname,h,w,timed,time_up) {
	boxHeight = h;
	boxWidth = w;
	theDiv = windowname
	time_up = 1;
	
	popUpDiv = document.getElementById(windowname);
	//window.alert(popUpDiv);
	popUpDiv.style.offsetHeight = h + 'px';
	popUpDiv.style.offsetWidth = w +'px';
	popUpDiv.style.zIndex = 9002;
	popUpDiv.style.position = 'absolute';
	
	
	blanket_size(windowname);
	//window_pos(windowname);
	window_pos_left(windowname);
	toggle('blanket');
	toggle(windowname);		
	if (popupOpen == true) {
		popupOpen = false;
	} else {
		if ( timed == true ) {
			TimeOut = time_up;
			ResetTimer();
			if (TimeOut && RefreshRate) {
				setTimeout("CheckClose();",RefreshRate * 1000);
			}
		} else {
			document.getElementById('count_down').innerHTMl = '';
		}
		popupOpen = true;
	}
	
	//alert(document.getElementById('popUpDiv').offsetHeight);
}

function toggle(div_id) {
	var el = document.getElementById(div_id);
	if ( el.style.display == 'none' ) {	
		el.style.display = 'block';
	} else {
		el.style.display = 'none';
	}
}

function blanket_size(popUpDivVar) {
	if (typeof window.innerWidth != 'undefined') {
		viewportheight = window.innerHeight;
	} else {
		viewportheight = document.documentElement.clientHeight;
	}
	if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
		blanket_height = viewportheight;
	} else {
		if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
			blanket_height = document.body.parentNode.clientHeight;
		} else {
			blanket_height = document.body.parentNode.scrollHeight;
		}
	}
	var blanket = document.getElementById('blanket');
	blanket.style.height = blanket_height + 'px';
	var popUpDiv = document.getElementById(popUpDivVar);
	popUpDiv_height=blanket_height/2-(boxHeight/2);//150 is half popup's height
	popUpDiv.style.top = '35px';
	//popUpDiv.style.top = popUp_height + 'px';
}

function window_pos_left(popUpDivVar) {
	var popUpDiv = document.getElementById(popUpDivVar);
	popUpDiv.style.left = '25px';
}
function window_pos(popUpDivVar) {
	if (typeof window.innerWidth != 'undefined') {
		viewportwidth = window.innerHeight;
	} else {
		viewportwidth = document.documentElement.clientHeight;
	}
	if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) {
		window_width = viewportwidth;
	} else {
		if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) {
			window_width = document.body.parentNode.clientWidth;
		} else {
			window_width = document.body.parentNode.scrollWidth;
		}
	}
	var popUpDiv = document.getElementById(popUpDivVar);
	//
	var window_width2=window_width/2-(boxWidth/2);//150 is half popup's width
	// 
	//window.alert(boxWidth);
	//window.alert(window_width2 + 'px');
	popUpDiv.style.left = window_width2 + 'px';
}
