function numberReplace(old_number, new_number){

	var searchText 	= old_number,
			replaceText = new_number;
		
		
	var wp_call = {
	    
	    //Regular Expression to find the number
			R: /^[^0-9]*([0-9]( |-)?)?(\(?\d\d\d\)?)?( |-|\.)?\d\d\d( |-|\.)?\d{4,4}(( |-|).+)?$/g,
		
			//New Number
	    newNumber: new_number,
	    oldNumber: old_number,
	    
	    //Function to strip the number of its special chars
	    stripNumber: function(longNumber){
	    	
	    	var number = longNumber,
	    		numberArray = number.split(""),
	    		newNumber = [];
	    	
	    	for(i=0; i<numberArray.length; i++){
	    		
	    		if( /\d/.test(numberArray[i]) ){
	    			newNumber.push(numberArray[i]);
	    		}
	    	}
	    	
	    	return newNumber;
	    },
	    
	    check_old_number: function(m){
	    		
	    	var matchedNumber = m[0].split(""),
	    		matchedNumberStripped = this.stripNumber(m[0]),
	    		oldNumberStripped = this.stripNumber(this.oldNumber)
	    		mn = '',
	    		on = '';
	    		
	    	if( matchedNumberStripped.length === 11){
	    		
	    		for(i=1; i<matchedNumberStripped.length; i++){
		    		mn += matchedNumberStripped[i];
		    	}
		    	
		    	for(i=0; i<oldNumberStripped.length; i++){
		    		on += oldNumberStripped[i];
		    	}
		    	
		    	
		    	if(mn !== on){
			
		    		return false;
		    		
		    	}
		    	
		    	return true;
		    	
	    	}else if( matchedNumberStripped.length === 7){
	    		
	    		for(i=0; i<matchedNumberStripped.length; i++){
		    		mn += matchedNumberStripped[i];
		    	}
		    	
		    	for(i=3; i<oldNumberStripped.length; i++){
		    		on += oldNumberStripped[i];
		    	}
		    	
		    	
		    	if(mn !== on){
			
		    		return false;
		    		
		    	}
		    	
		    	return true;
		    	
	    	}else{
	    	
		    	for(i=0; i<matchedNumberStripped.length; i++){
		    		mn += matchedNumberStripped[i];
		    	}
		    	
		    	for(i=0; i<oldNumberStripped.length; i++){
		    		on += oldNumberStripped[i];
		    	}
		    	
		    	if(mn !== on){
		    		
		    		return false;
		    		
		    	}
		    	
		    	return true; 
	    	
	    	}
	    	
	    },
	     
	    get_number_data: function(old_number, new_number){
	    
	    	var d = new_number; 
	    	
	    	if( d ){

	    		this.rewrite_document();
	    		
	    	}
	    
	    },
	    
	    rewrite_number: function(m){
	    	
	    	var matchedNumber = m[0].split(""),
	    	matchNumberStripped = this.stripNumber(m[0]),
	    	newNumber = this.stripNumber(this.newNumber);
	
	    	if ( matchNumberStripped.length === 7 ) {
	    		
	    		var pairIndex = 3;

	    	} else {
	    	
	    		var pairIndex = 0;
	    		
	    	}
	    	
	    	var pairIndexMax = newNumber.length;
	    	
	    	for( i=0; i<matchedNumber.length; i++){
	    		
	    		if( /\d/.test(matchedNumber[i]) ){
	    			
	    			if( pairIndex < pairIndexMax ){
	    				
	    				if(matchNumberStripped.length === 11){
	    					
	    					if( i === 0){
	    					
	    						 pairIndex--;
	    						 
	    					}else{
	    					
	    						matchedNumber[i] = matchedNumber[i].replace(matchedNumber[i], newNumber[pairIndex]);	
	    					}
	    					
	    				}else{
	    					
	    					matchedNumber[i] = matchedNumber[i].replace(matchedNumber[i], newNumber[pairIndex]);	    
	    					
	    				}
	    								
	    					
	    			}
					
						pairIndex++;
					
	    		}
	    			    		
	    	}
			
				var replacedNumber = '';
			
				for(i=0; i<matchedNumber.length; i++){
				
					replacedNumber += matchedNumber[i];
				
				}
			
				return replacedNumber; 
	    
	    },
	    
	    rewrite_text_node: function(node){
	    	
	    	var txt = node.nodeValue;
	    	var m 	= this.R.exec(txt);
	    	
	    	if( !m ) return; //no match
	    	
	    	var on = this.check_old_number(m);
	    	
	    	if( !on ) return;
	    	
	    	//Rewrite Matched Number
	    	var rw = this.rewrite_number(m);
	    	
	    	//Replace value in document
	    	node.nodeValue = node.nodeValue.replace(txt, rw);

	    	if( !rw ) return; //number unchanged
	    	
	    },
	    
	    replace_all_numbers: function( node ){

	    	if( !node ) return;
	    	
	    	//Skip certain types?
	    	if( node.nodeName == 'SCRIPT' || node.nodeName == 'STYLE' ) return;
	    	
	    	//rewrite this node text
	    	if( node.nodeName == '#text'){
	    		
	    		this.rewrite_text_node( node );
	    		
	    	}
	    	
	    	// walk children nodes
	    	var nn, i;
	    	
	    	for(i=0; i < node.childNodes.length; i++){
	    		
	    		nn = node.childNodes.length;
	    		
	    		this.replace_all_numbers( node.childNodes[i] );
	    		
	    		if( node.childNodes.length != nn){
	    			
	    			i++;
	    			
	    		}
	    	}
	    },
	    	    
	    rewrite_document: function(){
	    	
				wp_call.replace_all_numbers(document.body);
			
	    }
	     
	};
	
	wp_call.get_number_data(searchText, replaceText);
	
}
