Shader ِdoesn't show Transparency

Hi there…
Recently I took this shader from one site .
It is used to remap[fade somehow] texture1 to texture2 , so I need to change pass where texture1 is changing to texture2 and
I should force it to show texture2 transparent parts.
It doesn’t take into account that texture2 is transparent at all !!!
Please tell me where I should change to achieve this ?

SubShader {
Tags { "Queue"="Transparent" "RenderType"="Transparent" } 

CGPROGRAM
#pragma surface surf Lambert vertex:vert

struct Input
{
float2 uv_MainTex;
float4 color;
};

sampler2D _MainTex; //, _MainNormalTex;
sampler2D _SecondTex; //, _SecondNormalTex;


float Remap(float val, float inLower, float inUpper, float outLower, float outUpper)
{
return outLower + (val - inLower) * (outUpper - outLower) / (inUpper - inLower);
}

void surf (Input IN, inout SurfaceOutput o)
{
float2 scroll = float2(_Time.x * 0.064f * (1 - IN.color.a), _Time.y * 0.04f * (1 - IN.color.a));

float4 main = tex2D(_MainTex, IN.uv_MainTex);
float4 second = tex2D(_SecondTex, IN.uv_MainTex + scroll * 4); 

And the rest of shader that I think there’s something here that should changed to achieve success :

// remap the vertex colors alpha (set via deformable script) to use it as blend factor for the first and second texture
float blend1To2 = Remap(IN.color.a, 0.25, 1.0, 0.0, 1.0);
// remap the vertex colors alpha (set via deformable script) to use it as blend factor for the second and third
float blend2To3 = Remap(IN.color.a, 0.0, 0.25, 0.0, 1.0);

float4 c = float4(1, 1, 1, 1);
if (IN.color.a > 0.25)
c = lerp(second.rgba, main.rgba, blend1To2);
o.Albedo = c;

}
ENDCG
}
Fallback "Diffuse"
}

Thanks every little help…

You need to specify the blend mode for the shader. See the docs here for more information.