//General
// Funciones utilizadas por las Edicion de Cuentas


 ArrayValidator= new Array (0,0,0,0);
 var flgOk;
 var iAcept;

function ValidateRsn(indexRsn,validatorID,reasonID,controlOkID){
 flgOk = false;
 iAcept = 0;
 var validator=document.getElementById(validatorID);
 var reason=document.getElementById(reasonID);
 var controlOk=document.getElementById(controlOkID);
  if (validator.value == '*' && reason.value=='0'){ArrayValidator [indexRsn] = 1;}
  if (validator.value == '*' && reason.value!='0'){ArrayValidator [indexRsn] = 2;}
  if (validator.value != '*' && reason.value=='0'){ArrayValidator [indexRsn] = 0;}
  for (i=0;i<5;i++){
       if (ArrayValidator[i]==1) {flgOk= true;i = 4;iAcept=0;}
           else {if (ArrayValidator[i]==0) {flgOk= true;}
                    else {if (ArrayValidator[i]==2) {flgOk= false;iAcept=1;}}}}
  if (flgOk == true && iAcept==0) {controlOk.disabled = true;};
  else {controlOk.disabled = false;}
}


function Reason(controlID,reasonID,validatorID,controlOkID,indexRsn){
 var control=document.getElementById(controlID);
 var reason=document.getElementById(reasonID);
 var validator=document.getElementById(validatorID);
 var controlOk=document.getElementById(controlOkID);
 iValidator=0;
if (control.value != control.initialvalue)
      {validator.value= '*';}
 else {validator.value= '';}
 if (control.value == control.initialvalue) {reason.value = '0';}
 ValidateRsn (indexRsn,validatorID,reasonID,controlOkID);
}


function ReasonDate(controlID,initialID,reasonID,validatorID,controlOkID,indexRsn){
 var control=igdrp_getComboById(controlID);
 var reason=document.getElementById(reasonID);
 var validator=document.getElementById(validatorID);
 var controlOk=document.getElementById(controlOkID);
 var oInitialValue=document.getElementById(initialID);
if (control.getText() != oInitialValue.value)
      {validator.value= '*';}
 else {validator.value= '';}
 if (control.getText() == oInitialValue.value) {reason.value = '0';}
 ValidateRsn (indexRsn,validatorID,reasonID,controlOkID);
}


function validateCreditCard(s) {
  var i, n, c, r, t;
// First, reverse the string and remove any non-numeric characters.
  r = "";
  for (i = 0; i < s.length; i++) {
    c = parseInt(s.charAt(i), 10);
    if (c >= 0 && c <= 9)
      r = c + r;
  }
// Check for a bad string.
  if (r.length <= 1)
    return false;
// Now run through each single digit to create a new string. Even digits
// are multiplied by two, odd digits are left alone.
  t = "";
  for (i = 0; i < r.length; i++) {
    c = parseInt(r.charAt(i), 10);
    if (i % 2 != 0)
      c *= 2;
    t = t + c;
  }
// Finally, add up all the single digits in this string.
  n = 0;
  for (i = 0; i < t.length; i++) {
    c = parseInt(t.charAt(i), 10);
    n = n + c;
  }
// If the resulting sum is an even multiple of ten (but not zero), the
// card number is good.
  return (n!=0 && n%10==0)
}


	function CvtXML(In) {
 		var D = In.replace(
			/^(\d{4})-(\d\d)-(\d\d)T([0-9:]*)([.0-9]*)(.)(\d\d):(\d\d)$/,
			'$1/$2/$3 $4 GMT$6$7$8')
		D = Date.parse(D) + 1000*RegExp.$5
		return new Date(D);
	}
	    	
	    	
function CustomTDCValidate(source, arguments) {
 if (!validateCreditCard(arguments.Value)) {
       arguments.IsValid = false; 
 } else { 
       arguments.IsValid = true; 
 }
}


var Mop;
function FillMop(MopType,controlID) {
 var control=document.getElementById(controlID);
   var i,num;
   for (i = control.options.length; i >= 0; i--) {
       control.options[i] = null; 
   }
   num = 0;
   for (i = 0; i < Mop.length; i++) {
       if (Mop[i][0] == MopType) {
           control.options[num] = new Option(Mop[i][1]);
           control.options[num].value = Mop[i][2];
           num++;
       }
   }
   control.options[num] = new Option('(ninguno)');
   control.options[num].value = 0;
   control.options[num].selected = true;
}


var ArrayReason;
var ArrayCopy;

function RsnOthers(index,value,validatorID,reasonID,controlOkID,indexRsn){
 var validator=document.getElementById(validatorID);
 var reason=document.getElementById(reasonID);
 var controlOk=document.getElementById(controlOkID);
  ArrayCopy[index] =  value  ;
  for (i=1;i<13;i++){
  if (ArrayCopy[i]!=ArrayReason[i])
         {flagReason = true;i=12;}
  else {flagReason= false;}}
  if (flagReason)
         {validator.value= '*';}
  else {validator.value= '';reason.value = '0'}
  ValidateRsn (indexRsn,validatorID,reasonID,controlOkID)
}

function RsnOthersExpDate(index,valueID,validatorID,reasonID,controlOkID,indexRsn){
 var value=igdrp_getComboById(valueID);
 var validator=document.getElementById(validatorID);
 var reason=document.getElementById(reasonID);
 var controlOk=document.getElementById(controlOkID);
  ArrayCopy[index] =  value.getText()  ;
  for (i=1;i<12;i++){
  if (ArrayCopy[i]!=ArrayReason[i])
         {flagReason = true;i=11;}
  else {flagReason= false;}}
  if (flagReason)
         {validator.value= '*';}
  else {validator.value= '';reason.value = '0'}
  ValidateRsn (indexRsn,validatorID,reasonID,controlOkID)
}



