function browserIsIE()
{
	return navigator.userAgent.toLowerCase().indexOf("msie")!=-1;
}

function browserIsIE6()
{
	return navigator.userAgent.toLowerCase().indexOf("msie")!=-1 && navigator.userAgent.toLowerCase().indexOf("6.0")!=-1;
}
function hideElement(id, show)
{
	var el;
	
	el=document.getElementById(id);
	
	el.style.display="none";
	
}
function showElement(show)
{
	var el;
	
	for (var i=1; i<arguments.length; i++)
	{
		if ((el=document.getElementById(arguments[i])))
		{
			el.style.display=show?"block":"none";
		}
	}
}
function switchElementVisibility()
{
	var el, link;
	if(arguments.length>0)
	{
		for (var i=0; i<arguments.length; i++)
		{
			
			if (i==0 && typeof(arguments[0])=="object")
			{
				link=arguments[0];
				continue;
			}
			el=document.getElementById(arguments[i]);
			if (i==1)
			{
				var style=__domGetComputedStyle(arguments[0])
				
				arguments[0].style.backgroundPosition=el.style.display!="none"?"left top" : "right top"
			}
				
			
			if (el.style.display!="none")
			{
				el.style.display="none";
			}
			else
			{
				if(el.tagName.toLowerCase()=="tr" && !browserIsIE())
				{
					el.style.display="table-row";
				}
				else
				{
					el.style.display="block";
				}
			}
		}
	}
}
function __domGetElementsByTagName(parentElement, tagName, className)
{
	var childNodes;
	var retChildNodes;
	
	childNodes=parentElement.getElementsByTagName(tagName);
	retChildNodes=new Array();
	
	for (var i=0; i<childNodes.length; i++ )
	{
		if (!className)
		{
			retChildNodes[retChildNodes.length]=childNodes[i];
			continue;
		}
		if (childNodes[i].className==className)
		{
			retChildNodes[retChildNodes.length]=childNodes[i];
		}
	}
	
	return retChildNodes;
}
function __domGetNumElementsByTagName(parentElement, tagName, className)
{
	var childNodes;
	var retNumChildNodes;
	
	childNodes=parentElement.getElementsByTagName(tagName);
	retNumChildNodes=0;
	
	for (var i=0; i<childNodes.length; i++ )
	{
		if (childNodes[i].className==className)
		{
			retNumChildNodes++;
		}
	}
	
	return retNumChildNodes;
}
function __domGetNodeParent(node, parentTagName)
{
	
	parentTagName=parentTagName.toLowerCase();
	
	while ((node=node.parentNode) && node)
	{
		if (node.nodeType==1)
		{
			
			if (node.tagName.toLowerCase()==parentTagName)
			{
				return node;
			}
		}
	}
}
/*
function __domGetNumChildElements(parentElement, tagName, className)
{
	var numChildren;
	var childNodes;
	
	numChildren=0;
	childNodes=parentElement.getElementByTagName(tagName);
	
	for (var i=0; i<childNodes.length; i++ )
	{
		
		if (parentElement.childNodes[i].nodeType==1 && 
			parentElement.childNodes[i].tagName.toLowerCase()==tagName
			&& 
			(!className || parentElement.childNodes[i].className==className)
			)
		{
			numChildren++;
		}
	}
	
	
	return numChildren;
}

function __domGetChildElements(parentElement, tagName, className)
{
	var children;
	
	children=new Array();
	
	for (var i=0; i<parentElement.childNodes.length; i++ )
	{
		
		if (parentElement.childNodes[i].nodeType==1 && 
			parentElement.childNodes[i].tagName.toLowerCase()==tagName
			&& 
			(!className || parentElement.childNodes[i].className==className)
			)
		{
			children[children.length]=parentElement.childNodes[i];
		}
	}
	
	
	return children;
}
*/
function buildObjectFromXML(xmlDoc)
{
	var obj;
	var childNode;
	
	obj=new Object();
	
	for (var i=0; i<xmlDoc.childNodes.length; i++)
	{
		childNode=xmlDoc.childNodes[i];
			
		if (!childNode.firstChild)
		{
			obj[childNode.nodeName]="";
			continue;
		}
		
		
		if(childNode.firstChild.nodeType==1)
		{
			obj[childNode.nodeName]=makeObjectFromXML(childNode);
		}
		else
		{
			obj[childNode.nodeName]=childNode.firstChild.nodeValue;
		}
	}
	
	return obj;
}
function __domRemoveChild(childNode)
{
	childNode.parentNode.removeChild(childNode);
}
function formPopulateFields (form, fromFieldsPrefix, toFieldPrefix)
{	
	var elementName, matches, pattern;
	
	pattern=new RegExp("^"+fromFieldsPrefix+"([^$]+)");
	
	for (var i=0; i<form.elements.length; i++)
	{
		elementName=form.elements[i].name;
		
		matches=elementName.match(pattern);
		
		if(!matches)
		{
			continue;
		}
		
		if (form.elements[toFieldPrefix+matches[1]])
		{
			form.elements[toFieldPrefix+matches[1]].value=form.elements[i].value;
		}
		
	}
}
function formClear(form, fieldsPrefix)
{
	var elementName, matches, pattern;
	
	pattern=new RegExp("^"+fieldsPrefix+"([^$]+)");
	//alert(pattern)
	try
	{
		for (var i=0; i<form.elements.length; i++)
		{
			elementName=form.elements[i].name;
			
			matches=elementName.match(pattern);
			
			if(!matches)
			{
				continue;
			}
			if(form.elements[i].type.toLowerCase()=="hidden")
			{
				continue;
			}
			form.elements[i].value="";
			
		}
	}
	catch(err)
	{
		
	}
}
function formDisable(form, disable, fieldsPrefix)
{
	var elementName, matches, pattern;
	
	pattern=new RegExp("^"+fieldsPrefix+"([^$]+)");
	//alert(pattern)
	try
	{
		for (var i=0; i<form.elements.length; i++)
		{
			elementName=form.elements[i].name;
			
			matches=elementName.match(pattern);
			
			if(!matches)
			{
				continue;
			}
			
			form.elements[i].disabled=disable;
			
		}
	}
	catch(err)
	{
		
	}
}
function uncheckRadio(form, name)
{
	try
	{
		form.elements[name].checked=false;
	}
	catch(err)
	{
		
	}
}
function onClickProductDescription(link, productId, descriptionIndex)
{
	var div1, div2, link2;
	
	div1=document.getElementById("product_"+(descriptionIndex==1?"specifications":"description")+"_"+productId);
	div2=document.getElementById("product_"+(descriptionIndex==0?"specifications":"description")+"_"+productId);
	
	div1.style.display="block";
	div2.style.display="none";
	
	link.className=descriptionIndex==0?"description_selected":"specifications_selected";
	
	link2=document.getElementById("product_"+(descriptionIndex==0?"specifications":"description")+"_"+productId+"_link");
	link2.className=descriptionIndex==1?"description":"specifications"
	
	link.parentNode.parentNode.className=descriptionIndex==0?"description_navbar clearfix":"specifications_navbar clearfix"
}
var crtDropDown=null;
var dropdownTimeoutId=null;
function onNavigationMouseOver(link)
{
	if (crtDropDown)
	{
		//if (crtDropDown==link.parentNode)
		{
			clearTimeout(dropdownTimeoutId);
		}
		showNavigationDropDown(crtDropDown, false)
	}
	showNavigationDropDown(link.parentNode, true);
}
function onNavigationMouseOut(link)
{
	dropdownTimeoutId=setTimeout( "showNavigationDropDown(crtDropDown, false)", 500);
}
function showNavigationDropDown(li, show)
{
	var uls;
	
	uls=__domGetElementsByTagName(li, "ul");

	
	uls[0].style.display=show ? "block" : "none";
	uls[0].style.zIndex=1000;
	uls[0].parentNode.style.zIndex=1001;
	crtDropDown=li;
}
function popupWindow(link, width, height)
{
	var wnd;

	wnd=window.open(link.href, "", (width?"width="+width+"px ":"")+(height?(width?",":"")+"height="+height+"px":""));
	
	wnd.focus();
}
function showPopup(id, show)
{
	var popup;
	
	popup=document.getElementById(id);
	
	popup.style.display=show?"block":"none";
	
}
function onFocusFirstName(input)
{
	if (input.value=="First Name")
	{
		input.value="";
	}
}
function onFocusLastName(input)
{
	if (input.value=="Last Name")
	{
		input.value="";
	}
}
function __domGetComputedStyle(el)
{
	if (el.currentStyle)
	{
		return el.currentStyle;
	}
	else
	if (window.getComputedStyle)
	{
		return window.getComputedStyle(el, null)
	}
}
var bgChacheImgs=new Array();

