//----------functions for frames only, called by <script language="JavaScript1.2" src="bundyframe.js"></script>
//----check to see if has been loaded without parent. if so, load in original, using split location
if (
		(window.location.href.indexOf('employee-time-clocks.php')>-1) && 
		(window.top==window.self)
	) {
		window.location='http://www.bundyspecialists.com.au/time-clocks.php';
	}

if (parent.document.carton=='off') {
parent.document.cat=new Array();
parent.document.desc=new Array();
parent.document.price=new Array();
parent.document.cartcontents=new Array();
parent.document.cartnumber=0;
parent.document.discount='TBA'; parent.document.freight='TBA'; parent.document.totalex='TBA'; parent.document.total='TBA';
}

// Extra employees
function addSpecialtocart(catbutton,descbutton,pricebutton,empcount)
{
	alert(catbutton + ' ' + descbutton + ' ' + pricebutton + ' ' + parseInt(empcount));
	// Call addtocart with updated price.
	addtocart(catbutton,descbutton,parseInt(empcount));
}
// Standard Cart 
function addtocart(catbutton,descbutton,pricebutton)
{
	//alert(catbutton + ' ' + descbutton + ' ' + pricebutton);
	
	parent.document.carton='on';
	parent.document.cartnumber++; 
	if (parent.document.cartnumber>8) 
	{
	alert('You already have 8 items in your cart.\n\nYour cart is full. Please click Checkout...'); 
	} 
	else 
	{
	parent.document.cat[parent.document.cartnumber]=catbutton;
	parent.document.desc[parent.document.cartnumber]=descbutton;
	parent.document.price[parent.document.cartnumber]=pricebutton;
	parent.document.x=1;
	while (parent.document.cartnumber>=parent.document.x) 
	{
		parent.document.cartcontents[parent.document.x]='<tr class="cart"><td bgcolor="eeeeee" width="120">'+parent.document.cat[parent.document.x]+'</td><td  bgcolor="eeeeee" width="120">'+parent.document.desc[parent.document.x]+'</td><td bgcolor="eeeeee" width="120">$'+parent.document.price[parent.document.x].toFixed(2)+'</td></tr>'; parent.document.x++;
	}
/*
	while (cartnumber>=y)
	{
	}subtotal=subtotal+price[y] ; freight= XXXXXX .toFixed(2); total= XXXXXXX .toFixed(2);
*/
	parent.document.cartcontentsstring=parent.document.cartcontents+','; parent.document.cartcontentsstring=replace(parent.document.cartcontentsstring,',','');
	parent.document.subtotal=0; parent.document.discount=0; parent.document.z=1; 
	while (parent.document.cartnumber>=parent.document.z)	{parent.document.subtotal=parent.document.subtotal+parseFloat(parent.document.price[parent.document.z]); parent.document.z++;};
	parent.document.discount=parent.document.subtotal*.05;
	parent.document.getElementById('cart').innerHTML='<div class="topmost"><table width="470" height="auto" border="1" rules="none" class="cart"><tr><td align="left" valign="top"><strong style="font-size: 12px;">Shopping cart contents:</strong></td></tr><tr><td valign="top"><table>'+parent.document.cartcontentsstring+'</table></td><td width="100" valign="top" align="right" style="padding-right: 5px;"><a href="checkout.htm" target="shopframe"><img src="checkout.gif" border="none" width="80" height="27" alt="Proceed to checkout..." /></a><br />Sub-total: $'+parent.document.subtotal.toFixed(2)+'<br /><span style="color: red;">Discount: $'+parent.document.discount.toFixed(2)+'</span><br />Freight: $'+parent.document.freight+'<br />Total: $'+parent.document.totalex+'<br /><span style="color: rgb(190,190,190)">(ex GST)</span><br /><br /><img src="sp.gif" alt="" width="20"/><img class="hand" src="empty.gif" border="none" alt="Empty shopping cart" onclick="emptycart();" /><br /></td></tr></table></div>';
	if (parent.document.freight!='TBA') {totalup();}
} //end else on full cart if
} //end addtocart


