function getElementsByClass(node,searchClass,tag) {
	var classElements = new Array();
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

		
function register_phone_fields(){
	var phone_fields = getElementsByClass(document, 'phone', 'input');
	
	//alert(phone_fields.length);
	for(i = 0; i < phone_fields.length; i++){
		init_phone_field(phone_fields[i]);
	}
}

function init_phone_field(pfield){
	//alert(pfield);
	pfield.defaultValue = pfield.value;
	pfield.onfocus = function(e) {
		phone_on_focus(pfield);
	}
	pfield.onblur = function(e) {
		phone_on_blur(pfield);
	}
}

function phone_on_focus(e){
	e.style.background='#fffeeb';
	if(e.value==e.defaultValue){
		e.value = '';
	}
}

function phone_on_blur(e){
	e.style.background='#FFF';
	var reg = new RegExp("[^0-9]+");
	var cleanVal = e.value;
	while(cleanVal.match(reg)){
		cleanVal = cleanVal.replace(reg, '');
	}
	e.value=cleanVal;
	if(e.value==''){
		e.value = e.defaultValue;
	}else{
		if(cleanVal.substring(0,1)== '1') {
			var str = '(' + cleanVal.substring(1,4) + ') ';
			str += cleanVal.substring(4,7) + '-' + cleanVal.substring(7,11);
			if(cleanVal.length > 11) str += ' x' + cleanVal.substring(11,15);
			e.value = str;
		}else {
			var str = '(' + cleanVal.substring(0,3) + ') ';
			str += cleanVal.substring(3,6) + '-' + cleanVal.substring(6,10);
			if(cleanVal.length > 10) str += ' x' + cleanVal.substring(10,16);
			e.value = str;
		}
	}
}

function register_default_fields(){
    var default_fields = getElementsByClass(document, 'clear', 'input');
   
    for(i = 0; i < default_fields.length; i++){
        init_default_field(default_fields[i]);
    }
	
	default_fields = getElementsByClass(document, 'clear', 'textarea');
   
    for(i = 0; i < default_fields.length; i++){
        init_default_field(default_fields[i]);
    }
}

function init_default_field(dfield){
	dfield.style.background='#fff';
    dfield.defaultValue = dfield.value;
    dfield.onfocus = function(e) {
		dfield.style.background='#fffeeb';
        if(dfield.value==dfield.defaultValue){
            dfield.value = '';
        }
    }
    dfield.onblur = function(e) {
		dfield.style.background='#fff';
        if(dfield.value== ''){
            dfield.value = dfield.defaultValue;
        }
    }
}

function register_dollar_fields(){
    var dollar_fields = getElementsByClass(document, 'dollar', 'input');
    for(i = 0; i < dollar_fields.length; i++){
        init_dollar_field(dollar_fields[i]);
    }
}

function init_dollar_field(pfield){
    pfield.defaultValue = pfield.value;
    pfield.onfocus = function(e) {
		pfield.style.background='#fffeeb';
        if(pfield.value==pfield.defaultValue){
            pfield.value = '';
        }
    }
    pfield.onblur = function(e) {
		pfield.style.background='#fff';
        dollar_on_blur(pfield);
    }
}

function dollar_on_blur(e){
    var reg = new RegExp("[^0-9.]+");
    var cleanVal = e.value;
    while(cleanVal.match(reg)){
        cleanVal = cleanVal.replace(reg, '');
    }
    e.value=cleanVal;
    if(e.value==''){
        e.value = e.defaultValue;
    }else{
        var num = parseInt(cleanVal, 10).toString();
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
            num = num.substring(0,num.length-(4*i+3))+',' + num.substring(num.length-(4*i+3));
        }
        e.value = '$ '+num;
    }
}