var Dunning;
function fillDunningPerStatus(indice, selectCtrl) {
	var i, j;
	var Flg;
	// empty existing items
	for (i = selectCtrl.options.length; i >= 0; i--) {
		selectCtrl.options[i] = null; 
	}
	selectCtrl.options[0] = new Option('(ninguno)','0');
	j = 1;
	if (Dunning != null) {
		// add new items
		for (i = 0; i < Dunning.length; i++) {
			if (Dunning[i][0] == indice) {
				Flg =true;
				if (Dunning[i][1] != null) {
					selectCtrl.options[j] = new Option(Dunning[i][2]);
					selectCtrl.options[j].value = Dunning[i][1]; 
				}
				j++;
			}
		}
		// select first item (prompt) for sub list
		if (Flg == true) {
			selectCtrl.options[0].selected = true;
		}
	}
}


// Funciones utilizadas por las Direcciones

function fillSelectFromArray(indice, selectCtrl, MunicipioCtrl, ParroquiaCtrl, SectorCtrl, itemArray) {
	var i, j;
	var Flg;
	// empty existing items
	for (i = selectCtrl.options.length; i >= 0; i--) {
		selectCtrl.options[i] = null; 
	}
	for (i = MunicipioCtrl.options.length; i >= 0; i--) {
		MunicipioCtrl.options[i] = null; 
	}
	for (i = ParroquiaCtrl.options.length; i >= 0; i--) {
		ParroquiaCtrl.options[i] = null; 
	}
	for (i = SectorCtrl.options.length; i >= 0; i--) {
		SectorCtrl.options[i] = null; 
	}
	selectCtrl.options[0] = new Option('(ninguno)','(ninguno)');
	MunicipioCtrl.options[0] = new Option('(ninguno)','(ninguno)');
	ParroquiaCtrl.options[0] = new Option('(ninguno)','(ninguno)');
	SectorCtrl.options[0] = new Option('(ninguno)','(ninguno)');
	j = 1;
	if (itemArray != null) {
		// add new items
		for (i = 0; i < itemArray.length; i++) {
			if (itemArray[i][0] == indice) {
				Flg =true;
				if (itemArray[i][1] != null) {
					selectCtrl.options[j] = new Option(itemArray[i][1]);
					selectCtrl.options[j].value = itemArray[i][1]; 
				}
				j++;
			}
		}
		// select first item (prompt) for sub list
		if (Flg == true) {
			selectCtrl.options[0].selected = true;
			MunicipioCtrl.options[0].selected = true;
			ParroquiaCtrl.options[0].selected = true;
			SectorCtrl.options[0].selected = true;
		}
	}
}



function ComboSelectFromArray(indice, Nivel ,selectCtrl, SectorCtrl, itemArray) {
	var i, j;
	var Temindice;
	var Flg;
	// empty existing items
	for (i = selectCtrl.options.length; i >= 0; i--) {
		selectCtrl.options[i] = null; 
	}
	selectCtrl.options[0] = new Option('(ninguno)','(ninguno)');
	if (Nivel == '0') {
		SectorCtrl.options[0] = new Option('(ninguno)','(ninguno)');
	}
	j = 1;
	if (itemArray != null) {
		// add new items
		for (i = 0; i < itemArray.length; i++) {
			if (itemArray[i][Nivel] == indice) {
				Flg =true;
				if (itemArray[i][Nivel + 1] != null) {
					if (itemArray[i][Nivel + 1] != Temindice) {
						Temindice=itemArray[i][Nivel + 1]; 
						selectCtrl.options[j] = new Option(itemArray[i][Nivel + 1]);
						selectCtrl.options[j].value = itemArray[i][Nivel + 1]; 
						j++;
					}
				}
			}
		}
		// select first item (prompt) for sub list
		if (Flg == true) {
			selectCtrl.options[0].selected = true;
			if (Nivel == '0') {
				SectorCtrl.options[0].selected = true;
			}
		}
	}
}



function OcultarTooltip(sImg, sPanel) {
	var oImg = dnn.dom.getById(sImg);
	if (oImg != null){
		oImg.style.display = 'none';
	}
	var oHelp = dnn.dom.getById(sPanel);
	if (oHelp != null){
		oHelp.style.display = 'none';
	}
}


function AsignarCodigoPostal(indice, Nivel, oTxtCodPost, sddl, stxt, oTxtSector, itemArray) {
	var oddlSector = dnn.dom.getById(sddl);
	var otxtSector = dnn.dom.getById(stxt);
	if (itemArray != null) {
		for (i = 0; i < itemArray.length; i++) {
			if (Nivel == '1') {
				if (itemArray[i][Nivel] == indice) {
					if (itemArray[i][2] == '') {
						oTxtCodPost.innerText=itemArray[i][3];
						if (oddlSector != null) {
							oddlSector.style.display = 'none';
							oddlSector.options[0] = new Option('Texto','Texto');
							oddlSector.options[0].selected = true;
						}
						if (otxtSector != null) {
							otxtSector.style.display = '';
						}
						break;
					}
					else {
						if (oddlSector != null) {
							oddlSector.style.display = '';
						}
						if (otxtSector != null) {
							otxtSector.style.display = 'none';
						}
						break;
					}
				}
			}
			else {
				if (itemArray[i][Nivel] == indice) {
					oTxtSector.innerText=itemArray[i][Nivel];
					oTxtCodPost.innerText=itemArray[i][3];
					var ExepcionCode = itemArray[i][4];
					dnn.setVar('Exepcion_Code', ExepcionCode);
					break;
				}
			}
		}
	}
}




// Funciones para el manejo de Grillas
var curCell;
	
function sendToParent(eventType){
	var src=event.srcElement;
	//Show/hide scroll bars for this cell.
	if(eventType=="onmouseenter"&&src!=curCell){
		if(curCell!=null)curCell.style.overflowY="hidden";
		src.style.overflowY="auto";
		curCell=src;
	}
	//Keep this event from bubbling.  We need to create a new event for the parent element.
	event.cancelBubble=true;
	//Create new event for parentElement.  This is required to make the parentElement
	//the srcElement for the event being fired.		
	var newEvent=document.createEventObject(event);
	newEvent.button=1;
	src.parentElement.fireEvent(eventType,newEvent);

	//The next line is to stop selection of text.
	if(eventType=="onselectstart") event.returnValue=false;
}


