var rightscroll = 0;
colorToolScrolledID = new Array('colors','patterns','saved');
scrollBoundary = new Array('colors','patterns','saved');
scrollBoundary['colors'] = 1;
scrollBoundary['patterns'] = 1;
scrollBoundary['saved'] = 1;

$A(colorToolScrolledID).each( function(index) { 
       colorToolScrolledID[index] = 0; 
		});	
var scrollAmount = 594;
function colorToolScrool(divID,direction){
	 scrollAmount = 594;
	 if (navigator.appName.indexOf("Microsoft ")>=0) scrollAmount = 613;
   if (direction=="left") {	 
	    if (colorToolScrolledID[divID]>0) {
			    new Effect.Move(divID, { x: scrollAmount }); colorToolScrolledID[divID]--;
	    }
   } else  {
			if ((colorToolScrolledID[divID]>=0)  && (scrollBoundary[divID]>(colorToolScrolledID[divID])+1)){
			    new Effect.Move(divID, { x: -scrollAmount }); colorToolScrolledID[divID]++;
	    }
	 }	 
	 //return false;
}

function rewindColorTool(scrollDivID){
	scrollAmount = colorToolScrolledID[scrollDivID] * scrollAmount;
	new Effect.Move('patterns', { x: scrollAmount }); 
	colorToolScrolledID[scrollDivID]=0; 
}


var _arrSaved = new Array();
function onSelectSwatch(vnum)
{
	_arrSaved = pushAndReplace(vnum, _arrSaved);
	renderSavedList();
	 scrollBoundary['saved'] = (parseInt(_arrSaved.length)/3);
	
}

function renderSavedList()
{
	var ilen = _arrSaved.length;
	// clear saved list display
	var container = $('vestbucket');
	container.innerHTML = "";
	
	// build saved list display
	for ( var i = 0; i < ilen; i++ )
	{
		var vnum = _arrSaved[i];
		var vd = vdFromXML(vnum);
		renderVd(vd );		
	}
}

function pushAndReplace(strAdd, arr)
{
	var newArr = remFromStrArray(strAdd, arr );
	newArr.push(strAdd); // put new elem on top	
	return newArr;	
}

function remFromStrArray(strRem, arr )
{
	var newArr = new Array();
	if ( arr.length != 0 )
	{
		var wierdToken = ";;;;;;";  // an uncommon delimiter
		var strMastList = "" + arr.join(wierdToken);	// convert array to string using delim
		strMastList = strMastList.replace( new RegExp(strRem, "g" ), "" ); // replace any existing instances in new string
		strMastList = strMastList.replace( new RegExp(wierdToken + wierdToken, "g" ), wierdToken );  // clean up any empty spots in middle
		newArr = strMastList.split( wierdToken ); // convert bak into array 
		if ( ("" + newArr[0]).length <= 0 ) newArr.shift();// clean up empty start slot
		if ( ("" + newArr[newArr.length-1]).length <= 0 ) newArr.pop();// clean up empty end slot		
			
	}
	return newArr;	
}

// get vest desc from XML
function vdFromXML(vnum)
{
	if ( _patternCol == null ) _patternCol = inventoryData.responseXML.getElementsByTagName('pattern');
	if ( _tuxCol == null ) _tuxCol = inventoryData.responseXML.getElementsByTagName('tux');
			
	var thisPattern,thisColor,thisCollection,thisVest,thisTitle,thisDetails,thisDesc = "";
	var invlen = _patternCol.length;
	for (inv=0; inv<_patternCol.length; inv++) 
	{
		if(vnum==_patternCol[inv].attributes.getNamedItem("style").value) 
		{
		  
			thisPattern = _patternCol[inv].attributes.getNamedItem("style").value;
			thisPattern = thisPattern.replace(/_S08/gi, "" );
			thisColor = _patternCol[inv].attributes.getNamedItem("color").value;
			thisCollection = _patternCol[inv].attributes.getNamedItem("collection").value;
			thisVest = _patternCol[inv].attributes.getNamedItem("vest").value;
			for (j=0; j<_tuxCol.length; j++)
			{
				if(thisVest==_tuxCol[j].attributes.getNamedItem("pid").value) 
				{
					   if(_tuxCol[j].attributes.getNamedItem("lang").value.toUpperCase()==lang)
					   {
														 
							thisTitle = _tuxCol[j].attributes.getNamedItem("tagline").value;
							thisDetails =_tuxCol[j].attributes.getNamedItem("features").value;
							thisDesc =_tuxCol[j].firstChild.data;

						 
						 // add to  list of samples
							return makeVd(thisPattern, thisTitle, thisColor, thisCollection, thisVest, thisDetails, thisDesc );
						
						 }	
				}
			}
		}
	}	
	
	return null;
}

function makeVd(pattern, title, color, collection, vest, details, desc)
{
	var vd = new Object();
	vd.pattern = pattern;
	
	vd.title = title;
	vd.color = color;
	vd.collection = collection;
	vd.vest = vest;
	vd.details = details;
	vd.desc = desc;
	
	return vd;
}

function renderVd(vd ){
	
	
	var num = vd.vest;
	var container = $('vestbucket');
	var templateHTML = $('sample-template').innerHTML;
	
	
	
	templateHTML = templateHTML.replace(/temp/g,num);
	container.innerHTML = templateHTML + container.innerHTML;// + container.innerHTML;
	$('sample-'+num).src = 'images/145x170/'+vd.vest+'_main_145x170.png';
	
	 //$('sampleText-'+num+'off').style.display = "none";
	 //$('sampleText-'+num+'on').style.display = "block";
	
	$('sampleCollection-'+num).innerHTML = vd.collection;
	$('sampleColor-'+num).innerHTML = vd.color;
	$('sampleStyle-'+num).innerHTML = vd.pattern;
	$('sampleTitle-'+num).innerHTML = vd.title;
	$('sampleDescription-'+num).innerHTML = vd.desc;
	$('sampleDetails-'+num).innerHTML = vd.details;
	$('sampleImage-'+num).innerHTML = vd.vest; 
	
	 
		
}



function removeSample(sample){
   //alert($('sample-placeholder-'+sample).innerHTML)
  //$('sample-placeholder-'+sample).innerHTML="";
  _arrSaved = remFromStrArray(sample, _arrSaved);
//	renderSavedList();
	 scrollBoundary['saved'] = (parseInt(_arrSaved.length)/3);
	 
  
	$('sample-placeholder-'+sample).fade();
	//samplesSaved--;
}
