function checkemail( str2 )
{
	var rettest = false;
	
	var str    = str2;
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	if (filter.test(str))
	{
		rettest = true;
	}
	
	return rettest;
}

function chk()
{
	var ret  = true;
	var skip = false;
	var desc = false;
	var msg  = "";

	if ( document.form.cont_name.value == "" ) { ret = false; msg += "Please, fill 'Contact Names'.\n"; }
	if ( document.form.adres.value == "" )     { ret = false; msg += "Please, fill 'Delivery address'.\n"; }
	if ( document.form.post.value == "" )      { ret = false; msg += "Please, fill 'Delivery postcode'.\n"; }
	if ( document.form.mail2.value == "" )
	{ 
		ret = false; msg += "Please, fill 'Email'.\n"; 
	}
	else
	{
		if ( !checkemail(document.form.mail2.value) )
		{ ret = false; msg += "Please input a valid email address.\n"; }
	}
	
	if ( document.form.tel.value == "" )       { ret = false; msg += "Please, fill 'Telephone'.\n"; }
	if ( document.form.gsm.value == "" )       { ret = false; msg += "Please, fill 'Mobile telephone'.\n"; }
	if ( document.form.read.checked != 1 )     { ret = false; msg += "Please, check 'Terms and Conditions'.\n"; }
	
	//delivery date
	if ( document.form.dayd.value == "" )     { ret = false; msg += "Please, choose delivery day\n"; }
	if ( document.form.monthd.value == "" )     { ret = false; msg += "Please, choose delivery month\n"; }
	if ( document.form.yeard.value == "" )     { ret = false; msg += "Please, choose delivery year\n"; }
	//estimate date
	if ( document.form.day.value == "" )     { ret = false; msg += "Please, choose estimate day\n"; }
	if ( document.form.month.value == "" )     { ret = false; msg += "Please, choose estimate month\n"; }
	if ( document.form.year.value == "" )     { ret = false; msg += "Please, choose estimate year\n"; }
	
	if ( document.form.mini.checked == 1 )      { skip = true; }
	if ( document.form.midi.checked == 1 )      { skip = true; }
	if ( document.form.build.checked == 1 )     { skip = true; }
	if ( document.form.sliding.checked == 1 )   { skip = true; }
	//if ( document.form.rel.checked == 1 )       { skip = true; }
	
	if (!skip) { ret = false; msg += "Please, check one of 'Skips'.\n"; }
	
	if ( document.form.mini.checked == 1 && ( document.form.mini_num.value == "" || document.form.mini_num.value == 0 ) )         { ret = false; msg += "Please, Enter Number of Mini Skips\n"; }
	if ( document.form.midi.checked == 1 && ( document.form.midi_num.value == "" || document.form.midi_num.value == 0 ))          { ret = false; msg += "Please, Enter Number of Midi Skips\n"; }
	if ( document.form.build.checked == 1 && ( document.form.build_num.value == "" || document.form.build_num.value == 0 ))       { ret = false; msg += "Please, Enter Number of Build Skips\n"; }
	if ( document.form.sliding.checked == 1 && ( document.form.sliding_num.value == "" || document.form.sliding_num.value == 0 )) { ret = false; msg += "Please, Enter Number of Lockable Sliding Skips\n"; }
	
	if ( document.form.paper.checked == 1 )    { desc = true; }
	if ( document.form.foam.checked == 1 )     { desc = true; }
	if ( document.form.empty.checked == 1 )    { desc = true; }
	if ( document.form.furn.checked == 1 )     { desc = true; }
	if ( document.form.elektr.checked == 1 )   { desc = true; }
	if ( document.form.glas.checked == 1 )     { desc = true; }
	if ( document.form.garden.checked == 1 )   { desc = true; }
	if ( document.form.plastics.checked == 1 ) { desc = true; }
	if ( document.form.soil.checked == 1 )     { desc = true; }
	if ( document.form.clothes.checked == 1 )  { desc = true; }
	if ( document.form.ash.checked == 1 )      { desc = true; }
	if ( document.form.solid.checked == 1 )    { desc = true; }
	if ( document.form.plaster.checked == 1 )  { desc = true; }
	if ( document.form.wood.checked == 1 )     { desc = true; }
	if ( document.form.inert.checked == 1 )    { desc = true; }
	
	if (!desc) { ret = false; msg += "Please, check one of 'Description'.\n"; }
	
	
	if ( document.form.payby.value != "" )
	{
		memret = 0;
		
		for ( var i = 0; i < document.form.payby.length; i++ )
		{
			if ( document.form.payby[i].checked == 1 ) memret = 1;
		}
		
		if ( memret == 0 ) { ret = false; msg += "Please, check payment method.\n"; }
	}
	
	if ( !ret ) alert( msg );
	else 
	{
		if ( confirm("You will be contacted by a member of Mitchells of Mansfield, prior to delivery, to provide final confirmation of this order.") )
		document.form.submit();	
		else ret = false;
	}
	return ret;
}



