﻿// JScript File
var lastnode;
var appname;
var currentinput=0;
var t;
var evt;
var key;
var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
var x2=100;
var screenwidth=1280;
var screenheight=768;
var i=0;
var focuswhere=1;
var months = new Array(13);
months[0]  = "Jan";
months[1]  = "Feb";
months[2]  = "Mar";
months[3]  = "Apr";
months[4]  = "May";
months[5]  = "Jun";
months[6]  = "Jul";
months[7]  = "Aug";
months[8]  = "Sep";
months[9]  = "Oct";
months[10] = "Nov";
months[11] = "Dec";
//===================================================================================================================

function xmlhttpPost(strURL, AlertMessage) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
          
             if(self.xmlHttpReq.responseText!='0' && self.xmlHttpReq.responseText!='')
             {
                toggle("errorpop");
                toggle("errorpop2");
                $("errortext").innerHTML=AlertMessage;
             }

        }
    }
    self.xmlHttpReq.send(mycommand());
}

function mycommand() {
    qstr = 'username=' + escape("");  // NOTE: no '?' before querystring
    return qstr;
}




//--------------------------------------String functions---------------------------------------------------------
// checkPostCode, checkUKTelephone, checkEmail2, IsEmpty, IsNumeric
//--------------------------------------String functions---------------------------------------------------------
function isDate (year, month, day) {
  var retval=null;
  month--;  // javascript month range : 0- 11
  var tempDate = new Date(year,month,day);
  if ((getYear(tempDate.getYear()) == year) && (month == tempDate.getMonth()) &&  (day == tempDate.getDate()) )
  {
      retval=true;
  }
  else
  {
     retval=false
  }
  return retval;
}
function Selectvalueinlist(listtoselectfrom, valuetoselect)
{
    var list = eval("window.document.forms[0]." + listtoselectfrom); 
    var optionCounter;
    for (optionCounter = 0; optionCounter < list.options.length; optionCounter++) 
    {   
       if(list.options[optionCounter].value.toLowerCase()==valuetoselect.toLowerCase())
       {
        list.options[optionCounter].selected = true;
        break;
       }
    }
}

function jobstatus(selection, dontselect){
if(dontselect!=1)
    {
    parent.SelectInList('requestjobstatus',selection);
    }
if(selection=='Independent Means'){
    parent.$('requestfulltimeoccupation').value='Independent Means'; parent.$('requestfulltimejobabicode').value='I02'; parent.$('requestbusinesstypeabicode').value='186';parent.$('requestbusinesstype').value='Not In Employment';
    if (parent.$('requestmobiletel')){
        parent.MoveToNextInputNamed('requestmobiletel');
    }
    else{
        parent.MoveToNextInputNamed('requestrelationshiptomaindriver');
    }
    }
else
if(selection=='Unemployed'){
    parent.$('requestfulltimeoccupation').value='Unemployed';parent.$('requestfulltimejobabicode').value='U03';parent.$('requestbusinesstypeabicode').value='747';parent.$('requestbusinesstype').value='Unemployed';
    if (parent.$('requestmobiletel')){
        parent.MoveToNextInputNamed('requestmobiletel');
    }else{
        parent.MoveToNextInputNamed('requestrelationshiptomaindriver');
    }
    }
else 
if(selection=='Not Employed Due To Disability'){
    parent.$('requestfulltimeoccupation').value='Unemployed';parent.$('requestfulltimejobabicode').value='U03';parent.$('requestbusinesstypeabicode').value='747';parent.$('requestbusinesstype').value='Unemployed';
    if (parent.$('requestmobiletel'))
    {
        parent.MoveToNextInputNamed('requestmobiletel');
    }else{
        parent.MoveToNextInputNamed('requestrelationshiptomaindriver');
    }
}
else 
if(selection=='Retired'){
    parent.$('requestfulltimeoccupation').value='Retired';parent.$('requestfulltimejobabicode').value='R09';parent.$('requestbusinesstypeabicode').value='186';parent.$('requestbusinesstype').value='Not In Employment';
    if (parent.$('requestmobiletel'))
    {
        parent.MoveToNextInputNamed('requestmobiletel');
    }
    else{
        parent.MoveToNextInputNamed('requestrelationshiptomaindriver');
    }
}
else
if(selection=='Household Duties'){
    var title = parent.$('requesttitle').selectedIndex;
    if(parent.$('requesttitle').options[0].text=='Select ->')
    {
    title--;
    }
    if(title==0 || title==4)
    {
        parent.$('requestfulltimeoccupation').value='Househusband';parent.$('requestfulltimejobabicode').value='163';parent.$('requestbusinesstypeabicode').value='186';parent.$('requestbusinesstype').value='Not In Employment';
    }
    if(title==1 || title==2 || title==3 || title==5 )
    {
        parent.$('requestfulltimeoccupation').value='Housewife';parent.$('requestfulltimejobabicode').value='H09';parent.$('requestbusinesstypeabicode').value='186';parent.$('requestbusinesstype').value='Not In Employment';
    }
    if(title==-1)
    {
        parent.$('requestbusinesstype').value='Not In Employment';parent.MoveToNextInputNamed('requestfulltimeoccupation');
    }
    else
    {
        if (parent.$('requestmobiletel')){
            parent.MoveToNextInputNamed('requestmobiletel');
        }
        else{
            parent.MoveToNextInputNamed('requestrelationshiptomaindriver');
        }
    }
}
else
 {
    parent.MoveToNextInputNamed('requestfulltimeoccupation');
 }
}


