var isobj = function(o) {  return (typeof o == 'object' && !!o) || isFunction(o); }
var gebi = function(n) { return document.getElementById(n); }
var sc = function(el,cn){ if(!el)return; if(!cn)cn=''; el.className=cn; }
var setopacity = function(o){
	var obj = o.t;
	if(!obj || isobj(obj))gebi(o.t);
	if (!obj)return;
	var s=obj.style;
	if(!s)return;
	s.opacity = o.o;
	s.MozOpacity = o.o;
	s.KhtmlOpacity = o.o;
	s.filter = "alpha(opacity="+Math.round(o.o*100)+")";
}

var qr_t = {0:"pn", 1:"mf", 2:"qty" };
var countvals=function(arr){var i=0;for(a in arr)i++;return i;}
var pc2array=function(o){
	if(!o)o=new Array();
	if(!o.cookie_name)o.cookie_name='parts';
	var parts=getcookie(o.cookie_name);
	if (parts) parts = parts.split(';');
	else parts = new Array();
	var hash = new Array();
	for(i=0;i<parts.length;i++) {
		var d=parts[i].split(',');
		if(d.length==3)
			hash[d[0]] = { mf:d[1], qty:d[2] };
		else
			continue;
	}
	if (!countvals(hash)) hash=false;
	return hash;
}
var pa2cookie=function(o){
	if (!o)o=new Array();
	if (!o.parts)o.parts=new Array();
	var c=new Array(), i=0;
	for(p in o.parts){
		if (!o.parts[p]) continue;
		var a = [p, o.parts[p].mf, o.parts[p].qty]
		c[i++]=a.join(',');
	}
	if (c.length)
		setcookie('parts',c.join(';'),0,'/','libertyel.com');
	else
		deletecookie('parts','/','libertyel.com');
}
var qr_remove = function(o){
	if (!o)return;
	var row=gebi(o['id']);
	var tbl=gebi(o['ff']);
	if (row && tbl)
	{
		var ri=0;
		for(i=1;i<tbl.rows.length-1;i++)
			if (tbl.rows[i] == row)
			{
				ri=i;
				var v=tbl.rows[i].childNodes[0].childNodes[0].value;
				if (v){
					var parts=pc2array();
					if (parts)
					{
						if (parts[v]){
							if(countvals(parts)<2) parts = new Array();
							else delete parts[v];
							pa2cookie( { 'parts':parts } );
						}
						else
							alert('Didn\'t find a part with index '+v);
					}
				}
			}
		if ( ri )
			tbl.deleteRow(ri);
	}
}
var qr_exists = function(o) {
	var tbl=gebi(o['ff']);
	if (tbl.rows && o['id'] && o['mf']){
		for(i=1;i<tbl.rows.length-1;i++){
			var v1=tbl.rows[i].childNodes[0].childNodes[0].value;
			var v2=tbl.rows[i].childNodes[1].childNodes[0].value;
			if ( v1 && v2 && v1 == o['id'] && v2.toLowerCase()==o['mf'].toLowerCase())
				return i;
		}
	}
}
var qr_add=function(o){
	if (!o.ff)return;
	var tbl=gebi(o.ff);
	if (o.v)if(qr_exists({ff:o.ff, id:o.v[0], mf:o.v[1]})){ alert('This part is already in the Request a Quote Form'); return;}
	if (o.v)if(o.v[0]){
		var parts=pc2array();
		if (!parts) parts = new Array();
		parts[o.v[0]] = { mf:o.v[1], qty:o.v[2] };
		pa2cookie( {parts:parts} );
	}
	var rp=o.rp;
	if (rp=='end') rp = tbl.rows.length-1;
	else rp = 1;
	var tr=tbl.insertRow(rp);
	tr.id = 'rqr'+Math.round(Math.random()*1000000);
	tr.style.background="#F1EFB1";
	for(v in qr_t){
		var td=tr.insertCell(v);
		var i=document.createElement('input');
		i.name='rq['+v+'][]';
		if(o.v) if (o.v[v]) i.value=o.v[v];
		i.style.width="150px";
		td.appendChild(i);
	}
	var td=tr.insertCell(tr.childNodes.length);
	td.style.width="60px";
	var a=document.createElement("a");
	a.onclick=function(e){ qr_remove({id:this.tag, ff:'rqff'} );return false; }
	a.tag=tr.id;
	a.href="";
	a.appendChild(document.createTextNode("Remove"));
	td.appendChild(a);
}
var setcookie=function(name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}
var getcookie=function(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1)
	{
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}
	else
		begin += 2;
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
		end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

var deletecookie=function(name, path, domain){
	if (getcookie(name))
	{
		document.cookie = name + "=" + 
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}