// addfreight() and totalup() are copied in bundy.js for emptycart() to use... 
function addfreight() {
	if (document.checkoutform.state.value=='N.S.W.') {parent.document.freight=12} else {parent.document.freight=20};
	parent.document.getElementById('cart').innerHTML='<div class="topmost"><table width="470" height="auto" border="1" rules="none" class="cart"><tr><td align="left" valign="top"><strong style="font-size: 12px;">Shopping cart contents:</strong></td></tr><tr><td valign="top"><table>'+parent.document.cartcontentsstring+'</table></td><td width="100" valign="top" align="right" style="padding-right: 5px;"><a href="checkout.htm" target="shopframe"><img src="checkout.gif" border="none" width="80" height="27" alt="Proceed to checkout..." /></a><br />Sub-total: $'+parent.document.subtotal.toFixed(2)+'<br /><span style="color: red;">Discount: $'+parent.document.discount.toFixed(2)+'</span><br />Freight: $'+parent.document.freight+'.00'+'<br />Total: $'+parent.document.totalex+'<br /><span style="color: rgb(190,190,190)">(ex GST)</span><br /><br /><img src="sp.gif" alt="" width="20"/><img class="hand" src="empty.gif" border="none" alt="Empty shopping cart" onclick="emptycart();" /><br /></td></tr></table></div>';
	totalup();
}

function totalup() {
	parent.document.totalex=(parent.document.subtotal+parent.document.freight-parent.document.discount).toFixed(2);
	parent.document.getElementById('cart').innerHTML='<div class="topmost"><table width="470" height="auto" border="1" rules="none" class="cart"><tr><td align="left" valign="top"><strong style="font-size: 12px;">Shopping cart contents:</strong></td></tr><tr><td valign="top"><table>'+parent.document.cartcontentsstring+'</table></td><td width="100" valign="top" align="right" style="padding-right: 5px;"><a href="checkout.htm" target="shopframe"><img src="checkout.gif" border="none" width="80" height="27" alt="Proceed to checkout..." /></a><br />Sub-total: $'+parent.document.subtotal.toFixed(2)+'<br /><span style="color: red;">Discount: $'+parent.document.discount.toFixed(2)+'</span><br />Freight: $'+parent.document.freight+'.00'+'<br />Total: $'+parent.document.totalex+'<br /><span style="color: rgb(190,190,190)">(ex GST)</span><br /><br /><img src="sp.gif" alt="" width="20"/><img class="hand" src="empty.gif" border="none" alt="Empty shopping cart" onclick="emptycart();" /><br /></td></tr></table></div>';
	parent.document.total=parent.document.totalex*1.1;
	if (document.getElementById('totalbox')) {document.getElementById('totalbox').innerText=parent.document.total.toFixed(2);document.getElementById('totalbox').textContent=parent.document.total.toFixed(2)};
}


function replace(string,text,by) {
// Replaces text with by in string from http://www.irt.org/articles/js037/index.htm
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}



function validatecontact(thisform)
{ //-----start function validate(this)

if (document.contactform.name.value=="") {alert('Please enter a contact name         '); document.contactform.name.focus(); return false;}

if (document.contactform.phone.value=="" && document.contactform.email.value=="") {alert('Please enter your phone number or email address.          '); document.contactform.email.focus(); return false;}

if (document.contactform.subject.value=="" && document.contactform.machine.value=="") {alert('Please select your machine or enter a subject.          '); document.contactform.machine.focus(); return false;}

if (document.contactform.message.value=="Message: ") {alert('Please enter a short message.         '); document.contactform.message.focus(); return false;}

if (document.contactform.phone.value!="") {return dv(thisform);}
if (document.contactform.email.value!="") {return ev(thisform);}
}


function validaterepair(thisform)
{ //-----start function validate(this)

if (!document.repairform.repair[0].checked && !document.repairform.repair[1].checked) {alert('Please choose either On-site Service Call or Workshop Repairs.             '); document.repairform.repair[0].focus(); return false;}
if (document.repairform.company.value=="") {alert('Please enter your company name         '); document.repairform.company.focus(); return false;}
if (document.repairform.name.value=="") {alert('Please enter a contact name         '); document.repairform.name.focus(); return false;}

if (document.repairform.phone.value=="" && document.repairform.email.value=="") {alert('Please enter your phone number or email address.          '); document.repairform.phone.focus(); return false;}
if (document.repairform.address.value=="") {alert('Please enter your street address.          '); document.repairform.address.focus(); return false;}

if (document.repairform.subject.value=="") {alert('Please enter your machine make and model.          '); document.repairform.subject.focus(); return false;}

if (document.repairform.message.value=="Message: ") {alert('Please enter a detailed description of the problem.         '); document.repairform.message.focus(); return false;}

if (document.repairform.phone.value!="") {return dv(thisform);}
if (document.repairform.email.value!="") {return ev(thisform);}
}


