function addListener(element, type, listener, capture)
{
	if (capture == undefined){
		capture = false;
	}
	if (element.addEventListener){
		element.addEventListener(type, listener, capture);
	}else{
		element.attachEvent('on' + type, listener);
	}
}

function removeListener(element, type, listener, capture)
{
	if (capture == undefined){
		capture = false;
	}
	if (element.removeEventListener){
		element.removeEventListener(type, listener, capture);
	}else{
		element.detachEvent('on' + type, listener);
	}
}

function getTrigger(e, target)
{
	e = (e) ? e : (window.event) ? window.event : "";
	var element;
	if (e.currentTarget){
		element = e.currentTarget;
	}else if (e.srcElement){
		element = e.srcElement;
	}else if (e.target){
		element = e.target;
	}else if (e.fromElement){
		element = e.fromElement;
	}else{
		element = (e.target) ? e.target : e.srcElement;
	}
	if (element.nodeType == 3){ // Safari bug
		element = element.parentNode;
	}
	if (target != undefined){
		while (element.nodeName.toLowerCase() != target && element.parentNode){
			element = element.parentNode;
		}
	}
	return element;
}


function getIndex (arr, arrItem)
{
	for (var i = 0; i < arr.length; i++){
		if (arr[i] == arrItem) return i;
	}
	return -1;
}

function generateId(prefix, ln)
{
	if (prefix == undefined) prefix = 'gid';
	if (ln == undefined) ln = 10;
	var str = 'abcdefghijklmnopqrstuvwxyz';
	var newid = prefix;
	while(newid.length < (ln + 1)){
		newid += str.charAt(randomMax(str.length - 1));
	}
	return newid;
}

function randomMax(maxVal,asFloat)
{
	var val = Math.random()*maxVal;
	return asFloat?val:Math.round(val);
}

function debugObj(obj, from, to)
{
	if (from == undefined) from = 0;
	if (to == undefined) to = 999999;
	var buffer = '';
	var s = 0;
	for (var xx in obj){
		s++
		if (from < s < to){
			var val = eval('obj.' + xx);
			buffer += xx + ': ' + val + "\n";
			if (typeof(val) == 'object'){
				for (var yy in val){
					buffer += '  - ' + yy + ': ' + eval('val.' + yy) + "\n";
				}
			}
		}
	}
	return buffer;
}

function send_mail(email, subject)
{
	var str = email;
	str = str.replace("[*et*]", "@");
	str = str.replace("[*dt*]", ".");
	str = str.replace("[*dt*]", ".");
	
	if(subject != undefined) {
		var sbj = '?Subject='+subject;
	} else {
		var sbj = '';
	}

	window.location='mailto: ' + str + sbj;
}

function hasClass(ele,cls)
{
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls)
{
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls)
{
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function loadCSS(filename, media)
{
	if (media == undefined) media = 'all';
	var fileref = document.createElement('link');
	fileref.setAttribute('rel', 'stylesheet');
	fileref.setAttribute('type', 'text/css');
	fileref.setAttribute('media', media);
	fileref.setAttribute('href', filename);

	if (typeof fileref != 'undefined') document.getElementsByTagName('head')[0].appendChild(fileref);
}

function unloadCSS(filename)
{
	var head = document.getElementsByTagName('head')[0];
	var links = head.getElementsByTagName('link');
	for (var i = 0; i < links.length; i++){
		if (links[i].getAttribute('href') == filename){
			head.removeChild(links[i]);
		}
	}
}

function loadJS(filename)
{
	var fileref = document.createElement('script');
	fileref.setAttribute('type','text/javascript');
	fileref.setAttribute('src', filename);

	if (typeof fileref != 'undefined') document.getElementsByTagName('head')[0].appendChild(fileref);
}

function unloadJS(filename)
{
	var head = document.getElementsByTagName('head')[0];
	var scripts = head.getElementsByTagName('script');
	for (var i = 0; i < scripts.length; i++){
		if (scripts[i].getAttribute('src') == filename){
			head.removeChild(scripts[i]);
		}
	}
}

function getStyle(oElm, strCssRule)
{
	var strValue = '';
	if (document.defaultView && document.defaultView.getComputedStyle){
		strValue = document.defaultView.getComputedStyle(oElm, '').getPropertyValue(strCssRule);
	}else if (oElm.currentStyle){
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		strValue = oElm.currentStyle[strCssRule];
	}
	return strValue;
}

//---WINDOW POPUP->>

function openPop(url, width, height, left, top, scroll, resize, menu, location, status, tool)
{
	if (width == undefined) width = 500;
	if (height == undefined) height = 500;
	if (left == undefined) left = 100;
	if (top == undefined) top = 100;
	if (scroll == undefined) scroll = 'no';
	if (resize == undefined) resize = 'no';
	if (menu == undefined) menu = 'no';
	if (location == undefined) location = 'no';
	if (status == undefined) status = 'no';
	if (tool == undefined) tool = 'no';
	
	if (left == 'c'){
		left = screen.width/2 - width/2;
	}
	
	if (top == 'c'){
		top = screen.height/2 - height/2;
	}
	
	var options = 'width=' + width + ', height=' + height + ', left=' + left + ', top=' + top
		+ ', scrollbars=' + scroll + ', resizable=' + resize
		+ ', menubar=' + menu + ', location=' + location + ', status=' + status + ', toolbar=' + tool;
	
	var newwin = window.open(url, 'newWin', options);
	newwin.focus();
}

function getScreenCenter()
{
	var center = new Array(screen.width, screen.height);
	return center;
}

function getBodySize()
{
	var bodyWidth = 0, bodyHeight = 0;
	if (typeof(window.innerWidth) == 'number'){
		//Non-IE
		bodyWidth = window.innerWidth;
		bodyHeight = window.innerHeight;
	}else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)){
		//IE 6+ in 'standards compliant mode'
		bodyWidth = document.documentElement.clientWidth;
		bodyHeight = document.documentElement.clientHeight;
	}else if (document.body && (document.body.clientWidth || document.body.clientHeight)){
		//IE 4 compatible
		bodyWidth = document.body.clientWidth;
		bodyHeight = document.body.clientHeight;
	}
	var size = new Array(bodyWidth, bodyHeight);

	return size;
}

//<<-WINDOW POPUP---

//---DIV POPUP->>

function showPop(id, l, t)
{
		document.getElementById(id).style.display = 'block';
		if (l != undefined){
			setDivPosition(id, l, t);
		}
}

function hidePop(id, timeout)
{
	if (timeout == undefined){
		document.getElementById(id).style.display = 'none';
	}else{
		setTimeout("undisplayDiv('" + id + "')", timeout*1000);
	}
}

function setDivPosition(id, l, t)
{
	var divObj = document.getElementById(id);
	if (l == 'c'){
		if (divObj.style.width){
			divW = divObj.style.width;
		}else{
			divW = "240px";
		}
		if (document.all){
			l = parseInt(parseInt(document.body.clientWidth) / 2) - (parseInt(divW) / 2);
		}else{
			l = parseInt(parseInt(window.innerWidth) / 2) - (parseInt(divW) / 2);
		}
	}
	if (t == 'c'){
		var divH;
		if (divObj.style.height){
			divH = divObj.style.height;
		}else{
			divH = "100px";
		}
		if (document.all){
			t = parseInt(parseInt(document.body.clientHeight) / 2) - (parseInt(divH) / 2);
		}else{
			t = parseInt(parseInt(window.innerHeight) / 2) - (parseInt(divH) / 2);
		}
	}
	if (l == 'mouse'){
		if (window.event){
			l = window.event.x;
			t = window.event.y;
		}else{
			l = t.pageX;
			t = t.pageY;
		}
	}
	document.getElementById(id).style.left = l + 'px';
	document.getElementById(id).style.top = t + 'px';
}

function toggleVisibility(id)
{
	var obj = document.getElementById(id);
	if (!obj.style.display){
		obj.style.display = '';
	}
	if (obj.style.display == 'none'){
		obj.style.display = '';
	}else{
		obj.style.display = 'none';
	}
}

function showOnValue(id, selector, def)
{
	var obj = document.getElementById(id);
	if (selector.options[selector.selectedIndex].text == def){
		obj.style.display = '';
	} else {
		obj.style.display = 'none';		
	}
}

function showOnValueReferral(selector)
{
	var other_hear_holder = document.getElementById('other_hear_holder');
	var referred_hear_holder = document.getElementById('referred_hear_holder');
	var other_distributor_holder = document.getElementById('other_distributor_holder');

	other_distributor_holder.style.display = 'none';

	if (selector.options[selector.selectedIndex].text == 'Other' || selector.options[selector.selectedIndex].text == 'Trade Show'){
		other_hear_holder.style.display = '';
		referred_hear_holder.style.display = 'none';
		if (selector.options[selector.selectedIndex].text == 'Trade Show'){
			$('other_hear_label').innerHTML = 'Which one?';
		}else{
			$('other_hear_label').innerHTML = 'Please specify:';
		}
		$('other_hear').value = '';

	} else if (selector.options[selector.selectedIndex].text == 'Sangoma Partner Referral'){
		var partner = document.getElementById('partner');
		if(partner.options[partner.selectedIndex].text == 'Other') {
			other_distributor_holder.style.display = '';
		} 
		referred_hear_holder.style.display = '';
		other_hear_holder.style.display = 'none';

	} else {
		other_hear_holder.style.display = 'none';
		referred_hear_holder.style.display = 'none';
	}
}

function makeVisible(obj)
{
	var caller = obj.previousSibling;
	if (!obj.style){
		obj = obj.nextSibling;
	}
	obj.style.display = '';
}

function makeInvisible(obj)
{
	var caller = obj.previousSibling;
	if (!obj.style){
		obj = obj.nextSibling;
	}
	obj.style.display = 'none';
}

function hideVisible(id)
{
	var obj = document.getElementById(id);
	obj.style.display = 'none';
}

function showInvisible(id)
{
	var obj = document.getElementById(id);
	obj.style.display = '';
}

//<<-DIV POPUP---

//---FORM HIGHLIGHT->>

var formHL_historyClass;

function attachFormHL()
{
	var fields = document.getElementsByTagName('input');
	for (var i = 0; i < fields.length; i++){
		if (fields[i].type != 'radio' && fields[i].type != 'checkbox' && fields[i].type != 'button' && fields[i].type != 'submit' && fields[i].type != 'file' && fields[i].className != 'textInput' && fields[i].className != 'calc' && fields[i].className != 'calc_error'){
			addListener(fields[i], 'focus', FC, true);
			addListener(fields[i], 'blur', BL, true);
		}else{
			if ((fields[i].type == 'button' || fields[i].type == 'submit') && fields[i].className == 'butt'){
				addListener(fields[i], 'mouseover', overButt, true);
				addListener(fields[i], 'mouseout', outButt, true);
			}
			if ((fields[i].type == 'button' || fields[i].type == 'submit') && fields[i].className == 'cancel'){
				addListener(fields[i], 'mouseover', overCancel, true);
				addListener(fields[i], 'mouseout', outCancel, true);
			}
		}
	}
	fields = document.getElementsByTagName('select');
	for (var i = 0; i < fields.length; i++){
		if (document.all){
			addListener(fields[i], 'focusin', FC, true);
		}else{
			addListener(fields[i], 'focus', FC, true);
		}
		addListener(fields[i], 'blur', BL, true);
	}
	fields = document.getElementsByTagName('textarea');
	for (var i = 0; i < fields.length; i++){
		addListener(fields[i], 'focus', FC, true);
		addListener(fields[i], 'blur', BL, true);
	}
}