var lastquestionloaded;
var NumberOfQuestions=40;
var NumberAnswered=0;
var idArray='';

function movecar(obj)
{
    if(obj)
    {
        if($("dontmove").value==0 && obj.id.indexOf("title")==-1)
        {
            var objname = obj.id.replace("img_no","").replace("img_yes","");
            if(idArray.indexOf(objname)==-1)
            {   
                idArray = idArray + objname+ ",";   
                if (parseFloat(NumberAnswered) != parseFloat(NumberAnswered))
                {
                    NumberAnswered=1;
                }
                var p = parseInt($("PercentToMove").value);
                p = parseInt(parseInt($("PercentLow").value)+ p * NumberAnswered);
                if( p > $("PercentHigh").value)
                {
                    p = $("PercentHigh").value
                }
                parent.fillProgress('element1',p);
                $("percentagecomplete").innerHTML=p+'%';
                NumberAnswered = NumberAnswered + 1;
            }
        }
     }
}

function simplepopup(tablename,url){$(tablename).style.display='';try{$(tablename + "-url").href=AppendURL(url);}catch(e){};}
function trim(stringToTrim) {if(stringToTrim){return stringToTrim.replace(/^\s+|\s+$/g,"");}}
function setAutoComplete(){var formelements = document.getElementsByTagName("form"); for (var i = 0; i < formelements.length; i++) {formelements[i].setAttribute("AUTOCOMPLETE", "OFF");}}
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 checkPostCode (toCheck) {
  var alpha1 = "[abcdefghijklmnoprstuwyz]";
  var alpha2 = "[abcdefghklmnopqrstuvwxy]";
  var alpha3 = "[abcdefghjkstuw]";
  var alpha4 = "[abehmnprvwxy]";
  var alpha5 = "[abdefghjlnpqrstuwxyz]";
  var pcexp = new Array ();
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);
  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);
  var postCode = toCheck;
  var valid = false;
  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
      pcexp[i].exec(postCode);
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      postCode = postCode.replace (/C\/O\s*/,"c/o ");
      valid = true;
      break;
    }
  }
  if (valid) {return postCode;} else return false;
}

function checkMobileTelephone(telephoneNumber) {
var telnum = telephoneNumber + ' ';
telnum.length = telnum.length - 1;
var exp = /^(\+)[\s]*(.*)$/;
if (exp.test(telnum) == true) {
telNumberErrorNo = 2;
return false;
}
while (telnum.indexOf(' ')!= -1)  {
telnum = telnum.slice (0,telnum.indexOf(' ')) + telnum.slice (telnum.indexOf(' ')+1)
}
while (telnum.indexOf('-')!= -1)  {
telnum = telnum.slice (0,telnum.indexOf('-')) + telnum.slice (telnum.indexOf('-')+1)
} 
if (telnum.length<10) {
telNumberErrorNo = 3;
return false;
}
if (telnum.charAt(0)!='0') {
telNumberErrorNo = 4;
return false;
}
if (telnum.charAt(0)!='0' && telnum.charAt(1)!='0') {
telNumberErrorNo = 4;
return false;
}
exp = /^(07)[0-9]+$/;
if (exp.test(telnum) != true) {
telNumberErrorNo = 5;
return false;
}
return telnum;
}