// Funciones para el Control de Historico
	var m_lastrow=undefined;
	var m_lastreq=undefined;	

	function HideTab(TabIndex, tabControl)
	{
		var Page;
		tabControl.setSelectedIndex(TabIndex);
		Page=tabControl.getSelectedTab();
		if (Page != undefined)
		{
			Page.setVisible(false);
		}
	}
	
	function SwitchTab(TabIndex, tabControl)
	{
		var Page = tabControl.getSelectedTab();
		if (Page != undefined)
		{
			Page.setVisible(false);
		}		
		tabControl.setSelectedIndex(TabIndex);
		Page=tabControl.getSelectedTab();
		if (Page != undefined)
		{
			Page.setVisible(true);
		}
		return Page;
	}	
	
	
	
	function FillCampo(Page, NombreCampo, oXML)
	{
		var oLabel;
		oLabel=Page.findControl(NombreCampo);
		if (oLabel != undefined)
		{
			var oEditControl;
			oEditControl=igedit_getById(oLabel.id);
			if (oEditControl== undefined)
			{
				if (oXML.selectSingleNode(NombreCampo) == undefined)
				{
					oLabel.innerText= '';
				}
				else
				{
					oLabel.innerText= oXML.selectSingleNode(NombreCampo).text;
				}
			}
			else
			{
				//debugger;
				var sTextDate;
				if (oXML.selectSingleNode(NombreCampo) != undefined)
				{
					sTextDate=oXML.selectSingleNode(NombreCampo).text;
				}
				
				if (oEditControl.date != undefined)
				{
					var oDate;
					if (sTextDate != undefined)
					{
						oDate=CvtXML(sTextDate);
						oEditControl.setDate(oDate);
					}
					else
					{
						oEditControl.setDate(null);
					}
				}
			}
		}
		else
		{
			alert('Control Not Found '+ NombreCampo);

		}
	}	
	
	
	function UWGridHistory_AfterRowActivateHandler(gridName, rowId){
			//Add code to handle your event here.
			m_lastrow=rowId;
			var row= igtbl_getRowById(rowId);
			var cell= row.getCell(0);
			//var cellEvento= row.getCell(3);
			
			if (m_lastreq==undefined)
			{
				m_lastreq=m_lastrow;
				// aqui vamos a buscar el Tad de Detalla para Colocarlo Loading... oDataDetail
				var tab;
				tab=igtab_getTabById(m_sNS + 'oDataDetail');
				var Page=SwitchTab(1, tab);
				RowSelectChange(cell.getValue(), rowId);
			}			
		}
		
			
	function HistorySuccessFunc(result, ctx)
	{
		// aqui vamos a buscar el Tad de Detalla para Colocarlo Loading... oDataDetail
		var tab;
		tab=igtab_getTabById(m_sNS + 'oDataDetail');

		m_lastreq=undefined;
		if (ctx !=m_lastrow)
		{
			UWGridHistory_AfterRowActivateHandler('',m_lastrow)
		}
		else
		{
			var oDetalle;
			var oHistory;
			var objXMLDoc;
			objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
			objXMLDoc.loadXML(result);
			oDetalle=objXMLDoc.selectSingleNode('NewDataSet').selectSingleNode('Detalle');

			if (oDetalle != undefined)
			{
				oHistory=objXMLDoc.selectSingleNode('NewDataSet').selectSingleNode('CustomerHistory');
				if (oDetalle.selectSingleNode("PSID")!= undefined) 
				{
					Page=SwitchTab(4, tab);
				
					FillCampo(Page, 'PSStatusText', oDetalle)
					FillCampo(Page, 'PSCommissionDealer', oDetalle)
					FillCampo(Page, 'PSFinanceOptionText', oDetalle)
					FillCampo(Page, 'PSContractStartDate', oDetalle)
					FillCampo(Page, 'PSLinkedProductText', oDetalle)
					FillCampo(Page, 'PSContractEndDate', oDetalle)
					FillCampo(Page, 'PSContractPeriod', oDetalle)
					FillCampo(Page, 'PSContractNr', oDetalle)
					FillCampo(Page, 'PSMarketSegmentName', oDetalle)
					FillCampo(Page, 'PSAccountNr', oDetalle)
					
					FillCampo(Page, 'ProductNoText', oHistory)
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)

				}
				else if (oDetalle.selectSingleNode("AddrID")!= undefined) 
				{
					Page=SwitchTab(8, tab);
					
					FillCampo(Page, 'AddrHouseNoNum', oDetalle)
					FillCampo(Page, 'AddrFirstName', oDetalle)
					FillCampo(Page, 'AddrSurname', oDetalle)
					FillCampo(Page, 'AddrCareOf', oDetalle)
					FillCampo(Page, 'AddrStreet', oDetalle)
					FillCampo(Page, 'AddrHouseNoAlpha', oDetalle)
					FillCampo(Page, 'AddrHouseNoNum', oDetalle)

					FillCampo(Page, 'AddrPostCode', oDetalle)
					FillCampo(Page, 'AddrSmallCity', oDetalle)
					FillCampo(Page, 'AddrBigCity', oDetalle)
					FillCampo(Page, 'AddrProvinceText', oDetalle)

					FillCampo(Page, 'AddrPhoneHome', oDetalle)
					FillCampo(Page, 'AddrPhoneWork', oDetalle)
					FillCampo(Page, 'AddrFax1', oDetalle)
					FillCampo(Page, 'AddrFax2', oDetalle)
					
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)
				}	
				else if (oDetalle.selectSingleNode("CustFieldsID")!= undefined) 
				{
					Page=SwitchTab(11, tab);
					
					//aqui se llama a funcion de rellenar un campo
					FillCampo(Page, 'CustFieldsSubsTypeText', oDetalle)
					FillCampo(Page, 'CustFieldsLanguageCodeText', oDetalle)
					FillCampo(Page, 'CustFieldsSubsStatusText', oDetalle)
					FillCampo(Page, 'CustFieldsReferenceNr', oDetalle)
					FillCampo(Page, 'CustFieldsExemptionFrom', oDetalle)
					FillCampo(Page, 'CustFieldsExemptionCode', oDetalle)
					
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)				
				}					
				else if (oDetalle.selectSingleNode("JobCardID")!= undefined) 
				{
					Page=SwitchTab(6, tab);
					
					//aqui se llama a funcion de rellenar un campo
					FillCampo(Page, 'JobCardNr', oDetalle)
					FillCampo(Page, 'JobCardStatusCodeText', oDetalle)
					FillCampo(Page, 'JobCardServiceTypeCodeText', oDetalle)
					
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)
					 
				}					
				else if (oDetalle.selectSingleNode("InvoiceID")!= undefined) 
				{
					Page=SwitchTab(3, tab);
					
					//aqui se llama a funcion de rellenar un campo
					FillCampo(Page, 'InvoiceInvoiceNr', oDetalle)
					FillCampo(Page, 'InvoiceDueDate', oDetalle)
					FillCampo(Page, 'InvoiceInvoiceStatusText', oDetalle)
					FillCampo(Page, 'InvoiceMOPText', oDetalle)
					
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)
					 
				}					
				else if (oDetalle.selectSingleNode("CampaignID")!= undefined) 
				{
					Page=SwitchTab(9, tab);
					
					//aqui se llama a funcion de rellenar un campo
					FillCampo(Page, 'CampaignCampaignNrText', oDetalle)
					
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)
				}					
				else if (oDetalle.selectSingleNode("ContactCategory")!= undefined) 
				{
					Page=SwitchTab(7, tab);
					
					FillCampo(Page, 'ProblemDescription', oDetalle)
					FillCampo(Page, 'ActionTaken', oDetalle)
					FillCampo(Page, 'ContactCategoryText', oDetalle)
					FillCampo(Page, 'ContactStatusText', oDetalle)
					FillCampo(Page, 'ContactMethodText', oDetalle)
					FillCampo(Page, 'ProductModelUserKey', oDetalle)
					FillCampo(Page, 'JobCardNrCreated', oDetalle)
					FillCampo(Page, 'ActionDate', oDetalle)
					
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)
					
				}		
				else if (oDetalle.selectSingleNode("DecoderID")!= undefined) 
				{
					Page=SwitchTab(5, tab);
					
					FillCampo(Page, 'DecoderProductModelUserKey', oDetalle)
					FillCampo(Page, 'DecoderDecoderSmartCardNr', oDetalle)
					FillCampo(Page, 'DecoderShippedFromNrUser', oDetalle)
					FillCampo(Page, 'DecoderDecSCStatusText', oDetalle)
					FillCampo(Page, 'DecoderShippedToNr', oDetalle)
					FillCampo(Page, 'DecoderWarrantyDates', oDetalle)
					FillCampo(Page, 'DecoderPallette', oDetalle)
					FillCampo(Page, 'DecoderProductFinOption', oDetalle)
					
					FillCampo(Page, 'ProductNoText', oHistory)
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)
					
				}		
				else if (oDetalle.selectSingleNode("AccountID")!= undefined) 
				{
					Page=SwitchTab(10, tab);
					FillCampo(Page, 'AccountBankAccountNr', oDetalle)
					FillCampo(Page, 'AccountOldAccStatusText', oDetalle)
					FillCampo(Page, 'AccountReferenceNr', oDetalle)
					FillCampo(Page, 'AccountNewAccStatusText', oDetalle)
					FillCampo(Page, 'AccountAccountNr', oDetalle)
					FillCampo(Page, 'AccountOldDunningLevelText', oDetalle)
					FillCampo(Page, 'AccountInvoicePeriod', oDetalle)
					FillCampo(Page, 'AccountNewDunningLevelText', oDetalle)
					FillCampo(Page, 'AccountMOPText', oDetalle)
					FillCampo(Page, 'AccountProxyCode', oDetalle)
					FillCampo(Page, 'AccountOldNID', oDetalle)
					FillCampo(Page, 'AccountNewNID', oDetalle)
					FillCampo(Page, 'AccountCreditCardNr', oDetalle)
					
					FillCampo(Page, 'RealDate', oHistory)
					FillCampo(Page, 'EventNrText', oHistory)
					FillCampo(Page, 'RazonText', oHistory)				
				}						
				else
				{
					Page=SwitchTab(2, tab);
				}			
			}
			else
			{
				Page=SwitchTab(2, tab);
				//var oLabel;
				//oLabel=Page.findControl('oLabel');
				//oLabel.innerText=result;
			}
		}
	}
	

	function HistoryErrorFunc(result, ctx)
	{
		m_lastreq=undefined;
		alert(result);

		var tab;
		tab=igtab_getTabById(m_sNS + 'oDataDetail');

		var Page=tab.getSelectedTab();
		Page.setVisible(false);
		tab.setSelectedIndex(0);
		Page=tab.getSelectedTab();
		Page.setVisible(true);
	
	}
	
