var newWin = null; 
function popUp(strURL, strType, strHeight, strWidth) { 

 if (newWin != null && !newWin.closed) 
   newWin.close();
   
 var strOptions=""; 
 if (strType=="mediaplayer") 
   strOptions="height="+strHeight+",width="+strWidth;
 if (strType=="terms") 
   strOptions="scrollbars,"+"resizable,height="+strHeight+",width="+strWidth;
 if (strType=="address") 
   strOptions="height="+strHeight+",width="+strWidth; 
 if (strType=="fullscreen") 
   strOptions="scrollbars=yes,"+"height="+screen.height+",width="+screen.width+",left=0,"+"top=0";    
   
 newWin = window.open(strURL, 'newWin', strOptions); 
 newWin.focus(); 
}

function addinput()
{
var element = document.createElement( 'input' );
element.type = 'text';
element.name = 'text2';

document.form1.appendChild( element );
}

function submitform()
{
  document.form1.submit();
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var isIE=document.all?true:false;
var isDOM=document.getElementById?true:false;
var isNS4=document.layers?true:false;


/*controls the navigation drop down display*/


/* _w : which ID (1) or (2) */
/* _h : (h)ide or (s)how */
function togglenav(_w,_h) {
	
  if (isDOM)
  
  {
    if (_h=='s') document.getElementById(_w).style.display='block';
    if (_h=='h') document.getElementById(_w).style.display='none';
  }
  else if (isIE) {
    if (_h=='s') eval("document.all."+_w+".style.display='block';");
    if (_h=='h') eval("document.all."+_w+".style.display='none';");
  }
  else if(isNS4)
  {
    if (_h=='s') eval("document.layers['"+_w+"'].display='block';");
    if (_h=='h') eval("document.layers['"+_w+"'].display='none';");
  }
  else
  {
    if (_h=='s') document.getElementById(_w).style.display='block';
    if (_h=='h') document.getElementById(_w).style.display='none';
  }
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function buildWMPlayer(w,h,clipurl)
{
	h+=64;//to compensate for toolbar
	
	if (window.ActiveXObject && (navigator.userAgent.indexOf('Windows') != -1))
	{
		document.write('<object id="mediaplayer1" class="mediaborder" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" height="'+h+'" width="'+w+'">');
		document.write('<param name="uiMode" value="full" />');
		document.write('<param name="autoStart" value="true" />');
		document.write('<param name="URL" value="'+clipurl+'" />');
		document.write('Your browser does not support the ActiveX Windows Media Player');
		document.write('</object>');
		document.write('Cant view the movie? <span class="inline"><a href="'+clipurl+'">download it here</a></span>');
	}
	else if(navigator.mimeTypes)
	{
		document.write('<object id="mediaplayer1" name="mediaplayer1" class="mediaborder" width="'+w+'" height="'+h+'" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" standby="Loading Media Player" type="application/x-oleobject">');
		document.write('<param name="FileName" value="'+clipurl+'" />');
		document.write('<param name="ShowControls" value="1" />');
		document.write('<param name="ShowDisplay" value="0" />');
		document.write('<param name="AutoStart" value="1" />');
		document.write('<param name="ShowStatusBar" value="1" />');
		document.write('<embed type="application/x-mplayer2" src="'+clipurl+'" id="mediaplayer1" name="mediaplayer1" ShowControls=1 ShowDisplay=0 AutoStart=1 ShowStatusBar=1 width="'+w+'" height="'+h+'"></embed>');
		document.write('</object>');
		document.write('<noembed>This browser appears to be unable to display our movies Click on the following link to.<br /><a href="+clipurl+">&gt;play the clip in Windows Media Player</a></noembed></object>');
		document.write('Cant view the movie? <span class="inline"><a href="'+clipurl+'">download it here</a></span>');
	}

}
function buildWMPlayerNoLink(w,h,clipurl)
{
	h+=64;//to compensate for toolbar
	
	if (window.ActiveXObject && (navigator.userAgent.indexOf('Windows') != -1))
	{
		document.write('<object id="mediaplayer1" class="mediaborder" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" height="'+h+'" width="'+w+'">');
		document.write('<param name="uiMode" value="full" />');
		document.write('<param name="autoStart" value="true" />');
		document.write('<param name="URL" value="'+clipurl+'" />');
		document.write('Your browser does not support the ActiveX Windows Media Player');
		document.write('</object>');
	}
	else if(navigator.mimeTypes)
	{
		document.write('<object id="mediaplayer1" name="mediaplayer1" class="mediaborder" width="'+w+'" height="'+h+'" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" standby="Loading Media Player" type="application/x-oleobject">');
		document.write('<param name="FileName" value="'+clipurl+'" />');
		document.write('<param name="ShowControls" value="1" />');
		document.write('<param name="ShowDisplay" value="0" />');
		document.write('<param name="AutoStart" value="1" />');
		document.write('<param name="ShowStatusBar" value="1" />');
		document.write('<embed type="application/x-mplayer2" src="'+clipurl+'" id="mediaplayer1" name="mediaplayer1" ShowControls=1 ShowDisplay=0 AutoStart=1 ShowStatusBar=1 width="'+w+'" height="'+h+'"></embed>');
		document.write('</object>');
		document.write('<noembed>This browser appears to be unable to display our movies Click on the following link to.<br /><a href="+clipurl+">&gt;play the clip in Windows Media Player</a></noembed></object>');
	}

}

function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('Please correct the following errors:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}


function validRequired(formField,fieldLabel)
{
  var result = true;
  
  if (formField.value == "")
  {
    alert('"' + fieldLabel +'"');
    formField.focus();
    result = false;
  }
  
  return result;
}

function actualDate(formDay, formMonth, formYear)
{
	var day   = formDay.value; 			
	var month = formMonth.value;
	var year  = formYear.value;	
	var result = true;					 
	var daycheck = 0;				

	var d=new Date();	
	var monthcheck = d.getMonth()+1;	
											
	if ( month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
		daycheck = 31;
	else if(month == 4 || month == 6 || month == 9 || month == 11)
		daycheck = 30;	
	else							
	{
		var leapyear = year%4;	
		
		if (leapyear == 0)			
			daycheck = 29;
		else						
			daycheck = 28;		
	}
	
	if (day > daycheck)				
	{
		alert('That date is not possible');
		formDay.focus();
		result = false;
	}
	
	return result;
}	

function date_splice(monthForm, dayForm, yearForm)
{
	var day   = dayForm.value;
	var month = monthForm.value;
	var year  = yearForm.value;	
	if(day.length < 2)
		day = '0' + day;
	if(month.length < 2)
		month = '0' + month;
	var combined = (day + '/' + month + '/' + year);
	return combined;
}


function tsc(formField)
{
	var result = true;
	
	var answer = formField.value;
	
	if (answer == 'N')
	{
		alert('We cannot give a quote unless you accept our Terms & Conditions');
		result = false;
		formField.focus();
	}
	 return result;	
}

function ageCheck(dayForm, monthForm, yearForm)
{
	var day   = dayForm.value;		
	var month = monthForm.value;	
	var year  = yearForm.value;	
	var d	  = new Date();			
	var monthcheck = d.getMonth()+1;
	var daycheck   = d.getDate();
	var yearcheck  = d.getFullYear();
	var result 	   = true;
	
	if((yearcheck - year) == 17)
	{
		if (monthcheck < month) 
		{
			alert ('You need to be over 17 to get a quote.');
			result = false;
		}
		
		else
		{
			if (monthcheck == month)
			{
				if (daycheck < day) 
				{
					alert('You are not over 17 on that day.');
					result = false;
				}
			}			
		}
	}	
	return result;
}

function futureDate(formDay, formMonth, formYear)

{
	var result = true;
	var userDay 	= formDay.value;
	var userMonth 	= formMonth.value;
	var userYear 	= formYear.value;	
	
	var d=new Date();	
	var day = d.getDate();	
	var month = d.getMonth()+1;
	var year  = d.getYear();	
	
	if (userYear > year)
	{
		alert('That is not a valid year.');
		formYear.focus();   
		result = false;
	}
	
	else
	{
		if(userYear == year)
		{
			if (userMonth > month)			
			{
				alert('That is not a valid month')		
				formMonth.focus();   
				result = false;
			}
			else
			{
				if(userMonth == month)
				{
					if (userDay > day)						
					{
						formDay.focus();   
						alert('That is not a valid day');						
						result = false;
					}
				}
			}
		}		
	}
	
	return result;
	
}


function validCheckBox(formField,fieldLabel) 
{
  var result = true;
  
  if (formField.checked == false)
  {
    alert('Please make sure you have ticked the "' + fieldLabel +'" box.');
    formField.focus();
    result = false;
  }
  
  return result;
}



function validEmail(formField)
{
  var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  
  if (filter.test(formField.value)) {
  	var result = true;
  } else {
    alert ("Please enter a valid email address:\ne.g. yourname@somewhere.com");
    formField.focus();
	var result = false;
  }
  
  return result;
}



function postcodeChar(postcode)
{
	var result = true;

	
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789 ";

	for (var i=0; i < postcode.length; i++) 
	{	
    	var letter = postcode.charAt(i).toLowerCase();
	    if (validchars.indexOf(letter) != -1)
	      continue;		
		result = false;
	    break;
  	}
	
	return result;
}

function validPostcode(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
	result = false;
	
	if (result && (!postcodeChar(formField.value)) )
	{
		alert('Postcode contains invalid characters');
		formField.focus();
		result = false;
	}
   
  return result;
}


function PostIreland(PostCode)
{
	var result = true;
	var pcode = PostCode.value;
	pcode = pcode.slice(0,2);
	if (pcode == 'BT' || pcode == 'bt')
	{
		alert('We cannot quote car insurance for Northern Ireland');
		result = false;
		PostCode.focus();
	}
		
	return result;
}



function validString(formField,fieldLabel, required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
	result = false;
	
	if (fieldLabel == 'House Number'){
		if (formField.value.match(/\-\-/)) {
			alert('-- not valid.');
			formField.focus();
			result = false;
		}
	}
	else {
		if (result && (!lettersChar(formField.value)) )
		{
			alert(fieldLabel + ' contains invalid characters');
			formField.focus();
			result = false;
		}
	}
   
  return result;
}

function minusChecking(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;
  
   if (result)
   {
     var num = parseInt(formField.value,10);
     if (num < 0)
     {
       alert(fieldLabel + ' cannot be a negative value.');
      formField.focus();    
      result = false;
    }
  }   
  return result;
}


function validateIndex(theForm) 
{
	
        if (!validRequired(theForm.NewProposerSex,"Please enter your sex"))
        	return false;
        if (!validRequired(theForm.Newday,"Enter the day of your birth"))
        	return false;   
        if (!validRequired(theForm.Newmonth,"Enter the month of your birth"))
        	return false;  
        if (!validRequired(theForm.Newyear,"Enter the year of your birth"))
        	return false; 
		if(!actualDate(theForm.Newday, theForm.Newmonth, theForm.Newyear))
            return false;
		if(!ageCheck(theForm.Newday, theForm.Newmonth, theForm.Newyear))
			return false;  
			
		
		if (!validRequired(theForm.ContactHouseNo,"What is your house name/number?"))
	    	return false;
		if (!validString(theForm.ContactHouseNo,"House Number"))
	    	return false;
		if (!minusChecking(theForm.ContactHouseNo,"House Number"))
	    	return false;
		if (!validPostcode(theForm.ContactPostcode,"Please enter your postcode?", true))
	    	return false;
		if (!PostIreland(theForm.ContactPostcode))
	    	return false;
        if (!validCheckBox(theForm.tsc,"Terms & Conditions"))
			return false;
		if(!tsc(theForm.tsc))
			return false;
			
  return true;
}

function validateIndexSWIN(theForm) 
{
        if (!validRequired(theForm.Newday,"Day"))
        	return false;  
        if (!validRequired(theForm.Newmonth,"Month"))
        	return false;  
        if (!validRequired(theForm.Newyear,"Year"))
        	return false; 
		if(!actualDate(theForm.Newday, theForm.Newmonth, theForm.Newyear))
            return false;
		if(!ageCheck(theForm.Newday, theForm.Newmonth, theForm.Newyear))
			return false;            			
  return true;
}

function validateRefer(theForm) 
{
        if (!validRequired(theForm.Referemail,"Email"))
        	return false;  
        if(!validEmail(theForm.Referemail))
            return false;        	
        if (!validRequired(theForm.Referday,"Day"))
        	return false;  
        if (!validRequired(theForm.month,"Month"))
        	return false;  
        if (!validRequired(theForm.Referyear,"Year"))
        	return false;
		if (!validRequired(theForm.Referpc,"Post Code"))
	       	return false;
        if(!actualDate(theForm.Referday, theForm.month, theForm.Referyear))
            return false;
        if(!ageCheck(theForm.Referday, theForm.month, theForm.Referyear))
            return false;
                        
  return true;
}



