/* 
driver_focus.js: library of javascript for animation / branding effects
    david.kelly@fanore.com (http://www.fanore.com/website_design.htm)
    
    
    
*/
var timer_increment=false;
var previousPoint = null;//used for graph mouseover tracking
function setup_page(){
	$('ul#headline').innerfade({
		speed: 2000,
		timeout: 8000,
		type: 'sequence',
		containerheight: '240px'
	});
	$('li','#headline').removeClass('no_show');

	$('ul#gallery').innerfade({
		speed: 2000,
		timeout: 8000,
        animationtype: 'fade',
		type: 'sequence',
		containerheight: '240px'
	});
	$('li','#gallery').removeClass('no_show');
    $('li','#introduction').show('slow');
	//$('li','#introduction').removeClass('no_show');

    $("img", "#assesment").bind("click", function(){  
        
        var img=$(this).attr("src")
       // alert(img.indexOf('off'));
        if (img.indexOf('off')==-1){
            $(this).attr("src",img.replace('on.gif','off.gif'));
            $(this).nextAll('img').attr("src",img.replace('on.gif','off.gif'));
            $(this).parent('span').next('span').text($(this).prev('img').attr("alt"));
            //alert($(this).prevAll().toString());

        } 
        else{
            $(this).attr("src",img.replace('off.gif','on.gif'));
            $(this).prevAll('img').attr("src",img.replace('off.gif','on.gif'));
            $(this).parent('span').next('span').text($(this).attr("alt"));
           
        }
        
     });  
     //bind to all external links in page
     $('a').bind('click',function(){
        var href=$(this).attr('href');
        var b_ref=$('#u_base').val();
        if ((href.indexOf(b_ref)==-1)&&(href.indexOf('#')==-1)&&(href.indexOf('javascript')==-1)){
            var n_ref='javascript: open_link(\'' + href + '\');';
            $(this).attr('href',n_ref);
        }
     });
     
       
     
                     if ($('#questionaire').length){
                        $('#but_back').bind('click',function(){
                            window.location.href=$('#h_back').val();
                        });
                        $('#questionaire').submit(
                            function(){
                            return eval('next_question();')
                            });
                     }
                    if ($('#placeholder_false').length){
                        eval('present_results();');
                    }
    if ($('#terms').length){
        $('#terms').removeClass('no_show');
        //$('#terms').hide();
        
    }
    if ($('#driveraware').length){
        $('#driveraware').submit(
                            function(){
                            return eval('check_answers();')
                            });
    }
    
    if ($('#form_contact_us').length){
        $('#form_contact_us').submit(function(){
            return eval('validate_contact();');
        }); 
    }
    
    fix_height();
}

