var table_striping =
	{	// can be used on any table to assign "odd" as the class name for rows that need a different color treatment. 
		// assign the class you want to use to the table (<table class="needsStripes" ...></table>)
		// then place function call in the window.onload at the bottom of this file as such :
		// table_striping.exec("needsStripes")
		exec : function()
		{
			var tableClass = arguments[0];
			if(tableClass)
			{
				var tableObjs = helpers.getElementsByClassName(tableClass,"table","")
				for(i=0;i<tableObjs.length;i++)
				{
					var tempBody = tableObjs[0].getElementsByTagName("tbody");
					for(x=0;x<tempBody.length;x++)
					{
						var tempRows = tempBody[0].getElementsByTagName("tr");
						for(y=0;y<tempRows.length;y++)
						{
						 if(!y==0)
						 {
						 	if((y%2) == 1)
							 	{
							 	  helpers.jscss('add',tempRows[y],"")
							 	}else
							 	{
							 	  helpers.jscss('add',tempRows[y],"odd")
							 	}
						 }else
						 {
					 	  helpers.jscss('add',tempRows[y],"odd")
						 }
						}
					}
				}
			}		
		}
	}

var objToggle =
	{	idKey : "trig_",
		toggle : function()
		{	//console.log(arguments[0]);
			var caller = arguments[0];
			// alert(arguments[0]);
			var targetId = arguments[0].id
			if(targetId)
			{   
				targetId = document.getElementById(targetId.replace(this.idKey,''));
				if(targetId)
				{if(targetId.style.display == "none")
				 	{
					targetId.style.display = "block";
				 	}else
				 	{
					targetId.style.display = "none";
					}
				}
			}
		},
		toggleTwo : function()
		{
			 var theControls = arguments[0];
		//	 console.log(theControls.length);
			 for(x=0;x<theControls.length;x++)
			 {
			 	theControls[x].onclick = function(){objToggle.toggle(this);return false;};
			 	
			 }
			 
		}
	}

var helpers = 
{
 jscss : function(a,o,c1,c2)
	{
	  switch (a){
	    case 'swap':
	      o.className=!this.jscss('check',o,c1)?o.className.replace(c2,c1): o.className.replace(c1,c2);
	    break;
	    case 'add':
	      if(!this.jscss('check',o,c1)){o.className+=o.className?' '+c1:c1;}
	    break;
	    case 'remove':
	      var rep=o.className.match(' '+c1)?' '+c1:c1;
	      o.className=o.className.replace(rep,'');
	    break;
	    case 'check':
	      return new RegExp('\\b'+c1+'\\b').test(o.className)
	    break;
	  }
	},
	getElementsByClassName: function(strClass, strTag, objContElm) 
	{
	strTag = strTag || "*";
	objContElm = objContElm || document;
	var objColl = (strTag == '*' && document.all) ? document.all : objContElm.getElementsByTagName(strTag);
	var arr = new Array();
	var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
	var arrClass = strClass.split(delim);
	for (i = 0, j = objColl.length; i < j; i++) 
		{
		var arrObjClass = objColl[i].className.split(' ');
		if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
		var c = 0;
		comparisonLoop:
		for (k = 0, l = arrObjClass.length; k < l; k++) 
			{
			for (m = 0, n = arrClass.length; m < n; m++) 
				{
				if (arrClass[m] == arrObjClass[k]) c++;
				if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) 
					{
					arr.push(objColl[i]);
					break comparisonLoop;
					}
				}
			}
		}
	return arr;
	}	
}

// To cover IE 5.0's lack of the push method
Array.prototype.push = function(value) {
  this[this.length] = value;
}

var preTableStripes = (window.onload) ? window.onload : function () {};
window.onload = function() 
{
preTableStripes();
table_striping.exec("existing_products");
 var theControls = helpers.getElementsByClassName("control","a","");
 objToggle.toggleTwo(theControls);

}


