// JavaScript Document
var sterlingrate=1.62;
var techflexg;
var colorg;
var connectorsg;
var appg;
var cableg;
var lengthg;
var units;
var currency;
var currencysymbol;
var customsg;
var price;
var lengthconvertg;
var lbrate;
var impshipsurplus;
var xtralbrate;
function pricelist(form) {
	form.price.value="";
	loadcountry(form);
	if(conforminputs(form)==false) {return false}
	price=calculateprice(form); 
	if (isFinite(price)==true) form.price.value=currencysymbol+price;
}
function checkform(form) {
	form.price.value="";
	form.warning.value="";
	loadcountry(form);
	if(conforminputs(form)==false) {return false}
	price=calculateprice(form); 
	if (isFinite(price)==true) form.price.value=currencysymbol+price;
}
function submitform(form) {
	if(checkform(form)==false) {return false}
	genstringsubmit(price,form)
	form.submit()
}
function genstringsubmit(price,form) {
	sku=gensku(form);
	description=gendescription(form);
	size=gensize(form);
	weight=genweight(form);
	submittalstr=sku+"|"+price+"|"+description+"|"+size+"|"+weight
	form.cartstring.name=submittalstr
}
function gensku(form) {
	var skustring
	cablecode=getcableattribs(form).co;
	appcode=getappattribs(form).co;
	var unitcode;
	if (units=="metre") {unitcode="M"}
	else {unitcode="F"}
	var colorcode=getcolorcode()
	skustring="item-"+cablecode+appcode+colorcode+lengthg+unitcode+"~"+customsg
	return skustring
}
function gendescription(form) {
	var techstring=""
	var cablechars=getcableattribs(form)
	if (techflexg==true) {techstring=", with Techflex"}
	var connectstring=""
	if (connectorsg!="") {connectstring=", "+connectorsg}
	var lengthstring=""
	if (lengthg!=0) {
		remainder= (lengthg % 1)
		intpart=(Math.floor(lengthg))
		if (remainder==0) {
			lengthstring=", "+intpart+" "+units}
		else if (remainder==0.25) {
			lengthstring=", "+intpart+" 1/4 "+units}
		else if (remainder==0.5) {
			lengthstring=", "+intpart+" 1/2 "+units}
		else if (remainder==0.75) {
			lengthstring=", "+intpart+" 3/4 "+units}
	}
	var colorstring=""
	if (colorg!="") {colorstring=", "+colorg}
	var appstring=""
	if (appg!="") {appstring=getappattribs(form).desc
		if (cablechars.bu==1) {
			appstring=appstring.substr(0,(appstring.length-1))
		}
	}
	var cablestring=cablechars.name
	var descstring= (cablestring+" "+appstring+lengthstring+connectstring+colorstring+techstring)
	return descstring
}
function gensize(form) {
	var impship=0;
	var footlength=lengthg;
	if (units=="metre") {footlength=footlength*3.28}
	var cablechars=getcableattribs(form);
	var appchars=getappattribs(form);
	var nocables=appchars.count;
	if (cablechars.bu=="1") {nocables=1}
	if (appg=="speaker") {
		if (form.site.value=="us") {impship=(100*footlength*cablechars.vw*lbrate*0.25).toFixed(0);}
		if (form.site.value=="uk") {impship=(100*footlength*cablechars.vw*lbrate*0.5).toFixed(0);}
	}
	else {
		impship=(100*((lbrate*nocables*(cablechars.fw+(cablechars.vw*footlength)))+impshipsurplus*appchars.count)).toFixed(0);
	}
	var frbfill=(100*(footlength*nocables/cablechars.fr)).toFixed(0);
	return (impship+"~"+frbfill);
}
function genweight(form) {
	weightfactors=getcableattribs(form);
	appfactors=getappattribs(form);
	appcount=appfactors.count;
	var weight=(weightfactors.fw+lengthconvertg*(lengthg*weightfactors.vw)).toFixed(3);
	if (appfactors.count != 1 && weightfactors.bu == 0) { weight=(weight*appfactors.count).toFixed(3); }
	return weight;
}
function loadcountry(form) {
	if (form.site.value=="us") {
		units="foot";
		currency="USD";
		currencysymbol="$"
		lbrate=2.5;
		xtralbrate=0;
		lengthconvertg=1;
		impshipsurplus=0;
	}
	if (form.site.value=="uk") {
		units="metre";
		currency="GBP";
		currencysymbol="\u00A3"
		lbrate=4.5;
		xtralbrate=2;
		lengthconvertg=3.28;
		impshipsurplus=1.5;
	}
}
function conforminputs(form) {
	if (form.customs==null) {customsg="0000"}
	else { customsg=form.customs.value }
	if (form.techflex==null) { techflexg=0 }
	else {techflexg=form.techflex.checked}
	if (form.color==null) { colorg=""}
	else {colorg=form.color.value}
	if (form.connectors==null) { connectorsg="" }
	else {connectorsg=form.connectors.value}
	if (form.app==null) { appg="" }
	else {appg=form.app.value}
	if (form.cable==null) { cableg="" }
	else {cableg=form.cable.value}
	if (form.length==null) { lengthg=0 }
	else {lengthg=parseFloat(form.length.value)
		  if (form.length.value=="") {
			  return false; }
		  if (isFinite(lengthg)==false) {
			form.warning.value='Input not recognized; eliminate non-numeric characters';
			return false; }	
		  if (connectorsg!="unterminated") {form.length.value=lengthg+" "+units}
	}
	if ((units=="foot") && (Math.round(lengthg*2)!=lengthg*2)) {
		form.warning.value='Minimum length increment is .5 foot -- please revise';
		return false;
	}
	if ((units=="metre") && (Math.round(lengthg*4)!=lengthg*4)) {
		form.warning.value='Minimum length increment is .25 metre -- please revise';
		return false;
	}
	if (lengthg<minlength(cableg)) {
		form.warning.value='Minimum cable length is '+minlength(cableg)+' '+units+' -- please revise';
		return false;
	}
	if (lengthg>maxlength(cableg)) {
		form.warning.value='Maximum cable length is '+maxlength(cableg)+' '+units+' -- please revise';
		return false;
	}
	if ((techflexg==true) && (appg!="stereo") && (((lengthg>12) && (units=="foot")) || ((lengthg>4) && (units=="metre")))) {
		form.warning.value="Techflex not available for lengths over 12 feet (4m)";
		form.techflex.checked=false;
		return false;
	}
	if ((techflexg==true) && (appg=="stereo") && (((lengthg>25) && (units=="foot")) || ((lengthg>7.5) && (units=="metre")))) {
		form.warning.value="Techflex not available for lengths over 25 feet (7.5m)";
		techflexg=false;
		form.techflex.checked=false;
		return false;	
	}
	if ((techflexg==true) && ((appg=="digaudcoax") || (appg=="composite") || (appg=="subwoofer") || (appg=="rf"))) {
		techflexg=false;		
		form.techflex.checked=false;
	}
	form.warning.value="";
}
function minlength(cable){
	if (units=="foot") {
		if (cable=='7787A') return 2;
		if (cable=='7710A' || cable=='V35CFB') return 3;
		if (cable=='7712A' || cable=='7711A') return 5;
		else return 1;
	}
	if (units=="metre") {
		if (cable=='7787A') return 0.5;
		if (cable=='7710A' || cable=='V35CFB') return 1;
		if (cable=='7712A' || cable=='7711A') return 1.75;
		else return 0.5;
	}
}
function maxlength(cable){
	if (units=="foot") {
		if (cable=='V35CFB') return 300;
		if (cable=='7711A' || cable=='7712A') return 450;
		if (cable=='ESKA4001') return 50;
		if (cable=='1583A' || cable=='1592A') return 325;
		return 975;
	}
	if (units=="metre") {
		if (cable=='V35CFB') return 95;
		if (cable=='7711A' || cable=='7712A') return 140;
		if (cable=='ESKA4001') return 15;
		if (cable=='1583A' || cable=='1592A') return 100;
		return 295;
	}

}
function calculateprice(form) {
	var nonunitprice;
	pricefactors=getcableattribs(form)
	appfactors=getappattribs(form)
	var footlength=lengthg;
	if (units=="metre") {footlength=footlength*3.28}
	if (connectorsg=="unterminated") { nonunitprice=(pricefactors.vc+(pricefactors.vw*lbrate))*footlength}
	if (connectorsg!="unterminated") { nonunitprice=(((pricefactors.vc+(pricefactors.vw*lbrate))*footlength)+pricefactors.fc) }
	if (pricefactors.bu==false  && connectorsg!="unterminated") {
		nonunitprice=(((nonunitprice+impshipsurplus)*appfactors.count) + nonstandardconns(form)) +techflexg*footlength;
	}
	if (pricefactors.bu==true) {
		nonunitprice=nonunitprice+nonstandardconns(form)+impshipsurplus*appfactors.count;
	}
	if (currency=="USD") {
		price=nonunitprice
	}
	if (currency=="GBP") { 
		price=(nonunitprice/sterlingrate)
	}
	if (connectorsg!="unterminated") {price=(Math.round(4*price+.125)/4).toFixed(2)
	}
	else {price=price.toFixed(2)}
	return price
}

