var xmlDoc = "<?xml version=\"1.0\"?><root></root>";
var old;
var PLACEHOLDERNAME = "DEBT11_Explaincontainer2_XMLTXT"; //holds the placeholder name

function ChangePosting(WhatToDo,placeName,oldSelect,selected1)
{
	
	if (typeof(old) == "undefined")	
	{	
		old = document.getElementById(placeName+oldSelect);	
	}
	
		PLACEHOLDERNAME = placeName +'XMLTXT';			
		var Selected1 = document.getElementById(placeName+selected1);		
		workOnXml(Selected1,WhatToDo);
		//Handle xml from SB	
		xmlDoc2 = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc2.preserveWhiteSpace = false;
		xmlDoc2.loadXML(xmlDoc);	
		BuildXml(xmlDoc2,Selected1);
}


//what - what to do ( delete , add , move up , move down)
// objSB - the selecte box where item where selected from (add only);
function workOnXml(objSB,what)
{
		switch(what){
		case 'insert':
						try
						{
							
							if (old.selectedIndex>=0)
							{								
								if (objSB.options.length < 5)
								{
									var len = objSB.options.length;	
									objSB.options[len] = new Option(old.options[old.selectedIndex].text, old.options[old.selectedIndex].value , false, false);										
									objSB.options[len].setAttribute("url",old.options[old.selectedIndex].attributes["url"].value);					
								}
								else
								{
									alert("ניתן להציף חמישה פריטים בלבד, מחק פריט קיים וחזור על הפעולה");
								}
								
							}
							else
							{ //
								
								old.Selected.selectedIndex = 0;
								var len = objSB.options.length;	
								objSB.options[len] = new Option(old.options[old.selectedIndex].text, old.options[old.selectedIndex].value , false, false);										
								objSB.options[len].setAttribute("url",old.options[old.selectedIndex].attributes["url"].value);											
							}
						}
						catch (exp) {}
		break;
		case 'delete':
						try
						{	
								if (objSB.selectedIndex >= 0)
								{
										removeSelectedOptions(objSB);
								}
								else
								{
										alert('יש לבחור פריט מהרשימה לצורך מחיקה');
								}
						}
						catch (exp){}
		
		break;
		case 'up':
						try
						{
								if (objSB.selectedIndex  >= 0)
								{
										moveOptionUp(objSB);				
								}
								else
								{
										alert('יש לבחור פריט מהרשימה לצורך מיון');
								}
						}
						catch (exp){}
		break;
		case 'down':
						try
						{
								if (objSB.selectedIndex  >= 0)
								{
										moveOptionDown(objSB);										
								}
								else
								{
										alert('יש לבחור פריט מהרשימה לצורך מיון');
								}
						}
						catch (exp){}
		break;
		 default:
  
		 break;
	} 
}

function removeSelectedOptions(from) 
{ 	
	if (from.type=="select-one") 
	{
		
		from.options[from.selectedIndex] = null;
	}
	else 
	{
		for (var i=(from.options.length-1); i>=0; i--)
		{ 
			var o=from.options[i]; 
			if (o.selected) 
			{ 
				from.options[i] = null; 
			} 
		}
	}
	
	from.selectedIndex = -1; 
} 

function swapOptions(obj,i,j)
 {
	var o = obj.options;
	var i_selected = o[i].selected;
	var j_selected = o[j].selected;
	var i_url = obj.options[i].attributes["url"].value;
	var j_url = obj.options[j].attributes["url"].value;
	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
	o[i] = temp2;
	o[j] = temp;
	o[i].setAttribute("url",j_url);
	o[j].setAttribute("url",i_url);	
	//o[i].attributes["url"].value = j_url;
	//o[j].attributes["url"].value = i_url;
	o[i].selected = j_selected;
	o[j].selected = i_selected;
}
	
function moveOptionUp(obj)
{	
	for (i=0; i<obj.options.length; i++)
    {
		if (obj.options[i].selected) 
		{
			if (i != 0 && !obj.options[i-1].selected) 
			{
				swapOptions(obj,i,i-1);
				obj.options[i-1].selected = true;
			}
		}
	}
}

function moveOptionDown(obj)
{	
	for (i=obj.options.length-1; i>=0; i--)
	{
		if (obj.options[i].selected) 
		{
			if (i != (obj.options.length-1) && ! obj.options[i+1].selected)
			{
				swapOptions(obj,i,i+1);
				obj.options[i+1].selected = true;
			}
		}
	}
}


function ShowHiddenSB(obj,name)
{
	
	if (old)
	{
			id = name + obj.selectedIndex;			
			var Selected = document.getElementById(id);
			Selected.className = 'nis';
			old.className = 'dis';
			old = Selected;
			if (Selected.length >=0)
			{
				Selected.selectedIndex = 0;				
			}
	}
	else
	{
	
			id_first = name + "0";
			
			id = name + obj.selectedIndex;	
			try
			{
				if	(document.getElementById(id_first).className =="nis")
				{
					document.getElementById(id_first).className = "dis";
				}
			}	
			catch (exp)
			{
			}
			var Selected = document.getElementById(id);			
			Selected.className = 'nis';
			 	
			old = Selected;			
			if (Selected.length >=0)
			{
				Selected.selectedIndex = 0;
			
			}
	}
}

//builds the xml from the select boxes
function BuildXml(xmlDocument,objSB)
{

	var root = xmlDocument.documentElement;	
	var j=0;
		
	for (j=0 ; j<objSB.options.length; j++	)
	{
		var newElem = xmlDocument.createElement("item");
		var newGUID = xmlDocument.createElement("GUID");
		var newNAME = xmlDocument.createElement("NAME");
		var newUrl = xmlDocument.createElement("URL");
		
		newNAME.text  = objSB.options[j].text;
		newGUID.text  = objSB.options[j].value;
		newUrl.text   = objSB.options[j].attributes["url"].value;
		
		
		newElem.appendChild(newGUID);
		newElem.appendChild(newNAME);
		newElem.appendChild(newUrl);
		root.appendChild(newElem);
		
	}
	
	PutXmlInPlaceHolder(xmlDocument.xml);
	
}

//Recives a xmldocument and places the xml string in it
function PutXmlInPlaceHolder(xmlDocumentXML)
{
	var PlaceHolderName =  document.getElementById(PLACEHOLDERNAME);
	PlaceHolderName.value = xmlDocumentXML;	
		
}