function FC(e)
{
	var field = getTrigger(e);
	formHL_historyClass = field.className;
	field.className = 'focus';
}

function BL(e)
{
	var field = getTrigger(e);
	field.className = formHL_historyClass;
}

function overButt(e)
{
	var btn = getTrigger(e);
	btn.className = 'buttHover';
}

function outButt(e)
{
	var btn = getTrigger(e);
	btn.className = 'butt';
}

function overCancel(e)
{
	var btn = getTrigger(e);
	btn.className = 'cancelHover';
}

function outCancel(e)
{
	var btn = getTrigger(e);
	btn.className = 'cancel';
}

//<<-FORM HIGHLIGHT---

//---TABLE HIGHLIGHT->>

var tableHL_historyClass;
var tableHL_tableClass = 'dataList';
var tableHL_hiLiteClass = 'hilite';
var tableHL_historyHit;
var tableHL_historyHitClass;
var tableHL_hitClass = 'hit';

function tableHL(tableClass, hit){
	if (tableClass == undefined) tableClass = tableHL_tableClass;
	if (hit == undefined) hit = false;
	var trs = document.getElementsByTagName('tr');
	var s = 0;
	for (var i = 0; i < trs.length; i++){
		if (trs[i].parentNode.parentNode.className == tableClass){
			addListener(trs[i], "mouseover", hiliteRow, true);
			addListener(trs[i], "mouseout", unhiliteRow, true);
			if (hit){
				addListener(trs[i], "click", hitRow, true);
			}
			s++;
		}
	}
}

function hiliteRow(e){
	var element = getTrigger(e,'tr');
	tableHL_historyClass = element.className;
	element.className = tableHL_hiLiteClass;
}

function unhiliteRow(e){
	var element = getTrigger(e,'tr');
	element.className = tableHL_historyClass;
}

function hitRow(e){
	var element = getTrigger(e,'tr');
	if (tableHL_historyHit != undefined){
		addListener(tableHL_historyHit, "mouseover", hiliteRow, true);
		addListener(tableHL_historyHit, "mouseout", unhiliteRow, true);
		addListener(tableHL_historyHit, "click", hitRow, true);
		tableHL_historyHit.className = tableHL_historyHitClass;
	}
	tableHL_historyHit = element;
	tableHL_historyHitClass = tableHL_historyClass;
	removeListener(element, 'mouseover', hiliteRow, true);
	removeListener(element, 'mouseout', unhiliteRow, true);
	removeListener(element, 'click', hitRow, true);
	element.className = tableHL_hitClass;
}

//<<-TABLE HIGHLIGHT---

//---FORMS->>

function selectNonOptions(obj)
{
	for (var i = 0; i < obj.options.length; i++){
		obj.options[i].selected = false;
	}
}

//<<-FORMS---

function extractNumbers(str, radix)
{
	var tt = str.match(/\d+/g);
	tt = tt.toString().replace(/\,/g, "");
	
	if(radix != undefined) {
		return parseInt(tt, radix);
	}
	
	return parseInt(tt);
}

function confirmDelete(label, element)
{
	if (document.getElementById(element).selectedIndex == -1) return false;

	if (confirm ('Do you realy want to delete '+label+'?')){
		return true;
	}else{
		return false;
	}
}

function confirmDeleteLink(label)
{
	if (confirm ('Do you realy want to delete ' + label + '?')){
		return true;
	}else{
		return false;
	}
}

function checkSelection(label, element)
{
	if (document.getElementById(element).selectedIndex == -1){
		alert('Please select ' + label);
		return false;
	}
}

function CheckUrl(target, e)
{
    var asciiCode = (e.which || e.charCode || e.keyCode);
    if ((target.value == "http://" || target.value == "http:/") && asciiCode == 8){
		target.value = "http://";
        if (!document.all){
            e.preventDefault();
        }
    }else if (target.value.substring(0,7) != "http://"){
        target.value = "http://" + target.value;
        if (!document.all){
            e.preventDefault();
        }
    }
}

function autoTab(target, e, num)
{
	var str = target.id.toString();
	var tokens = str.split('_');
	var prefix = tokens[0].toString();
	var input_id = parseInt(tokens[1]);
	var asciiCode = (e.which || e.charCode || e.keyCode);

	if (asciiCode != '46' && asciiCode != '8'){
		limit = num-1;

		if (target.value.toString().length > limit){
			var next = input_id+1;
			var element = prefix+'_'+next;
			if (document.getElementById(element)){
				document.getElementById(element).focus();
			}
		}
	}
	
	var string = document.getElementById(prefix+'_'+input_id).value;
	if(string.length > 5 && string.length != 29) {
		var element = prefix+'_1';
		for(var i=0; i<5; i++) {
			var j=i+1;
			var element = prefix+'_'+j;
			if(document.getElementById(element)) {
				document.getElementById(element).value = '';
			}
		}

		alert('Wrong Installation ID');
		return false;
	}
	if(string.length == 29) {
		tokens = string.split('-');

		for(var i=0; i<tokens.length; i++) {
			var j=i+1;
			var element = prefix+'_'+j;
			
			document.getElementById(element).value = tokens[i];
		}
		document.getElementById(element).focus();
	}
}

function selectSideMenu(menuId, selected)
{
	if (selected != '' && selected != undefined){
		var links = document.getElementById(menuId).childNodes;
		for (var i = 0; i < links.length; i ++){
			var action = '';
			if (links[i].href){
				var temp = links[i].href.split('/');
				temp = temp.reverse();
				action = temp[1];
				temp = temp[0].split('.');
				if (temp.length == 2){
					action = temp[0];
				}
			}
			if (action == selected){
				links[i].className = 'selected';
				break;
			}
		}
	}
}

function viewDemo(name, w, h)
{
	var newwin = window.open('/product/templates/demo.php?n=' + name + '&w=' + w +'&h=' +h, 'Demo', 'width=' + w + ', height=' + h);
	newwin.focus();
}

//---TABS MENU->>

function setTabs(tabsId, initSelected, displayIdPrefix)
{
	if (initSelected == undefined){
		initSelected = 1;
	}
	if (displayIdPrefix == undefined){
		displayIdPrefix = 'tabDisplay';
	}
	var tabs = document.getElementById(tabsId).childNodes;
	var s = 0;
	for (var i = 0; i < tabs.length; i++){
		if (tabs[i].nodeName.toLowerCase() == 'div'){
			s++;
			tabs[i].id = tabsId + '_' + displayIdPrefix + '_' + s;
			//tabs[i].onclick = selectTab;
			tabs[i].onclick = redirecTab;
			tabs[i].onmouseover = function()
			{
				this.className = 'hover';
			};
			tabs[i].onmouseout = function()
			{
				this.className = '';
			};
			if (s == initSelected){
				tabs[i].onmouseover = null;
				tabs[i].onmouseout = null;
				tabs[i].className = 'selected';
			} else {
				tabs[i].className = '';
			}
			
			if (document.getElementById(displayIdPrefix + '_' + s) && s != initSelected){
				document.getElementById(displayIdPrefix + '_' + s).style.display = 'none';
			} else {
				document.getElementById(displayIdPrefix + '_' + s).style.display = '';
			}
		}
	}
}

function redirecTab(tab_id)
{
	var location = $('tab_location').innerHTML;
	var elem;
	if (typeof(tab_id) != 'string') {
		elem = this;
		tab_id = this.id;
	} else {
		elem = $(tab_id);
	}

	for (i=0; i<=elem.childNodes.length; i++){
		if (elem.childNodes[i].className == 'tab_r' ){
			var tab_content = elem.childNodes[i].innerHTML;
			break;
		}
	}
	tab_content = tab_content.toLowerCase();
	tab_content = tab_content.replace(/ /gi, '_');

	location = location + '/' + tab_content + '.html';
	window.location = location;
}

function selectTab(tab_id)
{
	var elem;
	if (typeof(tab_id) != 'string') {
		elem = this;
		tab_id = this.id;
	} else {
		elem = $(tab_id);
	}
	
	var idArr = tab_id.toString().split('_');
	var parentId = idArr[0];
	var displayIdPrefix = idArr[1];
	var showTab = idArr[2];
	var tabs = document.getElementById(parentId).childNodes;
	var s = 0;
	for (var i = 0; i < tabs.length; i++){
		if (tabs[i].nodeName.toLowerCase() == 'div'){
			s++;
			tabs[i].className = '';
			tabs[i].onmouseover = function()
			{
				this.className = 'hover';
			};
			tabs[i].onmouseout = function()
			{
				this.className = '';
			};
			if (document.getElementById(displayIdPrefix + '_' + s)){
				document.getElementById(displayIdPrefix + '_' + s).style.display = 'none';
			}
		}
	}
	document.getElementById(displayIdPrefix + '_' + showTab).style.display = 'block';
	faderIn(displayIdPrefix + '_' + showTab);
	elem.onmouseover = null;
	elem.onmouseout = null;
	elem.className = 'selected';
}

function sideTabs(caller, trg)
{
	if (trg == undefined) trg = s$('sideTabsContent');
	var lnks = s$$('a', caller.parentNode);
	for (var i = 0; i < lnks.length; i++){
		lnks[i].className = '';
	}
	caller.className = 'selected';
	trg.innerHTML = s$(caller.id + 'Content').innerHTML;
}

//<<-TABS MENU---

//---SLIDER->>

var sliderLooped = false;
var showSlideCaptionTimer;
var SliderThumbHeight = 33;

function showSlideCaption(e)
{
	var holder = getTrigger(e,'div');
	var caption = $$$('.imgCaption', holder.parentNode)[0];
	if (caption.id == '') caption.id = generateId();
	showSlideCaptionTimer = setTimeout("faderIn('" + caption.id + "')", 400);
}

function hideSlideCaption(e)
{
	var holder = getTrigger(e,'div');
	var caption = $$$('.imgCaption', holder.parentNode)[0];
	if (caption.id == '') caption.id = generateId();
	clearTimeout(showSlideCaptionTimer);
	clearTimeout(faderInTimer);
	setOpacity(0, caption);
}

function setSlider(sliderId, thumbNo)
{
	if (thumbNo == undefined) thumbNo = 2;
	var items = $$$('.item', $(sliderId));
	var thumbLimit = thumbNo < items.length ? thumbNo : items.length;
	var arrows = s$$('a',$$$('.nav', $(sliderId))[0]);
	if (items.length == thumbLimit && !sliderLooped){
		arrows[0].style.display = 'none';
		arrows[1].style.display = 'none';
	}else if (!sliderLooped){
		arrows[0].className = 'disabled';
	}
	for (var i = 0; i < items.length; i++){
		items[i].style.display = 'none';
		var imgHolder = $$$('.imgHolder', items[i])[0];
		addListener(imgHolder, 'mouseover', showSlideCaption, true);
		addListener(imgHolder, 'mouseout', hideSlideCaption, true);
	}
	items[0].style.display = 'block';
	var imgs = s$$('img', $(sliderId));
	for (var i = 0; i < imgs.length; i++){
		imgs[i].alt = '';
	}
	if (items.length < 2){
		$$$('.nav', $(sliderId))[0].style.display = 'none';
		$(sliderId).style.height = 'auto';
		return false;
	}
	for (var i = 0; i < thumbLimit; i++){
		var thumb = document.createElement('div');
		thumb.innerHTML = '<img src="' + s$$('img', items[i])[0].src + '" height="' + SliderThumbHeight + '" border="0" alt="" />';
		if (i == 0){
			thumb.className = 'thumbA';
		}else{
			thumb.className = 'thumb';
		}
		addListener(thumb, 'click', setActiveImg, true);
		$$$('.thumbs', $(sliderId))[0].appendChild(thumb);
	}
}