function check_answers(){
    var q_buffer=$('#questions').val();
    var is_final=parseInt($('#is_final').val())
    
    
    //alert(q_buffer);
    var a_buffer=q_buffer.split(',');
    for (var i=0;i<a_buffer.length;i++){
        if (is_final==0){
        
            var a='score' + a_buffer[i];
            var p=$('input:radio[@name=\'' + a + '\']')
            var v=0;
            for (var x=0;x<p.length;x++){
                if(p[x].checked){
                    v=p[x].value;
                }; 
            }
        }//else final set (mixed input types)
        else{
            //var c=a_buffer[i].replace('answer','');
            switch (parseInt(a_buffer[i])){
                case 12:// d.license
                    var v=0; // set error code
                    var a='answer' + a_buffer[i];
                    //alert(a)
                    if ($('#' + a).val().length==0){
                        alert("Please indicate your license status!");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 13: // experience
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("How many years are you driving since acquiring your full driving license?");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 14: //penalty points
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("Please indicate how may TIMES (if any) you have recieved penalty points!");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 15: //collisions
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("Please indicate the number of collisions in the past 5 years!");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 16: //mileage
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("Please indicate your approximate annual mileage/kilometers!");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 17: //type of vehicle
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("Please indicate what type of vehicle you drive!");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 18: //professional?
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("Do you drive as part of your job?");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 19://not required
                    v=1;
                    break;
                case 20: //gender
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("Please select your gender!");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                case 21: //age range
                    var a='answer' + a_buffer[i];
                    if ($('#' + a).val().length==0){
                        alert("Please select your age group!");
                        $('#' + a).focus();
                        return false;
                    }
                    v=1;
                    break;
                default: //options
                    var a='score' + a_buffer[i];
                    var p=$('input:radio[@name=\'' + a + '\']')
                    var v=0;
                    for (var x=0;x<p.length;x++){
                        if(p[x].checked){
                            v=p[x].value;
                        }; 
                    }
                    break;
            }//end switch statement
        
        }//end test if final set
        if (v==0){
            alert("please answer all of the questions before proceeding!");
            return false;
        }
    }
    return true;


}
function open_link(url){
 //alert($(window).height())
 var settings='Height=' + ($(window).height() - 50) + ',Width=' + ($(window).width() - 50) + ',Top=25,left=25,scrollbars=yes,resizable=1, location=1,status=1'
 var w=window.open(url,'driverfocus',settings);    
 w.focus();
}


function launch_assesment(){
    $('#terms').show('slow');
}
function next_question(param_url){
    
    var p= $('input:radio')
    var a=0;
    for (var i=0;i<p.length;i++){
        if(p[i].checked){
            a=p[i].value;
        }; 
    }
    if (a==0){
        alert("please select an option !");
        return false
    }
    $('#answer').val(a);

return true;
    
}



function present_results(){
    var user_result=$('#user_result').text();
    var fleet_fit=$('#fleetfit_result').text();
    var self_assesment=$('#self_result').text();

//prepare user result graph data
    var u_array=user_result.split('$');
    var u_data = [];
    for (var n=0;n<u_array.length;n++){
        var k=u_array[n].split(',');
        var v=[parseInt(k[0]) , parseInt(k[1])]
        u_data[n]=v
    }
    
    
//prepare fleetfit result graph data
    var f_array=fleet_fit.split('$');
    var f_data = [];
    for (var n=0;n<f_array.length;n++){
        var k=f_array[n].split(',');
        var v=[parseFloat(k[0]) , parseFloat(k[1])]
        f_data[n]=v
    }
    
    
//prepare self_assesment result graph data
    var s_array=self_assesment.split('$');
    var s_data = [];
    for (var n=0;n<s_array.length;n++){
        var k=s_array[n].split(',');
        var v=[parseFloat(k[0]) , parseFloat(k[1])]
        s_data[n]=v
    }
    //alert($("#placeholder_false"));
    $.plot($("#placeholder_false"),[
    {
        label: "YOUR Self-assessment Rating",
        data: u_data,
        lines: {show:true},
        points: {show:true,radius:3}
    },
    {
        label: "2008 Research Study Rating",
        data: s_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }
    ],
    {
    legend: {position: "se",backgroundOpacity: 0.3},
    selection: { mode: "xy" },
             grid: { hoverable: true, clickable: true },
    colors: ['#008000','#FF0000'],
    xaxis:{
    ticks:[[0,""],[1,""],[2,""],[3,""],[4,""],[5,""],[6,""],[7,""],[8,""],[9,""],[10,""],[11,""]],
    tickSize:1,
    min: 0.5,
    max: 10.5
    
    }
    ,
     yaxis:{
     ticks:[[0,""],[0.5,"0.5"],[1,"1"],[1.5,"1.5"],[2,"2"],[2.5,"2.5"],[3,"3"],[3.5,"3.5"],[4,"4"],[4.5,"4.5"],[5,"5"],[5.5,""]],
     tickSize:1,
     max: 5.5
     }
     
     }
     
     );    

    $.plot($("#placeholder_true"),[
    {
        label: "YOUR Self-assessment Rating",
        data: u_data,
        lines: {show:true},
        points: {show:true,radius:3}
    },
    {
        label: "2008 Research Study Rating",
        data: s_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }
    ],
    {
    legend: {position: "se",backgroundOpacity: 0.3},
    selection: { mode: "xy" },
             grid: { hoverable: true, clickable: true },
    colors: ['#008000','#FF0000'],
    xaxis:{
    ticks:[[0,""],[1,""],[2,""],[3,""],[4,""],[5,""],[6,""],[7,""],[8,""],[9,""],[10,""],[11,""]],
    tickSize:1,
    min: 0.5,
    max: 10.5
    
    }
    ,
     yaxis:{
     ticks:[[0,""],[0.5,"0.5"],[1,"1"],[1.5,"1.5"],[2,"2"],[2.5,"2.5"],[3,"3"],[3.5,"3.5"],[4,"4"],[4.5,"4.5"],[5,"5"],[5.5,""]],
     tickSize:1,
     max: 5.5
     }
     
     }
     
     );    


    $.plot($("#placeholder_2_false"),[
    {
        label: "YOUR Self-assessment Rating",
        data: u_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }, 
    {
        label: "2008 Research Study - FleetFit\&#8482; Assessment Rating",
        data: f_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }
    ],
    {
    legend: {position: "se",backgroundOpacity: 0.3},
    selection: { mode: "xy" },
             grid: { hoverable: true, clickable: true },
    colors: ['#008000','#0000FF'],
    xaxis:{
    ticks:[[0,""],[1,""],[2,""],[3,""],[4,""],[5,""],[6,""],[7,""],[8,""],[9,""],[10,""],[11,""]],
    tickSize:1,
    min: 0.5,
    max: 10.5
    }
    //xaxis:{ticks:[[0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]}
    ,
     yaxis:{
     ticks:[[0,""],[0.5,"0.5"],[1,"1"],[1.5,"1.5"],[2,"2"],[2.5,"2.5"],[3,"3"],[3.5,"3.5"],[4,"4"],[4.5,"4.5"],[5,"5"],[5.5,""]],
     tickSize:0.5,
     max: 5.5
     }
     
     }
     
     );    

    $.plot($("#placeholder_2_true"),[
    {
        label: "YOUR Self-assessment Rating",
        data: u_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }, 
    {
        label: "2008 Research Study - FleetFit\&#8482; Assessment Rating",
        data: f_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }
    ],
    {
    legend: {position: "se",backgroundOpacity: 0.3},
    selection: { mode: "xy" },
             grid: { hoverable: true, clickable: true },
    colors: ['#008000','#0000FF'],
    xaxis:{
    ticks:[[0,""],[1,""],[2,""],[3,""],[4,""],[5,""],[6,""],[7,""],[8,""],[9,""],[10,""],[11,""]],
    tickSize:1,
    min: 0.5,
    max: 10.5
    }
    //xaxis:{ticks:[[0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]}
    ,
     yaxis:{
     ticks:[[0,""],[0.5,"0.5"],[1,"1"],[1.5,"1.5"],[2,"2"],[2.5,"2.5"],[3,"3"],[3.5,"3.5"],[4,"4"],[4.5,"4.5"],[5,"5"],[5.5,""]],
     tickSize:0.5,
     max: 5.5
     }
     
     }
     
     );    


     
 $("#placeholder_false").bind("plothover", function (event, pos, item) {
        $("#x").text(pos.x.toFixed(2));
        $("#y").text(pos.y.toFixed(2));

        
            if (item) {
                if (previousPoint != item.datapoint) {
                    previousPoint = item.datapoint;
                    
                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),
                        y = item.datapoint[1].toFixed(2);
                    
                    showTooltip(item.pageX, item.pageY,
                                item.series.label + " score = " + y);
                }
            }
            else {
                $("#tooltip").remove();
                previousPoint = null;            
            }
        
    });
         
 $("#placeholder_true").bind("plothover", function (event, pos, item) {
        $("#x").text(pos.x.toFixed(2));
        $("#y").text(pos.y.toFixed(2));

        
            if (item) {
                if (previousPoint != item.datapoint) {
                    previousPoint = item.datapoint;
                    
                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),
                        y = item.datapoint[1].toFixed(2);
                    
                    showTooltip(item.pageX, item.pageY,
                                item.series.label + " score = " + y);
                }
            }
            else {
                $("#tooltip").remove();
                previousPoint = null;            
            }
        
    });     
