var Coverage = {};

Coverage.CheckLatin = function(sender, sMessage){
	if(sender.value != ''){
		var reCheck = new RegExp("^[А-Яа-я0-9\. _\/\-]+$");
		if(sender.value.toString().match(reCheck) == null){
			alert(sMessage);
		}
	}
}

Coverage.GetCityContainer = function(sender, sStationCode){
	
	document.getElementById('FullCoverResultContainer').style.display = 'none';
	document.getElementById('NoCoverResultContainer').style.display = 'none';
	document.getElementById('CityFullCoverResultContainer').style.display = 'none';
	
	sender.disabled = true;
	var request = new CHttpRequest();
	request.QueryString = "AjaxType=HTML&RequestFile=Templates.Coverage&MethodName=XGetQuartersCode";
	request.AsyncCall = true;
	request.State = sender;
	request.AddProperty("Arguments[StationCode]", sStationCode);
	request.OnResponse = Coverage.GetCityContainer_Callback;
	request.Send();
}

Coverage.GetCityContainer_Callback = function(request, state){
		//document.getElementById('StreetContainer').style.display = '';
		//document.getElementById('StreetResultContainer').style.display = '';
		document.getElementById('QuarterDynamicContainer').innerHTML = '';
		//document.getElementById('FullCoverResultContainer').style.display = 'none';
		//document.getElementById('BuyButtonContainer').style.display = 'none';
	if(request.responseText == 0){
		
	}else if(request.responseText == 1){
		document.getElementById('CityFullCoverResultContainer').style.display = '';
		//document.getElementById('FullCoverResultContainer').style.display = '';
		//document.getElementById('BuyButtonContainer').style.display = '';
		//document.getElementById('StreetContainer').style.display = 'none';
		//document.getElementById('StreetResultContainer').style.display = 'none';
	}else{
		document.getElementById('QuarterDynamicContainer').innerHTML = request.responseText;
	}
	state.disabled = false;
}

Coverage.SelectQuarter = function(sender, sQuarterID){
	
	sender.disabled = true;
	var request = new CHttpRequest();
	request.QueryString = "AjaxType=HTML&RequestFile=Templates.Coverage&MethodName=XCheckFullCoveredQuarter";
	request.AsyncCall = true;
	request.State = sender;
	request.AddProperty("Arguments[QuarterID]", sQuarterID);
	request.OnResponse = Coverage.SelectQuarter_Callback;
	request.Send();
}

Coverage.SelectQuarter_Callback = function(request, state){
//	document.getElementById('StreetContainer').style.display = '';
//	document.getElementById('StreetResultContainer').style.display = '';
	document.getElementById('FullCoverResultContainer').style.display = 'none';
	document.getElementById('NoCoverResultContainer').style.display = 'none';
	document.getElementById('CityFullCoverResultContainer').style.display = 'none';
//	document.getElementById('StreetResultContainer').innerHTML = '';
//	document.getElementById('BuyButtonContainer').style.display = 'none';
	if(request.responseText == 0){
		document.getElementById('NoCoverResultContainer').style.display = '';
	}else if(request.responseText == 1){
		//document.getElementById('BuyButtonContainer').style.display = '';
		//document.getElementById('StreetContainer').style.display = 'none';
		document.getElementById('FullCoverResultContainer').style.display = '';
		//document.getElementById('StreetResultContainer').style.display = 'none';
	}
	state.disabled = false;
}

Coverage.Clear = function(){
	document.getElementById('StreetResultContainer').innerHTML = '';
	document.getElementById('Street').value = '';
	document.getElementById('StreetNumber').value = '';
	document.getElementById('Quarter').selectedIndex = 0;
	document.getElementById('BuyButtonContainer').style.display = 'none';
}

