/*****************************************************************************************
	Script	:	admin.js
	Date	:	02/12/2005
	Author	:	koh
	Usage	:	javascript basic function
*****************************************************************************************/

function checkAddComField(thisForm) {
	var control;
	var proceed = true;
	var obj = document.forms[thisForm.name];

	if(obj.txtComName.value.length == 0) { proceed = false; control = 1; }
	else if(obj.txtAdd1.value.length == 0){ proceed = false; control = 2; }
	else if (obj.txtPostcode.value.length == 0){ proceed = false; control = 3; }
	else if (obj.txtCity.value.length == 0){ proceed = false; control = 4; }
	else if (obj.selState.value.length == 0){ proceed = false; control = 5; }
	else if (obj.selCountry.value.length == 0){ proceed = false; control = 6; }
	else if (obj.txtContactName.value.length == 0){ proceed = false; control = 7; }
	else if (obj.txtPhoneCode.value.length == 0){ proceed = false; control = 8; }
	else if (obj.txtPhoneNo.value.length == 0){ proceed = false; control = 9; }
	else if (validateForm(obj.txtEmail) == false){ return false; }

	if(!proceed) {
		switch(control) {
		case 1:
			alert('Please enter Company Name');
			obj.txtComName.select();
			break;
		case 2:
			alert('Please enter Correspondence Address');
			obj.txtAdd1.select();
			break;
		case 3:
			alert('Please enter Postcode');
			obj.txtPostcode.select();
			break;
		case 4:
			alert('Please enter City');
			obj.txtCity.select();
			break;
		case 5:
			alert('Please select State');
			obj.selState.focus();
			break;
		case 6:
			alert('Please select Country');
			obj.selCountry.focus();
			break;
		case 7:
			alert('Please enter Contact Person Name');
			obj.txtContactName.focus();
			break;
		case 8:
			alert('Please enter Phone Code');
			obj.txtPhoneCode.focus();
			break;
		case 9:
			alert('Please enter Phone No.');
			obj.txtPhoneNo.focus();
			break;
		}
		return false;

	}else {
		return true;
	}

}

function checkIntroField(thisForm) {
	var control = "";
	var proceed = true;
	var obj = document.forms[thisForm.name];

	if(!selectCheckbox(thisForm, 'chkStudent[')){ return false; }
	else if(obj.selCompany.value.length == 0) { proceed = false; control = 1; }

	if(!proceed) {
		switch(control) {
		case 1:
			alert('Please select a Company');
			obj.radCom[0].value;
			break;
		}
		return false;

	}else {
		return true;
	}

}

function selectCheckbox(thisForm, childCheckbox) {
	var len = document.forms[thisForm.name].elements.length;
	for(i=0; i<len; i++) {
		var elts = document.forms[thisForm.name].elements[i]
		if(elts.type == 'checkbox' && elts.name.indexOf(childCheckbox) != -1 && elts.checked == 1){
			return true;
		}
	}
	alert('Please select at least one student.');
	return false;
}

function checkPlacementField(thisForm) {
	var control = "";
	var proceed = true;
	var obj = document.forms[thisForm.name];

	var radiochecker = false;
	for(i=0; i<obj.elements.length; i++) {
		if(obj.elements[i].type == 'radio' && obj.elements[i].name == 'radCom' && obj.elements[i].checked) {
			radiochecker = true;
			break;
		}else {
			radiochecker = false;
		}
	}

	if(radiochecker == false) { proceed = false; control = 1; }
	else if(obj.txtCommenceDT.value.length == 0) { proceed = false; control = 2; }
	else if(obj.txtEndDT.value.length == 0) { proceed = false; control = 5; }
	else if(obj.txtPostition.value.length == 0) { proceed = false; control = 3; }
	else if(obj.txtJobDesc.value.length == 0) { proceed = false; control = 4; }

	var tempDate = obj.txtCommenceDT.value.substr(0, 10);
	var tempTime = obj.txtCommenceDT.value.substr(11, 8);
	var dtStart = new Date(tempDate.substr(6, 4), tempDate.substr(3, 2), tempDate.substr(0, 2), tempTime.substr(0, 2), tempTime.substr(3, 2), tempTime.substr(6, 2));

	tempDate = obj.txtEndDT.value.substr(0, 10);
	tempTime = obj.txtEndDT.value.substr(11, 8);
	var dtEnd = new Date(tempDate.substr(6, 4), tempDate.substr(3, 2), tempDate.substr(0, 2), tempTime.substr(0, 2), tempTime.substr(3, 2), tempTime.substr(6, 2));

	if(dtStart >= dtEnd) {
		proceed = false;
		control = 6;
	}

	if(!proceed) {
		switch(control) {
		case 1:
			alert('Please select a Company');
			break;
		case 2:
			alert('Please enter Start Date/Time');
			obj.txtCommenceDT.select();
			break;
		case 3:
			alert('Please enter Position');
			obj.txtPostition.select();
			break;
		case 4:
			alert('Please enter Job Description');
			obj.txtJobDesc.select();
			break;
		case 5:
			alert('Please enter End Date/Time');
			obj.txtEndDT.select();
			break;
		case 6:
			alert('Start Date/Time cannot exceed or equals to End Date/Time');
			obj.txtEndDT.select();
			break;
		}
		return false;

	}else {
		return true;
	}
}

