
function addToShoppingCart( pn )
{
	var rowId = "idAws" + pn.toString();
	var partRow = document.getElementById( rowId );

	if( partRow == null )
		//insertItemXML( pn, rowId, partRow );
		insertItemRegular( pn, rowId, partRow );
	else
	{
		var partQty = document.getElementById( rowId + "_qty" );
		var v = parseInt( partQty.value, 10 );
		if( isNaN(v) )
			alert( "Incorrect QTY format: '" + partQty.value + "'. Integer value is expected." );
		else
			partQty.value = (++v).toString();
	}
}
function insertItemRegular( pn, rowId, partRow )
{

	var tmpl = removeCDATA( document.getElementById("idPartTemplate").innerHTML );
//alert( tmpl );
	tmpl= replaceVals( tmpl, [
		/%%idPN%%/gi, pn,
		///%%navigate%%/gi, "javascript:document.getElementById('idBody').nvt('" + pn + "');",
		/%%pid%%/gi, pn,
		/%%idPN2%%/gi, "#" + pn + "-" + (rndVal(1, 20).toString()),
		/%%idPrice%%/gi, "$" + rndVal(1, 50).toString() + "." + (rndVal(0, 100).toString()),
		/idQty__/gi, rowId + "_qty"
	] );
	
//alert( tmpl );	
	if( !isIEBrowser )
		tmpl = replaceVals( tmpl, [/class="NumPart"/gi, "class=\"NumPartNN\""] );


	var insPoint = document.getElementById( "idPartsEnd" );

	var tmpDiv = document.createElement( "div" );
	tmpDiv.innerHTML = tmpl;

	getChildElementById( tmpDiv, "span", "idPN" ).onclick = navigateToPartInfo;

	var opts = tmpDiv.getElementsByTagName( "option" );
	opts[ rndVal(0, 2) ].selected = true;

	var rows = tmpDiv.firstChild.rows;
	rows[ 0 ].setAttribute( "id", rowId );		
	for( var i = rows.length; i > 0; --i )
		insPoint.parentNode.appendChild( rows.item(0) );
}
function insertItemXML( pn, rowId, partRow )
{
	var doc =  createXmlDocument();	
	var tmpl = removeCDATA( document.getElementById("idPartTemplate").innerHTML );
//alert( tmpl );
	doc.loadXML( tmpl );
	if( chkXmlError(doc) )
		return;
	//alert( doc.xml() );
	//alert( getXML(doc) );
//alert( doc.selectSingleNode("//*[@id='idPN']") );		
	setNSText( doc.selectSingleNode("//*[@id='idPN']"),  pn );
//alert( getXML(doc) );		
	if( !isIEBrowser )
		doc.selectSingleNode("//*[@id='idPN']").setAttribute( "class", "NumPartNN" );
	doc.selectSingleNode("//*[@id='idPN']").setAttribute( "onclick", "navigateToPartInfo('" + pn + "')" );		
	setNSText( doc.selectSingleNode("//*[@id='idPN2']"),  "#" + pn + "-" + rndVal(1, 20).toString() );
	setNSText( doc.selectSingleNode("//*[@id='idPrice']"), "$" + rndVal(1, 50).toString() + "." + rndVal(0, 100).toString() );
	doc.selectSingleNode( "//option[" + rndVal(1, 3).toString() + "]" ).setAttribute( "selected", "true" );
	doc.selectSingleNode("//*[@id='idQty__']").setAttribute( "id", rowId + "_qty" );

	//alert( getXML(doc) );
	var insPoint = document.getElementById( "idPartsEnd" );
	//var tbl = document.getElementById( "idTableShoppingCart" );	

	var tmpDiv = document.createElement( "div" );
	tmpDiv.innerHTML = getXML(doc);
//alert( tmpDiv.innerHTML );		
	var rows = tmpDiv.firstChild.rows;
	rows[ 0 ].setAttribute( "id", rowId );		
	for( var i = rows.length; i > 0; --i )
		insPoint.parentNode.appendChild( rows.item(0) );
}