function num(chk_type)
{
	if ( chk_type == 'mini')
		{
			if ( (document.form.mini.checked == 1) &&( document.form.mini_num.value == '') ) { document.form.mini_num.value = '1'; }
			else { document.form.mini_num.value = ''; }
		}
	else if ( chk_type == 'midi')
		{
			if ( (document.form.midi.checked == 1) &&( document.form.midi_num.value == '') ) { document.form.midi_num.value = '1'; }
			else { document.form.midi_num.value = ''; }
		}
	else if ( chk_type == 'build')
		{
			if ( (document.form.build.checked == 1) &&( document.form.build_num.value == '') ) { document.form.build_num.value = '1'; }
			else { document.form.build_num.value = ''; }
		}
	else if ( chk_type == 'sliding')
		{
			if ( (document.form.sliding.checked == 1) &&( document.form.sliding_num.value == '') ) { document.form.sliding_num.value = '1'; }
			else { document.form.sliding_num.value = ''; }
		}
	else if ( chk_type == 'rel')
		{
			if ( (document.form.rel.checked == 1) &&( document.form.rel_num.value == '') ) { document.form.rel_num.value = '1'; }
			else { document.form.rel_num.value = ''; }
		}
}

function show(hide)
{
	 if (obj = document.getElementById("hiden"))
	 {
		try 
		{  
			if (hide==1 && obj.style.visibility == "hidden")
			{ 
				obj.style.display = "block";
				obj.style.visibility = "visible";
			}
			
			if (hide==0 && obj.style.visibility == "visible") 
			{
				obj.style.display = "none";
				obj.style.visibility = "hidden";
			}
		}
		catch (err) {}
	 }
}

function calc_total_cost()
{
	var sited_cost    = 25;
	var mini_price    = 90;
	var midi_price 	  = 115;
	var build_price   = 165;
	var sliding_price = 175;
	var rel_price     = 124;
	var over7_price   = 10;
	
	var over7_extra_cost = 0;
	var over7_num_times  = 0;
	
	var final_cost = 0;
	
	// CALCULATE OVER  7 DAYS
	var day_b   = document.form.dayd.value;
	var month_b = document.form.monthd.value;
	var year_b  = document.form.yeard.value;
	
	var day_e   = document.form.day.value;
	var month_e = document.form.month.value;
	var year_e  = document.form.year.value;
	
	var date_b = new Date( year_b, (month_b-1), day_b ); // - 1 because months 0-11
	var date_e = new Date( year_e, (month_e-1), day_e ); // - 1 because months 0-11
	
	var date_diff = date_e.getTime() - date_b.getTime();
	
	num_days = Math.round( date_diff / 86400000 );
	
	//alert( num_days );
	
	over7_num_times = Math.floor( num_days / 7 );
	
	//alert( over7_num_times );
	
	// CALCULATE OVER  7 DAYS END
	if ( document.form.mini.checked )
	{
		if ( miniobj = document.getElementById( 'mini_num' ) )
		{
			final_cost = final_cost + ( miniobj.value * mini_price );
			if ( over7_num_times ) over7_extra_cost = over7_extra_cost + (over7_num_times * over7_price * miniobj.value);
		}
	}
	
	if ( document.form.midi.checked )
	{
		if ( midiobj = document.getElementById( 'midi_num' ) )
		{
			final_cost = final_cost + ( midiobj.value * midi_price );
			if ( over7_num_times ) over7_extra_cost = over7_extra_cost + (over7_num_times * over7_price * midiobj.value);
		}
	}
	
	if ( document.form.build.checked )
	{
		if ( buildobj = document.getElementById( 'build_num' ) )
		{
			final_cost = final_cost + ( buildobj.value * build_price );
			if ( over7_num_times ) over7_extra_cost = over7_extra_cost + (over7_num_times * over7_price * buildobj.value);
		}
	}
	
	if ( document.form.sliding.checked )
	{
		if ( slidingobj = document.getElementById( 'sliding_num' ) )
		{
			final_cost = final_cost + ( slidingobj.value * sliding_price );
			if ( over7_num_times ) over7_extra_cost = over7_extra_cost + (over7_num_times * over7_price * slidingobj.value);
		}
	}
	
	/*
	if ( document.form.rel.checked )
	{
		if ( relobj = document.getElementById( 'rel_num' ) )
		{
			final_cost = final_cost + ( relobj.value * rel_price );
			if ( over7_num_times ) over7_extra_cost = over7_extra_cost + (over7_num_times * over7_price * relobj.value);
		}
	}
	*/
	
	if ( document.form.road.checked ) final_cost = final_cost + sited_cost;
	
	if ( over7_extra_cost ) final_cost = final_cost + over7_extra_cost;
	
	if ( tc = document.getElementById( 'total_cost' ) )
	{
		tc.value = final_cost;
	}
}