function checkUKTelephone(telephoneNumber) {
// Convert into a string and check that we were provided with something
var telnum = telephoneNumber + ' ';
telnum.length = telnum.length - 1;
// Don't allow country codes to be included (assumes a leading +)
var exp = /^(\+)[\s]*(.*)$/;
if (exp.test(telnum) == true) {
telNumberErrorNo = 2;
return false;
}
// Remove spaces from the telephone number to help validation
while (telnum.indexOf(' ')!= -1)  {
telnum = telnum.slice (0,telnum.indexOf(' ')) + telnum.slice (telnum.indexOf(' ')+1)
}
// Remove hyphens from the telephone number to help validation
while (telnum.indexOf('-')!= -1)  {
telnum = telnum.slice (0,telnum.indexOf('-')) + telnum.slice (telnum.indexOf('-')+1)
} 
// Now check that all the characters are digits
if (telnum.length<10) {
telNumberErrorNo = 3;
return false;
}
// Now check that the first digit is 0
if (telnum.charAt(0)!='0') {
telNumberErrorNo = 4;
return false;
}
if (telnum.charAt(0)!='0' && telnum.charAt(1)!='0') {
telNumberErrorNo = 4;
return false;
}
// Finally check that the telephone number is appropriate.
exp = /^(01|02|03|05|070|077|078|079)[0-9]+$/;
if (exp.test(telnum) != true) {
telNumberErrorNo = 5;
return false;
}
// Telephone number seems to be valid - return the stripped telehone number  
return telnum;
}
var telNumberErrorNo = 0;
var telNumberErrors = new Array ();
telNumberErrors[0] = 'Valid UK telephone number';
telNumberErrors[1] = 'Telephone number not provided';
telNumberErrors[2] = 'UK telephone number without the country code, please';
telNumberErrors[3] = 'UK telephone numbers should contain 10 or 11 digits';
telNumberErrors[4] = 'The telephone number should start with a 0';
telNumberErrors[5] = 'The telephone number is either invalid or inappropriate';

function checkEmail2(atextfield) {if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(atextfield)){return true;}else{return false;}}
function IsEmpty(aTextField) {if ((aTextField.value.length==0) || (aTextField.value==null)) { return true;}else { return false; }}
function SubmitCallMeButtonClick(urlin){if(document.forms[0]){document.forms[0].action=urlin + "/callme.aspx?productcat=" + $("productcategory").value + "&productguid=" + $("productguid").value+"&path=" + document.location.pathname;document.forms[0].target="";document.forms[0].submit();}}
function closeiframe(){if(parent.$('hide1')){parent.$('hide1').click();}}

function PCase(STRING){
return toProperCase(STRING);
} 

function setopacity(objref){
if($(objref))
    {
        if($(objref).style.filter=="alpha(opacity=100)" || $(objref).style.filter=='')
            {
                $(objref).style.filter='alpha(opacity=10)';
            } 
            else
            {
                $(objref).style.filter='alpha(opacity=100)';
            } 
    }
}
function changeimage(objref,newimage){if($(objref)) { $(objref).src=newimage;}}
function removefrompage(objref){if($(objref)){$(objref).style.display='none'; }}
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
function kH(e) {
var pK = document.all? window.event.keyCode:e.which;
if(pK==13 && sPage=='yourdetails.aspx')
    {
        MoveToNext();
        return pK != 13;
    }
    else
    {
    if(pK==9 && sPage=='yourhelper.aspx' || pK==13 && sPage=='yourhelper.aspx' )
        {
           $("nextbutton").click();
        }
        else
        {
            return pK;
        }
    }
   if(sPage=='yourhelper.aspx'){parent.focuswhere=1;}
}

document.onkeydown = kH;
if (document.layers) document.captureEvents(Event.KEYDOWN);

function getYear(d) {return (d < 1000) ? d + 1900 : d;}
function showAge(dob){
    var today=new Date();
    var d =dob.split('/');
    var by = Number(d[2]); var bm = Number(d[1])-1; var bd = Number(d[0]);
    var bday = new Date(by,bm,bd)
    var age=0; var dif=bday;
    while(dif<today){
    var dif = new Date(by+age,bm,bd);
    age++;
    }
    age +=-2 ;  //Was -1 but this caused the age today return incorrectly
    return age;
}

