//====================================================================================================
//    File Name        :    list_members.js
//    # File Version: v 1.0
//    # Created By: Maulik Chandarana
//    # Created On: 19 June 2007
//    # Last Modified By:
//    # Last modified On:
//  # Purpose : This is file carries validation and other related function for List Members (Browse) page.
//----------------------------------------------------------------------------------------------------

//====================================================================================================
//    Function Name    :    Click_Update()
//    Created By: Maulik Chandarana
//    Created On: 27 June 2007
//    Last Modified By:
//    Last modified On:
//  Purpose : Validates form variables for searching
//  Parameters: frm : Form name for which variables need to validate.
//----------------------------------------------------------------------------------------------------
function Click_Update(frm)
{
    with(frm)
    {			
        if(parseInt(optToAge.value) >= parseInt(optFromAge.value))
        {
            alert("Please Search With Proper Age Ranges");
            return false;
        }
        if(Trim(document.getElementById("idState").value) != "")
        {
            hdStateVal.value = document.getElementById("idState").value;
        }
       /* if(Trim(document.getElementById("idCity").value) != "")
        {
            hdCityVal.value = document.getElementById("idCity").value;
        }*/
		hdMode.value = "Search";
        action = "list_members.php";
        submit();
    }
}
var url = "getTextVal.php?user_id=";
var isWorking = false;
var http = getHTTPObject();
//====================================================================================================
//    Function Name    :    fnGetOnlineOfflineStatus()
//    Created By: Maulik Chandarana
//    Created On: 02 August 2007
//    Last Modified By:
//    Last modified On:
//  Purpose : Get the online/offline status for entered user id
//  Parameter : intUserId : User Id
//----------------------------------------------------------------------------------------------------
function fnGetOnlineOfflineStatus(strUserIds)
{
    if (!isWorking)
    {
        if (window.XMLHttpRequest)
        {            
            http = new XMLHttpRequest();
            http.open("GET", url + strUserIds, true);
            isWorking = true;
            http.onreadystatechange = handleHttpResponse;                        
            http.send(null);
            // branch for IE/Windows ActiveX version
        }
        else if (window.ActiveXObject)
        {            
            http = new ActiveXObject("Microsoft.XMLHTTP");
            if (http)
            {                                
                http.open("GET", url + strUserIds, true);
                isWorking = true;                
                http.onreadystatechange = handleHttpResponse;
                http.send();
            }
        }
    }
    setTimeout("fnGetOnlineOfflineStatus('"+strUserIds+"')", 1000); 
}
//====================================================================================================
//    Function Name    :    handleHttpResponse()
//    Created By: Maulik Chandarana
//    Created On: 02 August 2007
//    Last Modified By:
//    Last modified On:
//  Purpose : Getting values from XML data
//  Parameters:
//----------------------------------------------------------------------------------------------------
function handleHttpResponse()
{    
    if (http.readyState == 4)
    {
        isWorking = false;
        
        if (http.responseText.indexOf('invalid') == -1)
        {
            var xmlDocument = http.responseXML;            
            var number = xmlDocument.getElementsByTagName('status').length;
            for(i=0;i<number;i++)
            {
                var strStatus = xmlDocument.getElementsByTagName('status').item(i).firstChild.data;
                var intUserId = xmlDocument.getElementsByTagName('id').item(i).firstChild.data;
                document.getElementById("idStatus_"+intUserId).innerHTML = strStatus;
                isWorking = false;
            }
        }
    }
}
var newurl = "getTextVal.php?country_id=";
var isWorkingNew = false;
var httpNew = getHTTPObject();
//====================================================================================================
//    Function Name    :    Click_Change_Country()
//    Created By: Maulik Chandarana
//    Created On: 14 August 2007
//    Last Modified By:
//    Last modified On:
//  Purpose : To show the state drop down for selected country name
//  Parameters: intCountryId : Country Id.
//----------------------------------------------------------------------------------------------------
function Click_Change_Country(intCountryId)
{    
    document.getElementById("iLoadStateImage").style.display = '';
    document.getElementById("iState").innerHTML = "";
    
    if (!isWorkingNew)
    {
        if (window.XMLHttpRequest)
        {            
            httpNew = new XMLHttpRequest();
            httpNew.open("GET", newurl + intCountryId, true);
            isWorkingNew = true;
            httpNew.onreadystatechange = handleHttpResponse2;                        
            httpNew.send(null);
            // branch for IE/Windows ActiveX version
        }
        else if (window.ActiveXObject)
        {            
            httpNew = new ActiveXObject("Microsoft.XMLHTTP");
            if (httpNew)
            {                                
                httpNew.open("GET", newurl + intCountryId, true);
                isWorkingNew = true;                
                httpNew.onreadystatechange = handleHttpResponse2;
                httpNew.send();
            }
        }
    }
}
//====================================================================================================
//    Function Name    :    handleHttpResponse2()
//    Created By: Maulik Chandarana
//    Created On: 14 August 2007
//    Last Modified By:
//    Last modified On:
//    Purpose : Getting values from XML data for state drop down
//    Parameters:
//----------------------------------------------------------------------------------------------------
function handleHttpResponse2()
{    
    if (httpNew.readyState == 4)
    {
        isWorkingNew = false;
        
        if (httpNew.responseText.indexOf('invalid') == -1)
        {
            var xmlDocument = httpNew.responseXML;            
            var number = xmlDocument.getElementsByTagName('state').length;            
            if(number > 0)
            {
                var strHtml = "";
                for(i=0;i<number;i++)
                {                
                    var intVal = xmlDocument.getElementsByTagName('stateid').item(i).firstChild.data;
                    var strState = xmlDocument.getElementsByTagName('state').item(i).firstChild.data;
                    strHtml+= "<option value="+intVal+">"+strState+"</option>";
                    isWorkingNew = false;
                }            
                document.getElementById("iState").innerHTML+= "<select name='optState' id='idState' class='Textarea'><option value=''>--Select State--</option>"+strHtml+"<option value='other'>Other</option></select>";
            }
            else if(number == 0)
            {
                document.getElementById("iCity").innerHTML = "";
                document.getElementById("iState").innerHTML+= "<input type='text' name='optState' id='idState' class='Textarea' size='20' maxlength='255' />";
               /* document.getElementById("iCity").innerHTML+= "<input type='text' name='optCity' id='idCity' class='Textarea' size='20' maxlength='255' />";*/                                                                                                        
            }
            document.getElementById("iLoadStateImage").style.display = 'none';  
            document.getElementById("idState").focus();
        }
    }
}
//====================================================================================================
//    Function Name    :    Click_Change_State()
//    Created By: Maulik Chandarana
//    Created On: 14 August 2007
//    Last Modified By:
//    Last modified On:
//  Purpose : To show the city drop down for selected country and staes names
//  Parameters: intStateId : State Id.
//----------------------------------------------------------------------------------------------------
function Click_Change_State(intStateId)
{    
    document.getElementById("iLoadCityImage").style.display = '';
    document.getElementById("iCity").innerHTML = "";
    intCountryId = document.frmListMembers.optCountry.value;
    
    if (!isWorkingNew)
    {
        if (window.XMLHttpRequest)
        {            
            httpNew = new XMLHttpRequest();
            httpNew.open("GET", newurl + intCountryId + "&state_id=" + intStateId, true);
            isWorkingNew = true;
            httpNew.onreadystatechange = handleHttpResponse1;                        
            httpNew.send(null);
            // branch for IE/Windows ActiveX version
        }
        else if (window.ActiveXObject)
        {            
            httpNew = new ActiveXObject("Microsoft.XMLHTTP");
            if (httpNew)
            {                                
                httpNew.open("GET", newurl + intCountryId + "&state_id=" + intStateId, true);
                isWorkingNew = true;                
                httpNew.onreadystatechange = handleHttpResponse1;
                httpNew.send();
            }
        }
    }
}
//====================================================================================================
//    Function Name    :    handleHttpResponse1()
//    Created By: Maulik Chandarana
//    Created On: 14 August 2007
//    Last Modified By:
//    Last modified On:
//  Purpose : Getting values from XML data for city drop down
//  Parameters:
//----------------------------------------------------------------------------------------------------
function handleHttpResponse1()
{    
    if (httpNew.readyState == 4)
    {
        isWorkingNew = false;
        
        if (httpNew.responseText.indexOf('invalid') == -1)
        {
            var xmlDocument = httpNew.responseXML;            
            var number = xmlDocument.getElementsByTagName('city').length;            
            if(number > 0)
            {
                var strHtml = "";
                for(i=0;i<number;i++)
                {                
                    var intVal = xmlDocument.getElementsByTagName('cityid').item(i).firstChild.data;
                    var strCity = xmlDocument.getElementsByTagName('city').item(i).firstChild.data;
                    strHtml+= "<option value="+intVal+">"+strCity+"</option>";
                    isWorkingNew = false;
                }            
                document.getElementById("iCity").innerHTML+= "<select name='optCity' id='idCity' class='Textarea'><option value=''>--Select City--</option>"+strHtml+"</select>";
            }
            else if(number == 0)
            {
                document.getElementById("iCity").innerHTML+= "<input type='text' name='optCity' id='idCity' class='Textarea' size='20' maxlength='255' />";
            }
            document.getElementById("iLoadCityImage").style.display = 'none';
            document.getElementById("idCity").focus();
        }
    }
}