//Funciones para el Control de ICare_Customer

function ValidarCustomer(sbtnActualizar,sTipoCust,sRsnTiCust,
						sValTipoCust,sStatus,sRsnStatus,
						sValStatus,stxtDecoderBatch,stxtFiscalCode,
						stxtLogin,stxtMagazine,stxtPassword,svalPassword,
						stxtFiscalNo,sddlTypeRef,sddlLenguaje,
						sddlExptCode,swdcFNacimento,swdcExpcioFrom,
						sintFNacimento,sintExpcioFrom,
						sValCustOther,sddlRsnCustOther){
 
 
 var flgTipoCust = true;
 var flgStatus = true;
 var flgCustOther = true;

 var btnActualizar=document.getElementById(sbtnActualizar);
 var TipoCust=document.getElementById(sTipoCust);
 var RsnTiCust=document.getElementById(sRsnTiCust);
 var ValTipoCust=document.getElementById(sValTipoCust);
 var Status=document.getElementById(sStatus);
 var RsnStatus=document.getElementById(sRsnStatus);
 var ValStatus=document.getElementById(sValStatus);
 
 var txtDecoderBatch=document.getElementById(stxtDecoderBatch);
 var txtFiscalCode=document.getElementById(stxtFiscalCode);
 var txtLogin=document.getElementById(stxtLogin);
 var txtMagazine=document.getElementById(stxtMagazine);
 var txtPassword=document.getElementById(stxtPassword);
 var valPassword=document.getElementById(svalPassword);
  var txtFiscalNo=document.getElementById(stxtFiscalNo);
 var ddlTypeRef=document.getElementById(sddlTypeRef);
 var ddlLenguaje=document.getElementById(sddlLenguaje);
 var ddlExptCode=document.getElementById(sddlExptCode);

 // asi se trae el objeto de las Fechas del Infregistic
 var wdcFNacimento=igdrp_getComboById(swdcFNacimento);
 var wdcExpcioFrom=igdrp_getComboById(swdcExpcioFrom);
 var intvFNacimento=document.getElementById(sintFNacimento);
 var intvExpcioFrom=document.getElementById(sintExpcioFrom);

 var RsnCustOther=document.getElementById(sddlRsnCustOther);
 var ValCustOther=document.getElementById(sValCustOther);
 

 btnActualizar.disabled = true;
 ValTipoCust.innerText='';
 ValStatus.innerText='';
ValCustOther.innerText='';

  //Condicion Tipo Customer 
  if (TipoCust.value != TipoCust.initialvalue) {
	  if (RsnTiCust.value=='') {
		flgTipoCust = false;
		ValTipoCust.innerText='*';
	  }
  }
  //Condicion Status
  if (Status.value != Status.initialvalue) {
	  if (RsnStatus.value=='') {
		flgStatus = false;
		ValStatus.innerText='*';
	  }
  }
  //Condicion Other
  if (txtDecoderBatch.value != txtDecoderBatch.initialvalue || txtFiscalCode.value != txtFiscalCode.initialvalue ||
	txtLogin.value != txtLogin.initialvalue || txtMagazine.value != txtMagazine.initialvalue ||
	ddlExptCode.value != ddlExptCode.initialvalue || wdcFNacimento.getText() != intvFNacimento.value || wdcExpcioFrom.getText()  != intvExpcioFrom.value ||
	txtPassword.value != valPassword.value || txtFiscalNo.value != txtFiscalNo.initialvalue ||
	ddlTypeRef.value != ddlTypeRef.initialvalue || ddlLenguaje.value != ddlLenguaje.initialvalue) {
	  if (RsnCustOther.value=='') {
		flgCustOther = false;
		ValCustOther.innerText='*';
	  }
  }
  if (flgTipoCust == true && flgStatus== true && flgCustOther== true) {btnActualizar.disabled = false;};

}