function populatelist(elementn, matchtextnotvalue){}
function populatespecial(source)
{
  var val = parent.$(source).value.replace(',','');  
  try{
   if(val!=''){
     $('c' + val).className='sideoptionsHoverSelected';
     $('c' + val).onmouseover=null;
     $('c' + val).onmouseout=null;
    }
   }catch(e){}
}
function populateinput(des, source){
if(parent.$(source).value!='')
    {
    $(des).value=parent.$(source).value;
    }
}

function setElementById(id, value, displaytext){
if($(id.replace('request','question')))
{
    $(id.replace('request','question')).value=value; 
}
else{
  if($(id))
  {
    $(id).value=value;
  } 
}
if($(id+'text') && displaytext!=undefined)
{
    $(id+'text').innerHTML=displaytext ;
}
gotoblank();
}

function gotoblank(){if($('scriptcontent')){$('scriptcontent').src=AppendURL('/motorquoter/yourhelper.aspx?question=noquestion');}}
function highlightnotentered(name){
try{
resetlastnode();
var obj =  eval("document.forms[0]." + name);
if(obj.className.indexOf('error')==-1){
    obj.className=obj.className+'error';
}
}catch(e){}
}

function resethighlight(item){
try{
var obj = $(item);  
if(obj.className.indexOf('error'))
    {
        obj.className=obj.className.replace('error','');
    }
}catch(e){}
}

function gup(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];}
function AppendURL(currenturl)
{
var retval ='';
if(currenturl.indexOf("sessionGUID")==-1)
{
    if(currenturl.toString().indexOf("?")==-1){
            retval = currenturl + '?sessionGUID=' + gup("sessionGUID");
        }
        else{
            retval = currenturl + '&sessionGUID=' + gup("sessionGUID");
        }
}else{
retval=currenturl;
}

return retval;
}

var nextclick=0;
function ChangeFrame(src){$('flyerframe').src=AppendURL(src);}
function gofocus(element){try{$(element).focus();}catch(e){}}
function MoveToNextInputNamed(element){
if(element=='specialage')
{
    if($('requestlicencestartdate_age')){MoveToNextInputNamed('requestlicencestartdate_age');}
      else{MoveToNextInputNamed('requestlicencestartdate_month');}
    }
else
{
   setTimeout("gofocus('" + element + "')",100); 
}
}
//-------------------------------------------------------------------------
function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}
//-------------------------------------------------------------------------
function getElementsByClassStart(str)
{
    var moveobjs = document.forms[0];
    var newobjs = new Array();
    for(var i=0; i<moveobjs.length; i++){
        if(moveobjs[i].className.substring(0,4)=='flat')
        {
         newobjs.push(moveobjs[i]);
        }
    }
    return newobjs;
}


function MoveToNext(){
var inputs =''; 
if(inputs==''){inputs=getElementsByClassStart("flat");}
var p=0;
var Completed=0;
for(i=0;i<inputs.length;i++)
{
    if(lastquestionloaded==inputs[i].id){
        if(inputs[i+p]){
            for(p=1;p<inputs.length;p++)
            {
                if(returnrowID(inputs[i+p]).style.display!='none')
                {
                    inputs[i+p].focus();
                    lastquestionloaded=inputs[i+p].id;
                    Completed=1;
                    break;
                }
            }
         }
    }
  if(Completed==1)
   break;
}
}

function returnrowID(inID){
mynode=$(inID);
while(mynode!=null && mynode.id!=null && mynode.id.substring(0,3)!='row')
{
    mynode = mynode.parentNode;
}
return mynode;
}