function validatecheckout(thisform)
{ //-----start function validate(this)
parent.document.orderform.email.value=document.checkoutform.email.value;

if (parent.document.total!='TBA') {
parent.document.y=1; parent.document.ordercontents=new Array();
while (parent.document.cartnumber>=parent.document.y) {parent.document.ordercontents[parent.document.y]=parent.document.cat[parent.document.y]+'                '+parent.document.desc[parent.document.y]+'                $'+parent.document.price[parent.document.y].toFixed(2)+'\n'; parent.document.y++;}
document.checkoutform.order.value=parent.document.ordercontents+','; document.checkoutform.order.value=replace(document.checkoutform.order.value,',','');
}

if (parent.document.total!='TBA') {
	document.checkoutform.total.value=parent.document.total.toFixed(2);
	document.checkoutform.freight.value=parent.document.freight.toFixed(2);
	document.checkoutform.discount.value=parent.document.discount.toFixed(2);
	document.checkoutform.gst.value=(parent.document.total/11).toFixed(2); 
	// parent.document.totalex; 
}

if (parent.document.subtotal==0) {alert('Your shopping cart is empty!\n\nPlease click on a Recorder or Accessories link above,         \nselect your purchase, and click \'Add to cart.\''); return false;}

if (document.checkoutform.name.value=="") {alert('Please enter a contact name         '); document.checkoutform.name.focus(); return false;}
if (document.checkoutform.company.value=="") {alert('Please enter your company name         '); document.checkoutform.company.focus(); return false;}

if (document.checkoutform.phone.value=="" && document.checkoutform.email.value=="") {alert('Please enter your phone number or email address.          '); document.checkoutform.email.focus(); return false;}

if (document.checkoutform.address.value=="") {alert('Please enter your delivery address.         '); document.checkoutform.address.focus(); return false;}
if (document.checkoutform.suburb.value=="") {alert('Please enter your suburb.         '); document.checkoutform.suburb.focus(); return false;}
if (document.checkoutform.state.value=="der") {alert('Please select your state.         '); document.checkoutform.state.focus(); return false;}
if (document.checkoutform.postcode.value=="") {alert('Please enter your postcode.         '); document.checkoutform.postcode.focus(); return false;}

if (document.checkoutform.phone.value!="") {return dv(thisform);}
if (document.checkoutform.email.value!="") {return ev(thisform);}

//-----------alert('validation done');

//-----ok - it works tight, but the form still ditches out here - proved by putting the alert in. it ignores anything else after the 'return dv...'. 
//-----removing the 'returns' just above lets it go through to the alert, but it doesn't validate either? so maybe i need to do a similar line like XXX below??

} //-----end function validate()


 
function ev(thisform)
{
with (thisform)
{
if (emailvalidation(email,'Please enter your correct email address         ')==false) {email.focus(); return false;} //---------XXX like this line?
}
}

function dv(thisform)
{
with (thisform)
{
if (digitvalidation(phone, 10, 12,'Please re-enter phone number.\nArea code (ie. NSW = 02)            \nand numbers only - no spaces.            ','')==false) {phone.focus(); return false;}
}
}


//----phone number validator, calledd on by dv(thisform)

function digitvalidation(entered, min, max, alertbox, datatype)
{
with (entered)
{
checkvalue=parseFloat(value);
if (datatype)
  {smalldatatype=datatype.toLowerCase();
   if (smalldatatype.charAt(0)=="i") {checkvalue=parseInt(value); if (value.indexOf(".")!=-1) {checkvalue=checkvalue+1}};
  }
if ((parseFloat(min)==min && value.length<min) || (parseFloat(max)==max && value.length>max) || value!=checkvalue)
{if (alertbox!="") {alert(alertbox);} return false;}
else {return true;}
}
}


//----email validator, called on by ev(thisform) 

function emailvalidation(entered, alertbox)
{
with (entered)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
lastpos=value.length-1;
if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) 
{if (alertbox) {alert(alertbox);} return false;}
else {return true;}
}
}
