/*********************************************************************************
 * SugarCRM Community Edition is a customer relationship management program developed by
 * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
 
 * SuiteCRM is an extension to SugarCRM Community Edition developed by Salesagility Ltd.
 * Copyright (C) 2011 - 2014 Salesagility Ltd.
 *
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License version 3 as published by the
 * Free Software Foundation with the addition of the following permission added
 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Affero General Public License along with
 * this program; if not, see http://www.gnu.org/licenses or write to the Free
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA.
 *
 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
 *
 * The interactive user interfaces in modified source and object code versions
 * of this program must display Appropriate Legal Notices, as required under
 * Section 5 of the GNU Affero General Public License version 3.
 *
 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
 * these Appropriate Legal Notices must retain the display of the "Powered by
 * SugarCRM" logo and "Supercharged by SuiteCRM" logo. If the display of the logos is not
 * reasonably feasible for  technical reasons, the Appropriate Legal Notices must
 * display the words  "Powered by SugarCRM" and "Supercharged by SuiteCRM".
 ********************************************************************************/
function Alerts(){};Alerts.prototype.replaceMessages=[];Alerts.prototype.enable=function(){if(!("Notification"in window)){Alerts.prototype.show({title:"This browser does not support desktop notifications"});return;}
Notification.requestPermission(function(permission){if(permission==="granted"){Alerts.prototype.show({title:"Desktop notifications are now enabled for this web browser."});}
else{Alerts.prototype.show({title:"Desktop notifications are disabled for this web browser. Use your browser preferences to enable them again."});}});}
Alerts.prototype.requestPermission=function(){if(!("Notification"in window)){return;}
Notification.requestPermission();}
Alerts.prototype.show=function(AlertObj){Alerts.prototype.requestPermission();if(("Notification"in window)){if(Notification.permission==="granted"){if(typeof AlertObj.options!=="undefined"){if(typeof AlertObj.options.target_module!=="undefined"){AlertObj.options.icon='index.php?entryPoint=getImage&themeName='+SUGAR.themes.theme_name+'&imageName='+AlertObj.options.target_module+'s.gif';}
if(typeof AlertObj.options.type!=="undefined"){AlertObj.options.type=AlertObj.options.type;}
else{AlertObj.options.type='info';}}
var notification=new Notification(AlertObj.title,AlertObj.options);if(typeof AlertObj.options!=="undefined"){if(typeof AlertObj.options.url_redirect!=="undefined"){notification.onclick=function(){window.open(AlertObj.options.url_redirect);}}}}
else{var message=AlertObj.title;if(typeof AlertObj.options!=="undefined"){if(typeof AlertObj.options.body!=="undefined"){message+='\n'+AlertObj.options.body;}
message+=SUGAR.language.translate('app_strings','MSG_JS_ALERT_MTG_REMINDER_CALL_MSG')+"\n\n";if(confirm(message)){if(typeof AlertObj.options!=="undefined"){if(typeof AlertObj.options.url_redirect!=="undefined"){window.location=AlertObj.options.url_redirect;}}}}}}}
Alerts.prototype.addToManager=function(AlertObj){var url='index.php',name=AlertObj.title,description,url_redirect,is_read=0,target_module,type='info';if(typeof AlertObj.options!=="undefined"){if(typeof AlertObj.options.url_redirect!=="undefined"){url_redirect=AlertObj.options.url_redirect}
if(typeof AlertObj.options.body!=="undefined"){description=AlertObj.options.body}
if(typeof AlertObj.options.target_module!=="undefined"){target_module=AlertObj.options.target_module}
if(typeof AlertObj.options.type!=="undefined"){type=AlertObj.options.type}
if(typeof AlertObj.options.reminder_id!=="undefined"){reminder_id=AlertObj.options.reminder_id}}
$.post(url,{module:'Alerts',action:'add',name:name,description:description,url_redirect:url_redirect,is_read:is_read,target_module:target_module,reminder_id:reminder_id,type:type}).done(function(jsonData){data=JSON.parse(jsonData);if(typeof data!=='undefined'&&typeof data.result!=='undefined'&&data.result===1){Alerts.prototype.show(AlertObj);}}).fail(function(data){}).always(function(){Alerts.prototype.updateManager();});}
Alerts.prototype.redirectToLogin=function(){var getQueryParams=function(qs){qs=qs.split('+').join(' ');var params={},tokens,re=/[?&]?([^=]+)=([^&]*)/g;while(tokens=re.exec(qs)){params[decodeURIComponent(tokens[1])]=decodeURIComponent(tokens[2]);}
return params;};var params=getQueryParams(document.location.search);if(params.entryPoint!='Changenewpassword'&&params.module!='Users'&&params.action!='Login'){document.location.href='index.php?module=Users&action=Login&loginErrorMessage=LBL_SESSION_EXPIRED';return true;}
return false;}
Alerts.prototype.updateManager=function(){var url='index.php?module=Alerts&action=get&to_pdf=1';$.ajax(url).done(function(data){if(data=='lost session'){Alerts.prototype.redirectToLogin();return false;}
for(replaceMessage in Alerts.prototype.replaceMessages){data=data.replace(Alerts.prototype.replaceMessages[replaceMessage].search,Alerts.prototype.replaceMessages[replaceMessage].replace);}
$('div#alerts').html(data);$('div.alerts').css('width','200px');var alertCount=$('#alerts').find('div.module-alert').size();$('.alert_count').html(alertCount);if(alertCount>0){$('div#alerts').addClass('has-alerts');$('#desktop_notifications').addClass('has-alerts');$('.alertsButton').removeClass('btn-').addClass('btn-danger');$('.alert_count').removeClass('hidden');}
else{$('#desktop_notifications').removeClass('has-alerts');$('div#alerts').removeClass('has-alerts');$('.alertsButton').removeClass('btn-danger').addClass('btn-success');$('.alert_count').addClass('hidden');}}).fail(function(){}).always(function(){});}
Alerts.prototype.markAsRead=function(id){var url='index.php?module=Alerts&action=markAsRead&record='+id+'&to_pdf=1';$.ajax(url).done(function(data){Alerts.prototype.updateManager();}).fail(function(){}).always(function(){});}
function AlertObj(){this.title='Alert';this.options={body:' ',url_redirect:null,target_module:null,type:'info'};}
$(document).ready(function(){Alerts.prototype.replaceMessages=[{search:SUGAR.language.translate("app","MSG_JS_ALERT_MTG_REMINDER_CALL_MSG"),replace:""},{search:SUGAR.language.translate("app","MSG_JS_ALERT_MTG_REMINDER_MEETING_MSG"),replace:""},];var updateMissed=function(){Alerts.prototype.updateManager();setTimeout(updateMissed,60000);}
setTimeout(updateMissed,2000);});