// Funciones para el Control de ICare_Jobcard

function ServiceSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
        
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	
    
    var ControlNameID;
    var textServiceNAME;
    ControlNameID = objXMLDoc.selectSingleNode('//request/ControlID').text;	
    textServiceNAME = document.getElementById(ControlNameID);
    
    if (objXMLDoc.selectSingleNode('//request/valor').text != "0")
    {
	textServiceNAME.value=objXMLDoc.selectSingleNode('//request/nombre').text
	}
	else
	{
	textServiceNAME.value='';
	}
	objXMLDoc = undefined;
		
}


function ServiceErrorFunc(result, ctx)
{


}


function DealerSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
        
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	
    
    if (objXMLDoc.selectSingleNode('//request/valor').text != '')
    {
	var DealerID;
	DealerID = objXMLDoc.selectSingleNode('//request/dealerid').text;	
	dnn.setVar('Dealer_ID', DealerID);
	}
	else
	{
	dnn.setVar('Dealer_ID', '');
	}
	objXMLDoc = undefined;
		
}


function DealerErrorFunc(result, ctx)
{


}


function WarehouseSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
        
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	
    
    if (objXMLDoc.selectSingleNode('//request/valor').text != '')
    {
	var DealerID;
	DealerID = objXMLDoc.selectSingleNode('//request/warehouseid').text;	
	dnn.setVar('Warehouse_ID', DealerID);
	}
	else
	{
	dnn.setVar('Warehouse_ID', '');
	}
	objXMLDoc = undefined;
		
}


function WarehouseErrorFunc(result, ctx)
{


}

function VentasSerialSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	
    
	objXMLDoc = undefined;
		
}


function VentasSerialErrorFunc(result, ctx)
{


}	


function SerialSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	
    
    if (objXMLDoc.selectSingleNode('//request/valor').text != '')
    {
	var DealerID;
	
	var WHControlID;
	WHControlID = objXMLDoc.selectSingleNode('//request/WarehouseTextID').text;
	textBox = document.getElementById(WHControlID);
	if (textBox.text == '')
	{
		DealerID = objXMLDoc.selectSingleNode('//request/warehousename').text;	
		textBox.value=DealerID;
		
		DealerID = objXMLDoc.selectSingleNode('//request/warehouseid').text;	
		dnn.setVar('Warehouse_ID', DealerID);
	}
	
	
	//var DControlID;
	//DControlID = objXMLDoc.selectSingleNode('//request/DealerTextID').text;
	//textBox = document.getElementById(DControlID);
	//if (textBox.text == '')
	//{
	//	DealerID = objXMLDoc.selectSingleNode('//request/dealername').text;	
	//	textBox.value=DealerID;
	//	DealerID = objXMLDoc.selectSingleNode('//request/dealerid').text;	
	//	dnn.setVar('Dealer_ID', DealerID);
	//}
	}
	
	objXMLDoc = undefined;
		
}


function SerialErrorFunc(result, ctx)
{


}	


function SwopSerialSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
    var textBox;
    
    if (objXMLDoc.selectSingleNode('//request/valor').text != '')
    {
		
	var WHControlID;
	WHControlID = objXMLDoc.selectSingleNode('//request/ControlID').text;
	textBox = document.getElementById(WHControlID);
	textBox.value=objXMLDoc.selectSingleNode('//request/valor').text;	
	var DealerID;
	DealerID = objXMLDoc.selectSingleNode('//request/dealerid').text;	
	dnn.setVar('Dealer_ID', DealerID);

	}
	else
	{
     textBox = document.getElementById(ctx);
     textBox.value = '';
  	}
	objXMLDoc = undefined;
		
}


function SwopSerialErrorFunc(result, ctx)
{


}	
function OrderSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	

	objXMLDoc = undefined;
	
}


function OrderErrorFunc(result, ctx)
{


}	

function AddressSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	

	objXMLDoc = undefined;
		
}


function AddressErrorFunc(result, ctx)
{


}	