function setActiveImg(e, obj)
{
	var thumb;
	if (obj == undefined){
		thumb = getTrigger(e,'div');
	}else{
		thumb = obj;
	}
	var sld = thumb.parentNode.parentNode.parentNode;
	var thumbs = s$$('div',thumb.parentNode);
	var arrows = s$$('a',$$$('.nav', sld)[0]);
	arrows[0].className = '';
	arrows[1].className = '';
	for (var i = 0; i < thumbs.length; i++){
		thumbs[i].className = 'thumb';
	}
	var activeImg = s$$('img',thumb)[0];
	var items = $$$('.item', sld);

	for (var i = 0; i < items.length; i++){
		items[i].style.display = 'none';
		var img = s$$('img',items[i])[0];
		if (img.src == activeImg.src){
			items[i].style.display = 'block';
			thumb.className = 'thumbA';
			if (i == 0 && !sliderLooped){
				arrows[0].className = 'disabled';
			}
			if (i == (items.length - 1) && !sliderLooped){
				arrows[1].className = 'disabled';
			}
		}
	}
}

function getCurrentSliderItem(items)
{
	for (var i = 0; i < items.length; i++){
		if (items[i].style.display != 'none'){
			return items[i];
		}
	}
}

function nextSlider(nav)
{
	var sld = nav.parentNode.parentNode;
	var activeThumb = $$$('.thumbA', sld)[0];
	var thumbs = s$$('div',activeThumb.parentNode);
	var items = $$$('.item', sld);
	var nextItem = items[0];
	var currentItem = getCurrentSliderItem(items);
	var pos = getIndex(items, currentItem);
	if (pos < (items.length - 1)){
		nextItem = items[pos + 1];
	}else{
		if (!sliderLooped){
			return false;
		}
	}
	currentItem.style.display = 'none';
	nextItem.style.display = 'block';

	var thumbPos = getIndex(thumbs, activeThumb);
	if (thumbPos < (thumbs.length - 1)){
		setActiveImg(false, thumbs[thumbPos + 1]);
	}else{
		var newThumb = document.createElement('div');
		newThumb.innerHTML = '<img src="' + s$$('img', nextItem)[0].src + '" height="' + SliderThumbHeight + '" border="0" alt="" />';
		addListener(newThumb, 'click', setActiveImg, true);
		$$$('.thumbs', sld)[0].appendChild(newThumb);
		$$$('.thumbs', sld)[0].removeChild(thumbs[0]);
		setActiveImg(false, thumbs[thumbs.length - 1]);
	}
}

function prevSlider(nav)
{
	var sld = nav.parentNode.parentNode;
	var activeThumb = $$$('.thumbA', sld)[0];
	var thumbs = s$$('div',activeThumb.parentNode);
	var items = $$$('.item', sld);
	var nextItem = items[(items.length - 1)];
	var currentItem = getCurrentSliderItem(items);
	var pos = getIndex(items, currentItem);
	if (pos > 0){
		nextItem = items[pos - 1];
	}else{
		if (!sliderLooped){
			return false;
		}
	}
	currentItem.style.display = 'none';
	nextItem.style.display = 'block';

	var thumbPos = getIndex(thumbs, activeThumb);
	if (thumbPos > 0){
		setActiveImg(false, thumbs[thumbPos - 1]);
	}else{
		var newThumb = document.createElement('div');
		newThumb.innerHTML = '<img src="' + s$$('img', nextItem)[0].src + '" height="' + SliderThumbHeight + '" border="0" alt="" />';
		addListener(newThumb, 'click', setActiveImg, true);
		$$$('.thumbs', sld)[0].insertBefore(newThumb,thumbs[0])
		$$$('.thumbs', sld)[0].removeChild(thumbs[thumbs.length - 1]);
		setActiveImg(false, thumbs[0]);
	}
}

//<<-SLIDER---

//---IMAGE SLIDER->>

var slideTimer;
var fadeoutTimer;
var fadeinTimer;
var switchTime = 3000;
var fadeoutTime = 20;
var fadeinTime = 40;
var faderSmoothness = 5;

function clearTimers()
{
	if (fadeoutTimer != undefined) clearTimeout(fadeoutTimer);
	if (fadeinTimer != undefined) clearTimeout(fadeinTimer);
	if (slideTimer != undefined) clearTimeout(slideTimer);
}

function initSlider(sliderId)
{
	if (sliderId == undefined) sliderId = 'slider';
	if (s$(sliderId)){
		var firstItem = s$$('div',s$(sliderId))[0];
		if (firstItem.id == '') firstItem.id = generateId();
		clearTimers();
		slide(firstItem.id);
	}
}

function slide(itemId)
{
	if (!s$(itemId)){
		clearTimers();
		return false;
	}
	var item = s$(itemId);
	var items = s$$('div',item.parentNode);
	for (var i = 0; i < items.length; i++){
		if (items[i].id == '') items[i].id = generateId();
		if (items[i].style.opacity > 0){
			fadeout(items[i].id);
		}
	}
	fadein(item.id);
	var itemIndex = getIndex(items, item);
	var nextItem;
	if (itemIndex < (items.length - 1)){
		nextItem = items[itemIndex+1];
	}else{
		nextItem = items[0];
	}
	slideTimer = setTimeout('slide("' + nextItem.id + '")', switchTime);
}

function fadeout(objId, op)
{
	if (!s$(objId)){
		clearTimers();
		return false;
	}
	var obj = s$(objId);
	if (op == undefined) op = 100;
	if (op < 0){
		clearTimeout(fadeoutTimer);
		return false;
	}
	op -= faderSmoothness;
	obj.style.opacity = op / 100;
	obj.style.filter = 'alpha(opacity=' + op + ')';
	fadeoutTimer = setTimeout('fadeout("' + obj.id + '", ' + op + ')', fadeoutTime);
}

function fadein(objId, op)
{
	if (!s$(objId)){
		clearTimers();
		return false;
	}
	var obj = s$(objId);
	if (op == undefined) op = 0;
	if (op > 100){
		clearTimeout(fadeinTimer);
		return false;
	}
	op += faderSmoothness;
	obj.style.opacity = op / 100;
	obj.style.filter = 'alpha(opacity=' + op + ')';
	fadeinTimer = setTimeout('fadein("' + obj.id + '", ' + op + ')', fadeinTime);
}

//<<-IMAGE SLIDER---

//---FADER->>

var faderOutTime = 50;
var faderInTime = 50;
var faderSmoothness = 5;

var faderOutTimer;
var faderInTimer;

function setOpacity(opacity, id)
{
	var object;
	if (typeof(id) == 'string'){
		object = document.getElementById(id).style;
	}else{
		object = id.style;
	}
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function getOpacity(id)
{
	var object;
	if (typeof(id) == 'string'){
		object = document.getElementById(id).style;
	}else{
		object = id.style;
	}
	if (object.opacity != undefined) return object.opacity * 100;
	if (object.MozOpacity != undefined) return object.MozOpacity;
	if (object.KhtmlOpacity != undefined) return object.KhtmlOpacity;
	if (object.filter != undefined) return object.filter.opacity;//= "alpha(opacity=" + opacity + ")";
}

function faderOut(id, op, end)
{
	if (op == undefined) op = 100;
	if (op > 100) op = 100;
	if (end == undefined) end = 0;
	if (end > 100) end = 0;
	op -= faderSmoothness;
	setOpacity(op, id);
	if (op > end){
		faderOutTimer = setTimeout("faderOut('" + id + "'," + op + "," + end + ")", faderOutTime);
	}else{
		return false;
	}
}

function faderIn(id, op)
{
	if (op == undefined){
		op = 0;
	}
	op += faderSmoothness;
	setOpacity(op, id);
	if (op < 100){
		faderInTimer = setTimeout("faderIn('" + id + "'," + op + ")", faderInTime);
	}else{
		return false;
	}
}

function selfFadeIn(e)
{
	var elm = getTrigger(e,'div');
	if (elm.id == '') elm.id = generateId();
	setOpacity(100, elm.id);
}

function selfFadeOut(e)
{
	var elm = getTrigger(e,'div');
	if (elm.id == '') elm.id = generateId();
	setOpacity(50, elm.id);
}

//<<-FADER---

//---PRINT VIEW->>

function cleanPrintableVersion(sourceId, targetId)
{
	var content;
	if (opener.window){
		content = opener.window.document.getElementById(sourceId).innerHTML;
	}else{
		content = opener.document.getElementById(sourceId).innerHTML;
	}
	document.getElementById(targetId).innerHTML = content;
	var links = document.getElementById(targetId).getElementsByTagName('a');
	var forms = document.getElementById(targetId).getElementsByTagName('form');
	for (var i = 0; i < links.length; i ++){
		links[i].href = '#';
		links[i].target = '_self';
		if (links[i].getElementsByTagName('img')){
			if (links[i].getElementsByTagName('img')[0] && links[i].getElementsByTagName('img')[0].clientWidth < 30){
				links[i].style.display = 'none';
			}
		}
	}
	for (var i = 0; i < forms.length; i ++){
		forms[i].action = '#';
		forms[i].target = '_self';
		var inputs = forms[i].elements;
		for (var j = 0; j < inputs.length; j ++){
			inputs[j].disabled = true;
		}
	}
}

//<<-PRINT VIEW---

//---MODAL->>

function modal(url)
{
	var box = document.getElementById('modalBox');
	var blocker = document.getElementById('modalBlocker');
	box.style.display = 'block';
	blocker.style.display = 'block';
	setBlockerSize();
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.position = 'absolute';
		var topOff = document.body.parentNode.scrollTop;
		var yPos = box.offsetTop;
		var templ = box.offsetParent;
		while (templ != null) {
  			yPos += templ.offsetTop;
	  		templ = templ.offsetParent;
  		}
		box.style.top = (topOff + yPos) + 'px';
		var selects = document.getElementsByTagName('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = 'none';
		}
	}
	document.getElementById('offsiteUrl').innerHTML = url;
}

function customModal(contentId, w, h, ext)
{
	if (w == undefined) w = 750;
	if (h == undefined) h = 500;
	var box = $('modalBox');
	var innerBox = $('modalBoxInner');
	var blocker = $('modalBlocker');
	box.style.display = 'block';
	box.style.top = '10%';
	box.style.marginLeft = '-' + Math.round(w / 2) + 'px';
	box.style.width = w + 'px';
	innerBox.style.width = (w - 30) + 'px';
	box.style.maxHeight = h + 'px';
	innerBox.style.maxHeight = (h - 51) + 'px';
	innerBox.style.overflow = 'scroll';
	innerBox.style.overflowX = 'hidden';
	blocker.style.display = 'block';
	setBlockerSize();
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.position = 'absolute';
		var topOff = document.body.parentNode.scrollTop;
		var yPos = box.offsetTop;
		var templ = box.offsetParent;
		while (templ != null) {
  			yPos += templ.offsetTop;
	  		templ = templ.offsetParent;
  		}
		box.style.top = (topOff + yPos) + 'px';
		var selects = $$('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = 'none';
		}
	}

	if(ext != undefined) {
		$('modalContent'+ext).innerHTML = $(contentId).innerHTML;
	} else {
		$('modalContent').innerHTML = $(contentId).innerHTML;
	}
}