function setBgImage(id, src)
{
	var el;
	
	el=document.getElementById(id);
	
	if (el)
	{
		bgChacheImgs[bgChacheImgs.length]=new Image();
		bgChacheImgs[bgChacheImgs.length-1].src=src;
		el.style.backgroundImage="url('"+src+"')";
		
		
	}
	
}
function switchSectionVisibility( sectionId, link)
{
	var div;
	
	div=document.getElementById(sectionId);
	
	if (div.style.display=="block")
	{
		div.style.display="none";
		link.style.backgroundPosition="0px 0px";
	}
	else
	{
		div.style.display="block";
		link.style.backgroundPosition="-18px 0px";
	}
	
}
function onCheckRadioAnswer(radio, textInputName)
{
	//alert(textInputName);	

	var arr=textInputName.match(/([a-z]+\[[a-z_]+\]\[[0-9]+\]\[)([0-9]+)(\]\[[a-z_]+\])/i); 
	//alert(arr);
	var pattern1, pattern2, pattern3;
	var pattern;
	
	pattern1=arr[1].replace(/\[/g, "\\\[");
	pattern1=pattern1.replace(/\]/g, "\\\]");
	
	pattern2="[0-9]+";
	
	pattern3=arr[3].replace(/\[/g, "\\\[");
	pattern3=pattern3.replace(/\]/g, "\\\]");
	
	pattern=pattern1+pattern2+pattern3;
	//alert(pattern);
	
	var re=new RegExp(pattern, "gi" );
	
	var input; 
	for (var i=0; i<radio.form.elements.length; i++ ) 
	{ 
		input=radio.form.elements[i];
		
		if (input.type.toLowerCase()!="text")
		{
			continue;
		}
		if (!input.name.match(re))
		{
			continue;
		}
		if (input.name==textInputName)
		{
			input.disabled=false;
		}
		else
		{
			input.disabled=true;
		}
	}
}