var mapa;
var fromFlashCompany=false;
var fromFlashDivision=false;
var selectedCompany;
var selectedDivision;
var printBaseUrl;

function getID( swfID ){
	if(navigator.appName.indexOf("Microsoft") != -1){
		mapa = window[swfID];
	}else{
		mapa = document[swfID];
	}
}

function initGasQualityMonitoring(){
	getID("GasMonitorMap");
	$j("#company option[value='none']").attr('selected', 'selected');
	$j('#company').change(onCompanyChange);
	$j('#select-2 select').change(onDivisionChange);
	$j('input#change').hide();


	if($j('.help-tooltip').length>0){
		$j('.help-tooltip').bt({positions: 'top',
							spikeLength: 10,
							centerPointX: 0.57,
							fill:'#fff',
							cornerRadius: 5,
							strokeWidth: 1,
							strokeStyle:'#ccc',
							width: 200,
							cssStyles: {width:'auto'}});
	}
	var liElements = $j('#select-1 .newListSelected ul li');
	liElements.hover(
		function(e,id){
			var index = liElements.index(this);
			mapa.rollOverCompany($j('#company option:eq('+index+')').val());

		},
		function(e){
			var index = liElements.index(this);
			mapa.rollOutCompany($j('#company option:eq('+index+')').val());
		}
	);


	var ulElements = $j('#select-2 .newListSelected').each(function(i, val){
		var liElements = $j(val).find('ul li');
		liElements.hover(
			function(e,id){
				var index = liElements.index(this);
				var select = $j(this).parent().parent().prev();
				mapa.rollOverDivision($j('#company :selected').val(), $j(select).find('option:eq('+index+')').val());
			},
			function(e){
				var index = liElements.index(this);
				var select = $j(this).parent().parent().prev();
				mapa.rollOutDivision($j('#company :selected').val(), $j(select).find('option:eq('+index+')').val());
			}
		);
	});

	$j('#company').change();

}

function attachAjaxFormControll() {

    $j("#sendMailForm").ajaxForm({
        beforeSubmit:  function() {
			if($j("#sendMailForm input.required").valid()){
				return true;
			}else{
				return false;
			}
		},
		url: $j("#ajaxSendMailUrl").attr("value"),
        success: function() {
        	$j('#mask, .popup').hide();
			$j("#sendMailSuccStatus .popup-activator").click();
        	$j("#sendMailSuccStatus").show();
        	$j("#sendMailSuccStatusWinClose").click(function(){
        		$j("#sendMailSuccStatus").hide();
        	});
        }
    });
}

function setPrintUrl( urlParams ) {

	if ( printBaseUrl == null ) {
		printBaseUrl = $j("#printButton").attr("href");
	}
	if ( urlParams != null ) {
		var urlAddons = "";
		$j.each( urlParams, function(index,value) {
			urlAddons += "&" + index + "=" + value;
		});
		$j("#printButton").attr("href", printBaseUrl + urlAddons );
	} else {
		$j("#printButton").attr("href", printBaseUrl );
	}

}

function onCompanyChange(){
	selectedCompany=this.value;
	//hide all selects from 2 section
	$j('#select-2 .divisionSelectDiv').hide();
	$j('#select-2 .divisionSelectDiv').removeClass("hidden-element");
	//show chosen
	$j('#divis-'+selectedCompany).show();
	$j("#select-"+selectedCompany+" option[value='none']").attr('selected', 'selected');
	$j('#select-'+selectedCompany).change();

	if(!fromFlashCompany){
		if(mapa.setCompany){
			mapa.setCompany(this.value);
		}
	}
	fromFlashCompany=false;

	if(selectedCompany=="none"){
		$j('div.report-container .report').empty();
		$j('div.table-container .table').empty();
		$j('.map-section h4.img-header').text("Mapa zasi�gu terytorialnego Sp�ek Gazowych");
		$j('.map-section h4.img-header').removeClass().addClass("img-header");
	}else{
		var str=$j("#report-url").val();
		$j("#sendMailForm").remove();
		$j.get(str.replace(/COMPANY/,selectedCompany), function(data){
			$j('div.report-container .report').replaceWith(data);
			// enable ajax form functionality
			attachAjaxFormControll();
			setPrintUrl();
		},"html");
		$j('.map-section h4.img-header').text($j("#company option[value='"+selectedCompany+"']").text());
		$j('.map-section h4.img-header').removeClass().addClass("img-header "+selectedCompany);
	}

}

function onDivisionChange(){
	selectedDivision=this.value;
	selCompany=$j("#company").val();

	if(!fromFlashDivision){
		mapa.setDivision(selCompany,this.value);
	}
	fromFlashDivision=false;

	if(selectedDivision=="none"){
		$j('div.table-container .table').empty();
	}else{

		var str=$j("#report-url").val();
		$j("#sendMailForm").remove();
		$j.get(str.replace(/COMPANY/,selectedCompany).replace(/DIVISION/,selectedDivision), function(data){
			$j('div.report-container .report').replaceWith(data);
			// enable ajax form functionality
			attachAjaxFormControll();
		},"html");
		var str=$j("#table-url").val();
		str=str.replace(/DIVISION/,selectedDivision)
		$j.get(str.replace(/COMPANY/,selCompany), function(data){
			$j('div.table-container .table').replaceWith(data);
			$j('div.table-container table tbody tr').mouseover(onRowOver);
			$j('div.table-container table tbody tr').mouseout(onRowOut);
			if($j('div.table-container table .help-tooltip').length>0){

				$j('div.table-container table .help-tooltip').bt({positions: 'top',
																spikeLength: 10,
																centerPointX: 0.57,
																fill:'#fff',
																cornerRadius: 5,
																strokeWidth: 1,
																strokeStyle:'#ccc',
																width: 200,
																cssStyles: {width:'auto'}});
			}
			// changing print url
			var urlData = {};
			urlData[ $j("#companyParamName").val() ] = selectedCompany;
			urlData[ $j("#divisionParamName").val() ] = selectedDivision;
			setPrintUrl( urlData );
		},"html");
	}


}


function onRowOver(){
	$j(this).addClass("over");
	mapa.rollOverPoint($j(this).attr("id"));
}

function onRowOut(){
	$j(this).removeClass("over");
	mapa.rollOutPoint($j(this).attr("id"));
}


//FROM FLASH INTERFACE
function overPoint(id){
	$j('.clickedPoint').removeClass("clickedPoint");
	$j('#'+id).addClass("over");
	var offset=$j('#'+id).offset().top-$j('.table-content').offset().top+$j('.table-content').scrollTop();
	$j('.table-content').scrollTop(offset);
}

function outPoint(id){
	$j('#'+id).removeClass("over");
}

function showPoint(id){
	$j('.clickedPoint').removeClass("clickedPoint");
	window.scrollTo(0,$j('#table').offset().top);
	$j('#'+id).addClass("clickedPoint");

}

function setCompany(id){
	fromFlashCompany=true;
	$j('#company').val(id);
	$j('#company').change();
}

function setDivision(id){
	fromFlashDivision=true;
	selectedCompany = $j('#company :selected').val();
	$j('#select-2 select#select-'+selectedCompany).val(id);
	$j('#select-2 select#select-'+selectedCompany).change();
}