function modal_summary(width, height, top_bar, dimmed, top)
{
	var box = document.getElementById('modalBoxSummary');
	var box_inner = document.getElementById('modalBoxInnerSummary');
	var blocker = document.getElementById('modalBlocker');
	box.style.display = 'block';
	if(dimmed == undefined) {
		blocker.style.display = 'block';
	}
	setBlockerSize();
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.position = 'absolute';
		var topOff = document.body.parentNode.scrollTop;
		var yPos = box.offsetTop;
		var templ = box.offsetParent;
		while (templ != null) {
  			yPos += templ.offsetTop;
	  		templ = templ.offsetParent;
  		}
		
		box.style.top = (topOff + yPos) + 'px';
				
		var selects = document.getElementsByTagName('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = 'none';
		}
	}

	if(top != undefined) {
		box.style.top = top+'px';
	}
	
	if(width != undefined) {
		box.style.width = width+'px';
		box_inner.style.width = width-30+'px';
	}

	if(height != undefined) {
		box_inner.style.height = height+'px';
	}

	if(top_bar != undefined) {
		box_inner.style.borderTopWidth = top_bar+'px';
	}
}

function modal_summary_hide() {
	var modalBoxSummary = document.getElementById('modalBoxSummary');
	modalBoxSummary.style.display='none';
	modalCancel();
}

function modalImage(imageSrc, desc)
{
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		return false;
	}
	var bodySize = getBodySize();
	var box = document.getElementById('modalBox');
	var innerBox = document.getElementById('modalBoxInner');
	var boxContent = document.getElementById('modalContent');
	var blocker = document.getElementById('modalBlocker');
	blocker.style.display = 'block';
	setBlockerSize();

	var newImg = new Image();
	newImg.onerror = function(){
		boxContent.innerHTML = 'ERROR! Failed to load "' + imageSrc + '"';
		return false;
	}
	newImg.src = '';
	newImg.src = imageSrc;

	//PRELOAD
	boxContent.innerHTML = '';
	box.style.width = '210px';
	box.style.height = '181px';
	innerBox.style.padding = 0;
	innerBox.style.width = '200px';
	innerBox.style.height = '150px';
	innerBox.style.background = 'url(/images/pic/preload.gif) center no-repeat';
	box.style.left = Math.round(bodySize[0] / 2 - 105) + 'px';
	box.style.top = Math.round(bodySize[1] / 2 - 90) + 'px';
	box.style.marginLeft = 0;
	box.style.display = 'block';
	//END PRELOAD
	if (newImg.complete){
		if (desc != undefined){
			showModalImage(newImg, desc);
		}else{
			showModalImage(newImg);
		}
	}else{
		if (desc != undefined){
			setTimeout('modalImage("' + imageSrc + '", "' + desc + '")',500);
		}else{
			setTimeout('modalImage("' + imageSrc + '")',500);
		}
	}
}

function showModalImage(newImg, desc)
{
	var bodySize = getBodySize();
	var sizeLimit = 600;
	if (sizeLimit > bodySize[1]){
		sizeLimit = bodySize[1] - 20;
	}
	var imageSrc = newImg.src;
	var imgWidth = newImg.width;
	var imgHeight = newImg.height;
	var sizePatch = '';

	var box = document.getElementById('modalBox');
	var innerBox = document.getElementById('modalBoxInner');
	var boxContent = document.getElementById('modalContent');
	var blocker = document.getElementById('modalBlocker');

	if (imgHeight > imgWidth && imgHeight > sizeLimit){
		sizePatch = ' height="' + sizeLimit + '"';
		imgWidth = Math.round(imgWidth * sizeLimit / imgHeight);
		imgHeight = sizeLimit;
	}else if (imgWidth >= imgHeight && imgWidth > sizeLimit){
		sizePatch = ' width="' + sizeLimit + '"';
		imgHeight = Math.round(imgHeight * sizeLimit / imgWidth);
		imgWidth = sizeLimit;
	}
	box.style.width = (imgWidth + 10) + 'px';
	box.style.height = (imgHeight + 31) + 'px';
	innerBox.style.width = imgWidth + 'px';
	innerBox.style.height = imgHeight + 'px';
	box.style.left = (Math.round(bodySize[0] / 2 - imgWidth / 2) - 5) + 'px';
	box.style.top = (Math.round(bodySize[1] / 2 - imgHeight / 2) - 20) + 'px';
	box.style.marginLeft = 0;
	boxContent.innerHTML = '<img src="' + imageSrc + '" border="0" alt=""' + sizePatch + ' />';
	if (desc != undefined){
		boxContent.innerHTML += '<p style="clear: both; float: left; margin: 10px;">' + desc + '</p>';
		innerBox.style.height = (imgHeight + 50) + 'px';
		box.style.height = (imgHeight + 81) + 'px';
		box.style.top = (parseInt(box.style.top) - 25) + 'px';
	}
}

function modalConfirm()
{
	window.location = document.getElementById('offsiteUrl').innerHTML;
}

function modalCancel()
{
	var box = document.getElementById('modalBox');
	var blocker = document.getElementById('modalBlocker');
	box.style.display = 'none';
	blocker.style.display = 'none';
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.top = '40%';
		var selects = document.getElementsByTagName('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = '';
		}
	}
}

function setBlockerSize()
{
	if (document.getElementById('modalBlocker')){
		var blocker = document.getElementById('modalBlocker');
		if	(blocker.style.display == 'block'){
			var innerW;
			var innerH;
			var theWidth;
			var theHeight;
			var b = document.body;
			if (!window.innerWidth){
				//IE
				innerW = b.clientWidth;
				innerH = b.clientHeight;
				theWidth = b.scrollWidth;
				theHeight = b.scrollHeight;
			}else{
				//w3c
				if (document.documentElement){
					b = document.documentElement;
				}
				theWidth = b.scrollWidth;
				theHeight = b.scrollHeight;
				innerW = window.innerWidth;
				innerH = window.innerHeight;
			}

			if (theWidth < innerW){
				theWidth = innerW - 16;
			}
			if (theHeight < innerH){
				theHeight = innerH;
			}
			blocker.style.width = theWidth + 'px';
			blocker.style.height = theHeight + 'px';
		}
	}
}

window.onresize = setBlockerSize;

//<<-MODAL---

//---COLLAPSABLE TABLES->>

function toggleVisible(obj, colapse)
{
	if (colapse == undefined) colapse = false;
	var caller = obj.previousSibling;
	if (!obj.style){
		obj = obj.nextSibling;
	}
	if (!obj.style.display){
		obj.style.display = '';
	}
	if (colapse){
		if (obj.className){
			if (obj.style.display == 'none'){
				collapseVisible(obj.className);
			}
		}
	}
	if (obj.style.display == 'none'){
		obj.style.display = '';
		if (caller.firstChild){
			var mark = caller.firstChild;
			if (mark.tagName == undefined) mark = mark.nextSibling;
			if (mark.className == 'openerMark'){
				mark.innerHTML = '-';
				mark.style.padding = '0 0 2px 2px';
				mark.style.width = '5px';
				mark.style.height = '5px';
				mark.style.lineHeight = '5px';
			}
		}
	}else{
		obj.style.display = 'none';
		if (caller.firstChild){
			var mark = caller.firstChild;
			if (mark.tagName == undefined) mark = mark.nextSibling;
			if (mark.className == 'openerMark'){
				mark.innerHTML = '+';
				mark.style.padding = '0';
				mark.style.width = '7px';
				mark.style.height = '7px';
				mark.style.lineHeight = '7px';
			}
		}
	}
}

function collapseVisible(cls)
{
	var elms = $$$('.' + cls);
	for (var i = 0; i < elms.length; i++){
		elms[i].style.display = 'none';
		var caller = elms[i].previousSibling;
		if (!caller.style){
			caller = caller.previousSibling;
		}
		if (caller.firstChild){
			var mark = caller.firstChild;
			if (mark.tagName == undefined) mark = mark.nextSibling;
			if (mark.className == 'openerMark'){
				mark.innerHTML = '+';
				mark.style.padding = '0';
				mark.style.width = '7px';
				mark.style.height = '7px';
				mark.style.lineHeight = '7px';
			}
		}
	}
}

function ctShow(obj)
{
	if (typeof(obj) == 'string'){
		obj = document.getElementById(obj);
	}
	var divs = $$$('div.openerBar');
	for (var i = 0; i < divs.length; i++){
		var openerBody = divs[i].nextSibling;
		while (openerBody.className == undefined){
			openerBody = openerBody.nextSibling;
		}
		if (openerBody.style.display != 'none') toggleVisible(divs[i].nextSibling);
	}
	toggleVisible(obj.nextSibling);
}

//<<-COLLAPSABLE TABLES---

//---GET ELEMENT(s)->>

function s$(id, elem)
{
	if (elem == undefined){
		elem = document;
	}
	return elem.getElementById(id);
}

function s$$(tagname, elem)
{
	if (elem == undefined){
		elem = document;
	}
	return elem.getElementsByTagName(tagname);
}

