// JavaScript Document
function findAndReplace(searchText, replacement, searchNode) {
    if (!searchText || typeof replacement === 'undefined') {
        // Throw error here if you want...
        return;
    }
    var regex = typeof searchText === 'string' ?
                new RegExp(searchText, 'g') : searchText,
        childNodes = (searchNode || document.body).childNodes,
        cnLength = childNodes.length,
        excludes = 'html,head,style,title,link,meta,script,object,iframe';
    while (cnLength--) {
        var currentNode = childNodes[cnLength];
        if (currentNode.nodeType === 1 &&
            (excludes + ',').indexOf(currentNode.nodeName.toLowerCase() + ',') === -1) {
            arguments.callee(searchText, replacement, currentNode);
        }
        if (currentNode.nodeType !== 3 || !regex.test(currentNode.data) ) {
            continue;
        }
        var parent = currentNode.parentNode,
            frag = (function(){
                var html = currentNode.data.replace(regex, replacement),
                    wrap = document.createElement('div'),
                    frag = document.createDocumentFragment();
                wrap.innerHTML = html;
                while (wrap.firstChild) {
                    frag.appendChild(wrap.firstChild);
                }
                return frag;
            })();
        parent.insertBefore(frag, currentNode);
        parent.removeChild(currentNode);
    }
}

function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	
	
	for (i = 0; i < sText.length && IsNumber == true; i++) { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}



function replaceAll (numToInsert){
	var fullExpression = "";
	var iteration=new Array();
	iteration[0] = "\\(\\d{3}\\).\\d{3}.\\d{4}";
	iteration[1] = "\\d{3}.\\d{3}.\\d{4}";
	iteration[2] = "\\d{3}.\\d{7}";
	iteration[3] = "\\(\\d{3}\\)\\d{3}.\\d{4}";
	iteration[4] = "\\(\\d{3}\\)\\d{7}";
	iteration[5] = "\\(\\d{3}\\).\\d{7}";	
	iteration[6] = "\\(.\\d{3}.\\).\\d{7}";
	iteration[7] = "\\(.\\d{3}.\\)\\d{7}";
	iteration[8] = "\\(.\\d{3}.\\)\\d{3}.\\d{4}";
	iteration[9] = "\\(.\\d{3}.\\).\\d{3}.\\d{4}";

	var iCount = iteration.length - 1;
	for (i=0;i<=iCount;i++){
		if (i == 0){
			fullExpression = iteration[i];			
		}else{
			fullExpression = fullExpression + "|" + iteration[i];
		}
	}
	//alert(fullExpression);
	input = new RegExp(fullExpression,"gi"); 
	output = numToInsert;
	document.body.innerHTML = document.body.innerHTML.replace(input,output); 
}

function replaceSingle (numToFind, numToInsert){
	fullExpression = regexEscape(numToFind);
	input = new RegExp(fullExpression,"gi"); 
	output = numToInsert;
	document.body.innerHTML = document.body.innerHTML.replace(input,output); 
}

function regexEscape (safesearch){
	bs=String.fromCharCode(92);  
	unsafe=bs+".+*?[^]$(){}=!<>¦:";  
	for (i=0;i<unsafe.length;++i){  
		safesearch=safesearch.replace(new RegExp("\\"+unsafe.charAt(i),"g"),bs+unsafe.charAt(i)); 
	}
	return safesearch;
}

function getURLVariable( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}
