function LocationInfoEditFindControls(ctrlid){
	var ctrls = eval( ctrlid + "_ctrls" );
	var ctrl = new Object();
	
	ctrl.tbZipCode = findObj( ctrls[ 0 ] );
	ctrl.ceCity = ctrls[ 1 ];
	ctrl.seState = ctrls[ 2 ];
	
	return ctrl;
}

function LocationInfoEditSetZipLength(ctrlid,length,numberOnly){
	var ctrl = LocationInfoEditFindControls(ctrlid);
	if(ctrl.tbZipCode==null) return;
	ctrl.tbZipCode.maxLength=length;
	ctrl.tbZipCode.NumberOnly = numberOnly;
	ctrl.tbZipCode.value = "";
}

function LocationInfoEditExtractInfo(ctrlid,layerindex){

	var ctrl = LocationInfoEditFindControls(ctrlid);
	
//	var city = layerindex == 0 && ctrl.lbLocation != null ? ctrl.lbLocation.innerHTML : null;
	var city = null;
	var stateName = null;
	var stateId = 0;
	
	if( ctrl.ceCity != null && ctrl.ceCity != "" )
    {
    	city = CityEditControlGetCityName( ctrl.ceCity );
    }

    if (ctrl.ceCity != null && ctrl.ceCity != "") 
    {
        var stateInfo = StateEditControlGetStateInfo(ctrl.seState);

        stateName = stateInfo.StateName;
        stateId = stateInfo.StateId;
    }

    //-Это неправилльно порядок в массиве - Zip City, StateName, CityId, AllowContactEdit, StateId
    //-за AllowContactEdit эта функция не отвечает - поэтому просто добавляю 0
	
	var info = new Array(
		LocationInfoEditControlGetValue(ctrl.tbZipCode),
		city,
		stateName,
		"0",
		"0",
		stateId
	);
	
	
	
	return info
}

function LocationInfoEditSetInfo(ctrlid,info){
	var ctrl = LocationInfoEditFindControls(ctrlid);
	
	LocationInfoEditControlSetValue(ctrl.tbZipCode,info[0]);
	
	if( ctrl.ceCity != null && ctrl.ceCity != "" )
    {
    	CityEditControlSetCityInfo( ctrl.ceCity, info[ 1 ], info[ 3 ] );
    }

    if (ctrl.seState != null && ctrl.seState != "")
    {
        StateEditControlSetStateInfo(ctrl.seState, info[2], info[5]);
    }
	
//	if(ctrl.lbLocation!=null){
//		ctrl.lbLocation.innerHTML=info[1];
//	}
}

function LocationInfoEditControlGetValue(ctrl){
	return ctrl != null ? ctrl.value : "";
}

function LocationInfoEditControlSetValue(ctrl,value){
	if( ctrl != null ) ctrl.value = value;
}

function LocationInfoEditControlChangeEnabled(ctrl,enabled){
	if(ctrl==null) return;
	
	if(enabled)	{
		ctrl.disabled=null;
	}else{
		ctrl.disabled="disabled";
	}
}

function LocationInfoEditStartUp(ctrlid,enabled){
	LocationInfoEditChangeEnabled(ctrlid,enabled);
}

function LocationInfoEditChangeEnabled(ctrlid,enabled){
	var initArr = eval( ctrlid + "_init" );
	var ctrl = LocationInfoEditFindControls(ctrlid);
	
	LocationInfoEditControlChangeEnabled(ctrl.tbZipCode,enabled && initArr[0]);

    if( ctrl.ceCity != null && ctrl.ceCity != '' )	
    {
	    CityEditChangeEnabled(ctrl.ceCity,enabled);
	}

	if( ctrl.seState != null && ctrl.seState != '' )
	{
	    StateEditChangeEnabled( ctrl.seState, enabled );
	}
    
}

