// JavaScript Document
aP = {
		addEvent: function(elm, evType, fn, useCapture) {
			if (elm.addEventListener) {
			  elm.addEventListener(evType, fn, useCapture);
			  return true;
			} else if (elm.attachEvent) {
			  var r = elm.attachEvent('on' + evType, fn);
			  return r;
			} else {
			  elm['on' + evType] = fn;
			}
		},
		clonePackageSel: function(){
			sel = aP.packageSel;
			
			while(sel.nodeName != 'TR'){
				sel = sel.parentNode;
			}
			
			selRow = sel;
			
			newRow = selRow.cloneNode(true);
			
			allSels = newRow.getElementsByTagName('select');
			for(i=0;i<allSels.length;i++){
				newName = allSels[i].name.replace(/packages\[0\]\[packages\]/,"packages["+aP.packSelNum+"][packages]");
				allSels[i].name = newName;
				allSels[i].selectedIndex = 0;
				if(i == 1){
					allSels[i].options.length = 0;
				}
				if(allSels[i].onchange){
					//test = allSels[i].onchange + " ";
					//test2 = test.replace(/packages\[0\]\[packages\]/,"packages["+aP.packSelNum+"][packages]");					
					allSels[i].onchange = '';
					allSels[i].className=aP.packSelNum;
										
					aP.addEvent(allSels[i],"change",aP.swapOptions,false);
				}	
			}
			
			i = 0;
			while(i < aP.formTable.childNodes.length){
				if(aP.formTable.childNodes[i].nodeName == "TBODY")
					tbody = aP.formTable.childNodes[i];
					
				i++;	
			}
			tbody.insertBefore(newRow,aP.formTable.getElementsByTagName("tr")[6+aP.packSelNum]);
			
			aP.packSelNum++; 
		},
		swapOptions: function(e){
			 var target = window.event ? window.event.srcElement : e ? e.target : null;
    		 if (!target) return;
			
			//swapOptions(frm, grpName, eleIndex, nbElements, arName)
			//swapOptions(target, test, 0, 2, 'hs_packages');
			
			frm = target;
			grpName = 'packages['+target.className+'][packages]';
			eleIndex = 0;
			nbElements = 2;
			arName = "hs_packages"
			
			var n = "";
			var ctl;
			
			for(var i = 0; i < nbElements; i++){
				allSels = document.getElementsByTagName("select");
				j = 0;
				while(j < allSels.length){
					if(allSels[j].name == (grpName + "["+i+"]")){
						ctl	= allSels[j];
					}
					j++;
				}
				
				if (!ctl) {
					ctl = frm.form[grpName+'['+i+'][]'];
				}
				if (i <= eleIndex) {
					n += "_"+ctl.value;
				} else {
					ctl.length = 0;
				}
				
			}
			var t = eval("typeof("+arName + n +")");
			if (t != 'undefined') {
				var the_array = eval(arName+n);
				var j = 0;
				n = eleIndex + 1;
				//ctl = frm.form[grpName+'['+ n +']'];
				allSels = document.getElementsByTagName("select");
				k = 0;
				while(k < allSels.length){
					if(allSels[k].name == (grpName + "["+n+"]")){
						ctl	= allSels[k];
					}
					k++;
				}
				if (!ctl) {
					ctl = frm.form[grpName+'['+ n +'][]'];
				}
				for (var i in the_array) {
					opt = new Option(the_array[i], i, false, false);
					ctl.options[j++] = opt;
				}
			}
			/*if (eleIndex+1 < nbElements) {
				aP.swapOptions(frm, grpName, eleIndex+1, nbElements, arName);
			}*/
			
		},
		init: function(){
			if(document.getElementsByName(""))
			
			if(document.getElementById("addPackage")){
				aP.addbtn = document.getElementById("addPackage");
				aP.addEvent(aP.addbtn,'click',aP.clonePackageSel,false);
			}

			aP.packSelNum = 0;
			allSels = document.getElementsByTagName("select");
			i = 0;
			while(i < allSels.length){
				if(allSels[i].name.match(/\[packages\]\[0/) != null){
					aP.packSelNum++;
				}
				
				i++;
			}
			if(document.getElementsByName("packages[0][packages][0]")[0]){
				aP.packageSel = document.getElementsByName("packages[0][packages][0]")[0];
			}
			if(document.getElementsByTagName("table")[0]){
				aP.formTable = document.getElementsByTagName("table")[0];
			}
		}
  
	}
	aP.addEvent(window,'load',aP.init,false);