function nonstandardconns(form) {
	if (appg=="svideobkout") {return 12 }
	if (appg=="ministereospecial" || appg=="miniy" || appg=="miniphasesplit" ) {return 5}
	if (appg=="vgacomponent") { return (-10)}
	if (appg=="speaker") {
		if (connectorsg=='Bananas to Unterminated' || connectorsg=='Spades to Unterminated') {return 13.50}
		if (connectorsg=='Bananas to Bi-Bananas' || connectorsg=='Bananas to Bi-Spades' || connectorsg=='Spades to Bi-Spades' || connectorsg=='Spades to Bi-Bananas') {return 40.50}
	return 27.00	
	}
	
	if (appg=="component" || appg=="rgbs" || appg=="digaudcoax" || appg=="rgbhv" || appg=="stereo" || appg=="composite" || appg=="subwoofer" || appg=="5chan" || appg=="6chan" || appg=="7chan" || appg=="8chan") {
		var extra=0;
		var eighthinchmono=getconncount("1/8",form);
		extra=extra+eighthinchmono*5;
		var quartinchmono=getconncount("1/4",form);
		extra=extra+quartinchmono*5;
		var rightanglebnc=getconncount("Right-Angle BNC",form);
		extra=extra+rightanglebnc*5;
		extra=extra*getappattribs(form).count
		return extra;
	}
	return 0;
}