function MoveToNextInput(numbertomove){
var element=0;
element=parseInt(currentinput+numbertomove);
var inputs = getElementsByClassStart("flat"); 
for(i=0;i<inputs.length;i++){
    if(i==element){
         inputs[i].focus();
    }
}
currentinput=parseInt(currentinput+numbertomove);
}
//-------------------------------------------------------------------------
function getAge(dateString,dateType) {
var now = new Date();
var today = new Date(now.getYear(),now.getMonth(),now.getDate());
var yearNow = now.getFullYear();
var monthNow = now.getMonth();
var dateNow = now.getDate();

if (dateType == 1)
var dob = new Date(dateString.substring(0,4),
dateString.substring(4,6)-1,
dateString.substring(6,8));
else if (dateType == 2)
var dob = new Date(dateString.substring(0,2),
dateString.substring(2,4)-1,
dateString.substring(4,6));
else if (dateType == 3)
{
var dobs = dateString.split('/');
var dob = new Date(dobs[2],dobs[1],dobs[0]);
}
else if (dateType == 4)
var dob = new Date(dateString.substring(6,8),
dateString.substring(3,5)-1,
dateString.substring(0,2));
else
return '';
var yearDob = dob.getFullYear();
var monthDob = dob.getMonth();
var dateDob = dob.getDate();
var monthAge = 0;
var dateAge;
yearAge = yearNow - yearDob;

if (monthNow >= monthDob)
    monthAge = monthNow - monthDob;
else 
{
    yearAge--;
    monthAge = 12 + monthNow -monthDob;
}
if (dateNow >= dateDob)
    dateAge = dateNow - dateDob;
 else 
    {
       monthAge--;
       dateAge = 31 + dateNow - dateDob;
       if (monthAge < 0) 
       { 
           monthAge = 11; 
           yearAge--;
       } 
    }  
return '&nbsp;(Click now if your age is:<b>' + showAge(dateString) + ' years</b>)';
}
//-------------------------------------------------------------------------
function YourAge(year){$('yourage').innerHTML=getAge(parent.$('requestdob_day').options[parent.$('requestdob_day').selectedIndex].value + '/' + parent.$('requestdob_month').options[parent.$('requestdob_month').selectedIndex].value + '/' + year,3);}
function toProperCase(s){return s.toLowerCase().replace(/^(.)|\s(.)/g, function($1) { return $1.toUpperCase(); });}
//-------------------------------------------------------------------------
var percount=1;
var mytext='<img src=/images/smltick.gif border=0>';
var imagetext='<img src=/images/smltick.gif border=0>';
var linktext='Edit';

function startup(){
var win = document.location.href;
if(win.indexOf("lookup=true")>-1)
{
    selectTerms();
}else{
    if(win.indexOf("edit")==-1)
    {
        lastquestionloaded="requesttitle";
        lastnode = $("row1");
    }
}
appname=navigator.appName;
if($('requestdob_day_hidden')){
    checkforfunnydates($('requestdob_day_hidden').value,$('requestdob_month_hidden').value,$('requestdob_year_hidden').value);
}
}


var run=1;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
var px = document.layers ? "" : "px";



var posx;var posy;
function getMouse(e){
posx=0;posy=0;
var ev=(!e)?window.event:e;//IE:Moz
if (ev.pageX){//Moz
posx=ev.pageX+window.pageXOffset;
posy=ev.pageY+window.pageYOffset;
}
else if(ev.clientX){//IE
posx=ev.clientX+document.body.scrollLeft;
posy=ev.clientY+document.body.scrollTop;
}
else{return false}//old browsers
}
document.onclick=getMouse


var po=0;

function setOpacity(testObj,value) {
	testObj.style.opacity = value/10;
	testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}

function detailsfoundpopup(email,userstatus, firstname, lastname)
{
    setOpacity($("questions"),5);
    $("flyerframe").src='/motorquoter/popupscreens/reloadDetails.aspx?email=' + email + '&userstatus=' + userstatus+'&firstname=' + firstname + '&lastname=' + lastname;
    $("popupnew").style.display='';
}
function submitbutton(obj){obj.disabled='true';obj.value='Please wait...'}
function submitbutton2(obj){obj.disabled='true';obj.value='Please wait...'}
function resetbuttonobj(obj, txt){obj.disabled=false;obj.value=txt;}
function resetsubmitbutton(){try{$('nextbutton').disabled=false;$('nextbutton').value='Next Page >>';}catch(e){}}
function flipme(obj){if(obj.src.indexOf('/yes_edit.gif')>-1 || obj.src.indexOf('/no_edit.gif')>-1 ){obj.src=obj.src.replace('edit','edit_ani');}}
function flipmeback(obj){if(obj.src.indexOf('/yes_edit_ani.gif')>-1 || obj.src.indexOf('/no_edit_ani.gif')>-1 ){obj.src=obj.src.replace('edit_ani','edit');}}
var tl;
var x=0; pos=0; 
var l;
var placeholder;
var placeholder2;
var txtholder2;
var alldone=0;