function calc_date2()
{
	//alert('in');
	
	var day_b   = document.form.dayd.value;
	var month_b = document.form.monthd.value;
	var year_b  = document.form.yeard.value;
	
	var day_e   = document.form.day.value;
	var month_e = document.form.month.value;
	var year_e  = document.form.year.value;
	
	var date_b = new Date( year_b, (month_b-1), day_b ); // - 1 because months 0-11
	var date_e = new Date( year_e, (month_e-1), day_e ); // - 1 because months 0-11
	
	var date_e2 = new Date( date_b.getTime() + 2*86400000 );
	var date_e9 = new Date( date_e.getTime() + 2*86400000 );
	
	var day_e2   = date_e2.getDate();
	var month_e2 = date_e2.getMonth() + 1; // + 1 because months 0-11
	var year_e2  = date_e2.getFullYear();
	
	var day_e9   = date_e9.getDate();
	var month_e9 = date_e9.getMonth() + 1; // + 1 because months 0-11
	var year_e9  = date_e9.getFullYear();
	
	if ( day_e2 < 10 )   day_e2   = "0" + day_e2;
	if ( month_e2 < 10 ) month_e2 = "0" + month_e2;
	if ( day_e9 < 10 )   day_e9   = "0" + day_e9;
	if ( month_e9 < 10 ) month_e9 = "0" + month_e9;
	
	//alert('de2 ' + day_e2 + ' me2 ' + month_e2 + ' de9 ' + day_e9 + ' me9 ' + month_e9 );
	
	//  CHANGE SITED DATE
	for ( i = 0; i < document.form.sited_day.options.length; i++ )
	{
		if ( document.form.sited_day.options[i].value == day_e2 ) document.form.sited_day.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.sited_month.options.length; i++ )
	{
		if ( document.form.sited_month.options[i].value == month_e2 ) document.form.sited_month.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.sited_year.options.length; i++ )
	{
		if ( document.form.sited_year.options[i].value == year_e2 ) document.form.sited_year.selectedIndex = i ;
	}
	
	//  CHANGE SITED TO DATE
	for ( i = 0; i < document.form.sited_day_to.options.length; i++ )
	{
		if ( document.form.sited_day_to.options[i].value == day_e9 ) document.form.sited_day_to.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.sited_month_to.options.length; i++ )
	{
		if ( document.form.sited_month_to.options[i].value == month_e9 ) document.form.sited_month_to.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.sited_year_to.options.length; i++ )
	{
		if ( document.form.sited_year_to.options[i].value == year_e9 ) document.form.sited_year_to.selectedIndex = i ;
	}
	
	// CHANGE FIRST DATE
	for ( i = 0; i < document.form.dayd.options.length; i++ )
	{
		if ( document.form.dayd.options[i].value == day_e2 ) document.form.dayd.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.monthd.options.length; i++ )
	{
		if ( document.form.monthd.options[i].value == month_e2 ) document.form.monthd.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.yeard.options.length; i++ )
	{
		if ( document.form.yeard.options[i].value == year_e2 ) document.form.yeard.selectedIndex = i ;
	}
	
	//  CHANGE SECOND DATE
	for ( i = 0; i < document.form.day.options.length; i++ )
	{
		if ( document.form.day.options[i].value == day_e9 ) document.form.day.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.month.options.length; i++ )
	{
		if ( document.form.month.options[i].value == month_e9 ) document.form.month.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.year.options.length; i++ )
	{
		if ( document.form.year.options[i].value == year_e9 ) document.form.year.selectedIndex = i ;
	}
	
	calc_total_cost();
}