function checkTraineePlacemt(frm) {
	var e = document.forms[frm.name];

	if(e.txtEmail.value.length == 0) {
		alert('Please select at least one intern');
		return false;

	}else if(e.txtCommenceDT.value.length == 0) {
		alert('Please enter Start Date/Time');
		e.txtCommenceDT.select();
		return false;

	}else if(e.txtEndDT.value.length == 0) {
		alert('Please enter End Date/Time');
		e.txtEndDT.select();
		return false;

	}else if(e.txtPostition.value.length == 0) {
		alert('Please enter Position title.');
		e.txtPostition.select();
		return false;

	}else if(e.txtVerification.value.length == 0) {
		alert('Please enter Verification Code.');
		e.txtVerification.select();
		return false;

	}else {
		var tempDate = e.txtCommenceDT.value.substr(0, 10);
		var tempTime = e.txtCommenceDT.value.substr(11, 8);
		var dtStart = new Date(tempDate.substr(6, 4), tempDate.substr(3, 2), tempDate.substr(0, 2), tempTime.substr(0, 2), tempTime.substr(3, 2), tempTime.substr(6, 2));

		tempDate = e.txtEndDT.value.substr(0, 10);
		tempTime = e.txtEndDT.value.substr(11, 8);
		var dtEnd = new Date(tempDate.substr(6, 4), tempDate.substr(3, 2), tempDate.substr(0, 2), tempTime.substr(0, 2), tempTime.substr(3, 2), tempTime.substr(6, 2));

		if(dtStart >= dtEnd) {
			alert('Start Date/Time cannot exceed or equals to End Date/Time');
			e.txtEndDT.select();
			return false;
		}
		
		return true;

	}
}

function toNumeric(thisForm, thisField) {
	var obj = document.forms[thisForm.name].elements[thisField.name];
	obj.value = obj.value.replace(/[^0-9]/g, '');
}

function checkAddDepField(thisForm) {
	var control;
	var proceed = true;
	var obj = document.forms[thisForm.name];

	if(obj.txtDepName.value.length == 0) { proceed = false; control = 1; }

	if(!proceed) {
		switch(control) {
		case 1:
			alert('Please enter a Department name');
			obj.txtDepName.select();
			break;
		}
		return false;
	}else {
		return true;
	}
}

function checkEvaField() {
	var control = new Array();
	var elts = document.frmForm.elements;
	var lenObj = document.frmForm.elements.length;

	for(i=1; i<=23; i++) {
		for(j=0; j<lenObj; j++) {
			if(elts[j].type == 'radio' && elts[j].name == 'radQ'+i && elts[j].checked) {
				control.push(1);
				break;
			}
		}
	}

	for(i=1; i<=3; i++) {
		for(j=0; j<lenObj; j++) {
			if(elts[j].type == 'checkbox' && elts[j].name.indexOf('chkQ'+i+'[') != -1 && elts[j].checked) {
				control.push(1);
				break;
			}
		}
	}

	if(control.length != 26) {
		alert('Please fill up all mandatory fields');
		return false;

	}else {
		return true;
	}

}
