﻿jQuery(function($) {
		$("input.mc").bind('click keyup blur',function() {
			var aNeg = '', aSep = '', aDec = '', aSign = '', pSign = '', mNum = '', mDec = '', dGroup = '', mRound = '', aPad = ''; 
			var metaCode = '';
			aNeg = $("input:radio[name=aNeg]:checked").val();
			aSep = $("input:radio[name=aSep]:checked").val();
			aDec = $("input:radio[name=aDec]:checked").val();
			aSign = $("input:radio[name=aSign]:checked").val();
			if($("input:radio[name=aSign]:checked").attr('id') == 'aSignd'){
				$('#aSignb').val('');
				$('#aSignb').attr("disabled", true); 				
			}
			if($("input:radio[name=aSign]:checked").attr('id') == 'aSigna'){
				$('#aSignb').removeAttr("disabled");
				aSign = $('#aSignb').val();
			}
			pSign = $("input:radio[name=pSign]:checked").val();
			mNum = $("input:radio[name=mNum]:checked").val();
			if($("input:radio[name=mNum]:checked").attr('id') == 'mNumd'){
				$('#mNumb').val('');
				$('#mNumb').attr("disabled", true); 
			}
			if($("input:radio[name=mNum]:checked").attr('id') == 'mNuma'){
				$('#mNumb').removeAttr("disabled");
				mNum = $('#mNumb').val();
			}
			mDec = $("input:radio[name=mDec]:checked").val();
			if($("input:radio[name=mDec]:checked").attr('id') == 'mDecd'){
				$('#mDecbb').val('');
				$('#mDecbb').attr("disabled", true); 
			}
			if($("input:radio[name=mDec]:checked").attr('id') == 'mDeca'){
				$('#mDecbb').removeAttr("disabled");
				mDec = $('#mDecb').val();
			}
			dGroup = $("input:radio[name=dGroup]:checked").val();
			mRound = $("input:radio[name=mRound]:checked").val();
			aPad = $("input:radio[name=aPad]:checked").val();
			if (aNeg != ''){
				metaCode = aNeg;
			}
			if (aSep != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", " + aSep;
				}
				else{
					metaCode = aSep;
				}
			}
			if (aDec != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", " + aDec;
				}
				else{
					metaCode = aDec;
				}
			}
			if (aSign != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", aSign: '" + $('#aSignb').val() + "'" ;
				}
				else{
					metaCode = "aSign: '" + $('#aSignb').val() + "'" ;
				}
			}
			if (pSign != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", " + pSign;
				}
				else{
					metaCode = pSign;
				}
			}
			if (mNum != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", mNum: " + $('#mNumb').val() ;
				}
				else{
					metaCode = "mNum: " + $('#mNumb').val();
				}
			}
			if (mDec != '' && $('#mDecbb').val() != ''){
				var testNum = $('#mDecbb').val() * 1;
				if (metaCode != ''){
					if ( isNaN(testNum )){
						metaCode = metaCode + ", mDec: '" + $('#mDecbb').val() + "'" ;
					}
					else{
						metaCode = metaCode + ", mDec: " + $('#mDecbb').val() ;
					}
				}
				else{
					if ( isNaN(testNum )){
						metaCode = "mDec: '" + $('#mDecbb').val() + "'" ;
					}
					else{
						metaCode = "mDec: " + $('#mDecbb').val() ;
					}				
				}
			}
			if (dGroup != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", " + dGroup;
				}
				else{
					metaCode = dGroup;
				}
			}
			if (mRound != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", " + mRound;
				}
				else{
					metaCode = mRound;
				}
			}
			if (aPad != ''){
				if (metaCode != ''){
					metaCode = metaCode + ", " + aPad;
				}
				else{
					metaCode = aPad;
				}
			}
			$('#metaCode').text(''); 
			if(metaCode != ''){
				$('#metaCode').text('class="auto {' + metaCode + '}"'); 
			}	
		});
		var kdc = '';
		$('input.mc').keydown(function(e){
			if (!e){ // routine for key and character codes on key down
				e = window.event;
			}
			if (e.keyCode){ // IE
				kdc = e.keyCode;
			}
			else if (e.which){ // FF & O
				kdc = e.which;
			}
		});
		$('#mDecbb').keypress(function(e){
			if (kdc == 8 || kdc == 9 || kdc == 13 || kdc == 35 || kdc == 36 || kdc == 37 || kdc == 39 || kdc == 46){ // allows the backspace (8), tab (9), enter 13, end (35), home(36), left(37) and right(39) arrows key  delete key (46) to function in some browsers (FF & O) //Thanks to Bart Bons on the return key
				return;
			}
			var kpc = '';
			if (!e){ // routine for key and character codes on key down
				e = window.event;
			}
			if (e.keyCode){ // IE
				kpc = e.keyCode;
			}
			else if (e.which){ // FF & O
				kpc = e.which;
			}
			var  cc = String.fromCharCode(kpc);
			var na = '`~!#@$%^&*()][}{><|+=?,;\'"/\\';
			if(na.indexOf(cc) != -1){
				e.preventDefault();
			}
			if(this.value.charAt(0) != '' && this.value.charAt(0) * 1 >= 0 && this.value.charAt(0) * 1 <= 10 && !(kdc >= 48 && kdc <= 57)){
				e.preventDefault();
			}
			else if(this.value.charAt(0) != '' && this.value.charAt(0) == '0'){
				e.preventDefault();
			}			
			if($('#mDecbb').val() * 1 > 10 && (kdc >= 48 && kdc <= 57)){
				e.preventDefault();
			}		
		});
		
		$('#rd').click(function(){
			$('#metaCode').text('');
		});				
	$('input.auto').blur(function(){
		if (this.id == 'mNumb'){
			return;
		}
		var convertInput = '';
		if(this.name != 'decimal' && this.value != '' && this.id != 'ii1' & this.id.charAt(0) != 'n'){
			var	strip = 'db' + this.id.charAt(2);
			var format = 'ni' + this.id.charAt(2);
			convertInput = $.fn.autoNumeric.Strip(this.id);
			$('#'+strip).val(convertInput);
			$('#'+format).val($.fn.autoNumeric.Format(format, convertInput));
		}
		if((this.id == 'ii1' || this.id == 'dpb') && this.value != '' && this.id.charAt(0) != 'n'){
			convertInput = $.fn.autoNumeric.Strip('ii1');
			var i = 1;
			for (i=1; i <= 9; i++){
				document.getElementById('ni'+i).value = $.fn.autoNumeric.Format('ni'+i, convertInput);
			}	
		}
	});	
});
