/* GENERAL FUNCTIONS
-----------------------------------------------------*/
function setCookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
	var c = ca[i];
	while (c.charAt(0)==' ') c = c.substring(1,c.length);
	if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function autoPopulate(id) {
	var oInput = jQuery('#'+id);
	if ((jQuery(oInput).val() == '') && (jQuery(oInput).attr('title') != '')) { jQuery(oInput).val(jQuery(oInput).attr('title')); }
	jQuery(oInput).focus(function() { 
		if (this.value == this.title) {
			this.value = '';
			this.select();
		}
	});
	jQuery(oInput).blur(function() { 
		if (!this.value.length) { this.value = this.title; }
	});
};

function classRows() {
	var myTABLES = document.getElementsByTagName('tbody');	//Only cycle through rows in the table body
	for (var x=0;x<myTABLES.length;x++) {
	   var myTR = myTABLES[x].getElementsByTagName('tr');
	   for (var i=0;i<myTR.length;i++) {
		   if (myTR[i].className == '') {		//Only add a class if there isn't already a class
			   if (i%2) {
				   myTR[i].className = 'even';	//Add even class to even rows
			   } else {
				   myTR[i].className = 'odd';	//Add odd class to odd rows
			   }
		   }
	   }
	}
}

function classAnchors() {
	var externalFiles = new Array('doc', 'pdf', 'jpg', 'xls');
//	var myANCHORS = document.getElementById('body').getElementsByTagName('a');
	var myANCHORS = document.getElementsByTagName('a');
	var baseHREF = document.getElementsByTagName('base')[0].href;
	
	for (var i=0;i<myANCHORS.length;i++) {
		var k=0;
		for(var k=0;k<externalFiles.length;k++){
			if (myANCHORS[i].getAttribute('href').slice(-3) == externalFiles[k] || myANCHORS[i].getAttribute('href').indexOf('industrial-inquiry.php')>=0) {	
				myANCHORS[i].onclick = function(){pageTracker._trackPageview(this.href.split(baseHREF).join(""));};
				myANCHORS[i].target = '_blank';
			} else if (myANCHORS[i].getAttribute('href').substr(0,4) == 'http' && myANCHORS[i].getAttribute('href').substr(0,baseHREF.length) != baseHREF && (!myANCHORS[i].getAttribute('class') || myANCHORS[i].getAttribute('class').indexOf('popup')<0)) {
				myANCHORS[i].onclick = function(){pageTracker._trackPageview('outgoing/'+this.href.split('http://').join(""));};
				myANCHORS[i].target = '_blank';
			}
		}
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
	
/* for dealer locator */
function updateLocations(id) {
	classes = getElementsByClass('subcat');
	for (x=0; x<classes.length; x++) {
		classes[x].style.display = 'none';
	}
	if(id!=''){
		jQuery('#c'+id).css({ display:'block' });
		jQuery('#location'+id).attr('disabled',false);
	}
}

function enableGroup() {
	if(input = document.getElementById('group')) {
		input.disabled = false;	
//		input.addEvent('change', updateStates(this.value));
	}
}

function processForm() {
	classes = getElementsByClass('submit');
	for (x=0; x<classes.length; x++) {
		classes[x].style.backgroundImage = "url('styles/images/input-submit.gif')";
		classes[x].value = 'Processing';
		classes[x].blur();
	}
}

function prepareForms() {
	var myFORMS = document.getElementsByTagName('form');	//Only cycle through rows in the table body
	for (var x=0;x<myFORMS.length;x++) {
		if(myFORMS[x].id != 'sitesearch') {
			myFORMS[x].onsubmit = function(){processForm();}
		}
	}
}
function toggleHome(el,method) {
	switch(method){
		case 'on':
			el.src = el.src.slice(0,-4)+'_hover'+el.src.slice(-4);
			break;
		case 'off':
			el.src = el.src.slice(0,-10)+el.src.slice(-4);
			break;
	}
}

function prepHome() {
	var features;
	if(features = document.getElementById('features')) {
		features = features.getElementsByTagName('img');
		for (x=0; x<features.length; x++) {
			if(features[x].className != 'first') {
				features[x].onmouseover = function(){toggleHome(this,'on');}
				features[x].onmouseout = function(){toggleHome(this,'off');}
			}
		}
	}
}

jQuery(document).ready(function(){
	enableGroup();
	autoPopulate('sitesearch');
	prepareForms();
	classRows();
	classAnchors();
	prepHome();
});


//LITERATURE REQUEST FUNCTIONS
function removeRow(num,qty,el) {
//		alert('function called');
//		el.style.display = "none";
	document.getElementById('basket').deleteRow(el)
//		alert(el);
	var numItems = document.getElementById('numItems');
	numItems.value--;

	var Items = document.getElementById('Items');
	var Quantities = document.getElementById('Quantities');

	var it_arr = Items.value.split(', ');
	var qt_arr = Quantities.value.split(', ');
	if(it_arr.length == 1) {
		Items.value = '';
		Quantities.value = '';
	} else {
		var flag = false;
		var i=0;
		var new_it_arr = Array();
		var new_qt_arr = Array();
		for (var x=0;x<it_arr.length;x++) {
			if(it_arr[x] == num && qt_arr[x] == qty && flag == false) {
				flag = true;
			} else {
				new_it_arr[i] = it_arr[x];
				new_qt_arr[i] = qt_arr[x];
				i++;
			}
		}
		Items.value = new_it_arr.join(', ')
		Quantities.value = new_qt_arr.join(', ')
	}
}
/*
function removeRow() {
	document.getElementById('basket').style.display = 'none';
}
*/
function addRow(el) {
	var num = el.parentNode.getElementsByTagName('select')[0].value.split('~')[0];
	var name = el.parentNode.getElementsByTagName('select')[0].value.split('~')[1];
	var qty = el.parentNode.getElementsByTagName('input')[0].value.split(",").join('');;
	
	if(num != '' && qty != '' && !isNaN(qty) && qty<1000) {
		var numItems = document.getElementById('numItems');
		numItems.value++;

		var Items = document.getElementById('Items');
		if(Items.value != '') {
			Items.value = Items.value + ', ' + num;
		} else {
			Items.value = num;
		}
		var Quantities = document.getElementById('Quantities');
		if(Quantities.value != '') {
			Quantities.value = Quantities.value + ', ' + qty;
		} else {
			Quantities.value = qty;
		}
		
		el.parentNode.getElementsByTagName('select')[0].value = '';
		el.parentNode.getElementsByTagName('input')[0].value = '';

		var tc= document.createElement('input');
		tc.setAttribute('type','button');
		tc.setAttribute('value','Remove');
		//tc.setAttribute('onclick','removeRow('+num+','+qty+',this.parentNode.parentNode.rowIndex);');
		tc.onclick = function(){removeRow(num,qty,this.parentNode.parentNode.rowIndex);}

		var r  = document.createElement('tr');
		var ca = document.createElement('td');
		var cb = document.createElement('td');
		var cc = document.createElement('td');
		var ta = document.createTextNode(name);
		var tb = document.createTextNode(qty);
		var t  = document.getElementById('basket');
		
		ca.appendChild(ta);
		cb.appendChild(tb);
		cc.appendChild(tc);
		
		r.appendChild(ca);
		r.appendChild(cb);
		r.appendChild(cc);
		
		t.getElementsByTagName('tbody')[0].appendChild(r);
		t.className = 'full';
		classRows();
	} else {
		if(qty != '' && isNaN(qty)) {
			alert('The quantity must be a number.');
		} else if (qty > 999) {
			alert('The quantity must be less than 1000.');
		}
	}
}