$("#placeholder_2_false").bind("plothover", function (event, pos, item) {
        $("#x").text(pos.x.toFixed(2));
        $("#y").text(pos.y.toFixed(2));

        
            if (item) {
                if (previousPoint != item.datapoint) {
                    previousPoint = item.datapoint;
                    
                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),
                        y = item.datapoint[1].toFixed(2);
                    
                    showTooltip(item.pageX, item.pageY,
                                item.series.label + " score = " + y);
                }
            }
            else {
                $("#tooltip").remove();
                previousPoint = null;            
            }
        
    });     
      
$("#placeholder_2_true").bind("plothover", function (event, pos, item) {
        $("#x").text(pos.x.toFixed(2));
        $("#y").text(pos.y.toFixed(2));

        
            if (item) {
                if (previousPoint != item.datapoint) {
                    previousPoint = item.datapoint;
                    
                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),
                        y = item.datapoint[1].toFixed(2);
                    
                    showTooltip(item.pageX, item.pageY,
                                item.series.label + " score = " + y);
                }
            }
            else {
                $("#tooltip").remove();
                previousPoint = null;            
            }
        
    });     

$('#tab2').hide();
$('#tab3').hide();
$('#tab4').hide();
$('#tab5').hide();
$('#tab6').hide();
fix_height();
//$('#tabcontainer').html($('#tab1').html());
//ddtabmenu.definemenu("g_tabs", 0);
      
}
function show_tab(param_tab){
$('#tab1').hide();
$('#tab2').hide();
$('#tab3').hide();
$('#tab4').hide();
$('#tab5').hide();
$('#tab6').hide();
    $('#' + param_tab).show();
    fix_height();
    if (param_tab=='tab6'){print();}
}



