function chan(destination_select_name,selected_id,country_code,place,file_suff) {
if (file_suff == undefined)
{
file_suff='';	
}
    var ldr = null;

    ldr = selector();

    //var form_element = destination_select_name.id;
    var form_element = 'category_id';

    if ('search' == place) {
        var needValue = 1;
        var width = 400;
    } else {
        var needValue = 0;
        var width = 350;
    }

    if(ldr) {

        var now = new Date();
        ldr.open("GET","/common/ajax_selector"+file_suff+".php?type="+form_element+"&id="+selected_id+"&country_code="+country_code+"&value="+needValue+"&t="+now.getSeconds(),true);
        ldr.onreadystatechange=function() {
            if(ldr.readyState==4 && ldr.responseText){
                //alert(ldr.responseText);
                if ( ldr.responseXML ) {
                    response  = ldr.responseXML.documentElement;
                } else {
                    response  = ldr.documentElement;
                } 
                var items = response.getElementsByTagName('item');
                text = '<select class="tFieldText" name="grp" style="width:'+width+'px;">';
                text += '<option value=""></option>';
                if ( 1 <= items.length ) {
                    for (var i=0;i<items.length;i++) {
                        if ( 1 == needValue ) {
                            if ( 0 < getNodeValue(items[i],'value') ) {
                                var cats = items[i].getElementsByTagName('cat');
                                text += '<optgroup label="'+getNodeValue(items[i],'name')+'">';
                                for (var b=0;b<cats.length;b++) {
                                    if ( 0 < getNodeValue(cats[b],'value') ) {
                                        text += '<option value="'+getNodeValue(items[i],'type')+getNodeValue(cats[b],'id')+'">'+getNodeValue(cats[b],'name')
                                        text +=' ('+getNodeValue(cats[b],'value')+')';
                                        text +='</option>';
                                    }
                                }
                                text += '</optgroup>';
                            }
                        } else {
                            var cats = items[i].getElementsByTagName('cat');
                            text += '<optgroup label="'+getNodeValue(items[i],'name')+'">';
                            for (var b=0;b<cats.length;b++) {
                                text += '<option value="'+getNodeValue(items[i],'type')+getNodeValue(cats[b],'id')+'">'+getNodeValue(cats[b],'name')
                                text +='</option>';
                            }
                            text += '</optgroup>';
                        }
                    }
                } else {
                    text += '<optgroup label="no categories in this market"></optgroup>';
                }
                text += '</select>';
               //alert(text);
                var selObject = document.getElementById(form_element);
                selObject.innerHTML = text;
            }
        };
        ldr.send(null)

    }

}

function chanNew(url,element_id,place,country_code,selected_id) {

    var ldr = null;

    ldr = selector();

    if ('search' == place) {
        var needValue = 1;
        var width = 400;
    } else {
        var needValue = 0;
        var width = 350;
    }

    if(ldr) {

		//alert(url);

        var now = new Date();
        ldr.open("GET",url+"&value="+needValue+"&t="+now.getSeconds(),true);
        ldr.onreadystatechange=function() {
            if(ldr.readyState==4 && ldr.responseText){
                //alert(ldr.responseText);
                if ( ldr.responseXML ) {
                    response  = ldr.responseXML.documentElement;
                } else {
                    response  = ldr.documentElement;
                }
                var text = getInnerText(element_id,response,needValue,width,country_code,selected_id);
				var selObject = document.getElementById(element_id);
				selObject.innerHTML = text;
				if ('market_id' == element_id) {
					textCat = '<select class="tFieldText" name="grp" style="width:'+width+'px;">';
					textCat += '<option value="">&nbsp;</option>';
					var selObject = document.getElementById('category_id');
					selObject.innerHTML = textCat;
				}
            }
        };
        ldr.send(null)

    }

}

function selector() {

    var xmlhttp=false;

     try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
          try {
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) {
           xmlhttp = false;
        }
    }

    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp=false;
        }
    }
    if (!xmlhttp && window.createRequest) {
        try {
            xmlhttp = window.createRequest();
        } catch (e) {
            xmlhttp=false;
        }
    }

    return xmlhttp;
}

function getNodeValue(obj,tag) {
    return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
}

function getInnerText(element_id,response,needValue,width,country_code,selected_id) {

	var items = response.getElementsByTagName('item');

	if ('market_id' == element_id) {

		text = '<select class="tFieldText" name="cs" style="width:'+width+'px;" onchange="return chanNew(\'/common/category_selector.php?type=extpart&id=\'+this.value+\'&cnt='+selected_id+'&country_code='+country_code+'\',\'category_id\',\'search\',0);">';
		text += '<option value=""></option>';
		for (var i=0;i<items.length;i++) {
			text += '<option value="'+getNodeValue(items[i],'id')+'">'+getNodeValue(items[i],'name')+'</option>';
		}
		text += '</select>';

	} else if ('category_id' == element_id) {

		text = '<select class="tFieldText" name="grp" style="width:'+width+'px;">';
		text += '<option value=""></option>';
		if ( 1 <= items.length ) {
			for (var i=0;i<items.length;i++) {
				if ( 1 == needValue ) {
					if ( 0 < getNodeValue(items[i],'value') ) {
						var cats = items[i].getElementsByTagName('cat');
						text += '<optgroup label="'+getNodeValue(items[i],'name')+'">';
						for (var b=0;b<cats.length;b++) {
							if ( 0 < getNodeValue(cats[b],'value') ) {
								text += '<option value="'+getNodeValue(items[i],'type')+getNodeValue(cats[b],'id')+'">'+getNodeValue(cats[b],'name')
								text +=' ('+getNodeValue(cats[b],'value')+')';
								text +='</option>';
							}
						}
						text += '</optgroup>';
					}
				} else {
					var cats = items[i].getElementsByTagName('cat');
					text += '<optgroup label="'+getNodeValue(items[i],'name')+'">';
					for (var b=0;b<cats.length;b++) {
						text += '<option value="'+getNodeValue(items[i],'type')+getNodeValue(cats[b],'id')+'">'+getNodeValue(cats[b],'name')
						text +='</option>';
					}
					text += '</optgroup>';
				}
			}
		} else {
			text += '<optgroup label="no categories in this market"></optgroup>';
		}
		text += '</select>';

	}

    //alert(text);

	return text;

}