function form_show()
{
	var form_hide = null;
	
	if ( document.form.road.checked == true ) form_hide = 1;
	else form_hide = 0;
	
	if ( obj = document.getElementById( "road_form" ) )
	{
		try
		{
			if (form_hide==1 && obj.style.visibility == "hidden")
			{
				obj.style.display = "block";
				obj.style.visibility = "visible";
				calc_date2();
			}
			
			if (form_hide==0 && obj.style.visibility == "visible") 
			{
				obj.style.display = "none";
				obj.style.visibility = "hidden";
			}
		}
		catch (err) {}
	}
}

function restrict_show()
{
	var restrict_hide = null;
	
	if ( document.form.road.checked == true ) restrict_hide = 1;
	else restrict_hide = 0;
	
	if ( obj = document.getElementById( "road_form" ) )
	{
		try
		{
			if (restrict_hide==1 && obj.style.visibility == "hidden")
			{
				obj.style.display = "block";
				obj.style.visibility = "visible";
			}
			
			if (restrict_hide==0 && obj.style.visibility == "visible") 
			{
				obj.style.display = "none";
				obj.style.visibility = "hidden";
			}
		}
		catch (err) {}
	}
}

function calc_date()
{
	var day_b   = document.form.dayd.value;
	var month_b = document.form.monthd.value;
	var year_b  = document.form.yeard.value;
	
	var date_b = new Date( year_b, (month_b-1), day_b ); // - 1 because months 0-11
	
	var date_e = new Date( date_b.getTime() + (6*86400000) );
	
	var day_e   = date_e.getDate();
	var month_e = date_e.getMonth() + 1; // + 1 because months 0-11
	var year_e  = date_e.getFullYear();
	
	// CHANGE SELECTED OPTIONS OF THE SECOND DATE
	
	for ( i = 0; i < document.form.day.options.length; i++ )
	{
		if ( document.form.day.options[i].value == day_e ) document.form.day.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.month.options.length; i++ )
	{
		if ( document.form.month.options[i].value == month_e ) document.form.month.selectedIndex = i ;
	}
	
	for ( i = 0; i < document.form.year.options.length; i++ )
	{
		if ( document.form.year.options[i].value == year_e ) document.form.year.selectedIndex = i ;
	}
	
	calc_total_cost();
}

function checkPostCode(postcode)
{
	code = postcode.toUpperCase().replace(/\W+/,'');
	
	res = code.match(/^NG(15|16|17|18|19|20|21|22)[1-9]+|DE55[1-9]+|S4[25][1-9]+/)
	if(res != null)
	{
		return true
	}
	/*res = code.match(/^DE55[1-9]+/)
	if(res != null)
	{
		return true
	}
	res = code.match(/^S4[25][1-9]+/)
	if(res != null)
	{
		return true
	}
	*/
	return false
}

function freezeForm(form, disabled, skip)
{
	opts = form.elements
	for(i=0;i<opts.length; i++)
	{
		if(opts[i].name == skip)continue;
		opts[i].disabled = disabled
	}
}

function checkForm(obj)
{
	if(!checkPostCode(obj.value))
	{
		freezeForm(obj.form, true, obj.name)
		alert('The postcode you have entered may be difficult for us to cover so please call 01623 551783')
		obj.focus()
		return 
	}
	freezeForm(obj.form, false, obj.name)
}

function formOnKeyUp(obj)
{
	freezeForm(obj.form, !checkPostCode(obj.value), obj.name)
}