function xpresent_results(){
    var user_result=$('#user_result').text();
    var fleet_fit=$('#fleetfit_result').text();
    var self_assesment=$('#self_result').text();

//prepare user result graph data
    var u_array=user_result.split('$');
    var u_data = [];
    for (var n=0;n<u_array.length;n++){
        var k=u_array[n].split(',');
        var v=[parseInt(k[0]) , parseInt(k[1])]
        u_data[n]=v
    }
    
    
//prepare fleetfit result graph data
    var f_array=fleet_fit.split('$');
    var f_data = [];
    for (var n=0;n<f_array.length;n++){
        var k=f_array[n].split(',');
        var v=[parseFloat(k[0]) , parseFloat(k[1])]
        f_data[n]=v
    }
    
    
//prepare self_assesment result graph data
    var s_array=self_assesment.split('$');
    var s_data = [];
    for (var n=0;n<s_array.length;n++){
        var k=s_array[n].split(',');
        var v=[parseFloat(k[0]) , parseFloat(k[1])]
        s_data[n]=v
    }
/*
xaxis:{
    ticks: [
            [0, ""], 
            [1, "<img src='../images/divided_attention.jpg'>"], 
            [2, "<img src='../images/reacting.jpg'>"], 
            [3, "<img src='../images/changing_plans.jpg'>"],
            [4, "<img src='../images/width_field.jpg'>"],
            [5, "<img src='../images/reacting.jpg'>"],
            [6, "<img src='../images/reacting.jpg'>"],
            [7, "<img src='../images/reacting.jpg'>"],
            [8, "<img src='../images/reacting.jpg'>"],
            [9, "<img src='../images/reacting.jpg'>"],
            [10, "<img src='../images/reacting.jpg'>"]
            ]
        } */    
    
    
    $.plot($("#placeholder"),[
    {
        label: "YOUR Self-assessment Results",
        data: u_data,
        lines: {show:true},
        points: {show:true,radius:3}
    },
    {
        label: "TCD Study - Self-assessment Results",
        data: s_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }, 
    {
        label: "TCD Study - FleetFit\&#8482; Assessment Results",
        data: f_data,
        lines: {show:true},
        points: {show:true,radius:3}
    }
    
    ],
    {
    legend: {position: "se",backgroundOpacity: 0.3},
    selection: { mode: "xy" },
             grid: { hoverable: true, clickable: true },
    colors: ['#000000','#FF0000','#0000CD'],
    xaxis:{ticks:[[0,""],[1,""],[2,""],[3,""],[4,""],[5,""],[6,""],[7,""],[8,""],[9,""],[10,""]]}
    //xaxis:{ticks:[[0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]}
    ,
     yaxis:{
     ticks:[[0],[0.5],[1],[1.5],[2],[2.5],[3],[3.5],[4],[4.5],[5],[5.5]]}
     
     }
     
     );    
     
 $("#placeholder").bind("plothover", function (event, pos, item) {
        $("#x").text(pos.x.toFixed(2));
        $("#y").text(pos.y.toFixed(2));

        
            if (item) {
                if (previousPoint != item.datapoint) {
                    previousPoint = item.datapoint;
                    
                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),
                        y = item.datapoint[1].toFixed(2);
                    
                    showTooltip(item.pageX, item.pageY,
                                item.series.label + " score = " + y);
                }
            }
            else {
                $("#tooltip").remove();
                previousPoint = null;            
            }
        
    });     
      
}