var placeholder3;
var txtholder3;
var txtdelay=15;

function ScrollTextBox(obj,txt,obj2,txt2,obj3,txt3)
{
    placeholder=null;
    placeholder2=null;
    txtholder2=null;
    placeholder3=null;
    txtholder3=null;
    alldone=0;

    placeholder=obj;
    tl=new textlist (txt); 
    l=tl[0].length; 
    
    if(obj2)
    {
         placeholder2=obj2;
         txtholder2=txt2;
    }
    if(obj3)
    {
         placeholder3=obj3;
         txtholder3=txt3;
    }
    texttickertxt();
}

function texttickertxt(){placeholder.value=tl[x].substring(0,pos)+"_";if(pos++==l){ 
        alldone++;
        placeholder.value=tl[x];
        x=0;
        pos=0;
        l=0;
        if(placeholder2 && alldone==1){tl=new textlist (txtholder2);l=tl[0].length;placeholder=placeholder2;setTimeout("texttickertxt()",txtdelay);}
        if(placeholder3 && alldone==2){tl=new textlist (txtholder3);l=tl[0].length;placeholder=placeholder3;setTimeout("texttickertxt()",txtdelay);}
    } 
    else 
    setTimeout("texttickertxt()",txtdelay); 
} 

var running=0;
var lasttext = '';

function ScrollIn(obj,telnum)
{
placeholder=$(obj);
if(lasttext!=telnum && running==0)
{
    lasttext=telnum;
    tl=new textlist (telnum); 
    l=tl[0].length; 
    running=1;
    textticker();
}
}

var max=0; 
function textlist() 
{ 
max=textlist.arguments.length; 
for (i=0; i<max; i++) 
this[i]=textlist.arguments[i]; 
} 

function textticker() 
{ 
    placeholder.innerHTML=tl[x].substring(0,pos)+"_"; 
    if(pos++==l) 
    { 
        placeholder.innerHTML=tl[x];
        x=0;
        pos=0;
        running=0;
        return;
        if(x==max) x=0; l=tl[x].length; 
    } 
    else 
    setTimeout("textticker()",txtdelay); 
} 


var temphours;
var maxheightin=20;
function toggle(obj) {var el = $(obj);if ( el.style.display != 'none' ) {el.style.display = 'none';}else{el.style.display = '';}}
function GetQuestionText(questionname){var errortext='';var obj = parent.$(questionname +'text');if(obj){if(obj.innerHTML.indexOf("<div")>-1){errortext = obj.innerHTML.toString().substring(0,obj.innerHTML.toString().indexOf('<div'));}else{errortext=obj.innerHTML;}
parent.selectmered(questionname.replace('request', ''),0);
  }
else{if(questionname.indexOf("abi")==-1)
    {alert(questionname)}
  }
return errortext;
}