function getcolorcode() {
	if (colorg=="Black") {return "B"}
	if (colorg=="White") {return "W"}
	if (colorg=="Red") {return "R"}
	if (colorg=="Blue") {return "L"}
	if (colorg=="Green") {return "G"}
	if (colorg=="Yellow") {return "Y"}
	if (colorg=="Brown") {return "N"}
	if (colorg=="Purple") {return "P"}
	if (colorg=="Gray") {return "E"}
	if (colorg=="Orange") {return "O"}
	if (colorg=="Red/White") {return "S"}
	if (colorg=="Red/Green/Blue") {return "C"}
	if (colorg=="Red/Green/Blue/Yellow/White") {return "H"}
	if (colorg=="Red/Green/Blue/Yellow") {return "V"}
	return "0"
}

function getconncount(conntofind,form) {
	var conntext=connectorsg;
	var count=0
	var wherestart
	var loopcontrol=1
	while (loopcontrol!=0) {
		wherestart=conntext.indexOf(conntofind)
		if (wherestart!=-1) {
			count=count+1;
			conntext=conntext.substr((wherestart+1));
		}
		else {
			loopcontrol=0
		}
	}
	return count;
}
function getcableattribs(form) {
	var cabats = new Array ( '1694A', '1505F', 'LC1', '7787A','7710A','1695A','1800F','L4E6S','1505A','7731A','LV77S','YC2','1808A','7700A','1522A','7711A','7712A','L5CFB','V35CFB','LV61S','89259','8281','1855A','ESKA4001','MSA1','BJC10W','5T00UP','BJC12W','5000UE','4S11' )
	cabats['LC1'] = {bu:0, fr:120, fw:.09, vw:.057, fc:12.00, vc:1.08, co:'AA', name:'BJC LC-1'}
	cabats['7787A'] = {bu:1, fr:50, fw:.250, vw:.10, fc:48.35, vc:2.81, co:'BA', name:'Belden 7787A'}
	cabats['7710A'] = {bu:1, fr:25, fw:.271, vw:.27, fc:41.82, vc:4.73, co:'BB', name:'Belden 7710A'}
	cabats['1694A'] = {bu:0, fr:180, fw:.09, vw:.042, fc:13.94, vc:.60, co:'BC', name:'Belden 1694A'}
	cabats['1505F'] = {bu:0, fr:200, fw:.09, vw:.04, fc:16.89, vc:.93, co:'BD', name:'Belden 1505F'}
	cabats['1695A'] = {bu:0, fr:200, fw:.09, vw:.04, fc:15.00, vc:1.94, co:'BE', name:'Belden 1695A'}
	cabats['1800F'] = {bu:0, fr:200, fw:.13, vw:.029, fc:22.00, vc:1.19, co:'BG', name:'Belden 1800F'}
	cabats['L4E6S'] = {bu:0, fr:200, fw:.13, vw:.037, fc:27.00, vc:1.00, co:'CA', name:'Canare L-4E6S'}
	cabats['1505A'] = {bu:0, fr:200, fw:.09, vw:.037, fc:11.71, vc:.55, co:'BH', name:'Belden 1505A'}
	cabats['7731A'] = {bu:0, fr:70, fw:.250, vw:.10, fc:15.00, vc:2.18, co:'BI', name:'Belden 7731A'}
	cabats['LV77S'] = {bu:0, fr:120, fw:.2, vw:.07, fc:13.94, vc:1.40, co:'CB', name:'Canare LV-77S'}
	cabats['YC2'] = {bu:0, fr:200, fw:.16, vw:.038, fc:29.90, vc:1, co:'AB', name:'BJC YC-2'}
	cabats['1808A'] = {bu:0, fr:200, fw:.16, vw:.036, fc:23.90, vc:1, co:'BJ', name:'Belden 1808A'}
	cabats['7700A'] = {bu:0, fr:200, fw:.16, vw:.02, fc:23.90, vc:1.21, co:'BK', name:'Belden 7700A'}
	cabats['1522A'] = {bu:0, fr:80, fw:.2, vw:.07, fc:60, vc:2.38, co:'BL', name:'Belden 1522A'}
	cabats['7711A'] = {bu:1, fr:18, fw:.36, vw:.39, fc:55.76, vc:5.94, co:'BM', name:'Belden 7711A'}
	cabats['7712A'] = {bu:1, fr:15, fw:.45, vw:.5, fc:69.70, vc:6.64, co:'BN', name:'Belden 7712A'} 
	cabats['L5CFB'] = {bu:0, fr:120, fw:.2, vw:.07, fc:13.16, vc:.8, co:'CC', name:'Canare L-5CFB'}
	cabats['V35CFB'] = {bu:1, fr:25, fw:.270, vw:.15, fc:39.49, vc:3.75, co:'CD', name:'Canare V3-5CFB'}
	cabats['LV61S'] = {bu:0, fr:200, fw:.2, vw:.037, fc:13.94, vc:.63, co:'CE', name:'Canare LV-61S'}
	cabats['89259'] = {bu:0, fr:200, fw:.2, vw:.037, fc:15.94, vc:3.72, co:'BO', name:'Belden 89259'}
	cabats['8281'] = {bu:0, fr:120, fw:.25, vw:.81, fc:13.00, vc:1.71, co:'BP', name:'Belden 8281'}
	cabats['1855A'] = {bu:0, fr:250, fw:.2, vw:.02, fc:16.12, vc:.59, co:'BQ', name:'Belden 1855A'}
	cabats['ESKA4001'] = {bu:0, fr:200, fw:.07, vw:.02, fc:10.00, vc:.73, co:'MA', name:'BJC'}
	cabats['MSA1'] = {bu:1, fr:200, fw:.16, vw:.036, fc:21.00, vc:2.00, co:'AC', name:'BJC MSA-1'}
	cabats['BJC10W'] = {bu:0, fr:200, fw:.13, vw:.1, fc:0, vc:.74, co:'AC', name:'BJC Ten White'}
	cabats['5T00UP'] = {bu:0, fr:200, fw:.13, vw:.1, fc:0, vc:.70, co:'BR', name:'Belden 5T00UP'}
	cabats['BJC12W'] = {bu:0, fr:400, fw:.13, vw:.06, fc:0, vc:.47, co:'AD', name:'BJC Twelve White'}
	cabats['5000UE'] = {bu:0, fr:400, fw:.13, vw:.06, fc:0, vc:.37, co:'BS', name:'Belden 5000UE'}
	cabats['4S11'] = {bu:0, fr:100, fw:.13, vw:.12, fc:0, vc:1.05, co:'CF', name:'Canare 4S11'}
	cabats['1583A'] = {bu:0, fr:350, fw:.02, vw:.02, fc:2.2, vc:.23, co:'BT', name:'Belden 1583A Standard'}
	cabats['1592A'] = {bu:0, fr:350, fw:.02, vw:.023, fc:3.2, vc:.42, co:'BU', name:'Belden 1592A High-Flex'}
	return cabats[form.cable.value]
}
function getappattribs(form) {
	var appats = new Array ('8chan','7chan','6chan','5chan','rgbhv','rgbs','component','av','stereo','digaud','composite','subwoofer','vga','vgacomponent','vgargbhv','balaud','speaker','rf')
	appats['8chan'] = {co:'A', count:8, desc:"Eight-Channel Audio Cables"}
	appats['7chan'] = {co:'B', count:7, desc:"Seven-Channel Audio Cables"}
	appats['6chan'] = {co:'C', count:6, desc:"Six-Channel Audio Cables"}
	appats['5chan'] = {co:'D', count:5, desc:"Five-Channel Audio Cables"}
	appats['rgbhv'] = {co:'E', count:5, desc:"RGBHV Cables"}
	appats['rgbs'] = {co:'F', count:4, desc:"RGBS Cables"}
	appats['component'] = {co:'G', count:3, desc:"Component Video Cables"}
	appats['av'] = {co:'H', count:3, desc:"Composite Video/Stereo Audio Cables"}
	appats['stereo'] = {co:'I', count:2, desc:"Stereo Audio Cables"}
	appats['svideobkout'] = {co:'J', count:2, desc:"S-Video Breakout Cable Set"}
	appats['svideo'] = {co:'J', count:1, desc:"S-video Cable"}
	appats['composite'] = {co:'K', count:1, desc:"Composite (single) Video Cable"}
	appats['digaudcoax'] = {co:'L', count:1, desc:"Coaxial Digital Audio Cable"}
	appats['digaudopt'] = {co:'L', count:1, desc:"Optical Digital Audio Cable"}
	appats['subwoofer'] = {co:'M', count:1, desc:"Subwoofer Cable"}
	appats['vga'] = {co:'N', count:1, desc:"HD15 to HD15 Cable"}
	appats['vgacomponent'] = {co:'O', count:1, desc:"HD15 to Component Video Cable"}
	appats['vgargbhv'] = {co:'P', count:1, desc:"HD15 to RGBHV Cable"}
	appats['balaud'] = {co:'Q', count:1, desc:"Balanced Audio Cable"}
	appats['speaker'] = {co:'R', count:1, desc:"Speaker Cable"}
	appats['rf'] = {co:'S', count:1, desc:"RF Cable"}
	appats['ministereo'] = {co:'T', count:1, desc:"Miniature Stereo Audio Cable"}
	appats['ministereospecial'] = {co:'U', count:1, desc:"Miniature Stereo Audio Cable"}
	appats['miniy'] = {co:'V', count:1, desc:"Y-Cable"}
	appats['miniphasesplit'] = {co:'X', count:1, desc:"Phase-Splitting Cable"}
	appats['ethernet'] = {co:'W', count:1, desc:"Ethernet Cable"}
	return appats[form.app.value]
}
function noenter() {
	return !(window.event && window.event.keyCode == 13); }
