function fix(obj){
    var vals=new Array();
    var newVal = '';
    val = obj.value;
    if((val==val.toLowerCase())&&(val.length > 2)){
         if(val.match(/\s/g)){
            vals=val.split(/\s/g);
            for(i=0;i<vals.length;i++){                        vals[i]=vals[i].substr(0,1).toUpperCase()+vals[i].substr(1,vals[i].length).toLowerCase();
                 if((vals[i].toLowerCase().indexOf('mac') > -1)||(vals[i].toLowerCase().indexOf('mc')==0)||(vals[i].toLowerCase().indexOf('la')==0)||(vals[i].toLowerCase().indexOf('le')==0)){
                    if(vals[i].toLowerCase().indexOf('mac')==0){
                        var pre1 = vals[i].substr(0,3);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = vals[i].substr(3,vals[i].length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        vals[i]=pre1+pre2;
                    }
                    else{
                        var pre1 = vals[i].substr(0,2);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = vals[i].substr(2,vals[i].length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        vals[i]=pre1+pre2;
                    }
                }
                if((vals[i].toLowerCase()=="de")||(vals[i].toLowerCase()=='van')||(vals[i].toLowerCase()=='des')||(vals[i].toLowerCase()=='le')||(vals[i].toLowerCase()=='von')){
                    vals[i]=vals[i].toLowerCase();
                }
                newVal+=vals[i]+' ';
            }
            newVal = newVal.replace(/^\s+|\s+$/g, '');
            obj.value = newVal;
         }
         else{
            val=val.substr(0,1).toUpperCase()+val.substr(1,val.length).toLowerCase();
if((val.toLowerCase().indexOf('mac')==0)||(val.toLowerCase().indexOf('mc')==0)||(val.toLowerCase().indexOf('la')==0)||(val.toLowerCase().indexOf('le')==0)){
                    if(val.toLowerCase().indexOf('mac')==0){
                        var pre1 = val.substr(0,3);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = val.substr(3,val.length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        val=pre1+pre2;
                    }
                    else{
                        var pre1 = val.substr(0,2);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = val.substr(2,val.length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        val=pre1+pre2;
                    }
                }
                if((val.toLowerCase()=="de")||(val.toLowerCase()=='van')||(val.toLowerCase()=='des')||(val.toLowerCase()=='le')||(val.toLowerCase()=='von')){
                    val=val.toLowerCase();
                }
            obj.value = val;
         }
    }
    else if((val==val.toUpperCase()) && (val.length > 2)){
         if(val.match(/\s/g)){
            vals=val.split(/\s/g);
            for(i=0;i<vals.length;i++){
                vals[i]=vals[i].substr(0,1)+vals[i].substr(1,vals[i].length).toLowerCase();
if((vals[i].toLowerCase().indexOf('mac')==0)||(vals[i].toLowerCase().indexOf('mc')==0)||(vals[i].toLowerCase().indexOf('la')==0)||(vals[i].toLowerCase().indexOf('le')==0)){
                    if(vals[i].toLowerCase().indexOf('mac')==0){
                        var pre1 = vals[i].substr(0,3);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = vals[i].substr(3,vals[i].length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        vals[i]=pre1+pre2;
                    }
                    else{
                        var pre1 = vals[i].substr(0,2);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = vals[i].substr(2,vals[i].length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        vals[i]=pre1+pre2;
                    }
                }
                if((vals[i].toLowerCase()=="de")||(vals[i].toLowerCase()=='van')||(vals[i].toLowerCase()=='des')||(vals[i].toLowerCase()=='le')||(vals[i].toLowerCase()=='von')){
                    vals[i]=vals[i].toLowerCase();
                }
                newVal+=vals[i]+' ';
            }
            newVal = newVal.replace(/^\s+|\s+$/g, '');
            obj.value = newVal;
         }
         else{
            val=val.substr(0,1)+val.substr(1,val.length).toLowerCase();
if((val.toLowerCase().indexOf('mac')==0)||(val.toLowerCase().indexOf('mc')==0)||(val.toLowerCase().indexOf('la')==0)||(val.toLowerCase().indexOf('le')==0)){
                    if(val.toLowerCase().indexOf('mac')==0){
                        var pre1 = val.substr(0,3);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = val.substr(3,val.length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        val=pre1+pre2;
                    }
                    else{
                        var pre1 = val.substr(0,2);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = val.substr(2,val.length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        val=pre1+pre2;
                    }
                }
                if((val.toLowerCase()=="de")||(val.toLowerCase()=='van')||(val.toLowerCase()=='des')||(val.toLowerCase()=='le')||(val.toLowerCase()=='von')){
                    val=val.toLowerCase();
                }
            obj.value = val;
         }
    }
    else if((val.length < 3)&&(val.length > 1)){
           val=val.toUpperCase();
           obj.value = val;
    }
    else if(val.length < 2){
         alert('Please enter your Name and not just a single Initial.\n\nThank you. :)');
         obj.focus();
    }
    else{
         if(val.match(/\s/)){
            vals=val.split(/\s/g);
            for(i=0;i<vals.length;i++){
                vals[i]=vals[i].substr(0,1).toUpperCase()+vals[i].substr(1,vals[i].length).toLowerCase();
if((vals[i].toLowerCase().indexOf('mac')==0)||(vals[i].toLowerCase().indexOf('mc')==0)||(vals[i].toLowerCase().indexOf('la')==0)||(vals[i].toLowerCase().indexOf('le')==0)){
                    if(vals[i].toLowerCase().indexOf('mac')==0){
                        var pre1 = vals[i].substr(0,3);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = vals[i].substr(3,vals[i].length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        vals[i]=pre1+pre2;
                    }
                    else{
                        var pre1 = vals[i].substr(0,2);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = vals[i].substr(2,vals[i].length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        vals[i]=pre1+pre2;
                    }
                }
                if((vals[i].toLowerCase()=="de")||(vals[i].toLowerCase()=='van')||(vals[i].toLowerCase()=='des')||(vals[i].toLowerCase()=='le')||(vals[i].toLowerCase()=='von')){
                    vals[i]=vals[i].toLowerCase();
                }
                newVal+=vals[i]+' ';
            }
            newVal = newVal.replace(/^\s+|\s+$/g, '');
            obj.value = newVal;
         }
         else{
            val=val.substr(0,1).toUpperCase()+val.substr(1,val.length).toLowerCase();
if((val.toLowerCase().indexOf('mac')==0)||(val.toLowerCase().indexOf('mc')==0)||(val.toLowerCase().indexOf('la')==0)||(val.toLowerCase().indexOf('le')==0)){
                    if(val.toLowerCase().indexOf('mac')==0){
                        var pre1 = val.substr(0,3);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = val.substr(3,val.length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        val=pre1+pre2;
                    }
                    else{
                        var pre1 = val.substr(0,2);
                        pre1 = pre1.substr(0,1).toUpperCase()+pre1.substr(1,pre1.length).toLowerCase();
                        pre2 = val.substr(2,val.length);
                        pre2 = pre2.substr(0,1).toUpperCase()+pre2.substr(1,pre2.length).toLowerCase();
                        val=pre1+pre2;
                    }
                }
                if((val.toLowerCase()=="de")||(val.toLowerCase()=='van')||(val.toLowerCase()=='des')||(val.toLowerCase()=='le')||(val.toLowerCase()=='von')){
                    val=val.toLowerCase();
                }
            obj.value = val;
         }
    }
}