$(document).ready(function(){
	
	$('#raporteazaAnunt').click(function() {
		// incarca prin ajax formularul de raportare job 
		loadReportJobForm();
	});
	
	
	// Overlayer-ul de domenii
	$('ul.breadcrumbs li.openBread a').each(function(i, lnk) {
		if($('#breadcrumbOverlayer').length > 0) {
			$(this).click(function() {openBreadcrumbOverlayer(); return false;});
		}
	});
	
	$('#raporteazaAnunt').live('click', function(){
		$('#raporteazaFormHolder').slideDown();
		return false;
	});
	
	$('#raporteazaRenunta').live('click', function(){
		$('#raporteazaFormHolder').slideUp();
		return false;
	});
	
	$('#raporteazaSubmit').live('click', function(){
		processAndSubmitReport();
		return false;
	});
	
	var arrIds = new Array();
	var appInterview = false;
	jQuery.each($(".answer"), function(i, val) {
		arrIds.push(val.id.split("_")[1]);
		appInterview = true;
	});

	rulesStr = "rules: {";
	msgStr = "messages: {";
	errStr = "errids: {";
	for(i = 0; i < arrIds.length; i++) {
		if(i > 0){  
			rulesStr += ",";
			msgStr += ",";
			errStr += ",";
		}	
		rulesStr += "question_" + arrIds[i] + ":{required:true}";
		msgStr += "question_" + arrIds[i] + ":{required:'Nu ai raspuns la intrebare'}";
		errStr += "question_" + arrIds[i] + ":'question_" + arrIds[i] + "_error'";
	}	
	rulesStr += "}";
	msgStr += "}";
	errStr += "}";

	configStr = "{" + rulesStr + "," + msgStr + "," + errStr + "}";

	dataObj = eval("(" + configStr + ")");	

	if(appInterview) {
		var validator = $("#jobapply").validate(dataObj);
	}

	$('#job-print-link').click(function(){
		window.print();
	}) ;

	// Harta
	if($('#linkharta').length) {
		$('#linkharta').live('click', toggleMap);
		$('#closemap').live('click', toggleMap);
	}

});

var GLoaded = 0;
function toggleMap() {
	var ovl = $('#mapcontainer');
	if(ovl.css('display') == 'none') {
		if(!GLoaded) {
			googleMapsInitialize();
			GLoaded = 1;
		}
		ovl.show();
		map.checkResize();
		map.setCenter(new GLatLng($('#o_map_lat').val(), $('#o_map_lng').val()));
	} else {
		ovl.hide();
	}
	return false;
}

// Google Maps

var geocoder;
var map;
var draggable_tf = false;
var maps_show_bubble = true;
var geocoder;
var gDefaultLat = 44.43547597440659;
var gDefaultLng = 26.1023790834588;

function googleMapsInitialize() {
	if (GBrowserIsCompatible()) {
		geocoder = new GClientGeocoder();

		var crt_lat;
		var crt_lng;
		var zoom_level = 16;
		var drag_text = $('#o_map_bubble_text').html();
		map = new GMap2(document.getElementById("map_canvas"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());

		var center = new GLatLng($('#o_map_lat').val(), $('#o_map_lng').val());
		map.setCenter(center, zoom_level);
		map.setMapType(G_NORMAL_MAP);

		marker = new GMarker(center, {draggable: draggable_tf});

		map.addOverlay(marker);
		if (maps_show_bubble) {
			marker.openInfoWindowHtml(drag_text);
		}
	}
}

function loadReportJobForm() {
	
	vJid = $('#jobId').val();
	$.post(
		'/?m=xml&s=report_job&o=load_form', 
		{jid: vJid },  
		function(response) {
	  		$('#raporteazaFormHolder').html(response);
		}
	)
}

function processAndSubmitReport() {
	
	vMotiv = $('#raporteazaMotiv').val();
	vMesaj = $('#raporteazaMesaj').val();
	vJobId = $('#jobId').val();
	vJobName = $('#jobName').val();
	
	if (vMotiv == 0 || vMesaj.length == 0) {
		$('#raporteazaError').html('Nu ai ales un motiv sau nu ai introdus un comentariu!');
	} else {
	
		$('#raporteazaSubmit').attr("disabled", "true");
		$('#raporteazaSubmit').val('Job raportat!');
		
		$.post(
			'/?m=xml&s=report_job&o=default', 
			{Motiv: vMotiv, Mesaj: vMesaj, JobId: vJobId, JobName: vJobName },  
			function(response) {
		  		if (response == 1) {
					$('#raporteazaFormHolder').slideUp();
					vHtml = $('#raporteazaAnuntOkHolder').html();
					$('#raporteazaBar').html(vHtml);				
		  		} else {
		  			$('#raporteazaError').html('A avut loc o eroare la raportarea acestui job!');
		  		}
			}
		)
	}
}