function hdmidesc(form) {
	if (form.purch.value=="Out of Stock") {return false}
	typenlen = form.desc.value.split('~');
	cartstringbits = form.prelimstring.value.split('||')
	colorstring = "";
	if (form.color!=null) {
		if (form.color.value=="black") {colorstring=", Black"}
		if (form.color.value=="white") {colorstring=", White"}
	}
	if (form.connectors.value=="H/H") {connectorstring="HDMI Cable, "}
	if (form.connectors.value=="H/D") {connectorstring="HDMI to DVI Cable, "}
	if (typenlen[0]=="F2") {cablestring="BJC Series-F2 28 AWG Belden Bonded-Pair, "}
	if (typenlen[0]=="FE") {cablestring="BJC Series-FE 28 AWG Belden Bonded-Pair with Ethernet, "}
	if (typenlen[0]=="S1") {cablestring="BJC Series-1 23.5 AWG Belden Bonded-Pair, "}
	if (typenlen[0]=="S2") {cablestring="BJC Series-2, "}
	if (typenlen[0]=="T4") {cablestring="Tartan 24 AWG, "}
	if (typenlen[0]=="T8") {cablestring="Tartan 28 AWG, "}
	if (typenlen[0]=="T2") {cablestring="Tartan 22 AWG, "}
	if (typenlen[0]=="SF") {cablestring="BJC Original Series-F, "}
	submitstring = cartstringbits[0]+"|"+connectorstring+cablestring+typenlen[1]+" foot"+colorstring+"|"+cartstringbits[1] ;
	form.cartstring.name=submitstring;
	form.submit();
	
}
function hdmibuildnsub(form) {
	if (form.purch.value=="Out of Stock") {
		return false;
	}
	descparts=form.desc.value.split('~');
	cartstringa='item-'+descparts[0]+descparts[2]+form.color.value+descparts[1]+'~NC02';
	cabattribs=gethdmiattribs(descparts[1]);
	cartstringb=pricehdmi(form);
	if (form.color.value=="B") {color="Black"}
	if (form.color.value=="W") {color="White"}
	if (form.color.value=="R") {color="Red"}
	if (form.color.value=="G") {color="Green"}
	if (form.color.value=="BLU") {color="Blue"}
	if (form.color.value=="Y") {color="Yellow"}
	if (descparts[0]=="HH") {cartstringc='HDMI Cable, '+cabattribs['desc']+', '+descparts[2]+' foot, '+color }
	if (descparts[0]=="HD") {cartstringc='HDMI to DVI Cable, '+cabattribs['desc']+', '+descparts[2]+' foot, '+color }
	cartstringd=gethdmisize(form,descparts,cartstringb,cabattribs['frfillbase'],cabattribs['frfillvar']);
	cartstringe=(cabattribs['baseweight']+cabattribs['ftweight']*descparts[2]).toFixed(2);
	form.cartstring.name=cartstringa+'|'+cartstringb+'|'+cartstringc+'|'+cartstringd+'|'+cartstringe;
	form.submit();
}
function gethdmisize(form,descparts,priceh,frfillbase,frfillvar) {
	impship=Math.floor(priceh*9.65);
	cabattribs=gethdmiattribs(descparts[1]);
	if (descparts[1]=="T4" || descparts[1]=="T2" || descparts[1]=="T8") {impship=0}
	if (form.site.value=="uk") {impship=Math.ceil(impship+150+200*(cabattribs['baseweight']+cabattribs['ftweight']*descparts[2]))}
	fill=Math.ceil(frfillbase+(descparts[2]*frfillvar));
	return impship+'~'+fill;
}
function pricehdmi(form) {
	loadcountry(form);
	descparts = form.desc.value.split('~');	
	cabattribs=gethdmiattribs(descparts[1]);
	pricebase=cabattribs['perft']*descparts[2]+cabattribs['flat'];
	if (form.site.value=="us") {
		if (descparts[1]=="T8") { priceh=((Math.ceil(10*pricebase))/10).toFixed(2); }
		else { priceh=((Math.ceil(4*pricebase))/4).toFixed(2)}
	}
	if (form.site.value=="uk") {
		usprice=1.5+pricebase+xtralbrate*(cabattribs['baseweight']+cabattribs['ftweight']*descparts[2]);
		priceh=(Math.ceil(10*(usprice/sterlingrate))/10).toFixed(2);
	}
	return priceh;
}
function gethdmiattribs(cablecode) {
	var hdmiatts = new Array ('F2','FE','S1','T4','T8','T2');
	hdmiatts['F2'] = {flat:6.1, perft:1.54, baseweight:.04, ftweight:.055, frfillbase:3, frfillvar:1.2, desc:'BJC Series-F2 28 AWG Belden Bonded-Pair'};
	hdmiatts['FE'] = {flat:7.5, perft:1.85, baseweight:.04, ftweight:.055, frfillbase:3, frfillvar:1.2, desc:'BJC Series-FE 28 AWG Belden Bonded-Pair with Ethernet'};
	hdmiatts['S1'] = {flat:10, perft:2.51, baseweight:.09, ftweight:.106, frfillbase:8.5, frfillvar:0.91, desc:'BJC Series-1 23 1/2 AWG Belden Bonded-Pair'};
	hdmiatts['T4'] = {flat:7, perft:0.5, baseweight:.1, ftweight:.076, frfillbase:5, frfillvar:0.9, desc:'Tartan 24 AWG'};
	hdmiatts['T8'] = {flat:2.4, perft:0.2, baseweight:.04, ftweight:.05, frfillbase:3, frfillvar:0.9, desc:'Tartan 28 AWG'};
	hdmiatts['T2'] = {flat:10.47, perft:0.7352, baseweight:0, ftweight:.115, frfillbase:20, frfillvar:0.8, desc:'Tartan 22 AWG'};
	return hdmiatts[cablecode];
}
function fixedmodstring(form) {
	if (form.site == null) {
		form.submit();
		return true;
	}
	if (form.site.value=="us") {
		form.submit();
		return true;
	}
	if (form.site.value="uk") {
		getukfixedprice(form);
		form.submit();	
	}
}
function getukfixedprice(form) {
		loadcountry(form);
		origstring=form.usstring.name;
		stringybits=origstring.split('|');
		sizestr=stringybits[3];
		sizebits=sizestr.split('~');
		impsh=parseFloat(sizebits[0]);
		addlprice=stringybits[4]*xtralbrate;
		priceindollars=parseFloat(stringybits[1])+addlprice;
		priceinsterling=((Math.ceil(10*(priceindollars/sterlingrate)))/10).toFixed(2);
		ukimpsh=Math.ceil(impsh+100*addlprice);
		form.usstring.name=stringybits[0]+'|'+priceinsterling+'|'+stringybits[2]+'|'+ukimpsh+'~'+sizebits[1]+'|'+stringybits[4];
		return ("\u00A3"+priceinsterling);
}
