function addCommas(nStr) {

	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


function calculate() {

	var val1 = document.getElementById('val1').value;
	var val2 = document.getElementById('val2').value;

	var val_a = val1 * 12;
    var val_b = val2 * 12;
    var val_c = val_a * 500;
    var val_d = val_a * val_b * 250;
    var result = val_c + val_d;

	document.getElementById('check-name').innerHTML = document.getElementById('name').value;
	document.getElementById('result').innerHTML = addCommas(result);
	document.getElementById('result_text').innerHTML = toWords(result + '');
}


function checkEmail(myForm) {

	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.email.value)) {

		return true;
	}

	alert("Invalid E-mail Address! Please re-enter.");
	myForm.email.style.backgroundColor="#FFCCCC";
	return false;
}


function checkFirstName(myForm) {

	var temp = myForm.firstname.value;

	temp = temp.replace(/^\s+/, '');
	temp = temp.replace(/\s+$/, '');

	if (temp.length != 0) {

		return true;
	}

	alert("Invalid First Name! Please re-enter.");
	myForm.firstname.style.backgroundColor="#FFCCCC";
	return false;
}


function checkTerms() {

    if (document.forms['register'].elements['tos'].checked == 1) {

        return true;
    }

	else {

        window.alert('Kindly confirm whether you agree with the Terms and Conditions');
        return false;
    }
}


function doDate() {

    var dateObj = new Date();

    var day = dateObj.getDate();
    if (day < 10) {

        day = "0" + day;
    }

    var month = dateObj.getMonth() + 1;
    if (month < 10) {

        month = "0" + month;
    }

    var year = dateObj.getFullYear();
    var today = month + " / " + day + " / " + year;

    document.getElementById('check-date').innerHTML = today;
}


function trim(text) {

	text = text.replace(/^\s+/, '');
	text = text.replace(/\s+$/, '');

	return text;
}


function toggleDivs(div_id) {

    var div_obj = document.getElementById(div_id);

    if (div_obj.style.display == "none") {

        div_obj.style.display = "block";
    }

    else {

        div_obj.style.display = "none";
    }
}


function toWords(s) {

	var th = ['','Thousand','Million', 'Billion','Trillion'];

	var dg = ['Zero','One','Two','Three','Four', 'Five','Six','Seven','Eight','Nine'];
	var tn = ['Ten','Eleven','Twelve','Thirteen', 'Fourteen','Fifteen','Sixteen', 'Seventeen','Eighteen','Nineteen'];
	var tw = ['Twenty','Thirty','Forty','Fifty', 'Sixty','Seventy','Eighty','Ninety'];

	s = s.replace(/[\, ]/g,'');

	if (s != String(parseFloat(s)))
		return 'Not a number';

	var x = s.indexOf('.');

	if (x == -1)
		x = s.length;

	if (x > 15)
		return "Hmm, maybe that's too ambitious!";

	var n = s.split('');
	var str = '';
	var sk = 0;

	for (var i=0; i < x; i++) {

		if ((x-i)%3==2) {
			if (n[i] == '1') {

				str += tn[Number(n[i+1])] + ' ';
				i++; sk=1;
			}

			else if (n[i]!=0) {

				str += tw[n[i]-2] + ' ';sk=1;
			}
		}

		else if (n[i]!=0) {

			str += dg[n[i]] +' ';
			if ((x-i)%3==0)
				str += 'Hundred ';
			sk=1;
		}

		if ((x-i)%3==1) {
			if (sk)
			str += th[(x-i-1)/3] + ' ';sk=0;
		}
	}

	if (x != s.length) {
		var y = s.length;
		str += 'point ';

		for (var i=x+1; i<y; i++)
			str += dg[n[i]] +' ';
	}

	return str.replace(/\s+/g,' ');
}


function validateForm(myForm) {

	if (checkFirstName(myForm) == false) {

		return false;
	}

	else if (checkEmail(myForm) == false) {

		return false;
	}

	return true;
}