// Keep user from entering more than maxLength characters
function doKeypress(control){
    maxLength = control.attributes["maxLength"].value;
    value = control.value;
     if(maxLength && value.length > maxLength-1){
          event.returnValue = false;
          maxLength = parseInt(maxLength);
     }
}
// Cancel default behavior
function doBeforePaste(control){
    maxLength = control.attributes["maxLength"].value;
     if(maxLength)
     {
          event.returnValue = false;
     }
}
// Cancel default behavior and create a new paste routine
function doPaste(control){
    maxLength = control.attributes["maxLength"].value;
    value = control.value;
     if(maxLength){
          event.returnValue = false;
          maxLength = parseInt(maxLength);
          var oTR = control.document.selection.createRange();
          var iInsertLength = maxLength - value.length + oTR.text.length;
          var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
          oTR.text = sData;
     }
}
function gridResults_AfterRowActivateHandler(gridName, rowId){
			//Add code to handle your event here.
			m_lastrow=rowId;
			var row= igtbl_getRowById(rowId);
			var cell= row.getCell(0);
			//var cellEvento= row.getCell(3);
			
			if (m_lastreq==undefined)
			{
				m_lastreq=m_lastrow;
				// aqui vamos a buscar el Tad de Detalla para Colocarlo Loading... oDataDetail
				var tab;
				tab=igtab_getTabById(m_sNS + 'oDataDetail');
				var Page=SwitchTab(1, tab);
				RowSelectChange(cell.getValue(), rowId);
			}			
		}
		
function SearchSuccessFunc(result, ctx)
{

			// aqui vamos a buscar el Tad de Detalla para Colocarlo Loading... oDataDetail
		var tab;
		tab=igtab_getTabById(m_sNS + 'oDataDetail');

		m_lastreq=undefined;
		if (ctx !=m_lastrow)
		{
			UWGridHistory_AfterRowActivateHandler('',m_lastrow)
		}
		else
		{	
			var oDetalle;
			var objXMLDoc;
			objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
			objXMLDoc.loadXML(result);
			oDetalle=objXMLDoc.selectSingleNode('Customer');

			if (oDetalle != undefined)
			{
			
					Page=SwitchTab(2, tab);
					
					FillCustCampo(Page, 'lblStatus', oDetalle)
					FillCustCampo(Page, 'lblTipo', oDetalle)
					FillCustCampo(Page, 'lblCI', oDetalle)
			
			}

			
		}

}
	function FillCustCampo(Page, NombreCampo, oXML)
	{
		var oLabel;
		oLabel=Page.findControl(NombreCampo);
		if (oLabel != undefined)
		{
				if (oXML.selectSingleNode(NombreCampo) == undefined)
				{
					oLabel.innerText= '';
				}
				else
				{
					oLabel.innerText= oXML.selectSingleNode(NombreCampo).text;
				}
	
		}
		else
		{
			alert('Control Not Found '+ NombreCampo);

		}
	}	

function SearchErrorFunc(result, ctx)
{


}	


function ContactSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
    var oControles;
    //textBox = document.getElementById(ctx);
    oControles = objXMLDoc.selectNodes('//request/Control');	
	var i;
	i=0;
	
   for (i = 0; i < oControles.length; i++) {
	var oControl;
	var szControlID;
	var oDefault;
	oDefault=undefined;
	oControl=oControles.item(i);
	if (oControl != undefined) {
		var oCtrl;
		var oTipo;
		oTipo=undefined;
		szControlID=oControl.attributes.getNamedItem("controlid").value;
		if (oControl.attributes.getNamedItem("default")!= undefined ) {
			oDefault=oControl.attributes.getNamedItem("default").value;
			if (oControl.attributes.getNamedItem("controltipo")!= undefined ) {
				oTipo=oControl.attributes.getNamedItem("controltipo").value;
			}
		}
		
		if (oTipo == undefined){
			oCtrl=document.getElementById(szControlID);
			oCtrl.disabled = (oControl.text.toLowerCase() != "true");
		}
		else
		{
			oCtrl=igdrp_getComboById(szControlID);
			oCtrl.readOnly = (oControl.text.toLowerCase() != "true");
		}
		
		if ( oDefault != undefined ) {
			if (oTipo != undefined) {
				oCtrl.setValue(CvtXML(oDefault));
			}
			else
			{
				oCtrl.checked = (oDefault.toLowerCase() == "true");
			}
			
                        //Case "CheckBox"
                        //    CType(oME, System.Web.UI.WebControls.CheckBox).Checked = CBool(oDTParkinRule.DefaultView.Item(0).Row.Item(CType(oME, WebControl).Attributes.Item("ParkDefault")))
                        //Case "WebDateChooser"
			
		}
	
	}
	
   
   }
    
    
	objXMLDoc = undefined;
		
}


function ContactErrorFunc(result, ctx)
{


}	


	function ProductoFunc(result, ctx)
	{
			var oDetalle;
			var oHistory;
			var objXMLDoc;
			objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
			objXMLDoc.loadXML(result);
		  
		    OnTypeChange(result);
		  		
			if (objXMLDoc != undefined)
			{
				Rellenar(objXMLDoc, ctx)

			}
	}
	
	function ProductoErrorFunc(result, ctx)
	{
	
	}
	
	function Rellenar(result,ctx)
	{
           var tree;
          tree = igtree_getTreeById(ctx);
			if (tree!= undefined)
			{
			  var oNode;
              	oNode = tree.getNodes();
               var arChild =  oNode[0].getChildNodes();
                for (i = arChild.length-1; i >= 0; i--) {
					arChild[i].remove();
                }
                var j;
                for (j = result.selectNodes('oNodes/oNode').length-1; j >= 0; j--) {
              		oNode[0].addChild(result.selectNodes('oNodes/oNode').item(j).text);
                }
        
				var textBox;
				textBox = document.getElementById(result.selectSingleNode('oNodes/PrecioElement').text);
				textBox.innerText = 'Monto de la programacion: ' + result.selectSingleNode('oNodes/Precio').text
  
			}
		else
		{
		
			alert('Control Not Found ');

		}
		
	}	
	

