jQuery.altAlert = function (options)  
{  
    var defaults = {  
    	modal: true,
    	title: 'My title',
        buttons: {  
             "Ok": function()  
             {  
                 jQuery(this).dialog("close");  
             }  
         }  
    };  
    jQuery.extend(defaults, options);    
    delete defaults.autoOpen;     
    window.alert = function ()  
    {  
    	 defaults.title =  arguments[0]; 
         jQuery("<div><span class=\"ui-icon ui-icon-alert\" style=\"float:left; margin:0 7px 20px 0;\"></span>"+arguments[1].replace(/\n/, "<br />")+"</div>").dialog(defaults);  
    };  
};

(function($) {
    $.fn.poll = function(options){
       var $this = $(this);
       // extend our default options with those provided
       var opts = $.extend({}, $.fn.poll.defaults, options);
       setInterval(update, opts.interval);

       // method used to update element html
       function update(){
           $.ajax({
               type: opts.type,
               url: opts.url,
               success: opts.success
           });
       };
    };

    // default options
    $.fn.poll.defaults = {
       type: "POST",
       url: ".",
       success: '',
       interval: 2000
    };
})(jQuery);


function isValidPage() {
	if ( validPage ) {
		return true;
	} else {
		alert( noValidMessageHeader, noValidMessage );		
		return false;
	}
}

function setDialogs() {
	$(".dialog").dialog({ autoOpen: false, width: 400});
}

function toggleSliderbox(slider, section, state)
{
	$("#" + slider)[0].focus();
	if(state) {
		$('#section_' + section).show();
	} else {
		$('#section_' + section).hide();
	}
	$.getJSON(
			controllerURL + '/sliderbox',
			{
				page: saveparamPage,
				slider: slider,
				state: state
			},
			onAjaxSliderbox
	);
}

function onAjaxSliderbox(obj)
{
	$('#page_total_inner').html(obj.page_total);
	setProgress('currentPageCompletion', obj.currentPageCompletion);
	setProgress('allPagesCompletion', obj.allPagesCompletion);
	for (var key in obj.update) {
		$('#section_' + key).html(obj.update[key]);
	}
	setDialogs();
}

function sendLocation(select)
{
	for (var i=0; i < select.length; i++){
		if (select[i].selected){
			var val = select[i].value;
		}
	}
	
	$.get(
			'',
			{
				user_location: val
			},
			onAjaxLocation
	);
}

function onAjaxLocation(data)
{
	
}

function activateGroupItem(groupID, itemID) 
{
	$("#" + groupID + " div>input").attr("disabled", "disabled");
	$("#" + groupID + " div>select").attr("disabled", "disabled");
	$("#" + groupID + " span>input").attr("disabled", "disabled");
	$("#" + groupID + " span>select").attr("disabled", "disabled");
	if (itemID.length) {
		$("#" + itemID + " input, #" + itemID + " select").attr("disabled", "");
		groups = $("#" + itemID + " input[type=\"radio\"]");
		groups.each(function(i, item){
			if (item.checked) {
				activateGroupItem(item.name, item.value);
			}
		});
	}
}

function activateComparisonPeriod(select) 
{
	itemID = parseInt(select.value);
	
	$("#quarter").css("display", "none");
	$("#month").css("display", "none");
	$("#year").css("display", "none");
	
	switch(itemID) {
		case 1:
			$("#year").css("display", "block");
			break;
		case 2:
			$("#quarter").css("display", "block");
			break;
		case 3:
			$("#month").css("display", "block");		
	}
}

function activatePeriod(select) 
{
	itemID = parseInt(select.value);
	switch(itemID) {
		case 2:
			$("#quarter").attr("disabled", "");
			$("#month").attr("disabled", "disabled");
			break;
		case 3:
			$("#quarter").attr("disabled", "disabled");
			$("#month").attr("disabled", "");
			break;
		default:
			$("#quarter").attr("disabled", "disabled");
			$("#month").attr("disabled", "disabled");		
	}
}

function sendParam(name)
{
	var elements = $("input[name='" + name + "'], select[name='" + name + "']");
	var val = elements.attr('value');  
	for (var i=0; i < elements.length; i++){
		if (elements[i].checked){
			var val = elements[i].value;
		}
	}
	
	$.getJSON(
			controllerURL + '/saveparam',
			{
				param: name, 
				value: val,
				page: saveparamPage
			},
			onAjaxSuccess
	);
}

function onAjaxSuccess(obj)
{
	$('#page_total_inner').html(obj.page_total);
	$('#section_total_' + obj.section_total_block_id).html(obj.section_total);
	$('#trip_emission_' + obj.trip_emission_block_id).html(obj.trip_emission);
	setProgress('currentPageCompletion', obj.currentPageCompletion);
	setProgress('allPagesCompletion', obj.allPagesCompletion);
	for (var key in obj.update) {
		$('#section_' + key).html(obj.update[key]);
	}
	validPage = obj.valid_page=="true"?true:false;
	setDialogs();
}

function setProgress(progress_id, percents)
{
	$('#' + progress_id + " div").css("width", percents + "%");
}

function checkData(userId,myLocation,sid)
{
	$.get("/fi/user/ajax/nordicoffset/", { id: userId, sid: sid, location: myLocation },
			  function(data){
			    if(data != -1) {
			    	console.log(data);
			    	var url = "/fi/user/page/show/name/compensation";    
			    	$(location).attr('href',url);
			    } else {
			    	setTimeout('checkData(\''+userId+'\',\''+myLocation+'\',\''+sid+'\')', 3000);
			    }
			  }, 
			  'json'); 
}

function myPopup(allTotal,userId,myLocation,sid) {
	window.open( "http://www.nordicoffset.com/neutraloffice.php?id="+userId+"&co="+allTotal+"&location="+myLocation, "myWindow", 
	"status = 1, height = 650, width = 800, resizable = 1" );
	
	$('#nordicoffsetCompensation').css('display','table');	
	checkData(userId,myLocation,sid);
}