function checkfirstpage(){
    var errorinfo='';
    var g=0;
    if($("rowcbt"))
    {
        if(!($("rowcbt").style.visibility=='')) //Changed this to !
        {
            if($("requestcbtdate_year").selectedIndex==0 || $("requestcbtdate_month").selectedIndex==0 && $("requestcbtdate_day").selectedIndex==0)
            {
                errorinfo="You must enter your CBT pass date.<br><br>";
            }
        }
    }
    if($("requestlicencestartdate_age"))
    {if($("requestlicencestartdate_age").innerHTML.indexOf("You must")>-1 || $("requestlicencestartdate_age").innerHTML.indexOf("please select")>-1)
          errorinfo+="The date you passed your test has not been selected, check you have selected your date of birth and when you passed your test.<br><br>";
    }
    if($("requestregistration2"))
    {if($("requestregistration2").value!='' && $("requestregistration").value!='')
        {if($("requestregistration2").value==$("requestregistration").value)
                errorinfo+="You cannot enter the same registration in both fields."; 
    }}
    
    
    
    var temp_mobiletel = 0;
    var temp_landlinetel = 0;
    
    if($F('requestmobiletel')!='')
    {
        temp_mobiletel = 1;
    }
    if($F('requesttel')!='')
    {
        temp_landlinetel = 1;
    }
    
    if (temp_mobiletel == 1)
    {
        if(!checkMobileTelephone($("requestmobiletel").value))
        {
            errorinfo+="The mobile telephone number " + $("requestmobiletel").value + " is invalid, - " + telNumberErrors[telNumberErrorNo] + "<br><br>";
        } 
    }
    
    if (temp_landlinetel == 1)
    {
        if(!checkUKTelephone($("requesttel").value))
        {
            errorinfo+="The alternative telephone number " + $("requesttel").value + " is invalid, - " + telNumberErrors[telNumberErrorNo]  + "<br><br>";
        }
    }
    
    if (temp_mobiletel != 1 && temp_landlinetel != 1)
    {
        errorinfo+="You must supply a telephone number<br><br>";
    }
       
    if(!checkEmail2($("requestemail").value)){errorinfo+="Your email address is invalid."  + "<br><br>" ;}
    if(!checkPostCode($("requestpostcode").value)){errorinfo+="Your postcode is invalid. " + $("requestpostcode").value + ""  + "<br><br>";}
    var inputs = getElementsByClassStart("flat"); 
    var tempinput="";
    for(g=0;g<inputs.length;g++)
    {
        if(inputs[g])
        {
               if(inputs[g].value=='' && inputs[g].id.indexOf("2")<0 && inputs[g].id.indexOf("requesttel")<0 && inputs[g].id.indexOf("cbt")<0 && inputs[g].id.indexOf("mobiletel")<0  && inputs[g].id.indexOf("age")==-1 && inputs[g].id.indexOf("registration")==-1)
                    tempinput+=PCase(errorformat(inputs[g].id.replace('request',''))) + ", ";
        }
    }
    if(tempinput!=''){errorinfo+="You have not answered:<br><br>" + tempinput};
    if(errorinfo=='')
        return true;
    else
    {
        toggle("errorpop");
        toggle("errorpop2");
        $("errortext").innerHTML=errorinfo;
        return false;
    }
}

function errorformat(s){
var retval=s;
if(s=='firstname')
    retval = 'First name';
if(s=='lastname')
    retval = 'Last name';
if(s=='email')
    retval = 'Email address';
if(s.indexOf('dob')>-1)
    retval = 'Date of birth (' + s.toString().substring(s.indexOf('_')+1) + ')';
if(s.indexOf('renew')>-1)
    retval = 'Renewal date (' + s.toString().substring(s.indexOf('_')+1) + ')';    
if(s.indexOf('status')>-1)
    retval = s.toString().replace('status',' status');
if(s=='fulltimeoccupation')
    retval = 'Full time occupation';
if(s.indexOf('type')>-1)
    retval = s.toString().replace('type',' type');
return retval;
}