// This file contains java script used by the DropDownGrid.aspx form.
//
// flag to avoid multiple listeners to same mouse-down event
var globalListenerWasCreated = false;
// references to drop-down grids
var dropDownGrids = new Array();
// it is called when drop-down grid is initialized
function initGridEvent(gridName)
{
	var oGrid = igtbl_getGridById(gridName);
	if(oGrid == null)
	{
		alert("Error: \"" + gridName + "\" was not found.");
		return;
	}
	oGrid.mainElement = ig_csom.getElementById(gridName + "_main");
	if(oGrid.mainElement == null)
	{
		alert("Error: \"" + gridName + "_main\" was not found.");
		return;
	}
	// ensure absolute position
	// Note: it can be skipped if style in aspx has that
	oGrid.mainElement.style.position = "absolute";
	// assume that grid on start is visible
	// create boolean member variable, which simplifies visibility test
	oGrid.isDisplayed = true;
	// global cash of grid-reference
	dropDownGrids[dropDownGrids.length] = oGrid;
	// hide drop-down grid
	showDropDown(oGrid, null, false);
}
// it is called by date click events of UltraWebGrid
// Note: that name should match with the ClientSideEvents.CellClickHandler property
//  which is set in aspx for UltraWebGrid
function cellClickEvent(gridName, cellId, button)
{
	var oGrid = igtbl_getGridById(gridName);
	var oCell = igtbl_getCellById(cellId);
	if(oGrid == null || oCell == null)
	{
		alert("Error: \"" + gridName + "\" was not found.");
		return;
	}
	// update editor with latest text and hide grid
	showDropDown(oGrid, oCell.getValue(), false, true);
}
// it is called by custom-button click event of WebTextEdit
// Note: that name should match with the ClientSideEvents.CustomButtonPress property
//  which is set in aspx for WebTextEdit
function openDropDownEvent(oEdit, text, oEvent)
{
	// open drop-down grid
	openDropDown(oEdit, dropDownGrids[0]);
}
// it is called by spin and focus events of WebTextEdit
// Note: that name should match with the ClientSideEvents.KeyDown/Spin/Focus/etc. properties
//  which are set in aspx for WebTextEdit
function closeDropDownEvent(oEdit, text, oEvent)
{
	// hide grid
	showDropDown(oEdit.oGrid, null, false);
}
// open grid and attach it to WebTextEdit
// oEdit - reference to the owner of grid (WebTextEdit)
// oGrid - the UltraWebGrid which should be dropped and attached to oEdit
function openDropDown(oEdit, oGrid)
{
	if(oGrid == null) return;
	// add listener to mouse click events for page
	if(!globalListenerWasCreated)
		ig_csom.addEventListener(window.document, "mousedown", globalMouseDown, false);
	globalListenerWasCreated = true;
	// set reference of grid to editor:
	// create member variable, which points to drop-down grid
	oEdit.oGrid = oGrid;
	// if it belongs to another oEdit, then close oGrid
	if(oGrid.oEdit != oEdit)
	{
		showDropDown(oGrid, null, false);
		// set reference in oGrid to this oEdit
		// create member variable, which points to the owner oEdit
		oGrid.oEdit = oEdit;
	}
	// show grid with text from editor
	// if grid is already opened, then hide grid (last param)
	showDropDown(oGrid, oEdit.getText(), true, true, true);
}
// synchronize text in TextEdit with selected cell in grid
// and show/close grid
function showDropDown(oGrid, text, show, update, toggle)
{
	if(oGrid == null) return;
	if(toggle == true && oGrid.isDisplayed == true)
		show = update = false;
	// update editor with latest text
	if(update == true)
	{
		if(oGrid.isDisplayed)
			oGrid.oEdit.setText(text);
		else
		{
			// find cell in grid and select it
			var r = null, c = null;
			for(var row = 0; row < 1000; row++)
			{
				if((r = oGrid.Rows.getRow(row)) == null) break;
				var iColCount = r.Band.Columns.length;
				for(var col = 0; col < iColCount; col++)				
				//for(var col = 0; col < 100; col++)
				{
					if((c = r.getCell(col)) == null) break;
					if(c.getValue() == text){row = 1000; break;}
				}
			}
			if(c != null)
			{
				c.setSelected(true);
				c.activate();
			}
			else
			{
				oGrid.clearSelectionAll();
				oGrid.setActiveCell(null);
			}
		}
	}
	// check current state of grid
	if(oGrid.isDisplayed == show)
		return;
	// show/hide grid
	oGrid.mainElement.style.display = show ? "block" : "none";
	oGrid.mainElement.style.visibility = show ? "visible" : "hidden";
	oGrid.isDisplayed = show;
	if(show)
		positionGrid(oGrid);
}
// set position of grid below/above TextEdit
function positionGrid(oGrid)
{
	var elem = oGrid.oEdit.Element;
	// left and top position of grid
	var x = 0, y = elem.offsetHeight;
	if(y == null) y = 0;
	// width and height of super parent (document)
	var w = 0, h = 0;
	while(elem != null)
	{
		if(elem.offsetLeft != null) x += elem.offsetLeft;
		if(elem.offsetTop != null) y += elem.offsetTop;
		h = elem.offsetHeight;
		w = elem.offsetWidth;
		elem = elem.offsetParent;
	}
	// check if grid fits below editor
	// if not, then move it above editor
	elem = oGrid.mainElement;
	if(y > h + oGrid.oEdit.Element.offsetHeight + window.document.body.scrollTop - y)
		y -= (elem.offsetHeight + oGrid.oEdit.Element.offsetHeight);
	// check if grid fits on the right from editor
	// if not, then move it to the left
	// 20 - extra shift for possible vertical scrollbar in browser
	if(x + elem.offsetWidth + 20 > w + window.document.body.scrollLeft)
		x = w - elem.offsetWidth - 20 + window.document.body.scrollLeft;
	oGrid.mainElement.style.left = x + "px";
	oGrid.mainElement.style.top = y + "px";
}
// process mouse click events for page: close drop-down
function globalMouseDown(evt)
{
	// reference to visible dropped-down grid
	var oGrid = null;
	var i = dropDownGrids.length;
	for(var i = 0; i < dropDownGrids.length; i++) if(dropDownGrids[i].isDisplayed)
	{
		oGrid = dropDownGrids[i];
		break;
	}
	// check if opened grid was found
	if(oGrid == null)
		return;
	// find source element
	if(evt == null) evt = window.event;
	if(evt != null)
	{
		var elem = evt.srcElement;
		if(elem == null) if((elem = evt.target) == null) o = this;
		while(elem != null)
		{
			// ignore events that belong to grid
			if(elem == oGrid.mainElement) return;
			elem = elem.offsetParent;
		}
	}
	// close grid
	showDropDown(oGrid, null, false, false);
}


	function VentasContratoSearchSuccessFunc(result, ctx)
	{
			var oBtnAceptar;
			var objXMLDoc;
			objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
			objXMLDoc.loadXML(result);
		  
		  		
			if (objXMLDoc != undefined)
			{
				var WHControlID;
				WHControlID = objXMLDoc.selectSingleNode('//request/ControlID').text;
				oBtnAceptar = document.getElementById(WHControlID);
				oBtnAceptar.disabled = false;
			}
	}
	
	function VentasContratoSearchErrorFunc(result, ctx)
	{
	
	}
	
