﻿$.fn.regionSelect = function(defaultCountry) 
{
    var startCountry = defaultCountry;
    var array = null;
 
    if (defaultCountry == null)
    {  
        startCountry = 'South Africa';
    }
    else if (startCountry.indexOf(',') >= 0)
    {
        array = startCountry.split(',');
        
        startCountry = array[0];
    }
    
    var region_layout = '';
    
    region_layout += '<a href="javascript:;" onclick="ajax_change_selection(1)" id="indent_1">' + startCountry + '</a>, ';
    
    
   

    
    
    if (array != null)
    {
    region_layout += '<a href="javascript:;" onclick="ajax_change_selection(2)" id="indent_1">' + array[1] + '</a>, ';
    region_layout += '<select id="indent_3_select" onchange="list_onchange(3)" style="width:120px;"></select> ';
        
    }
    else
    {
        region_layout += '<select id="indent_2_select" onchange="list_onchange(2)" style="width:120px;"></select> ';
        populate_list('indent_2_select', 2, 177);
        
    }
    
     
    
     this[0].innerHTML = region_layout;
     
     if (array != null)
    {
        populate_list('indent_3_select', 3, array[2]);
     }
     else
     {
        populate_list('indent_2_select', 2, 177);
     }
}

function list_onchange(indent)
{
    var list = document.getElementById('indent_' + indent + '_select');
    
    var intIndet = parseInt(indent)+1;
    
    var region_layout = $("div#divRegion").html();
    var new_html = '';
    new_html += '<a href="javascript:;" onclick="ajax_change_selection('+indent+')" id="indent_'+indent+'">'+list.options[list.selectedIndex].text+'</a>, ';
    new_html += '<select id="indent_'+intIndet+'_select" onchange="list_onchange('+intIndet+')" style="width:120px;"></select> ';
    
    $("div#divRegion > select#indent_" + indent + "_select").replaceWith(new_html);
   
   populate_list('indent_'+intIndet+'_select', intIndet, list.options[list.selectedIndex].value);
   setHiddenValue();
}

function ajax_change_selection(indent)
{

    var intIndet = parseInt(indent)+1;
     var region_select = '<select id="indent_'+indent+'_select" onchange="list_onchange('+indent+')" style="width:120px;"></select> '
     var commas = 0;

    $("div#divRegion > a#indent_" + indent).replaceWith(region_select);
    
    $("div#divRegion > a#indent_" + intIndet).remove();
    $("div#divRegion > select#indent_" + intIndet + "_select").remove();
    intIndet+=1;
    $("div#divRegion > a#indent_" + intIndet).remove();
    $("div#divRegion > select#indent_" + intIndet + "_select").remove();
     intIndet+=1;
    $("div#divRegion > a#indent_" + intIndet).remove();
    $("div#divRegion > select#indent_" + intIndet + "_select").remove();
     intIndet+=1;
    $("div#divRegion > a#indent_" + intIndet).remove();
    $("div#divRegion > select#indent_" + intIndet + "_select").remove();
     intIndet+=1;
     $("div#divRegion > a#indent_" + intIndet).remove();
    $("div#divRegion > select#indent_" + intIndet + "_select").remove();
     intIndet+=1;
     $("div#divRegion > a#indent_" + intIndet).remove();
    $("div#divRegion > select#indent_" + intIndet + "_select").remove();
    
    document.getElementById('divRegion').innerHTML = document.getElementById('divRegion').innerHTML.substring(0, document.getElementById('divRegion').innerHTML.length - intIndet);
    
    getParentID(indent);
}

function getParentID(indent)
{
    var intIndent = parseInt(indent)-1
    
    var key = $("div#divRegion > a#indent_" + intIndent).text();
    
    $.ajax({
        type: "POST",
        url: "/ajax/ajaxClassifieds.aspx?type=parentID",
        data: "key=" + key,
        success: function(msg)
        {
           populate_list('indent_'+indent+'_select', indent, msg);
           
        }
    });
}

function populate_list(select, indent, pk)
{
    $.ajax({
        type: "POST",
        url: "/ajax/ajaxClassifieds.aspx?type=region",
        data: "indent=" + indent + "&pk=" + pk,
        success: function(msg)
        {
            var items = msg.getElementsByTagName('LIST_ITEM');
            var n_items = items.length;
            
            if (n_items > 0)
            {
                addOption(select, 'Select Region', 'Select Region');
                for (var i = 0;i < n_items;i++)
                {
               
                    var item_id = items[i].getElementsByTagName('ITEM_ID')[0].firstChild.nodeValue;
                    var item_text = items[i].getElementsByTagName('ITEM_TEXT')[0].firstChild.nodeValue;
                    
                    
                    addOption(select, item_text, item_id);
                }
            }
            else
            {
                removeBlankSelect();
            }
            
        }
    });
}

function removeBlankSelect()
{
    $("div#divRegion > select").remove();
}

function removeAllOptions(selectbox)
{
    var box = document.getElementById(selectbox);
    var i;
    for(i=box.options.length-1;i>=0;i--)
    {
    box.remove(i);
    }
}

function addOption(selectbox,text,value )
{
var box = document.getElementById(selectbox);
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
box.options.add(optn);
}