function checkpage(){
    var errorinfo='';
    if($("medicalconditionsimg_yes").src.indexOf("yes_on")>-1 && $("medicalconditionssummary").innerHTML=='')
        errorinfo+="You have not selected you have a medical condition but have not provided details. Please click no on the question to provide details or click select yes.<br/><br/>";
    if($("vehiclekeptovernightimg_no"))
    {
        if($("vehiclekeptovernightimg_no").src.indexOf("no_on")>-1 && $("vehiclekeptovernightsummary").innerHTML=='')
        errorinfo+="You have not selected where the vehicle is kept overnight. Please click no on the question to provide details or click select yes.<br/><br/>";
    }
    if($("vehicleuseimg_no"))
    {
        if($("vehicleuseimg_no").src.indexOf("no_on")>-1 && $("vehicleusesummary").innerHTML=='')
        errorinfo+="You have selected the vehicle is not used for social and domestic, BUT you have not selected another option. Please click no on the question to provide details or click yes.<br/><br/>";
        if($("additionaldriversofcarimg_no").src.indexOf("no_on")>-1 && $("additionaldriversofcarsummary").innerHTML=='')
        errorinfo+="You have selected you are not the only user of the vehicle but not entered selected how many other users there are.<br>Please click no on the question to provide details or click yes.<br/><br/>";
    }
    if($("numberofaccidentsimg_yes").src.indexOf("yes_on")>-1 && $("numberofaccidentssummary").innerHTML=='')
        errorinfo+="You have selected you have <u>accidents</u> but you have not provided details of your accident.<br>Please click yes on the question to provide details or click no.<br/><br/>";
    if($("numberofconvictionsimg_yes").src.indexOf("yes_on")>-1 && $("numberofconvictionssummary").innerHTML=='')
        errorinfo+="You have clicked that you have <u>convictions</u> but you have not provided details of your conviction.<br>Please click yes on the question to provide details or click no.<br/><br/>";
    if($("parttimeoccupationimg_yes").src.indexOf("yes_on")>-1 && $("parttimeoccupationsummary").innerHTML=='')
        errorinfo+="You have clicked that you have a <u>part time job</u>, but you have not given details.<br>Please click yes on the question to provide details or click no to move on.<br/><br/>";
    if($("parttimeoccupationimg_yes").src.indexOf("yes_on")>-1 && $("requestparttimejobbusinessdescription").value=='')
        errorinfo+="You have clicked that you have a <u>part time job</u>, but you have not specified the <u>business type</u>.<br>Please click yes on the question to provide details or click no to move on.<br/><br/>";
    if($("livedinukimg_no").src.indexOf("no_on")>-1 && $("livedinuksummary").innerHTML=='')
        errorinfo+="You have clicked that you have <u>not lived in the UK all your life</u> but not provided the date you moved to the UK.<br>Please click yes on the question to provide details or click no to move on.<br/><br/>";
    if($("importedimg_yes"))
    {
        if($("importedimg_yes").src.indexOf("yes_on")>-1 && $("importedsummary").innerHTML=='')
            errorinfo+="You have clicked that you have your <u>vehicle is imported</u> but you have not provided details.<br>Please click yes on the question to provide details or click no to move on.<br/><br/>";
    }    
    if($("ismodifiedimg_yes"))
    {
    if($("ismodifiedimg_yes").src.indexOf("yes_on")>-1 && $("ismodifiedsummary").innerHTML=='')
        errorinfo+="You have clicked that you have your <u>vehicle is modifed</u> but you have not provided details.<br>Please click yes on the question to provide details or click no to move on.<br/><br/>";
    }  
    if($("advancedqualificationsimg_yes"))
    {
        if($("advancedqualificationsimg_yes").src.indexOf("yes_on")>-1 && $("advancedqualificationssummary").innerHTML=='')
            errorinfo+="You have clicked that you have your advanced riding qualifications but havent given any details. Please click yes on the question to provide details or click no to move on.<br/><br/>";
    }
    if($("securitydevicesimg_yes"))
    {
        if($("securitydevicesimg_yes").src.indexOf("yes_on")>-1 && $("securitydevicessummary").innerHTML=='')
            errorinfo+="You have clicked that you have security devices but havent given any details. Please click yes on the question to provide details or click no to move on.<br/><br/>";
    }
    if(errorinfo=='')
        return true;
    else
    {
        toggle("errorpop");
        toggle("errorpop2");
        $("errortext").innerHTML=errorinfo;
        return false;
    }
}


//window.onerror=null;

//--------------------------------------------------------------------
function SetLicenceStartDateQuestionText(fieldname, searchstring)
{
    //Set Additional Driver licence question text when the page loads.
    if(parent.$('requestlicencestartdate_age'))
    {
        //if($('requestlicencetype').options[$('requestlicencetype').selectedIndex].text.indexOf('Provisional')>-1)
        if (searchForString(fieldname,searchstring) == true) 
        {
        parent.$('lsd').innerHTML='Age you obtained your <br />provisional licence.';//'Age when you got<br>provisional licence.';
        }
        else
        {
         parent.$('lsd').innerHTML='Age when you <br />passed driving test:';
        }
    }
    else
    {
        //if($('requestlicencetype').options[$('requestlicencetype').selectedIndex].text.indexOf('Provisional')>-1)
        if (searchForString(fieldname,searchstring) == true)
        {
            parent.$('lsd').innerHTML='Date you obtained your <br />provisional licence.';
        }
        else
        {
            parent.$('lsd').innerHTML='Date you passed <br />driving test:';
        }
    }
}

function getDropDownBoxTextFromValue(fieldname)
{
    //Returns the text selected for any given dropdown.
    return ($(fieldname).options[$(fieldname).selectedIndex].text);
}

function searchForString(fieldname, searchstring)
{
    //Returns boolean depending whether the given string is found in the text selected on specified dropdown.
    if (getDropDownBoxTextFromValue(fieldname).indexOf(searchstring)>-1) {return true} else {return false};
}
//--------------------------------------------------------------------