// Funciones para el Control de ICare_Order
function ComDealerSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
        
    var textBox;
    textBox = document.getElementById(ctx);
    textBox.value = objXMLDoc.selectSingleNode('//request/valor').text;	
    
    if (objXMLDoc.selectSingleNode('//request/valor').text != '')
    {
	var DealerID;
	DealerID = objXMLDoc.selectSingleNode('//request/dealerid').text;	
	dnn.setVar('ComDealer_ID', DealerID);
	}
	else
	{
	dnn.setVar('ComDealer_ID', '');
	}
	objXMLDoc = undefined;
		
}

function ComDealerErrorFunc(result, ctx)
{


}


function ChangeSerialSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
	
	
	
    var textBox;
    
    if (objXMLDoc.selectSingleNode('//request/valor').text != '')
    {
		
	var WHControlID;
	WHControlID = objXMLDoc.selectSingleNode('//request/ControlID').text;
	textBox = document.getElementById(WHControlID);
	textBox.value=objXMLDoc.selectSingleNode('//request/valor').text;	
	var DealerID;
	DealerID = objXMLDoc.selectSingleNode('//request/dealerid').text;	
	dnn.setVar('Dealer_ID', DealerID);
	}
	else
	{
		if (objXMLDoc.selectSingleNode('//request/ControlID').text != '')
		{
    		var WHControlID;
    		var textBoxDepot;
			WHControlID = objXMLDoc.selectSingleNode('//request/ControlID').text;
			textBoxDepot = document.getElementById(WHControlID);	
			textBoxDepot.value= '';
		}
     textBox = document.getElementById(ctx);
     textBox.value = '';
  	}
	objXMLDoc = undefined;
		
}


function ChangeSerialErrorFunc(result, ctx)
{


}	



function WebModal ( Anchor, AnchorID, Title, Url, WindowHeight, WindowWidth, Scrolling, Properties, Resize ) {
	
	var o = new Object;
	o.Title = Title;
	o.Properties = Properties;

	var queryStringPrefix;
	if (Url.indexOf("?")==-1)
		queryStringPrefix = "?";
	else
		queryStringPrefix = "&";
		
	var returnValue;
	//debugger;
	if (Resize == "True")
	{
		if (window.showModalDialog) {	
			returnValue = window.showModalDialog(Url + queryStringPrefix + "__LoadIFrame=True&__Scrolling=" + Scrolling, o, "dialogHeight:" + WindowHeight + "; dialogWidth:" + WindowWidth + "; status:off; center:on; help:off; resizable:yes; maximize:yes;");
		}
		else {
			returnValue = window.open(Url + queryStringPrefix + '__LoadIFrame=True&__Scrolling=' + Scrolling, o, 'height=' + WindowHeight + ',width=' + WindowWidth + ',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,modal=yes');
		}
	}
	else
	{
		if (window.showModalDialog) {	
			returnValue = window.showModalDialog(Url + queryStringPrefix + "__LoadIFrame=True&__Scrolling=" + Scrolling, o, "dialogHeight:" + WindowHeight + "; dialogWidth:" + WindowWidth + "; status:off; center:on; help:off");
		}
		else {
			returnValue = window.open(Url + queryStringPrefix + '__LoadIFrame=True&__Scrolling=' + Scrolling, o, 'height=' + WindowHeight + ',width=' + WindowWidth + ',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes');
		}
	}


	document.getElementById("__WebModalData").value = returnValue.WebModalData;
	document.getElementById("__CausePostBack").value = returnValue.CausePostBack;
	document.getElementById("__AnchorID").value = AnchorID;

	if (Anchor != null)
	{
		Anchor.OutputData = returnValue.WebModalData;
	}
	return (returnValue.CausePostBack == "True");

}

function WireClientSideEvent(control, event, functionToAttach)
{
	var ctrl;
	if (typeof(control) != "undefined")
	{
		ctrl = control;
	}
	else
	{
		ctrl = document.getElementById(control);
	}

	if (typeof(ctrl) != "undefined")
	{
		if ( typeof( ctrl.addEventListener ) != "undefined" ) {
				ctrl.addEventListener(event, functionToAttach, false);
			} 
		else if ( typeof ( ctrl.attachEvent ) != "undefined" ) 
		{
			ctrl.attachEvent(event, functionToAttach);
		} 
		else 
		{
			ctrl[event] = functionToAttach;
		}
	}
}
	
//*** FUNCIONES PARA EL CONTROL Servicios_DecoSolicitud ***
function CalcTotalChangeSuccessFunc(result, ctx)
{
	var objXMLDoc;
	objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
	objXMLDoc.loadXML(result);	
	
	var ControlNameID;
    var textServiceNAME;
    ControlNameID = objXMLDoc.selectSingleNode('//request/ControlID').text;	
    textServiceNAME = document.getElementById(ControlNameID);
	textServiceNAME.value = objXMLDoc.selectSingleNode('//request/valor').text;    
	objXMLDoc = undefined;	
}

function CalcTotalChangeDealerErrorFunc(result, ctx)
{
}
//**********************************************************