valid = new Array( 
				  new Array( 
				             new Array(),
                             new Array(),
							 new Array()
						   ),
				  new Array( 
				             new Array(),
				             new Array(),
							 new Array()
						   ),
				  new Array( 
				             new Array(),
				             new Array(),
							 new Array()
				           )
				  );

function appendIC(){
	document.form.ic123.value = '';
	document.form.ic123.value = document.form.ic1.value + document.form.ic2.value + document.form.ic3.value;
}

function validateForm(arrayIndex, fieldValue, checkType, responseDiv) {
	var http = false; //declare the variable to hold the object.
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		var http = new XMLHttpRequest();
		if (http.overrideMimeType) {
			http.overrideMimeType('text/xml');
			// See note below about this line
		}
    }else if (window.ActiveXObject) { // IE
	 try {
			var http = new ActiveXObject("Msxml2.XMLHTTP");
		  } catch (e) {
			  try {
				 var http = new ActiveXObject("Microsoft.XMLHTTP");
			  } catch (e){}
		  }
   }

	var url = 'includes/validation.php';
	var params = "fieldValue="+fieldValue+"&checkType="+checkType+"&responseDiv="+responseDiv;
	
	if(http){
		http.open("GET", url+"?"+params);
		http.onreadystatechange = function(){
			
			if (http.readyState == 4 && http.status == 200){ 
				//alert(http.responseText);
				var errorMsgLength = http.responseXML.getElementsByTagName('errorMsg').length;
				var responseDiv =  http.responseXML.getElementsByTagName('responseDiv')[0].firstChild.data;
				var compulsory =  http.responseXML.getElementsByTagName('compulsory')[0].firstChild.data;
				var errorMsg;
				if(errorMsgLength){
					for(i=0; i < errorMsgLength; i++){
						if(http.responseXML.getElementsByTagName('errorMsg')[i].firstChild.data != 'Done'){
							document.getElementById(responseDiv).className = 'alertType1';
							errorMsg = http.responseXML.getElementsByTagName('errorMsg')[i].firstChild.data;
							success = "0";
							break;
						}else{
							document.getElementById(responseDiv).className = 'alertType2';
							if(http.responseXML.getElementsByTagName('noMsg')[0]){
								errorMsg = "";
							}else{
								errorMsg = http.responseXML.getElementsByTagName('errorMsg')[0].firstChild.data;
							}
							success = "1";
						}
					}


					if(valid[arrayIndex][0].length > 0){
						newIndex = valid[arrayIndex][0].length;
					}else{
						newIndex = 0;
					}

					foundResponse = 0;
					for(i=0;i < valid[arrayIndex][0].length;i++){
						if(valid[arrayIndex][0][i] == responseDiv){
							valid[arrayIndex][1][i] = success;
							valid[arrayIndex][2][i] = compulsory;
							foundResponse = 1;
							break;
						}
					}

					if(!foundResponse){
						valid[arrayIndex][0][newIndex] = responseDiv;
						valid[arrayIndex][1][newIndex] = success;
						valid[arrayIndex][2][newIndex] = compulsory;
					}

					document.getElementById(responseDiv).innerHTML = errorMsg;
					
				}
				
				delete http; 
				http = null;
			}
		}
		http.send(null);
	}
}


function actionHandler() {
	if (http.readyState == 4) { //Finished loading the response
		if(http.responseText){
			if(!isValidEmail(document.getElementById('email').value)){
				document.getElementById("result").innerHTML = "Invalid Email Address"; 
			}else{
				document.getElementById("result").innerHTML = ""; 
			}
			document.getElementById("emailUsed").value = "0";
		}else{
			document.getElementById("result").innerHTML = "Email already in used."; 
			document.getElementById("emailUsed").value = "1";
		}
	}
}

function validateCheckBox(checkBox){
	var found_it
	for (var i=0; i<checkBox.length; i++)  { 
		if (checkBox[i].checked)  {
			found_it = checkBox[i].value
		} 
	} 
	return found_it;
}


function formValidation(step){
	if(step == "step2"){
		error = 0;
		for(i=0;i < valid[0][0].length; i++){
			if((valid[0][2][i] == 1 && valid[0][1][i] == 0) || (valid[0][2][i] == 0 && valid[0][1][i] == 0)){
				error = 1;
				break;
			}
		}
		
		countCompul = 0;
		
		for(i=0;i < valid[0][0].length; i++){
			if(valid[0][2][i] == 1){
				countCompul = countCompul + 1;
			}
		}

		if(error == 1){
			alert("Please verify your form");
		}else{
			if(countCompul == 8){
				displayForm(step);
			}else{
				alert("Please fill in all the compulsory fields!");
			}
		}
	}
	if(step == "step3"){
		error = 0;
		
		//for(i=0;i < valid[1][0].length; i++){
			//if((valid[1][2][i] == 1 && valid[1][1][i] == 0) || (valid[1][2][i] == 0 && valid[1][1][i] == 0)){
				//error = 1;
				//break;
			//}
			//alert(valid[1][0][i]+"|"+valid[1][1][i]+"|"+valid[1][2][i]);
		//}

		for(i=0;i < valid[1][0].length; i++){
			if((valid[1][2][i] == 1 && valid[1][1][i] == 0) || (valid[1][2][i] == 0 && valid[1][1][i] == 0)){
				error = 1;
				break;
			}
		}
		
		countCompul = 0;
		
		for(i=0;i < valid[1][0].length; i++){
			if(valid[1][2][i] == 1){
				countCompul = countCompul + 1;
			}
		}

		if(error == 1){
			alert("Please verify your form");
		}else{
			if(countCompul == 10){
				displayForm(step);
			}else{
				alert("Please fill in all the compulsory fields!");
			}
		}
	}

	if(step == "step4"){
		error = 0;
		
		//for(i=0;i < valid[2][0].length; i++){
			//if((valid[1][2][i] == 1 && valid[1][1][i] == 0) || (valid[1][2][i] == 0 && valid[1][1][i] == 0)){
				//error = 1;
				//break;
			//}
			//alert(valid[2][0][i]+"|"+valid[2][1][i]+"|"+valid[2][2][i]);
		//}

		for(i=0;i < valid[2][0].length; i++){
			if((valid[2][2][i] == 1 && valid[2][1][i] == 0) || (valid[2][2][i] == 0 && valid[2][1][i] == 0)){
				error = 1;
				break;
			}
		}
		
		countCompul = 0;
		
		for(i=0;i < valid[2][0].length; i++){
			if(valid[2][2][i] == 1){
				countCompul = countCompul + 1;
			}
		}

		if(error == 1){
			alert("Please verify your form");
		}else{
			if(countCompul == 0){
				displayForm(step);
			}else{
				alert("Please fill in all the compulsory fields!");
			}
		}
	}

}

