﻿var httpRequest=null;
var contID=null;
var ajaxURL;
function getChildrensResults()
{
    //alert(contID+"\n\r"+httpRequest.responseText);
    if (document.getElementById(contID)!=null)
    {
    
    if(httpRequest.responseText.length<5)
        return false;
    var objTarget = document.getElementById(contID);
    var arrOptions=eval(httpRequest.responseText);
    while(objTarget.length>0)
        objTarget.remove(objTarget.length-1)
    var objOption ;
    for (var i=0;i<arrOptions.length;i++)
    {
        objOption = arrOptions[i];
        objTarget.options.add(new Option(objOption.text,objOption.id),objTarget.options.length);
    }
    objTarget.disabled="";
    
    }    
}
function checkChildrens(obj)
{
    //alert(ajaxURL);
    contID=obj.getAttribute("childID");
    var childObj=document.getElementById(obj.getAttribute("childID"));
    var val;
    if(obj.options)
        val=obj.options[obj.selectedIndex].value;
    else
        val=obj.getAttribute("value");
    if(val == "0")
    {
        if(childObj!=null)
        {
            var option=childObj.options[0];
            childObj.innerHTML="";
            childObj.options.add(option);
            childObj.disabled="disabled";
            checkChildrens(childObj);
        }
        return;
    }
        
    //var url=window.location.toString();
    // var x="http://localhost:1203/im2home/AjaxHelper.aspx";
    var url="";
    if(ajaxURL.indexOf("?")!=-1)
    {
        url=ajaxURL+"&";   
    }
    else
    {
        url=ajaxURL+"?";
    }    
    url+="cmd=GetChilds&childID="+contID+"&ParentValue="+val+"&refr="+new Date().getTime();
    //alert(url);
    httpRequest=backToServer(url,null,"getChildrensResults();",1);
}
function checkUserEmail(emailFieldID,validatorID)
{
    var emailField=document.getElementById(emailFieldID);
    contID=emailField.getAttribute("targetControlID");
    var validatorField=document.getElementById(validatorID);
    if(!emailField || emailField.value=="") return false;
    if(validatorField && validatorField.isvalid==false) return false;
    var emailValue=emailField.value;
    var url="";
    if(ajaxURL.indexOf("?")!=-1)
    {
        url=ajaxURL+"&";   
    }
    else
    {
        url=ajaxURL+"?";
    }    
    url+="cmd=CheckUserEmail&email="+emailValue;
        httpRequest=backToServer(url,null,"CheckUserEmailResult();",1);
        return false;
    }
function CheckUserEmailResult()
{
   var result= httpRequest.responseText;
   //alert(result);
   try
   {
    var EmailStatusObject=eval(result);
   
    //alert(EmailStatusObject[0].returnedMessage + EmailStatusObject[0].isValid);
    //var lblisValidEmail=document.getElementById('lblisValidEmail')
    var lblisValidEmail=document.getElementById(contID)
    lblisValidEmail.innerHTML=EmailStatusObject[0].returnedMessage;
    if(EmailStatusObject[0].isValid==true)
        lblisValidEmail.style.color='green';
    else
        lblisValidEmail.style.color='red';
   }
   catch(exc)
   {
    alert(exc.message);
   }
   
}
function initAjax()
{
    var httpRequest=null;
    
   if (window.XMLHttpRequest)
    {
        try
        {
            httpRequest=new window.XMLHttpRequest();
        }
        catch(e)
        {
        }
    }
    else
    {
        try
        {
            httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e)
        {
            try
            {
                httpRequest=new ActiveXObject('msxml2.xmlhttp')
            }
            catch(e)
            {
            }
        }
    }
    return httpRequest;
}
function backToServer(url,data,callbackFunction,method)
{
    var httpRequest=initAjax();
    if(httpRequest)
    {
        if(callbackFunction!="")
        {
            httpRequest.onreadystatechange=function()
            {
                if(httpRequest.readyState==4)
                {
                    eval(callbackFunction);
                }    
            }
        }
        else
        {
            httpRequest.onreadystatechange=function(){}
        }
        if(method==0)
        {
            httpRequest.open("POST",url,true);
            httpRequest.send(data);
        }
        else
        {
            httpRequest.open("GET",url,true);
            httpRequest.send(null);
        }
    }
    return httpRequest;
}