/** * @author Peter Alexandersson */ function DikToolbar(settings){ this.init(settings); var frmEmail = '
'; var frmReport = ''; var shareHtml = ''; this.linkPrintOutHtml = '
Skriv ut
Tipsa en vän
Rapportera fel | ');
document.write(' Dela med dig | ');
}
document.write(' DIK nyheter via RSS |
Kommentera',
reportReciever: 'webbredaktor@dik.se',
init:function(settings){
if (settings){
if (settings.id!=null) this.id=settings.id;
if (settings.dburl!=null) this.dburl=settings.dburl;
if (settings.showPrint!=null) this.showPrint=settings.showPrint;
if (settings.showEmailFriend!=null) this.showEmailFriend=settings.showEmailFriend;
if (settings.showReport!=null) this.showReport=settings.showReport;
if (settings.showComment!=null) this.showComment=settings.showComment;
if (settings.linkGotoCommentHtml!=null) this.linkGotoCommentHtml=settings.linkGotoCommentHtml;
}
}
}
// ====== statiska funktioner
DikToolbar.toggle = function(param){
param.style.display=(param.style.display=="none")?"":"none";
}
DikToolbar.sleep = function(naptime){
naptime = naptime * 1000;
var sleeping = true;
var now = new Date();
var alarm;
var startingMSeconds = now.getTime();
while(sleeping){
alarm = new Date();
alarmMSeconds = alarm.getTime();
if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
}
//alert("Wakeup!");
}
DikToolbar.validateEmail = function(elementValue){
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
return emailPattern.test(elementValue);
}
DikToolbar.doSendMail = function(mailform, dburl,responsedivid){
var url = dburl +'/sendmailjson?open';
var pars ='';
try{
if (mailform.Subject.value==''){
alert('Obligatoriska uppgifter saknas i formuläret: Rubrik (Subject)');
return;
}
if (mailform.BodyText.value==''){
alert('Obligatoriska uppgifter saknas i formuläret: Kommentar (BodyText)');
return;
}
if (mailform.SendTo.value==''){
alert('Obligatoriska uppgifter saknas i formuläret: e-postmottagare (SendTo)');
return;
}
else{
if (DikToolbar.validateEmail(mailform.SendTo.value)==false){
alert('Ogiltig mottagaradress angiven!')
return;
}
}
if (mailform.Sender.value==''){
alert('Obligatoriska uppgifter saknas i formuläret: Avsändare (Sender)');
return;
}
else{
if (DikToolbar.validateEmail(mailform.Sender.value)==false){
alert('Ogiltig avsändaradress angiven!')
return;
}
}
//=============================== ANPASSNING SKER NEDANFÖR DENNA RAD ===========================
//pars = "&subject=" + encodeURIComponent( mailform.Subject.value ) + "&bodytext=" + encodeURIComponent(mailform.BodyText.value ) +"&sendto=" + encodeURIComponent( mailform.SendTo.value)+"&sender=" + encodeURIComponent( mailform.Sender.value);
pars = "&subject=" + escape( mailform.Subject.value );
pars +="&bodytext=" + escape(mailform.BodyText.value );
pars +="&sendto=" + escape( mailform.SendTo.value);
pars +="&sender=" + escape( mailform.Sender.value);
pars +="&url=" + escape( mailform.PageUrl.value);
pars +="&id=" + escape( mailform.TargetId.value);
pars +="&type=" + escape( mailform.FormType.value);
//=============================== ANPASSNING SKER OVANFÖR DENNA RAD ===========================
}catch(e){
alert('Error in doSendMail:' + e.message);
return false;
}
if (typeof jQuery != 'undefined') {
// use jQuery style call
ajaxreq = {type: "POST",url: url, data: pars, success: function(msg){
var resp;
try{
resp = eval('(' + msg + ')');
if (resp.status=='ok'){
if (responsedivid !=''){
document.getElementById(responsedivid).innerHTML = resp.responsetext;
} else {alert(resp.responsetext);}
} else {
alert('Ett fel inträffade när uppgifterna skulle skickas. Felmeddelande: '+ resp.responsetext);
}
//close form
try{
var t = setTimeout('DikToolbar.toggle(document.getElementById("'+ resp.id+ '"));',2000);
}catch(e){}
}catch(e){alert(e.message);}
}}
try{
jQuery.ajax(ajaxreq);
}catch(e){
alert('Ajax error using jQuery.js:' + e.message);
}
} else {
//assume prototype.js style call
ajaxreq = {method:'post', onSuccess:function(msg){
var resp;
try{
resp = eval('(' + msg.responseText + ')');
if (resp.status=='ok'){
if (responsedivid != ''){
document.getElementById(responsedivid).innerHTML = resp.responsetext;
} else {alert(resp.responsetext);}
} else {
alert('Ett fel inträffade när uppgifterna skulle skickas. Felmeddelande: '+ resp.responsetext);
}
//close form
try{
var t = setTimeout('DikToolbar.toggle(document.getElementById("'+ resp.id+ '"));',2000);
}catch(e){}
}catch(e){alert(e.message);}
}, parameters: pars };
try{
var x = new Ajax.Request(url, ajaxreq);
}catch(e){
alert('Ajax error using prototype.js:' + e.message);
}
}
}