function displayForm(step, id){
	if(step == 'step1'){

		document.getElementById('step1_border').className = 'tableBorder1 TextType5';
		document.getElementById('step1_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step2_border').className = 'tableBorder1_Off TextType5_Off';
		document.getElementById('step2_img').src = 'components/com_application/images/apply_off.png';
		document.getElementById('step3_border').className = 'tableBorder1_Off TextType5_Off';
		document.getElementById('step3_img').src = 'components/com_application/images/apply_off.png';
		document.getElementById('step4_border').className = 'tableBorder1_Off TextType5_Off';
		document.getElementById('step4_img').src = 'components/com_application/images/apply_off.png';

		document.getElementById('step1_note').style.display = 'block';
		document.getElementById('step2_note').style.display = 'none';
		document.getElementById('step3_note').style.display = 'none';
		document.getElementById('step4_note').style.display = 'none';

		document.getElementById('step1_form').style.display = 'block';
		document.getElementById('step2_form').style.display = 'none';
		document.getElementById('step3_form').style.display = 'none';
		document.getElementById('step4_form').style.display = 'none';

		//document.getElementById('step4_form').style.display = 'none';
	}
	if(step == 'step2'){

		document.getElementById('step1_border').className = 'tableBorder1 TextType5';
		document.getElementById('step1_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step2_border').className = 'tableBorder1 TextType5';
		document.getElementById('step2_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step3_border').className = 'tableBorder1_Off TextType5_Off';
		document.getElementById('step3_img').src = 'components/com_application/images/apply_off.png';
		document.getElementById('step4_border').className = 'tableBorder1_Off TextType5_Off';
		document.getElementById('step4_img').src = 'components/com_application/images/apply_off.png';

		document.getElementById('step1_note').style.display = 'none';
		document.getElementById('step2_note').style.display = 'block';
		document.getElementById('step3_note').style.display = 'none';
		document.getElementById('step4_note').style.display = 'none';

		document.getElementById('step1_form').style.display = 'none';
		document.getElementById('step2_form').style.display = 'block';
		document.getElementById('step3_form').style.display = 'none';
		document.getElementById('step4_form').style.display = 'none';
		//document.getElementById('step4_form').style.display = 'none';
	}
	if(step == 'step3'){

		document.getElementById('step1_border').className = 'tableBorder1 TextType5';
		document.getElementById('step1_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step2_border').className = 'tableBorder1 TextType5';
		document.getElementById('step2_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step3_border').className = 'tableBorder1 TextType5';
		document.getElementById('step3_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step4_border').className = 'tableBorder1_Off TextType5_Off';
		document.getElementById('step4_img').src = 'components/com_application/images/apply_off.png';

		document.getElementById('step1_note').style.display = 'none';
		document.getElementById('step2_note').style.display = 'none';
		document.getElementById('step3_note').style.display = 'block';
		document.getElementById('step4_note').style.display = 'none';

		document.getElementById('step1_form').style.display = 'none';
		document.getElementById('step2_form').style.display = 'none';
		document.getElementById('step3_form').style.display = 'block';
		document.getElementById('step4_form').style.display = 'none';
	}
	if(step == 'step4'){

		document.getElementById('step1_border').className = 'tableBorder1 TextType5';
		document.getElementById('step1_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step2_border').className = 'tableBorder1 TextType5';
		document.getElementById('step2_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step3_border').className = 'tableBorder1 TextType5';
		document.getElementById('step3_img').src = 'components/com_application/images/apply.png';
		document.getElementById('step4_border').className = 'tableBorder1 TextType5';
		document.getElementById('step4_img').src = 'components/com_application/images/apply.png';

		document.getElementById('step1_note').style.display = 'none';
		document.getElementById('step2_note').style.display = 'none';
		document.getElementById('step3_note').style.display = 'none';
		document.getElementById('step4_note').style.display = 'block';

		document.getElementById('step1_form').style.display = 'none';
		document.getElementById('step2_form').style.display = 'none';
		document.getElementById('step3_form').style.display = 'none';
		document.getElementById('step4_form').style.display = 'block';
	}
	if(step == 'step5'){
		if(document.form.Agree.checked == false){
			alert('Good Try!, maybe you should agree with our terms. Mind to check the box?');
		}else{
			submitFormID('submit', id);
		}
	}
}