Coverage.GetResults = function(sender, sUniqueCode){
	
	var Street = document.getElementById('Street');
	var Number = document.getElementById('StreetNumber');
	var UniqueCode = sUniqueCode;
	
	var reCheck = new RegExp("^[0-9]+\\.?[0-9]*$");

	if(Street.value == ''){
		alert(Street.getAttribute('serr'));
		Street.focus();
	}else if(Number.value.toString().match(reCheck) == null || Number.value <= 0){

		alert(Number.getAttribute('serr'));
		Number.focus();
	}else{
		sender.disabled = true;
		var request = new CHttpRequest();
		request.QueryString = "AjaxType=HTML&RequestFile=Templates.Coverage&MethodName=XGetSearchResult";
		request.AsyncCall = true;
		request.State = sender;
		request.AddProperty("Arguments[Street]", Street.value);
		request.AddProperty("Arguments[Number]", Number.value);
		if(document.getElementById('Quarter') != undefined){
			var QuarterValue = document.getElementById('Quarter').value;
		}else{
			var QuarterValue = '';
		}
		request.AddProperty("Arguments[Quarter]", QuarterValue);
		request.AddProperty("Arguments[UniqueCode]", UniqueCode);
		request.AddProperty("Arguments[StationID]", document.getElementById('City').value);
		
		request.OnResponse = Coverage.GetResults_Callback;
		request.Send();
	}
}

Coverage.GetResults_Callback = function(request, state){
	document.getElementById('StreetResultContainer').innerHTML = request.responseText;
	document.getElementById('BuyButtonContainer').style.display = '';
	state.disabled = false;
}


Coverage.ArchiveRequest = function(sender, sCode){
	var sStation = document.getElementById('City').value;
	var sStreet = document.getElementById('Street').value;
	var sStreetNumber = document.getElementById('StreetNumber').value;
	if(document.getElementById('Quarter') != undefined)
		var sQuarter = document.getElementById('Quarter').value;
	else
		var sQuarter = '';
	
	//sender.disabled = true;
	if(sStreet != '' || sQuarter != "" || sStreetNumber != ""){
		var request = new CHttpRequest();
		
		request.QueryString = "AjaxType=HTML&RequestFile=Templates.Coverage&MethodName=XArchive";
		request.AsyncCall = true;
		request.State = sender;
		request.AddProperty("Arguments[Code]", sCode);
		request.AddProperty("Arguments[StationCode]", sStation);
		request.AddProperty("Arguments[Street]", sStreet);
		request.AddProperty("Arguments[StreetNumber]", sStreetNumber);
		request.AddProperty("Arguments[Quarter]", sQuarter);
		request.OnResponse = Coverage.ArchiveRequest_Callback;
		request.Send();
	}
}

Coverage.ArchiveRequest_Callback = function(request, state){
	//state.disabled = false;
}

Coverage.IsInArray = function(sVar, arArray, strict) {
    var found = false, key, strict = !!strict;
    for (key in arArray) {
        if ((strict && arArray[key] === sVar) || (!strict && arArray[key] == sVar)) {
            found = true;
            break;
        } 
    }
    return found;
}

Coverage.FlashMapCoverage = function(oCode) {

	//alert(oCode);
    var bInArray = Coverage.IsInArray(oCode, arStations);

    if (bInArray == false) {
    
        alert(StringResources.NoStationAvaillable);
      } else {

      document.getElementById('SelectCitySystemText').style.visibility = 'hidden';	
        var FlashMap = document.getElementById("FlashMap");
        var myMap = document.getElementById("myMap");
        var FormTable = document.getElementById("FormTable");
        var Checkbox = document.getElementById('City');

        GetMap(oCode);

        FlashMap.style.display = 'none';
        myMap.style.visibility = 'visible';
        FormTable.style.display = 'block';

        for (i = 1; i < Checkbox.length; i++) {
            if (Checkbox.item(i).value == oCode) {
                Checkbox.selectedIndex = i;
                Coverage.GetCityContainer(Checkbox.item(i), Checkbox.item(i).value);
            }
        }
    }

}