/*	
	SmoothValidation.js v 1.1 - Auto Completing Validations	
	Author:  Nitin Menon
	Email: 	 nitin@bigbuzz.com
	Date:	 4/09/2007 12:43 AM 	
*/


function addEvent(a,b,c){if(a.addEventListener){a.addEventListener(b,c,false);EventCache.add(a,b,c)}else if(a.attachEvent){a["e"+b+c]=c;a[b+c]=function(){a["e"+b+c](window.event)};a.attachEvent("on"+b,a[b+c]);EventCache.add(a,b,c)}else{a["on"+b]=a["e"+b+c]}}var EventCache=function(){var d=[];return{listEvents:d,add:function(a,b,c){d.push(arguments)},flush:function(){var i,item;for(i=d.length-1;i>=0;i=i-1){item=d[i];if(item[0].removeEventListener){item[0].removeEventListener(item[1],item[2],item[3])};if(item[1].substring(0,2)!="on"){item[1]="on"+item[1]};if(item[0].detachEvent){item[0].detachEvent(item[1],item[2])};item[0][item[1]]=null}}}}();

function formatPhone( elm ){
	document['onkeyup'] = function( e ) 
	{
		var evt = e || window.event;
		var keypress = evt.keyCode;
	
		if( keypress != 8 ){
			var p = elm.value;
			var pLength = p.length;
			if(pLength){
				p = p.replace(/[a-zA-Z!@#$%^&*\s?"'._~`:;<=>{}()|+-]/g,"");
				
				var firstNumber = p.substring(0,1);
				if(firstNumber=="1"){
					var firstSet = p.substring(1,4);
					var secondSet = p.substring(4,7);
					var thirdSet = p.substring(7,11);
					if (p.length >= 1) p = firstNumber + '-' + firstSet; 
					if (p.length >= 5) p = p + '-' + secondSet;
					if (p.length >= 9) p = p + '-' + thirdSet;
				}else{
					var firstSet = p.substring(0,3);
					var secondSet = p.substring(3,6);
					var thirdSet = p.substring(6,10);
					if (p.length >= 3) p = firstSet + '-' + secondSet; 
					if (p.length >= 7) p = p + '-' + thirdSet ;
					if (p.length >= 8) p = p;
				}
			}
			
			elm.value = p;
		}
	}
}

function SmoothValidation(){
	var inputFields = document.getElementsByTagName('input');	
	for (var i=0; i<inputFields.length; i++){
		var _input = inputFields[i];
		var _title = _input.getAttribute('title');
		if(_title && _title.length){
			switch(_title){
				case "phone":
					_input.onkeyup = function(){ formatPhone( this ); };
					_input.onchange = function(){ formatPhone( this ); };
				break;
			}		
		}
	}
}

addEvent( window, 'load', SmoothValidation );