var sourceListCompArr = new Array();

function loadModifySearchWidget(depCityCode, depCityName, modifySearchDivId, originSelectElementId, arrCityName, destSelectElementId){

	if(modifySearchDivId != ""){
		if(sourceListCompArr.length != 0){
			document.getElementById(""+modifySearchDivId).style.display = 'block';
			return;
		}
	}
	var originSelMMTCode = depCityCode;
	var originSelName = depCityName;
	var url = "/BusIntegration/bus/citiesController";
	$.post(url,{ source: "0",id:"0"},
			function(data){
		sourceListCompArr = new Array();
		sourceListCompArr = JSON.parse(data,null);
		sourceTopListArr = sourceListCompArr[0];
		sourceListArr = sourceListCompArr[1];
		var sourceTopOptions = "";
		var srcSelected = false;
		for(var j=0;j<sourceTopListArr.length;j++){	
			var code = sourceTopListArr[j].split(",")[0];
			var name = sourceTopListArr[j].split(",")[1];
			if(name == originSelName){
				sourceTopOptions = sourceTopOptions + "<option value='"+code+","+name+"' selected='selected'>"+name+"</option>";
				srcSelected = true;
			}else{
				sourceTopOptions = sourceTopOptions + "<option value='"+code+","+name+"'>"+name+"</option>";
			}
		}
		sourceTopOptions = sourceTopOptions + "<optgroup label='more cities'></optgroup>";
		sourceTopOptions = sourceTopOptions + "<option value='0'>----------------------</option>";

		var fromCityOptions = "";
		for(var j=0;j<sourceListArr.length;j++){
			var code = sourceListArr[j].split(",")[0];
			var name = sourceListArr[j].split(",")[1];
			if(name == originSelName && srcSelected == false){
				fromCityOptions = fromCityOptions + "<option value='"+code+","+name+"' selected='selected'>"+name+"</option>";
			}else{
				fromCityOptions = fromCityOptions + "<option value='"+code+","+name+"'>"+name+"</option>";
			}
		}
		$("#"+originSelectElementId).html(sourceTopOptions+fromCityOptions);
		loadDestsInSearchWidget(originSelMMTCode, arrCityName, destSelectElementId);
		if(modifySearchDivId != ""){
			document.getElementById(""+modifySearchDivId).style.display = 'block';
		}
	});
}

function loadDestsInSearchWidget(originSel, arrCityName, destSelectElementId){
	var originMMTCode = originSel.split(",")[0];
	var destSelName = arrCityName;
	var url = "/BusIntegration/bus/citiesController";
	$.post(url,{ source: "1",id:originMMTCode},
			function(data){
		var destListCompArr = new Array();
		destListCompArr = JSON.parse(data,null);
		destTopListArr = destListCompArr[0];
		destListArr = destListCompArr[1];
		var destTopOptions = "";
		if(destTopListArr.length != 0){
			var destTopOptions = "";
			for(var j=0;j<destTopListArr.length;j++){
				var code = destTopListArr[j].split(",")[0];
				var name = destTopListArr[j].split(",")[1];
				if(name == destSelName){
					destTopOptions = destTopOptions + "<option value='"+code+","+name+"' selected='selected'>"+name+"</option>";
				}else{
					destTopOptions = destTopOptions + "<option value='"+code+","+name+"'>"+name+"</option>";
				}
			}
			destTopOptions = destTopOptions + "<optgroup label='more cities'></optgroup>";
			destTopOptions = destTopOptions + "<option value='0'>----------------------</option>";
		}

		var destCityOptions = "";
		for(var j=0;j<destListArr.length;j++){
			var code = destListArr[j].split(",")[0];
			var name = destListArr[j].split(",")[1];
			if(name == destSelName){
				destCityOptions = destCityOptions + "<option value='"+code+","+name+"' selected='selected'>"+name+"</option>";
			}else{
				destCityOptions = destCityOptions + "<option value='"+code+","+name+"'>"+name+"</option>";
			}
		}
		$("#"+destSelectElementId).html(destTopOptions+destCityOptions);
	});
}