function showTooltip(x, y, contents) {
        $('<div id="tooltip">' + contents + '</div>').css( {
            position: 'absolute',
            display: 'none',
            top: y + 5,
            left: x + 5,
            border: '1px solid #fdd',
            padding: '2px',
            'background-color': '#fee',
            opacity: 0.80
        }).appendTo("body").fadeIn(200);
    }

function render_question(data){
    $('#questions').html(data);
}
function fix_height(){
    var h=$(document).height()-161
    if (($('#main_panel').height()) < h){
       $('#main_panel').height(h);
    }
    else{
       $('#main_panel').height('auto');    
    }
    var m=$('#main_panel').height() -58//-(58 + $('#lhs_subscats').height());
   // alert(m);
    if ($('#lhs_panel').height() < m){
      $('#lhs_panel').height(m);
    }
}


function apply_dhtml(){
    var el=get_el("headline")
    if (el){
        eval('cycle_headline();')
    }
}


function cycle_headline(){

    new Ajax.PeriodicalUpdater('headline', '../asp/ajax.asp?z=headline', {   method: 'get', frequency: 10, decay: 1 }); 
}

//validate_form('form_contact_us')
function validate_contact(){
            //name
            if ($('#txt_name').val().length==0){
                alert("Please enter your full name!");
                $('#txt_name').focus();
                return false;
            }
            
            //email address
            if ($('#txt_email').val().length==0){
                alert("Please enter your email address!");
                $('#txt_email').focus();
                return false;
            }

            var e=$('#txt_email').val();
            if (!check_email(e,true)){
                alert("Please check that you have entered a valid  email address!");
                $('#txt_email').focus();
                return false;
            }
            //telephone
            if ($('#txt_telephone').val().length==0){
                alert("Please enter a contact telephone number!");
                $('#txt_telephone').focus();
                return false;
            }
            //message
            if ($('#txt_comment').val().length==0){
                alert("Please tell us how we can assist!");
                $('#txt_comment').focus();
                return false;
            }
            
            
    $('#your_details').val('');
return true;
}


function check_email(svalue, bmail){
    var str=svalue;
    var sinvalid="!,£,\$,%,',\&";
    
    if (bmail==true){
    	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(')|(%)|(")/; // not valid
    	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
    }
    else{
    	var reg1 = /(\.\.)|(^\.)|(')|(%)|(")/; // not valid
    	var reg2 = /([a-zA-Z0-9])|([a-zA-Z])|([0-9])/; // valid
    
    }
    if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
    	return true;
    	}
    return false;
}