function $$$(e, elem)
{
	if (!e || !e.length || e.length == 0)
	return [];
	var store = [elem || document.body];
	var store_t = [];
	e = e.split(" ");
	for (var i = 0; i < e.length; i++) {
		var r = {
			id:  "",
			tag: "*",
			clas:[]
		};
		var c, s, t = e[i];
		while (t.length > 0){
			s = t.search(/.[#\.]/) + 1 || t.length;
			c = t.substr(0, s);

			if (c.substr(0, 1) == "#"){
				r.id = c.substr(1);
			}else if (c.substr(0, 1) == "."){
				r.clas.push(c.substr(1));
			}else{
				r.tag = c;
			}

			t = t.substr(s);
		}
		while (store.length > 0){
			var curr = [], temp = store.shift().getElementsByTagName(r.tag);
			for (var j = 0; j < temp.length; j++){
				curr.push(temp[j]);
			}
			while (curr.length > 0){
				var ok = true, ce = curr.shift();
				if (r.id && ce.id != r.id){
					ok = false;
				}
				for (j = 0; j < r.clas.length; j++){
					if ((" " + ce.className + " ").indexOf(" " + r.clas[j] + " ") == -1){
						ok = false;
						break;
					}
				}
				if (ok){
					store_t.push(ce);
				}
			}
		}
		store = store_t;
		store_t = [];
	}
	return store;
}

//<<-GET ELEMENT(s)---

function addProductElement()
{
	inputs_cnt = 0;

	var qnt_arr = Array();
	var prod_arr = Array();

	for (var i = 0; i <= 10; i++){
		if (document.getElementById('quantity' + i)){
			qnt_arr[i] = document.getElementById('quantity' + i).value;
			inputs_cnt = i + 1;
		}

		if (document.getElementById('product' + i)){
			var sel = document.getElementById('product' + i);
			prod_arr[i] = sel.selectedIndex;
			inputs_cnt = i + 1;
		}
	}

	if (inputs_cnt <= 10){
		var html = document.getElementById('add_products');
		var append = '<label><span>Product #' + inputs_cnt + ' Quantity:</span></label><br class="nobr" />';
		append += '<input type="text" name="request_a_quote[quantity' + inputs_cnt + ']" id="quantity' + inputs_cnt + '" value="" style="width: 25px; margin-right: 20px;" />';
		append += '<select name="request_a_quote[product' + inputs_cnt + ']" id="product' + inputs_cnt + '" style="width: 150px;" onChange="checkProduct(' + inputs_cnt + '); toggleSKU(this, ' + inputs_cnt + ');"><option value="">Select One</option>';
		for (var i = 0, len = products_label.length; i < len; i++){
			append += '<option value="' + products_value[i] + '">' + products_label[i] + '</option>';
		}
		append += '</select>';
		append += '<div id="addition' + inputs_cnt + '" class="rsRow" style="margin-left: 10px; height: 15px;"></div>';
		append += '<br class="clear" />';
		append += '<input type="hidden" name="request_a_quote[sku'+inputs_cnt+']" id="sku'+inputs_cnt+'" value="" />';
		html.innerHTML += append;
	}

    for (var i = 0; i < 10; i++){
		if (document.getElementById('quantity' + i) && qnt_arr[i] != undefined){
			document.getElementById('quantity' + i).value = qnt_arr[i];
		}

		if (document.getElementById('product' + i) && prod_arr[i] != undefined){
			var sel = document.getElementById('product' + i);
			sel.selectedIndex = prod_arr[i];
		}
	}
}

function addReturnProduct()
{
	inputs_cnt = 0;

	var qnt_arr = Array();
	var prod_arr = Array();
	var serial_arr = Array();
	var description_arr = Array();
 
	for (var i = 0; i <= 10; i++){
		var up = 0
		if (document.getElementById('quantity_' + i)){
			qnt_arr[i] = document.getElementById('quantity_' + i).value;
			up = 1;
		}

		if (document.getElementById('product_' + i)){
			var sel = document.getElementById('product_' + i);
			prod_arr[i] = sel.selectedIndex;
			up = 1;
		}

		if (document.getElementById('serial_numbers_' + i)){
			serial_arr[i] = document.getElementById('serial_numbers_' + i).value;
			up = 1;
		}

		if (document.getElementById('problem_description_' + i)){
			description_arr[i] = document.getElementById('problem_description_' + i).value;
			up = 1;
		}
		
		if(up == 1) inputs_cnt = i + 1;
	}

	if (inputs_cnt <= 10){
		var html = document.getElementById('product_holder');
		var template = document.getElementById('product_template').innerHTML;
		template = template.replace(/#/g, inputs_cnt);
		
		html.innerHTML += template;
	}

    for (var i = 0; i < 10; i++){
		if (document.getElementById('quantity_' + i) && qnt_arr[i] != undefined){
			document.getElementById('quantity_' + i).value = qnt_arr[i];
		}

		if (document.getElementById('product_' + i) && prod_arr[i] != undefined){
			var sel = document.getElementById('product_' + i);
			sel.selectedIndex = prod_arr[i];
		}
		
		if (document.getElementById('serial_numbers_' + i) && serial_arr[i] != undefined){
			document.getElementById('serial_numbers_' + i).value = serial_arr[i];
		}
		
		if (document.getElementById('problem_description_' + i) && description_arr[i] != undefined){
			document.getElementById('problem_description_' + i).value = description_arr[i];
		}			
	}
}

function addRegisterProduct()
{
	inputs_cnt = 2;

	var prod_arr = Array();
	var serial_arr = Array();
 
	for(var i=2; i<=10; i++) {
		var up = 0;

		if(document.getElementById('product_id_' + i)) {
			var sel = document.getElementById('product_id_' + i);
			prod_arr[i] = sel.selectedIndex;
			up = 1;
		}
		
		if(document.getElementById('serial_number_' + i)) {
			serial_arr[i] = document.getElementById('serial_number_' + i).value;
			up = 1;
		}
		
		if(up == 1) inputs_cnt = i + 1;
	}

	if(inputs_cnt <= 10) {
		var html = document.getElementById('product_holder');
		var template = document.getElementById('product_template').innerHTML;
		template = template.replace(/#/g, inputs_cnt);
		
		html.innerHTML += template;
	}

    for(var i = 2; i < 10; i++) {
		if(document.getElementById('product_id_' + i) && prod_arr[i] != undefined) {
			var sel = document.getElementById('product_id_' + i);
			sel.selectedIndex = prod_arr[i];
		}
		
		if(document.getElementById('serial_number_' + i) && serial_arr[i] != undefined) {
			document.getElementById('serial_number_' + i).value = serial_arr[i];
		}
	}
}



function checkProduct(id)
{
	var element = document.getElementById('product' + id);
	var selected = element.options[element.selectedIndex].text;
	var preloader = document.getElementById('preloader');
	
	preloader.style.background = 'url(/images/pic/preload.gif) center no-repeat';

	new Ajax.Updater('productOptions', '/support/retrieve_lookup_product_options_by_id.html?product_id=' + selected, {asynchronous:true, evalScripts:true, onComplete:function(request){setOptionsForLookupProduct(id)}});
}

function setOptionsForLookupProduct(id) {
	var element = document.getElementById('product' + id);
	var selected = element.options[element.selectedIndex].value;
	var addition = document.getElementById('addition' + id);
	var addition_err = document.getElementById('addition' + id + '_err');	
	
	var display = document.getElementById('productOptions').innerHTML;
	if (display == '1'){
		addition.innerHTML = '<input type="radio" name="request_a_quote[pci' + id + ']" value="PCI" checked="checked" /><label style="margin-right: 15px;">PCI</label><input type="radio" name="request_a_quote[pci' + id + ']" value="PCIe" /><label style="margin-right:15px;">PCIe</label><input type="checkbox" name="request_a_quote[ec' + id + ']" value="1" /><label>Echo Canceler</label>';
	}else if(display == '2'){
		addition.innerHTML = '<input type="radio" name="request_a_quote[pci' + id + ']" value="PCI" checked="checked" /><label style="margin-right: 15px;">PCI</label><input type="radio" name="request_a_quote[pci' + id + ']" value="PCIe" /><label style="margin-right:15px;">PCIe</label>';
	}else{
		addition.innerHTML = '';
	}
	var preloader = document.getElementById('preloader');
	preloader.style.background = '';
}


function resetSKU_Generator() {
	var solution = document.getElementById('solution');
	var type = document.forms.request_a_quote.type;
	var hardware = document.forms.request_a_quote.hardware;
	var hardware_software = document.forms.request_a_quote.hardware_software;
	var bus = document.forms.request_a_quote.bus;
	var sku_value = document.getElementById('sku_value');
	
	sku_value.value = '--';

	if(solution) {
		for(var i = 0; i < solution.length; i++) {
			if(solution[i].value == 't1/e1') {
				solution[i].checked = true;
			} else {
				solution[i].checked = false;
			}
		}
	}

	if(type) {
		for(var i = 0; i < type.length; i++) {
			if(type[i].value == 'bundle') {
				type[i].checked = true;
			} else {
				type[i].checked = false;
			}
		}
	}
	
	if(hardware) {
		for(var i = 0; i < hardware.length; i++) {
			hardware[i].checked = false;
		}
	}

	if(hardware_software) {
		for(var i = 0; i < hardware_software.length; i++) {
				hardware_software[i].checked = false;
		}
	}

	if(bus) {
		for(var i = 0; i < bus.length; i++) {
				bus[i].checked = false;
		}
	}

	toggleDivVisability('bus', true);

	if (navigator.appName == 'Microsoft Internet Explorer'){
		scroll(0,0);
	}	
}

function addEducationSet()
{
	inputs_cnt = 0;
	
	var college_university_arr = Array();
	var concentration_arr = Array();
	var class_year_arr = Array();
	
	for (var i = 1; i <= 10; i++){
		if (document.getElementById('college_university' + i)){
			college_university_arr[i] = document.getElementById('college_university' + i).value;
			inputs_cnt = i + 1;
		}

		if (document.getElementById('concentration' + i)){
			concentration_arr[i] = document.getElementById('concentration'+i).value;
			inputs_cnt = i+1;
		}

		if (document.getElementById('class_year' + i)){
			var sel = document.getElementById('class_year' + i);
			class_year_arr[i] = sel.selectedIndex;
			inputs_cnt = i+1;
		}

	}

	if (inputs_cnt <= 10){
		var html = document.getElementById('add_education');
		var append = '<div id="education' + inputs_cnt + '">';
		append += '<div><strong>School ' + inputs_cnt + ':</strong></div>';
		append += '<br class="clear" />';

		append += '<label><span>College/University:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="credentials[college_university' + inputs_cnt + ']" id="college_university' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';
		
		append += '<label><span>Concentration:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="credentials[concentration' + inputs_cnt + ']" id="concentration' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';

		append += '<label><span>Class Year:</span></label>';
		append += '<br class="nobr" />';
		append += '<select name="credentials[class_year' + inputs_cnt + ']" id="class_year' + inputs_cnt + '"><option value="">Choose Year</option>';

		for (var i = 0, len = year_label.length; i < len; i++){
			append += '<option value="' + year_value[i] + '">' + year_label[i] + '</option>';
		}
		append += '</select>';
		append += '<br class="clear" />';
		append += '<div class="note" style="text-align: right;"><a href="javascript:removeEducationSet(' + inputs_cnt + ');">Remove School</a></div>';
		append += '<br class="clear" />';
		append += '</div>';

		html.innerHTML += append;
	}

    for (var i = 1; i < 10; i++){
		if (document.getElementById('college_university' + i) && college_university_arr[i] != undefined){
			document.getElementById('college_university' + i).value = college_university_arr[i];
		}

		if (document.getElementById('concentration' + i) && concentration_arr[i] != undefined){
			document.getElementById('concentration' + i).value = concentration_arr[i];
		}

		if (document.getElementById('class_year' + i) && class_year_arr[i] != undefined){
			var sel = document.getElementById('class_year' + i);
			sel.selectedIndex = class_year_arr[i];
		}

	}
	attachFormHL();
}

function removeEducationSet(divnum)
{
	divcnt = 0;

	var college_university_arr = Array();
	var concentration_arr = Array();
	var class_year_arr = Array();

	s = 1;

	for (var i = 1; i <= 10; i++){
		if (document.getElementById('college_university' + i)){
			divcnt = i;
		}
	}

	for (var i = 1; i <= 10; i++){
		if (i != divnum){
			if (document.getElementById('college_university' + i)){
				college_university_arr[s] = document.getElementById('college_university' + i).value;
			}

			if (document.getElementById('concentration' + i)){
				concentration_arr[s] = document.getElementById('concentration' + i).value;
			}

			if (document.getElementById('class_year' + i)){
				var sel = document.getElementById('class_year' + i);
				class_year_arr[s] = sel.selectedIndex;
			}
			s++;
		}
	}

	var d = document.getElementById('add_education');
	var olddiv = document.getElementById('education' + divcnt);

	d.removeChild(olddiv);

    for (var i = 1; i < 10; i++){
		if (document.getElementById('college_university' + i) && college_university_arr[i] != undefined){
			document.getElementById('college_university' + i).value = college_university_arr[i];
		}

		if (document.getElementById('concentration' + i) && concentration_arr[i] != undefined){
			document.getElementById('concentration' + i).value = concentration_arr[i];
		}

		if (document.getElementById('class_year' + i) && class_year_arr[i] != undefined){
			var sel = document.getElementById('class_year' + i);
			sel.selectedIndex = class_year_arr[i];
		}
	}
}

function addStorySet()
{
	inputs_cnt = 0;

	var role_arr = Array();
	var objective_arr = Array();
	var project_url_arr = Array();
	var project_photo_arr = Array();
	var results_arr = Array();

	for (var i = 0; i <= 10; i++){
		if (document.getElementById('role' + i)){
			role_arr[i] = document.getElementById('role' + i).value;
			inputs_cnt = i + 1;
		}

		if (document.getElementById('objective' + i)){
			objective_arr[i] = document.getElementById('objective' + i).value;
			inputs_cnt = i + 1;
		}

		if (document.getElementById('project_url' + i)){
			project_url_arr[i] = document.getElementById('project_url' + i).value;
			inputs_cnt = i + 1;
		}

		if (document.getElementById('project_photo' + i)){
			project_photo_arr[i] = document.getElementById('project_photo' + i).value;
			inputs_cnt = i + 1;
		}

		if (document.getElementById('results' + i)){
			results_arr[i] = document.getElementById('results' + i).value;
			inputs_cnt = i + 1;
		}

	}

	if (inputs_cnt <= 10){
		var html = document.getElementById('add_story');
		var append = '<div id="story' + inputs_cnt + '">';
		append += '<div><strong>Success Story ' + inputs_cnt + ':</strong></div>';
		append += '<br class="clear" />';

		append += '<label><span>Your Role:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="your_work[role' + inputs_cnt + ']" id="role' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';
		
		append += '<label><span>Objective:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="your_work[objective' + inputs_cnt + ']" id="objective' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';

		append += '<label><span>Url:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="your_work[project_url' + inputs_cnt + ']" id="project_url' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';

		append += '<label><span>Upload Project Photo:</span><br /><span class="small">photo in JPG or GIF format, max size 1MB</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="file" name="your_work[project_photo' + inputs_cnt + ']" id="project_photo' + inputs_cnt + '" value="" size="33" class="file" />';
		append += '<div id="project_photo_display' + inputs_cnt + '" style="float: left; margin: 4px 0 0 10px; position: relative;">';
		append += '</div>';
		append += '<br class="clear" />';

		append += '<label><span>Results:</span></label>';
		append += '<br class="nobr" />';
		append += '<textarea name="your_work[results' + inputs_cnt + ']" id="results' + inputs_cnt + '" rows="8" cols="20"></textarea>';
		append += '<br class="clear" />';

		append += '<div class="note" style="text-align: right;"><a href="javascript:removeStorySet(' + inputs_cnt + ');">Remove Story</a></div>';
		
		append += '<br class="clear" />';

		append += '</div>';

		html.innerHTML += append;
	}

    for (var i = 0; i < 10; i++){
		if (document.getElementById('role' + i) && role_arr[i] != undefined){
			document.getElementById('role' + i).value = role_arr[i];
		}

		if (document.getElementById('objective' + i) && objective_arr[i] != undefined){
			document.getElementById('objective' + i).value = objective_arr[i];
		}

		if (document.getElementById('project_url' + i) && project_url_arr[i] != undefined){
			document.getElementById('project_url' + i).value = project_url_arr[i];
		}

		if (document.getElementById('project_photo' + i) && project_photo_arr[i] != undefined){
			document.getElementById('project_photo' + i).value = project_photo_arr[i];
		}

		if (document.getElementById('results' + i) && results_arr[i] != undefined){
			document.getElementById('results' + i).value = results_arr[i];
		}
	}
	attachFormHL();
}

function removeStorySet(divnum)
{
	divcnt = 0;

	var role_arr = Array();
	var objective_arr = Array();
	var project_url_arr = Array();
	var project_photo_arr = Array();
	var project_photo_display_arr = Array();
	var results_arr = Array();

	s = 1;

	for (var i = 0; i <= 10; i++){
		if (document.getElementById('role' + i)){
			divcnt = i;
		}
	}

	for (var i = 0; i <= 10; i++){
		if (i != divnum){
			if (document.getElementById('role' + i)){
				role_arr[s] = document.getElementById('role' + i).value;
			}

			if (document.getElementById('objective' + i)){
				objective_arr[s] = document.getElementById('objective' + i).value;
			}

			if (document.getElementById('project_url' + i)){
				project_url_arr[s] = document.getElementById('project_url' + i).value;
			}

			if (document.getElementById('project_photo' + i)){
				project_photo_arr[s] = document.getElementById('project_photo' + i).value;
			}

			if (document.getElementById('project_photo_display' + i)){
				project_photo_display_arr[s] = document.getElementById('project_photo_display' + i).innerHTML;
			}

			if (document.getElementById('results' + i)){
				results_arr[s] = document.getElementById('results' + i).value;
				s++;
			}
		}
	}

	var d = document.getElementById('add_story');
	var olddiv = document.getElementById('story' + divcnt);

	d.removeChild(olddiv);

    for (var i = 0; i < 10; i++){
		if (document.getElementById('role' + i) && role_arr[i] != undefined){
			document.getElementById('role' + i).value = role_arr[i];
		}

		if (document.getElementById('objective' + i) && objective_arr[i] != undefined){
			document.getElementById('objective' + i).value = objective_arr[i];
		}

		if (document.getElementById('project_url' + i) && project_url_arr[i] != undefined){
			document.getElementById('project_url' + i).value = project_url_arr[i];
		}

		if (document.getElementById('project_photo' + i) && project_photo_arr[i] != undefined){
			document.getElementById('project_photo' + i).value = project_photo_arr[i];
		}

		if (document.getElementById('project_photo_display' + i) && project_photo_display_arr[i] != undefined){
			document.getElementById('project_photo_display' + i).innerHTML = project_photo_display_arr[i];
		}

		if (document.getElementById('results' + i) && results_arr[i] != undefined){
			document.getElementById('results' + i).value = results_arr[i];
		}
	}
}

function addImportantContactSet(edit)
{
	var inputs_cnt = 0;
	var style;
	var style1;
	var phone_width;
	
	if(edit == undefined) {
		phone_width = 145;
		style1 = 'margin-right: -7px;'
	} else {
		phone_width = 92;
		style = ' margin-right: 0px;';
		style1 = 'margin-left: -10px; margin-top: 5px;'
	}

	var first_name_arr = Array();
	var last_name_arr = Array();
	var title_arr = Array();
	var country_arr = Array();
	var area_arr = Array();
	var phone_arr = Array();
	var email_arr = Array();
	
	for (var i = 0; i <= 10; i++){
		if (document.getElementById('add_first_name_' + i)){
			first_name_arr[i] = document.getElementById('add_first_name_' + i).value;
			inputs_cnt = i+1;
		}

		if (document.getElementById('add_last_name_' + i)){
			last_name_arr[i] = document.getElementById('add_last_name_' + i).value;
			inputs_cnt = i+1;
		}

		if (document.getElementById('add_title_' + i)){
			title_arr[i] = document.getElementById('add_title_' + i).value;
			inputs_cnt = i+1;
		}

		if (document.getElementById('add_country_code_' + i)){
			country_arr[i] = document.getElementById('add_country_code_' + i).value;
			inputs_cnt = i+1;
		}
		
		if (document.getElementById('add_area_code_' + i)){
			area_arr[i] = document.getElementById('add_area_code_' + i).value;
			inputs_cnt = i+1;
		}
		
		if (document.getElementById('add_phone_' + i)){
			phone_arr[i] = document.getElementById('add_phone_' + i).value;
			inputs_cnt = i+1;
		}
		
		if (document.getElementById('add_email_' + i)){
			email_arr[i] = document.getElementById('add_email_' + i).value;
			inputs_cnt = i+1;
		}
	}

	if (inputs_cnt <= 10){
		var order_cnt = inputs_cnt + 1;
		var html = document.getElementById('add_contact');
		var append = '<div id="contact' + inputs_cnt + '">';
		append += '<div><strong>Contact ' + order_cnt + ':</strong></div>';
		append += '<br class="clear" />';

		append += '<label><span>First Name:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="important_people[add_first_name_' + inputs_cnt + ']" id="add_first_name_' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';
		
		append += '<label><span>Last Name:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="important_people[add_last_name_' + inputs_cnt + ']" id="add_last_name_' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';
		
		append += '<label><span>Title:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="important_people[add_title_' + inputs_cnt + ']" id="add_title_' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';
		
		append += '<label><span>Telephone:</span><br /><span class="small">Country Code - Area Code - Telephone Number</span></label>';
		append += '<br class="nobr" />';
		append += '<div class="left" style="width: 7px; ' + style1 + '">+</div><div class="left"><input type="text" name="important_people[add_country_code_' + inputs_cnt + ']" id="add_country_code_' + inputs_cnt + '" value="" maxlength="3" style="width: 30px; ' + style + '" /><input type="text" name="important_people[add_area_code_' + inputs_cnt + ']" id="add_area_code_' + inputs_cnt + '" value="" maxlength="5" style="width: 40px; ' + style + '" /><input type="text" name="important_people[add_phone_' + inputs_cnt + ']" id="add_phone_' + inputs_cnt + '" value="" maxlength="8" style="width: ' + phone_width + 'px;" /></div>';
		append += '<br class="clear" />';
		
		append += '<label><span>Email:</span></label>';
		append += '<br class="nobr" />';
		append += '<input type="text" name="important_people[add_email_' + inputs_cnt + ']" id="add_email_' + inputs_cnt + '" value="" maxlength="50" />';
		append += '<br class="clear" />';
		
		append += '<div class="note" style="text-align: right;"><a href="javascript:removeImportantContactSet(' + inputs_cnt + ');">Remove Contact</a></div>';
		
		append += '<br class="clear" />';
		
		append += '</div>';

		html.innerHTML += append;
	}

    for (var i = 0; i < 10; i++){
		if (document.getElementById('add_first_name_' + i) && first_name_arr[i] != undefined){
			document.getElementById('add_first_name_' + i).value = first_name_arr[i];
		}

		if (document.getElementById('add_last_name_' + i) && last_name_arr[i] != undefined){
			document.getElementById('add_last_name_' + i).value = last_name_arr[i];
		}

		if (document.getElementById('add_title_' + i) && title_arr[i] != undefined){
			document.getElementById('add_title_' + i).value = title_arr[i];
		}
		
		if (document.getElementById('add_country_code_' + i) && country_arr[i] != undefined){
			document.getElementById('add_country_code_' + i).value = country_arr[i];
		}
		
		if (document.getElementById('add_area_code_' + i) && area_arr[i] != undefined){
			document.getElementById('add_area_code_' + i).value = area_arr[i];
		}
		
		if (document.getElementById('add_phone_' + i) && phone_arr[i] != undefined){
			document.getElementById('add_phone_' + i).value = phone_arr[i];
		}
		
		if (document.getElementById('add_email_' + i) && email_arr[i] != undefined){
			document.getElementById('add_email_' + i).value = email_arr[i];
		}
	}
	attachFormHL();
}

function removeImportantContactSet(divnum)
{
	divcnt = 0;

	var first_name_arr = Array();
	var last_name_arr = Array();
	var title_arr = Array();
	var country_arr = Array();
	var area_arr = Array();
	var phone_arr = Array();
	var email_arr = Array();
	
	var error_first_name_arr = Array();
	var error_last_name_arr = Array();
	var error_title_arr = Array();
	var error_country_arr = Array();
	var error_area_arr = Array();
	var error_phone_arr = Array();
	var error_email_arr = Array();

	s = 0;

	for (var i = 0; i <= 10; i++){
		if (document.getElementById('add_first_name_' + i)){
			divcnt = i;
		}
	}

	for (var i = 0; i <= 10; i++){
		if (i != divnum){
			if (document.getElementById('add_first_name_' + i)){
				first_name_arr[s] = document.getElementById('add_first_name_' + i).value;
			}
			
			if (document.getElementById('add_last_name_' + i)){
				last_name_arr[s] = document.getElementById('add_last_name_' + i).value;
			}
			
			if (document.getElementById('add_title_' + i)){
				title_arr[s] = document.getElementById('add_title_' + i).value;
			}
			
			if (document.getElementById('add_country_code_' + i)){
				country_arr[s] = document.getElementById('add_country_code_' + i).value;
			}
			
			if (document.getElementById('add_area_code_' + i)){
				area_arr[s] = document.getElementById('add_area_code_' + i).value;
			}
			
			if (document.getElementById('add_phone_' + i)){
				phone_arr[s] = document.getElementById('add_phone_' + i).value;
			}
			
			if (document.getElementById('add_email_' + i)){
				email_arr[s] = document.getElementById('add_email_' + i).value;
			}
			
			s++;
		}
	}

	var z = 0;
	
	for (var j = 0; j <= 10; j++){
		if (j != divnum){
			// Errors
			if (document.getElementById('error_for_add_first_name_' + j)){
				error_first_name_arr[z] = document.getElementById('error_for_add_first_name_' + j).innerHTML;
			}
			
			if (document.getElementById('error_for_add_last_name_' + j)){
				error_last_name_arr[z] = document.getElementById('error_for_add_last_name_' + j).innerHTML;
			}
			
			if (document.getElementById('error_for_add_title_' + j)){
				error_title_arr[z] = document.getElementById('error_for_add_title_' + j).innerHTML;
			}
			
			if (document.getElementById('error_for_add_country_code_' + j)){
				error_country_arr[z] = document.getElementById('error_for_add_country_code_' + j).innerHTML;
			}
			
			if (document.getElementById('error_for_add_area_code_' + j)){
				error_area_arr[z] = document.getElementById('error_for_add_area_code_' + j).innerHTML;
			}
			
			if (document.getElementById('error_for_add_phone_' + j)){
				error_phone_arr[z] = document.getElementById('error_for_add_phone_' + j).innerHTML;
			}
			
			if (document.getElementById('error_for_add_email_' + j)){
				error_email_arr[z] = document.getElementById('error_for_add_email_' + j).innerHTML;
			}

			z++;
		}
	}

	var d = document.getElementById('add_contact');
	var olddiv = document.getElementById('contact' + divcnt);

	d.removeChild(olddiv);

    for (var i = 0; i < 10; i++){
		if (document.getElementById('add_first_name_' + i) && first_name_arr[i] != undefined){
			document.getElementById('add_first_name_' + i).value = first_name_arr[i];
		}

		if (document.getElementById('add_last_name_' + i) && last_name_arr[i] != undefined){
			document.getElementById('add_last_name_' + i).value = last_name_arr[i];
		}

		if (document.getElementById('add_title_' + i) && title_arr[i] != undefined){
			document.getElementById('add_title_' + i).value = title_arr[i];
		}

		if (document.getElementById('add_country_code_' + i) && country_arr[i] != undefined){
			document.getElementById('add_country_code_' + i).value = country_arr[i];
		}

		if (document.getElementById('add_area_code_' + i) && area_arr[i] != undefined){
			document.getElementById('add_area_code_' + i).value = area_arr[i];
		}

		if (document.getElementById('add_phone_' + i) && phone_arr[i] != undefined){
			document.getElementById('add_phone_' + i).value = phone_arr[i];
		}

		if (document.getElementById('add_email_' + i) && email_arr[i] != undefined){
			document.getElementById('add_email_' + i).value = email_arr[i];
		}
	}
	

    for (var i = 0; i < 10; i++){
		// Errors
		if (document.getElementById('error_for_add_first_name_' + i) && error_first_name_arr[i] != undefined && error_first_name_arr[i] != '') {
			document.getElementById('error_for_add_first_name_' + i).innerHTML = error_first_name_arr[i];
			document.getElementById('error_for_add_first_name_' + i).style.display = '';
		} else if (document.getElementById('error_for_add_first_name_' + i)) {
			document.getElementById('error_for_add_first_name_' + i).innerHTML = '';
			document.getElementById('error_for_add_first_name_' + i).style.display = 'none';
		}


		if (document.getElementById('error_for_add_last_name_' + i) && error_last_name_arr[i] != undefined && error_last_name_arr[i] != '') {
			document.getElementById('error_for_add_last_name_' + i).innerHTML = error_last_name_arr[i];
			document.getElementById('error_for_add_last_name_' + i).style.display = '';
		} else if (document.getElementById('error_for_add_last_name_' + i)) {
			document.getElementById('error_for_add_last_name_' + i).innerHTML = '';
			document.getElementById('error_for_add_last_name_' + i).style.display = 'none';
		}


		if (document.getElementById('error_for_add_title_' + i) && error_title_arr[i] != undefined && error_title_arr[i] != '') {
			document.getElementById('error_for_add_title_' + i).innerHTML = error_title_arr[i];
			document.getElementById('error_for_add_title_' + i).style.display = '';
		} else if (document.getElementById('error_for_add_title_' + i)) {
			document.getElementById('error_for_add_title_' + i).innerHTML = '';
			document.getElementById('error_for_add_title_' + i).style.display = 'none';
		}


		if (document.getElementById('error_for_add_country_code_' + i) && error_country_arr[i] != undefined && error_country_arr[i] != '') {
			document.getElementById('error_for_add_country_code_' + i).innerHTML = error_country_arr[i];
			document.getElementById('error_for_add_country_code_' + i).style.display = '';			
		} else if (document.getElementById('error_for_add_country_code_' + i)) {
			document.getElementById('error_for_add_country_code_' + i).innerHTML = '';
			document.getElementById('error_for_add_country_code_' + i).style.display = 'none';
		}


		if (document.getElementById('error_for_add_area_code_' + i) && error_area_arr[i] != undefined && error_area_arr[i] != '') {
			document.getElementById('error_for_add_area_code_' + i).innerHTML = error_area_arr[i];
			document.getElementById('error_for_add_area_code_' + i).style.display = '';
		} else if (document.getElementById('error_for_add_area_code_' + i)) {
			document.getElementById('error_for_add_area_code_' + i).innerHTML = '';
			document.getElementById('error_for_add_area_code_' + i).style.display = 'none';
		}


		if (document.getElementById('error_for_add_phone_' + i) && error_phone_arr[i] != undefined && error_phone_arr[i] != '') {
			document.getElementById('error_for_add_phone_' + i).innerHTML = error_phone_arr[i];
			document.getElementById('error_for_add_phone_' + i).style.display = '';
		} else if (document.getElementById('error_for_add_phone_' + i)) {
			document.getElementById('error_for_add_phone_' + i).innerHTML = '';
			document.getElementById('error_for_add_phone_' + i).style.display = 'none';
		}


		if (document.getElementById('error_for_add_email_' + i) && error_email_arr[i] != undefined && error_email_arr[i] != '') {
			document.getElementById('error_for_add_email_' + i).innerHTML = error_email_arr[i];
			document.getElementById('error_for_add_email_' + i).style.display = '';
		} else if (document.getElementById('error_for_add_email_' + i)) {
			document.getElementById('error_for_add_email_' + i).innerHTML = '';
			document.getElementById('error_for_add_email_' + i).style.display = 'none';
		}
	}
}


function showByCheck(checker, object)
{
	if (checker.checked == true){
		document.getElementById(object).style.display = 'block';
	}else{
		document.getElementById(object).style.display = 'none';		
	}
}

function clearComment()
{
	var txtcomment = document.getElementById('txt_comment');
	if (txtcomment.value == 'enter a comment here'){
		txtcomment.value = '';
		txtcomment.rows = 8;
	}
}

function checkCommentForm()
{
	var txtcomment = document.getElementById('txt_comment');
	if (txtcomment.value == 'enter a comment here' || txtcomment.value.length<=0){
		alert('Please enter a comment!');
	}else{
		document.frm_comment.submit();
	}
}

function copy_data_returns ()
{
	if (document.form1.check_same.checked == true){
		document.form1.shipping_street.value = document.form1.street.value;
		document.form1.shipping_city.value = document.form1.city.value;
		document.form1.shipping_zipcode.value = document.form1.zipcode.value;
		document.form1.shipping_country_id.value = document.form1.country_id.value;
	}else{
		document.form1.shipping_street.value = '';
		document.form1.shipping_city.value = '';
		document.form1.shipping_zipcode.value = '';
		document.form1.shipping_country_id.value = 31;
	}
}

function clearCBs(cbObj)
{
	var checkStat = cbObj.checked;
	var inputArr = document.getElementsByTagName('input');
	for (var i = 0; i < inputArr.length; i++){
		if (inputArr[i].type == 'checkbox' && inputArr[i].name == cbObj.name){
			inputArr[i].checked = false;
		}
	}
	cbObj.checked = checkStat;
}

function enable_explanation(obj, div, def_id)
{
	if (obj.checked == true && obj.value == def_id){
		document.getElementById(div).style.display = '';
	}else if(obj.checked == false && obj.value == def_id){
		document.getElementById(div).style.display = 'none'
	}else{
		/*document.getElementById(div).style.display = 'none';*/
	}
}

function enable_explanation_by_value(obj, val, div)
{
	if (obj.value == val){
		document.getElementById(div).style.display = '';
	}else{
		document.getElementById(div).style.display = 'none';
	}
}

function enable_explanation_by_id(obj, val, div)
{
	if (obj.id == val){
		document.getElementById(div).style.display = '';
	}else{
		document.getElementById(div).style.display = 'none';
	}
}

function toggleBus(element)
{
	var bus_holder = document.getElementById('bus_holder');
	
	if (element.value == 'F'){
		bus_holder.style.display = '';
	}else{
		bus_holder.style.display = 'none';
	}
}

function viewBus()
{
	var bus_holder = document.getElementById('bus_holder');
	var error_for_bus = document.getElementById('error_for_bus');
	var bus = document.getElementById('bus');
	
	if (bus.value != '' || error_for_bus != ''){
		bus_holder.style.display = '';
	}else{
		bus_holder.style.display = 'none';
	}
}

function toggleSKU(obj, id)
{
	var sku_id = document.getElementById('sku_id'); /* field to store active product id */

	if (obj.value == 'NetBorder Express'){
		resetSKU_Generator();
		sku_id.value = id; /* set value of active product */
		modal_summary(660,500,26,false,50);
	}else{
		if (document.getElementById('sku' + id)){
			var sku_val = document.getElementById('sku' + id);
			sku_val.value = '';
		}
	}
}

function setSKU()
{
	var sku_id = document.getElementById('sku_id');
	var sku_value = document.getElementById('sku_value').value;
	var modalBoxSummary = document.getElementById('modalBoxSummary');
	var id = sku_id.value;

	if (sku_value == '--'){
		alert('Please provide all fields');
	}else{
		var sku_val = document.getElementById('sku'+id);
		sku_val.value = sku_value;
		modalCancelSKU();
		var element = document.getElementById('product' + id);
		var selected = element.options[element.selectedIndex].value;
		var addition = document.getElementById('addition' + id);
		var addition_err = document.getElementById('addition' + id + '_err');
		addition.innerHTML = '<span id="sku_display"'+id+' class="sku_tool">SKU: '+sku_value+' <a href="javascript: changeSKU('+id+');">Edit SKU</a></span>';
	}
}

function changeSKU(id)
{
	var sku_id = document.getElementById('sku_id');
	resetSKU_Generator();
	sku_id.value = id; /* set value of active product */
	modal_summary(660,500,26,false,50);
}

function modalCancelSKU()
{
	var modalBoxSummary = document.getElementById('modalBoxSummary');
	modalBoxSummary.style.display='none';
	modalCancel();
}

// Tool-Tip Functions
var isMinIE = (document.all)    ? 1 : 0;
		
		
function truebody()
{
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

var eventx;
var eventy;

function followMouse(e, div_id, vert_move, horiz_move, scroll_move)
{
	if (vert_move == undefined){
		vert_move = 15;
	}

	if (horiz_move == undefined){
		horiz_move = 15;
	}

	if (scroll_move == undefined){
		scroll_move = 16;
	}

	var div = document.getElementById(div_id);
	div.style.display="block";
	var divh = div.offsetHeight;
	var divw = div.offsetWidth;
	if (isMinIE){
		var x = window.event.x;
		var y = window.event.y;
		
		eventx = window.event.x;
		eventy = window.event.y;
	 	// prozor
		var winh = truebody().clientHeight;
		// window height
		var offseth = truebody().scrollTop; // scroll up
		var contenth = truebody().scrollHeight; // content height

		var bot = y+divh;
		if (bot > winh){
			var new_top = y-divh;
			div.style.top=offseth+new_top+'px';
		}else{
			div.style.top=offseth+y+'px';
		}

		var winw = truebody().clientWidth;
		var offsetw = truebody().scrollLeft;
		var contentw = truebody().scrollWidth;
		var right_line = x-offsetw+divw;
		if (right_line > winw){
			var new_left = x-divw-horiz_move;
			div.style.left=new_left+'px';
		}else{
			div.style.left=x+horiz_move+'px';
		}
	}else{
		var x = e.pageX;
		var y = e.pageY;

		eventx = e.pageX;
		eventy = e.pageY;
		
		var winh = window.innerHeight;
		var offseth = truebody().scrollTop;
		var contenth = truebody().scrollHeight;
		var bot = y-offseth+divh;
		if (bot > winh){
			var new_top = y-divh;
			div.style.top=new_top+'px';
		}else{
			div.style.top=y+'px';
		}
		var winw = window.innerWidth;
		var offsetw = truebody().scrollLeft;
		var contentw = truebody().scrollWidth;
		var right_line = x-offsetw+divw+scroll_move; // 16 for scroller width
		if (right_line > winw){
			var new_left = x-divw-vert_move;
			div.style.left=new_left+'px';
		}else{
			div.style.left=x+vert_move+'px';
		}
	}
}

function followMouseGloss(e, div_id)
{
	clearTimeout(gloss_timeout);
	document.getElementById('glossaryItem').innerHTML = 'Loading Data ...';	
	followMouse(e, div_id, 30, 30, 45);	
}

function hideToolTip(id)
{
	document.getElementById(id).style.display = 'none';
}

var gloss_timeout;

function hideToolTipGloss(id, item_id)
{
	gloss_timeout = setTimeout("document.getElementById('"+id+"').style.display = 'none'; document.getElementById('"+item_id+"').innerHTML = 'Loading Data ...';", 500);
}

function glossaryCancel()
{
	var box = document.getElementById('glossaryBox');
	box.style.display = 'none';
}

function attachGlossary() 
{
	var span_elements = document.getElementsByTagName('span');
	var j = 1;
	for (var i = 0; i < span_elements.length; i++){
		if (span_elements[i].className == 'glossary_link'){
			addListener(span_elements[i], 'click', glossaryEventOver, true);
			addListener(span_elements[i], 'mouseout', glossaryEventOut, true);
		}
	}
}

function glossaryEventOver(e)
{
	var element = getTrigger(e);
	var id = element.id;

	element.style.backgroundColor='#DCEEFF';
	followMouseGloss(e, 'glossaryBox');
	new Ajax.Updater('glossaryItem', '/include/gloss_popup/id/'+id+'.html', {asynchronous:true, evalScripts:true, onComplete:function(request){setGlossHeight()}});
}

function getItu(a, pre)
{
	var prepend = '';
	if (pre != undefined){
		prepend = '/' + pre;
	}
	new Ajax.Updater('itu', prepend + '/include/get_itu/id/'+a+'.html', {asynchronous:true, evalScripts:true, onComplete:function(request){setCountryCode()}});
}

function setCountryCode()
{
	document.getElementById('phone_country').value = document.getElementById('itu').innerHTML;
}

function setGlossHeight()
{
	var div = document.getElementById('glossaryBox');
	var divh = div.offsetHeight;
	var divw = div.offsetWidth;
	x = eventx;
	y = eventy;

	if (isMinIE){
	 	// prozor
		var winh = truebody().clientHeight;
		// window height
		var offseth = truebody().scrollTop; // scroll up
		var contenth = truebody().scrollHeight; // content height

		var bot = y+divh;
		if (bot > winh){
			var new_top = y-divh;
			div.style.top=offseth+new_top+'px';
		}else{
			div.style.top=offseth+y+'px';
		}

		var winw = truebody().clientWidth;
		var offsetw = truebody().scrollLeft;
		var contentw = truebody().scrollWidth;
		var right_line = x-offsetw+divw;
		if (right_line > winw){
			var new_left = x-divw-horiz_move;
			div.style.left=new_left+'px';
		}else{
			div.style.left=x+horiz_move+'px';
		}
	}else{
		var winh = window.innerHeight;
		var offseth = truebody().scrollTop;
		var contenth = truebody().scrollHeight;
		var bot = y-offseth+divh;
		if (bot > winh){
			var new_top = y-divh;
			div.style.top=new_top+'px';
		} else {
			div.style.top=y+'px';
		}
		var winw = window.innerWidth;
		var offsetw = truebody().scrollLeft;
		var contentw = truebody().scrollWidth;
		var right_line = x-offsetw+divw+16; // 16 for scroller width
		if (right_line > winw){
			var new_left = x-divw-vert_move;
			div.style.left=new_left+'px';
		}else{
			div.style.left=x+vert_move+'px';
		}
	}
}

function glossaryEventOut(e)
{
	var element = getTrigger(e);
	
	element.style.backgroundColor='';
	/*hideToolTipGloss('glossaryBox', 'glossaryItem');*/				
}
// End Tool-Tip Functions


function checkConsent()
{
	var consent = document.getElementById('consent');
	if(consent.checked == true) {
		return true;
	} else {
		if(document.form.willing_to_work[0].checked == true && document.form.publish[0].checked == true) {
			alert('Please confirm that you are consent to this information being published');
			return false;
		}
		return true;
	}
}

function support_exp()
{
	var radY_obj = document.getElementById('supportuse_y');
	var radN_obj = document.getElementById('supportuse_n');

	if (radY_obj.checked){
		document.getElementById('support_excellent').disabled = false;
		document.getElementById('support_good').disabled = false;
		document.getElementById('support_fair').disabled = false;
		document.getElementById('support_poor').disabled = false;
		document.getElementById('support_useless').disabled = false;
	}
	if (radN_obj.checked){
		document.getElementById('support_excellent').disabled = true;
		document.getElementById('support_good').disabled = true;
		document.getElementById('support_fair').disabled = true;
		document.getElementById('support_poor').disabled = true;
		document.getElementById('support_useless').disabled = true;
		document.getElementById('support_excellent').checked = false;
		document.getElementById('support_good').checked = false;
		document.getElementById('support_fair').checked = false;
		document.getElementById('support_poor').checked = false;
		document.getElementById('support_useless').checked = false;
		
	}
}

function reuseOrderConfirm(url)
{
	if (confirm ('Do you want to overwrite content of current shopping cart?\nTo overwrite click OK. To add items to existing shopping cart click CANCEL.')){
		window.location = url;
	}else{
		var new_url = url.toString().replace("1.html","0.html");
		window.location = new_url;
	}
	return true;
}

function setShareThisImage(action)
{
	var links = document.getElementsByTagName('a');
	for (var i = 0; i < links.length; i++){
		if (links[i].className == 'stbutton stico_default'){
			links[i].style.paddingLeft = '20px';
			links[i].style.verticalAlign = 'top';
			links[i].className = null;
			links[i].style.backgroundRepeat = 'no-repeat';
							
			if(action != 'undefined' && action == 1) {
				links[i].style.color = '#666666';
				links[i].style.backgroundImage = 'url("/assets/images/content/sharethis.gif")';
				links[i].style.backgroundPosition = '0px';
				break;
			} else {
				links[i].style.backgroundImage = 'url("/images/pic/share_this.gif")';
				links[i].style.backgroundPosition = '0px 4px';
			}
			var ua = navigator.userAgent;
			var MSIEOffset = ua.indexOf("MSIE ");
			
			if (MSIEOffset != -1){
				var ver = parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
				if (ver < 7){
					links[i].style.marginTop = '-4px';
				}
			} 		
		}
	}
}


function sort_cables(location, value) {
	if(value != '') {
		window.location = location+'?sort='+value;
	}
}

function show_terms(url) {
	document.getElementById('url').value = url;
	modal_summary(660,350,26,false);
}

function get_download() {
	window.location = document.getElementById('url').value;
}

function randomWarning() {
	setTimeout('popupWarning()', 15*60000);
}

function popupWarning() {
	var text = "WARNING\nFor security reasons, your session will time out after one hour of inactivity.\n\nYour user name and password have been sent to the admin email you provided on step one of this application. You can use them to continue registration proces at any time.";
	alert(text);
	randomWarning();
}

function selectRadio(form, elements, selection) {
	
	var buttonGroup = document['forms'][form][elements];
	for (var i=0; i<buttonGroup.length; i++) {
		if(buttonGroup[i].id != selection) {
			buttonGroup[i].checked = false;
		} else {
			buttonGroup[i].checked = true;
		}
	}
}

// homebanner slider
var current_banner = 0;
var banner_length = 0;
var bannerTimeout;

function setHomeBannerSlider()
{
	var items = $$$('.item', $('home_banner_nav'));

	for (var i = 0; i < items.length; i++){
		addListener(items[i], 'mouseup', showHomeBanner, true);
	}

	banner_length = items.length;
	setHomeBannerRotation(items.length);
}

function setHomeBannerRotation(){
	var next_banner = current_banner;
	current_banner = next_banner+1;
	if (current_banner == banner_length){
		current_banner = 0;
	}
	var img = $('imgHolder'+next_banner).firstChild;
	for (var i = 0; i < banner_length; i++){
		if (i == next_banner){
			$('banner_nav'+i).style.border = "1px solid #005CA5";
			$('banner_nav'+i).style.color = "#fff";
			$('banner_nav'+i).style.backgroundColor = "#005CA5";
		}else{
			$('banner_nav'+i).style.border = "1px solid #007DC3";
			$('banner_nav'+i).style.color = "#007DC3";
			$('banner_nav'+i).style.backgroundColor = "";
		}
	}
	$('homeFlash').style.backgroundImage = "url('" + img.src + "')";
	var location = ($('location'+next_banner).innerHTML);
	if (location != ''){
		$('homeFlash').onclick = function() {window.location=location}; 
		$('homeFlash').style.cursor = 'pointer';
	}else{
		$('homeFlash').onclick = function() {}; 
		$('homeFlash').style.cursor = '';
	}
	bannerTimeout = setTimeout("setHomeBannerRotation()", 6000);
	faderIn('homeFlash');
}

function showHomeBanner(e){
	var field = getTrigger(e);
	if (field.id == 'item_prev'){
		if (current_banner == 0){
			current_banner = banner_length-2;
		}else if(current_banner == 1){
			current_banner = banner_length-1;
		}else{
			current_banner = current_banner-2;
		}
	}else if(field.id == 'item_next'){
		if (current_banner == banner_length) current_banner = 0;
	}else{
		for (var i = 0; i < banner_length; i++){
			if (field.id == 'banner_nav'+i){
				current_banner = i;
			}
		}
	}
	clearTimeout(bannerTimeout);
	setHomeBannerRotation();
}
// homebanner slider
