var LastReceivedErsXml = null;
var ResponseXml        = null;

function Portfoy(Action, Source, FormName)
{	
	if (Source == "DeletePortfoy" || Source == "DeleteMedia")
	{
		var boolResult = confirm("Kayd\u0131 silmek istedi\u011Finize emin misiniz?");
		if (boolResult == false)
			return;		
	}
	var InsertXml   = XmlSource(Action, FormName);
	
	var ResponseXml = GetXMLDocument("?Action=" + Source, InsertXml);


    //XML ve isleme göre yapacaklarimi burda belirliyorum 
    XmlAction(Source, ResponseXml, FormName);
     
    return;
}

function XmlAction(Source, ResponseXml, FormName)
{
	 switch(Source){
		case "SelectPortfoy":
		   AnswertoPEntryResponse(ResponseXml, FormName);
		   break; 
	    case "SelectSearch":
		    AnswertoPSearchResponse(ResponseXml, FormName);
		   break; 
     	default:
		   var dataFldNode = ResponseXml.selectSingleNode("//" + "RESPONSE");
           ShowResult(dataFldNode.text, FormName);
           break;
    }
	 
}

function XmlSource(Action, FormName)
{
	
	 var sXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
				"<ROOT>" +
				"	<ITEMS> " + 
				       ((Action == "Select" )?CreateXmlSelectNodes(FormName):CreateXmlUpdateNodes(FormName)) +
		     	"	</ITEMS>" +
				"</ROOT>";
 	 return sXml;
}

function CreateXmlUpdateNodes(FormName)
{
	
	var allElements   = document.forms[FormName].elements;
    var elementsArray = new Array(0);
    
    var xmlString     = "";
    
    xmlString += DeleteAllProperty(FormName);  
    
    for(i=0;i<allElements.length;i++){
	    if (allElements[i].getAttribute("SRC") == "XML"){
			switch(allElements[i].type){
			   	case "text"       :xmlString += ((allElements[i].value == null || allElements[i].value == "Null" )?"":(" <" + allElements[i].getAttribute("CLM") + ">" + allElements[i].value + "</" + allElements[i].getAttribute("CLM") + "> ")) ;break;
		       	case "select-one" :xmlString += ((allElements[i].selectedIndex == -1 )?"":(" <" + allElements[i].getAttribute("CLM") + ">" + allElements[i].options[allElements[i].selectedIndex].value+ "</" + allElements[i].getAttribute("CLM") + "> ")) ;break;
				case "checkbox"   :xmlString += CreateCheckBoxDataXML(allElements[i]);
				case "textarea"   :xmlString += ((allElements[i].value == null || allElements[i].value == "Null" )?"":(" <" + allElements[i].getAttribute("CLM") + ">" + allElements[i].value + "</" + allElements[i].getAttribute("CLM") + "> ")) ;break;
			}
		}
    }   
  
  
    return xmlString;
}

function CreateXmlSelectNodes(FormName)
{
	var allElements   = document.forms[FormName].elements;
    var elementsArray = new Array(0);
    var xmlString     = "";
    
    for(i=0;i<allElements.length;i++){
	    if (allElements[i].getAttribute("KEY") == "PRIMARYKEY"){
			xmlString += " <" + allElements[i].getAttribute("CLM") + ">" + allElements[i].value + "</" + allElements[i].getAttribute("CLM") + "> " ;
	    }	
    }   
    return xmlString;
}

function FillControl(oElem, ctrValue, ResponseXml)
{
	var i = 0;
    var xRows = ResponseXml.getElementsByTagName(ctrValue);                               

    if ( oElem.name != "CD_ITEMDETAIL04")
    ClearControl(oElem) ; 
    
    for(i=0;i<xRows.length;i++)
    {
    	FillOne(oElem, xRows[i].childNodes[0].firstChild.nodeValue, xRows[i].childNodes[1].firstChild.nodeValue, i);
	}	 
   if ( oElem.name != "CD_ITEMDETAIL04")
      oElem.selectedIndex = 0;
}

function ClearControl(oElem)
{
   var i;
   for (i = oElem.length - 1; i>=0; i--) {
       oElem.remove(i);
   }
}

function ClearAllControl(FormName)
{
	var allElements   = document.forms[FormName].elements;
    var elementsArray = new Array(0);    
    
    for(i=0;i<allElements.length;i++)
		if (allElements[i].getAttribute("SRC") == "XML")
			allElements[i].value = ""; 
}

function FillOne(oElem, ctrValue, ctrText, row)
{
	
	var option = new Option(ctrText, ctrValue);                           
    oElem.options.add(option, row); 
    oElem.selectedIndex = row;
}


