
function ParsePhone(phoneVal) {   
    phoneVal = phoneVal.replace(/[^\d]/g,'');
    
    if (phoneVal.length == 11) {
        if(phoneVal.substring(0,1) == '1') {
            phoneVal = phoneVal.substring(1);            
            if (isValidAreaPref(phoneVal)) {
                return phoneVal;
            }
        }
    } else {
        if (phoneVal.length == 10) {
            if (isValidAreaPref(phoneVal)) {
                return phoneVal;
            }            
        }
    }    
    return '';
}
function isValidAreaPref(phone) {    
    var ba = new Array( "123", "111", "222", "333", "444", "555", "666", "777", "999", "000" );
    var bp = new Array( "000", "555" );    
    var isValid = true;    
    var area = phone.substring(0, 3);    
    var pref = phone.substring(3, 6);
    
    for (var i = 0; i < ba.length; i++)
    {
        if (area == ba[i])
        {
            isValid = false;
        }
    }
    for (var i = 0; i < bp.length; i++)
    {        
        if (pref == bp[i])
        {
            isValid = false;
        }
    }
    return isValid;    
}
function CheckPTelNo() {    
    var field = document.getElementById('PTelNo');
    var parsedPhone =  ParsePhone(field.value);
    if ( parsedPhone.length == 10 ) {
        field.value = parsedPhone;
        return true;
    } else {        
        return [[field, "Phone number blank or invalid."]];    
    }
}
function CheckPhone() {
    var field = document.getElementById('Phone');
    var parsedPhone =  ParsePhone(field.value);
    if ( parsedPhone.length == 10 ) {
        field.value = parsedPhone;
        return true;
    } else {        
        return [[field, "Phone number blank or invalid."]];    
    }
}
function parseBadWords(fields) {
    var fieldsArray = fields.split(',');
    var badwords = new Array("fuck","fucker","shit","ass","asshole","jerk","pussy","cunt","dick","penis","cock");
    var fieldslen = fieldsArray.length;
    var badwordslen = badwords.length;    
    for (i=0;i<fieldslen;i++) {
        var fieldname = '#' + fieldsArray[i];
        var value = $.trim( $(fieldname).attr("value") );
        for (j=0;j<badwordslen;j++) {
            if (value.toLowerCase() == badwords[j]) {
                $(fieldname).attr("value",'');
            }
        }
    }
}
$(document).ready(function(){
    $('#getquote').bind('click',function(e){
            e.preventDefault();
            if ( $('#makeindex').attr("value") != "") {
                $('#makeerror').hide();
                var value = $('#makeindex').attr("value");                
                $("#Make option[value='" + value + "']").attr('selected', 'selected');
                $('.intro').hide();
                $('.form').show();
                $('.getquote').removeClass('p1');
                $('.getquote').addClass('p2');
            } else {
                $('#makeerror').show();
            }
        });
    
    $('#logo').click(function(){        
        location.href = "/" 
    });
    $('.jqOver').bind('mouseover', function(e){        
		$(this).attr({src: $(this).attr('jqOv')});
	});
	$('.jqOver').bind('mouseout', function(e){
		$(this).attr({src: $(this).attr('jqUp')});
	});
	$('.jqOver').bind('click', function(e){
		$(this).attr({src: $(this).attr('jqUp')});
	});
    
    $("#submit").bind('click',function(event){
        $('#formerror').hide();
        $("#Phone").attr("value",$.trim($("#Phone").attr("value")));
        $("#FirstName").attr("value",$.trim($("#FirstName").attr("value")));
        $("#LastName").attr("value",$.trim($("#LastName").attr("value")));
        $("#Address").attr("value",$.trim($("#Address").attr("value")));
        $("#City").attr("value",$.trim($("#City").attr("value")));
        $("#Zip").attr("value",$.trim($("#Zip").attr("value")));
        $("#PEAddress").attr("value",$.trim($("#PEAddress").attr("value")));
        $("#Email").attr("value",$.trim($("#Email").attr("value")));
        $("#Model").attr("value",$.trim($("#Model").attr("value")));
        parseBadWords('PTelNo,Phone,FirstName,LastName,Address,City,Zip,PEAddress,Email,Model');
    });
    $("#frm0").RSV({        
        customErrorHandler: ErrorHandle,
      rules: [
        "required,FirstName,Please enter your First Name.",
        "required,LastName,Please enter your Last Name.",
        "required,Address,Please enter your Address.",
        "required,City,Please enter your City.",
        "required,Zip,Please enter your Zip.",
        "digits_only,Zip,Zip code can only have numbers.",
        "length=5,Zip,Zip code must be 5 digits long.",
        "required,Phone,Please enter your Phone Number.",
        "function,CheckPhone",
		"required,Make,Please select your Car Make.",		
        "required,Model,Please enter your Car Model Name.",
		"required,Year,Please select your Car Year.",
		"required,Miles,Please select your Car Miles.",
        "required,Email,Please enter your Email Address.",        
        "valid_email,Email,Please enter a valid Email Address."
      ]
    });
    
    function ErrorHandle(f, errorInfo) {
        var message = "";
        for (var i=0; i<errorInfo.length; i++) {
              // errorInfo[i][0] contains the form field node that just failed the validation, e.g.  
              // errorInfo[i][0].focus(); 
              // errorInfo[i][0].style.border = "red";                 
              // errorInfo[i][1] contains the error string to display for this failed field, e.g.
              // alert(errorInfo[i][1]);
              message += errorInfo[i][1] + "<br/>";
            }
        if (message == ""){
            $('#formerror').hide();
			$('.form').hide();
            $('.freequote').hide();
            $('.processing').show();    
            form.submit();            
            return false;
        } else {
            $('#formerror .pad').html('<p>' + message + '</p>');
            $('#formerror').show();
            return false;
        }
    }
    $(".jqTySelect").click(function(e){        
        e.preventDefault();
        var target = '#' + $(this).attr("target");        
        if ($(target).is(":hidden")) {
          $(target).slideDown("fast");
        } else {
          $(target).hide();
        }
        
    }); 
	$('.jqtb .tbh ul li a').bind('click', function(e){
		e.preventDefault();
		var jqlm = $(this).parent().parent().parent().parent();		
		var ul = $(this).parent().parent();		
		jqlm.children('.tbh').children().children().removeClass('active');
		jqlm.children('.tbc').children().removeClass('active');	
		var tabname = '.' + $(this).attr('jqTab');		
		ul.children(tabname).addClass('active');		
		var pagename = '.tbp.' + $(this).attr('jqTab');
		jqlm.children('.tbc').children(pagename).addClass('active');
		jqlm.children('.tbc').children(pagename).focus();
	}); 
    function ShowIndexNews() {        
        var url = "/local/inc/news.txt";
        var returnstr = "";
		$.ajax({
			url: url,
			cache: false,
			timeout: 50000,
			success: function(str) {                
				ParseNews(str);
			},
			error: function(xhr) {
				str = 'Error||Communication Error: ' + xhr.status + ' ' + xhr.statusText;
				ParseNews(str);
			}
		});
        return returnstr;
    }    
    function ParseNews(str) {        
        var newsarray = str.split('\n');
        newsarray.splice(4,1);
        var t = setTimeout(function(){
                ShowNewsItem(1,newsarray);
            },5000);
    }    
    function ShowNewsItem(i,newsarray) {
        var newsdiv = "#news .pad";
        var newsitem = newsarray[i];
        i += 1;
        if (newsarray.length == i) {
            i = 0;
        }
        var newitemArray = newsitem.split('|');        
        var formatted = '<p class="title"><strong>' + newitemArray[0] + '</strong></p><img src="' + newitemArray[1] + '"/><p>' + newitemArray[2] + '</p>';        
        $(newsdiv).fadeOut('slow',function(){
            $(newsdiv).html(formatted);
            $(newsdiv).fadeIn('slow', function(){
                    setTimeout(function(){
                        ShowNewsItem(i,newsarray);
                    },5000);
                });
        })
    }
    ShowIndexNews();
});

