/*
 *	@Version $Id: services.js,v 1.0 23/07/2008 11:11:33 saturnx
 *	@Copyright (C) 2008
 * 	Powered By Uno.com.my
 *  
*/

var ccm = {
	
	checkAge: function(){
		/* original script: http://www.kuranes.co.uk/utils/agecheck.html */
		/* the minumum/max age you want to allow in */
		var min_age = 18;

		var year = parseInt($('selYear').value);
		var month = parseInt($('selMonth').value) - 1;
		var day = parseInt($('selDay').value);

		var theirDate = new Date((year + min_age), month, day);
		var today = new Date;

		if ((today.getTime() - theirDate.getTime()) < 0) {
			$('ErrDOB').className = 'validation_error';
			$('ErrDOB').innerHTML = 'Director Must Be 18 Years of Age';
			$('btnCreateD').disabled = true;
		}
		else {
			$('ErrDOB').innerHTML = '';
			$('btnCreateD').disabled = false;
		}
	},
		
	leadZero: function(id){
		/* original script: http://www.webdeveloper.com/forum/showthread.php?t=84198 */
		$('txtMobile'+id).value = $('txtMobile'+id).value.replace(/^[0]+/g,"");
	},

	nric: function(formName){
		$('txtNricColour').value = 'Blue';
	},
	
	details: function(){
		var nric;
		var passport;
		if ($('txtNric1').value.length == 0 && $('txtNric2').value.length == 0 && $('txtNric3').value.length == 0){
			nric = true;
		}
		else {
			nric = false;
		}

		if ($('txtPassport').value.length == 0){
			passport = true;
		}
		else {
			passport = false;
		}
		
		if (nric && passport){
			$('ErrNric').innerHTML = '*';
			$('ErrPassport').innerHTML = '*';
			$('ErrMsg').innerHTML = 'Please Enter Either NRIC or Passport No.';
			$('btnCreateD').disabled = true;
		}
		else {
			if(nric == false){
				$('ErrNric').innerHTML = '';
				/* temporary disable the submit button */
				$('btnCreateD').disabled = true;
				if(passport == false){
					$('ErrPassport').innerHTML = '*';
					$('ErrMsg').innerHTML = 'We only require either NRIC or Passport No.';
				} else {
					$('ErrPassport').innerHTML = '';
					$('ErrMsg').innerHTML = '';
					$('btnCreateD').disabled = false;
				}
			}
			else {
				$('ErrNric').innerHTML = '';
				$('ErrPassport').innerHTML = '';
				$('ErrMsg').innerHTML = '';
				$('btnCreateD').disabled = false;
			}
		}
	},
			
	race: function(){
		var race = $F('selRace');
		
		if (race == 'Others'){
			$('txtRace').disabled = false;
			$('txtRace').focus();
		}
		else {
			$('txtRace').disabled = true;
		}
	},
	
	numeric: function(obj){
		reg = /[^0-9]/g;
		obj.value =  obj.value.replace(reg,"");
	}
}

var cust = {
	
	edit_on: function(form_name,id){
		
		var value;
	
	  for(i=0; i<$(form_name).elements.length; i++)
	  {
		  if($(form_name).elements[i].name == "selRace"+id){
			  $(form_name).elements[i].disabled = false;
			  value = $(form_name).elements[i].value;
		  }
		  else {
			  if($(form_name).elements[i].name == "txtRace"+id){
				  if(value == "Others"){
					 $(form_name).elements[i].disabled = false; 
				  }
			  }
			  else {
				  $(form_name).elements[i].disabled = false;
			  }
		  }
	  }
  	  $('Edit'+id).style.display = 'none';
	  $('Console'+id).style.display = 'block';

	},
 	edit_off: function(form_name,id){
	  for(i=0; i<$(form_name).elements.length; i++)
	  {
		  $(form_name).elements[i].disabled = true;
	  }
  	  $('Edit'+id).style.display = 'block';
	  $('Console'+id).style.display = 'none';
	},
	
	alpha: function(obj){
		reg = /[^^0-9a-zA-Z]/g;
		obj.value =  obj.value.replace(reg,"");
	},
		
	emptyField: function(){
		var current;
		var newpass;
		var strValue;
		if($('txtPass').value.length > 0)
		{
			current = true;
			if($('txtNewPass').value.length >= 8)
			{
				$('ErrPass2').innerHTML = '';

				strValue = $F('txtNewPass');
		
				var strAllowOnly = "a..zA..Z0..9";
				
				var i=0;
				var arrAllowedChars=new Array();
				while (i < strAllowOnly.length) {
					if ((i < (strAllowOnly.length-2)) && (strAllowOnly.substr(i+1, 2) == "..")) {
						for (var j=strAllowOnly.charCodeAt(i); j<=strAllowOnly.charCodeAt(i+3); j++) {
							arrAllowedChars[arrAllowedChars.length] = String.fromCharCode(j);
						}
						i += (2*2);
						continue;
					}
					arrAllowedChars[arrAllowedChars.length] = strAllowOnly.charAt(i)+"";
					i++;
				}
				
				for (var i=0; i<strValue.length; i++){
					if (InArray(arrAllowedChars, strValue.substr(i, 1)) < 0){
						newpass = false;				
						$('ErrPass2').innerHTML = 'Alphanumeric Characters Only';
					}else{
						newpass = true;	
						$('ErrPass2').innerHTML = '';
					}
				}
			}
			else
			{
				newpass = false;	
				$('ErrPass2').innerHTML = 'Minimum 8 alphanumeric characters';
			}
		}
		else
		{
			current = false;	
			$('ErrPass').innerHTML = 'Please Enter Current Password';
		}
	
		if(current && newpass){
			//alert(current + ' 1 ' + newpass);
			return true;	
		} else{
			//alert(current + ' 2 ' + newpass);
			return false;
		}
	
	},
	
	change: function(){
		if(cust.emptyField())	
		{
			//ok so its not empty... check if current pass has errors?
			if($('img').title != 'Password Does Not Match Records')
			{
				document.formPass.submit();
			}
	
		}
	}
}

// http://www.javascriptkit.com/script/script2/validatedate.shtml
var chk = {
	chk_date : function(){
		
		dd = $F('selDay');
		
		if(dd < 10){
			dd = '0' + $F('selDay');
		}
		
		mm = $F('selMonth');
		if(mm < 10){
			mm = '0' + $F('selMonth');
		}
		
		str_date =  mm + '/' + dd + '/' + $F('selYear');
		
		var validformat=/^\d{2}\/\d{2}\/\d{4}$/; //Basic check for format validity

		if (!validformat.test(str_date)){
			$('btnCreateD').disabled = true;
			$('ErrDOB').innerHTML = '';
		}
		else{ //Detailed check for valid date ranges
			var monthfield	= str_date.split("/")[0];
			var dayfield	= str_date.split("/")[1];
			var yearfield	= str_date.split("/")[2];
			
			var dayobj = new Date(yearfield, monthfield-1, dayfield)
			if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)){
				$('btnCreateD').disabled = true;
				$('ErrDOB').innerHTML = 'Invalid Date of birth';
			}
			else{
				$('btnCreateD').disabled = false;
				$('ErrDOB').innerHTML = '';
			}
		}
	}
}