var currpid = 0;
var b;

var fieldBorderColor = "#56adc6";
var fieldBorderWarningColor = "#FF0000";
var fieldLabelColor = "#43484a";
var fieldLabelWarningColor = "#FF0000";
/***************** PRE-SUBMISSION *****************/
function doPrizeLogin() {
	document.prizeloginFRM.submit();
}
function loginStatus(isLoggedIn) {
	if ( isLoggedIn ) {
		xGetElementById("fa_login").value = "app.prizeform";
		document.prizeloginFRM.action = window.location;
		document.prizeloginFRM.target = "_self";
		document.prizeloginFRM.submit();
	}
	else
		display.showElement("loginfailure");
}
/******************* CONTROLLER *******************/
function controller(act) {
	switch ( act ) {
		case 'step1' :
			toggleMenu(act);
			toggleFRM(act);
			break;
		case 'step2' :
			toggleMenu(act);
			toggleFRM(act);
			break;
		case 'step3' :
			toggleMenu(act);
			toggleFRM(act);
			break;
		case 'step4' :
			toggleMenu(act);
			toggleFRM(act);
			break;
		case 'searchschool' :
			toggleFRM(act);
			break;
		case 'newschool' :
			toggleFRM(act);
			break;
	}
}
function toggleMenu(item) {
	switch ( item ) {
		case 'step1' :
			toggleElements("menuStep","2,3,4",false);
			toggleElements("menuStep","1",true);
			break;
		case 'step2' :
			toggleElements("menuStep","1,3,4",false);
			toggleElements("menuStep","2",true);
			break;
		case 'step3' :
			toggleElements("menuStep","1,2,4",false);
			toggleElements("menuStep","3",true);
			break;
		case 'step4' :
			toggleElements("menuStep","1,2,3",false);
			toggleElements("menuStep","4",true);
			break;
	}
}
function toggleFRM(item) {
	switch ( item ) {
		case 'step1' :
			toggleElements("step","2,3,4",false);
			toggleElements("step","1",true);
			break;
		case 'step2' :
			toggleElements("step","1,3,4",false);
			toggleElements("step","2",true);
			break;
		case 'step3' :
			toggleElements("step","1,2,4",false);
			toggleElements("step","3",true);
			break;
		case 'step4' :
			toggleElements("step","1,2,3",false);
			toggleElements("step","4",true);
			break;
	}
}
function toggleElements(el,list,show) {
	if ( list.length > 0 ) {
		var elids = list.split(",");
		for ( i = 0; i < elids.length; i++ ) {
			if ( show )
				display.showElement(el + elids[i]);
			else
				display.hideElement(el + elids[i]);
		}
	}
}
function goToStep1() {
	controller('step1');
}
function goToStep2(validate) {
	if ( Step1Validated() )
		controller('step2');
}
function goToStep3(validate) {
	if ( Step2Validated() )
		controller('step3');
}
function goToStep4() {
	if ( Step3Validated() ) {
		fillPreview();
		controller('step4');
	}
}
function savePrize() {
	document.pFRM.submit();
}
/********************* STEP 1 *********************/
function loadProjects(obj) {
	if ( obj.selectedIndex != 0 ) {
		var loader = new net.ContentLoader(CI_AJAX_PATH + "prize.cfm?req=LOAD_PROJECTS&lang=" + xGetElementById("lang").value + "&period=" + xGetElementById("period").value + "&tid=" + xGetElementById("tid").value + "&category=" + obj.options[obj.selectedIndex].value,onLoadProjectsResult,onLoadProjectsError,"GET",null);
		toggleElements("2,3,4,5,6,7,8,9,10",false);
	}
}
function onLoadProjectsResult() {
	response = net.CleanResponse(this.req.responseText);
	if ( response == 'NO_RESULTS' )
		alert("no projects found");
	else {
		xGetElementById("projects").innerHTML = response;
		toggleElements("s1_tr","2,3",true);
	}
}
function onLoadProjectsError() {
	response = net.CleanResponse(this.req.responseText);
	xGetElementById("error").innerHTML = response;
}
function doSelectProject(id) {
	currpid = id;
	loadProjectMembers(id);
	toggleElements("s1_tr","4,5,6,7,8,9,10",true);
}
function Step1Validated() {
	var isValid = true;
	if ( trim(xGetElementById("links").value) == '' ) isValid = elementValidator('links','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('links','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	return isValid;
}
/********************* STEP 2 *********************/
function Step2Validated() {
	var isValid = true;
	if ( trim(xGetElementById("pedagogicalinnovation").value) == '' ) isValid = elementValidator('pedagogicalinnovation','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('pedagogicalinnovation','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	if ( trim(xGetElementById("curricularintegration").value) == '' ) isValid = elementValidator('curricularintegration','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('curricularintegration','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	if ( trim(xGetElementById("partnercollaboration").value) == '' ) isValid = elementValidator('partnercollaboration','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('partnercollaboration','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	if ( trim(xGetElementById("useofict").value) == '' ) isValid = elementValidator('useofict','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('useofict','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	if ( trim(xGetElementById("sustainability").value) == '' ) isValid = elementValidator('sustainability','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('sustainability','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	if ( trim(xGetElementById("results").value) == '' ) isValid = elementValidator('results','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('results','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	if ( trim(xGetElementById("otherawards").value) == '' ) isValid = elementValidator('otherawards','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('otherawards','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	return isValid;
}
/********************* STEP 3 *********************/
function Step3Validated() {
	var isValid = true;
	if ( trim(xGetElementById("comments").value) == '' ) isValid = elementValidator('comments','',false,'form',fieldBorderWarningColor,fieldBorderColor);
	else b = elementValidator('comments','',true,'form',fieldBorderWarningColor,fieldBorderColor);
	return isValid;
}
function loadProjectMembers(id) {
	xGetElementById("projectmembers").innerHTML = "";
	var loader = new net.ContentLoader(CI_AJAX_PATH + "prize.cfm?req=LOAD_PROJECT_MEMBERS&lang=" + xGetElementById("lang").value + "&tid=" + xGetElementById("tid").value + "&pid=" + id,onLoadProjectMembersResult,onLoadProjectMembersError,"GET",null);
	toggleElements("2,3,4,5,6,7,8,9,10",false);
}
function onLoadProjectMembersResult() {
	response = net.CleanResponse(this.req.responseText);
	if ( response == 'NO_RESULTS' )
		alert("no project members found");
	else {
		xGetElementById("projectmembers").innerHTML = response;
	}
}
function onLoadProjectMembersError() {
	response = net.CleanResponse(this.req.responseText);
	xGetElementById("error").innerHTML = response;
}
/********************* STEP 4 *********************/
function fillPreview() {
	xGetElementById("prv_project").innerHTML = xGetElementById("project_" + currpid).innerHTML;
	xGetElementById("prv_category").innerHTML = getSelectedItemTextVals("category","radio");
	xGetElementById("prv_isscienceproject").innerHTML = getSelectedItemTextVals("isscienceproject","radio");
	xGetElementById("prv_isfrenchproject").innerHTML = getSelectedItemTextVals("isfrenchproject","radio");
	xGetElementById("prv_links").innerHTML = xGetElementById("links").value;
	xGetElementById("prv_pedagogical").innerHTML = xGetElementById("pedagogicalinnovation").value;
	xGetElementById("prv_curricular").innerHTML = xGetElementById("curricularintegration").value;
	xGetElementById("prv_collaboration").innerHTML = xGetElementById("partnercollaboration").value;
	xGetElementById("prv_useofict").innerHTML = xGetElementById("useofict").value;
	xGetElementById("prv_sustainability").innerHTML = xGetElementById("sustainability").value;
	xGetElementById("prv_results").innerHTML = xGetElementById("results").value;
	xGetElementById("prv_otherawards").innerHTML = xGetElementById("otherawards").value;
	var memberstocontact = getSelectedItemVals("members");
	if ( memberstocontact.length > 0 ) {
		xGetElementById("partners").innerHTML = "<ul>";
		var members = memberstocontact.split(",");
		for (i=0; i < members.length; i++)
			xGetElementById("partners").innerHTML += "<li>" + xGetElementById("pm_school_" + members[i]).innerHTML + " (" + xGetElementById("pm_teacher_" + members[i]).innerHTML + ")</li>";
		xGetElementById("partners").innerHTML += "</ul>";
	}
	else
		xGetElementById("partners").innerHTML = "";
	xGetElementById("prv_comments").innerHTML = xGetElementById("comments").value;
}
function getSelectedItemTextVals(name,type) {
	var str = "";
	var obj = eval("document.pFRM." + name);
	if ( obj != undefined ) {
		if ( type.toLowerCase() == 'select' ) {
			for ( i = 0; i < obj.options.length; i++ ) {
				if ( obj.options[i].selected )
					str += ( str == '' ) ? obj.options[i].text : ', ' + obj.options[i].text;
			}
		}
		else if ( type.toLowerCase() == 'checkbox' || type.toLowerCase() == 'radio' ) {
			for ( i = 0; i < obj.length; i++ ) {
				if ( obj[i].checked )
					str += ( str == '' ) ? xGetElementById(name + '_cb_text_' + obj[i].value).innerHTML : ', ' + xGetElementById(name + '_cb_text_' + obj[i].value).innerHTML;
			}
		}
	}
	return str;
}
function getSelectedItemVals(name) {
	var vals = "";
	var obj = eval("document.pFRM." + name);
	if ( obj != undefined ) {
		for ( i = 0; i < obj.length; i++ ) {
			if ( obj[i].checked ) {
				vals += ( vals.length ) ? ',' + obj[i].value : obj[i].value ;
			}
		}
	}
	return vals;
}
