Commit 610779d3 by Vo Duc Thang

9/30 リリース

parent 7766f8c6
...@@ -2635,4 +2635,33 @@ Check is anonymous user login ...@@ -2635,4 +2635,33 @@ Check is anonymous user login
*/ */
function isAnonymousLogin() { function isAnonymousLogin() {
return avwSysSetting().anonymousLoginFlg; return avwSysSetting().anonymousLoginFlg;
} }
\ No newline at end of file
/* Check if current browser is IE9 */
function isIE9() {
var ua = window.navigator.userAgent.toLowerCase();
if (/msie 9.0/.test(ua)) {
return true;
}
return false;
};
/* Check if current browser is IE10 */
function isIE10() {
var ua = window.navigator.userAgent.toLowerCase();
if (/msie 10.0/.test(ua)) {
return true;
}
/*
if (window.navigator.msPointerEnabled) {
return true;
} else {
var ua = window.navigator.userAgent.toLowerCase();
if (/msie 10.0/.test(ua)) {
return true;
}
}
*/
return false;
};
\ No newline at end of file
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
"dspBkCancel":"Logout", "dspBkCancel":"Logout",
"txtSearchResult":"Result", "txtSearchResult":"Result",
"dspHome":"Home", "dspHome":"Home",
"txtLoginUser":"(Ver.20130927_2)User:", "txtLoginUser":"(Ver.20130930)User:",
"txtAll":"All", "txtAll":"All",
"txtMkgSize":"Size", "txtMkgSize":"Size",
"txtMkgS":"S", "txtMkgS":"S",
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
"dspBkCancel":"バックアップせずにログアウト", "dspBkCancel":"バックアップせずにログアウト",
"txtSearchResult":"検索結果", "txtSearchResult":"検索結果",
"dspHome":"ホーム", "dspHome":"ホーム",
"txtLoginUser":"(Ver.20130927_2)ログイン中:", "txtLoginUser":"(Ver.20130930)ログイン中:",
"txtAll":"すべて", "txtAll":"すべて",
"txtMkgSize":"太さ", "txtMkgSize":"太さ",
"txtMkgS":"小", "txtMkgS":"小",
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
"dspBkCancel":"로그아웃", "dspBkCancel":"로그아웃",
"txtSearchResult":"검색 결과", "txtSearchResult":"검색 결과",
"dspHome":"홈", "dspHome":"홈",
"txtLoginUser":"(Ver.20130927_2)로그인 중:", "txtLoginUser":"(Ver.20130930)로그인 중:",
"txtAll":"전체", "txtAll":"전체",
"txtMkgSize":"두께", "txtMkgSize":"두께",
"txtMkgS":"소", "txtMkgS":"소",
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
} }
.anket-dialog .anket-container .anket-dialog .anket-container
{ {
-webkit-overflow-scrolling: touch;
} }
.anket-dialog .anket-container iframe .anket-dialog .anket-container iframe
{ {
...@@ -38,4 +39,22 @@ ...@@ -38,4 +39,22 @@
} }
.anket-dialog .anket-commands input[type='button']:hover .anket-dialog .anket-commands input[type='button']:hover
{ {
} }
\ No newline at end of file
.anket-transparent-content
{
opacity:0;
}
.anket-transparent
{
opacity:0.5;
}
.anket-translucent
{
opacity:0.8;
}
.anket-opacity
{
opacity:1.0;
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=9,chrome=1" /> <meta http-equiv="X-UA-Compatible" content="IE=9,10,chrome=1" />
<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store"> <meta http-equiv="Cache-Control" content="no-store">
<meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache">
......
...@@ -3045,10 +3045,26 @@ ContentPage.prototype.drawPage = function (context, opt) { ...@@ -3045,10 +3045,26 @@ ContentPage.prototype.drawPage = function (context, opt) {
nCountObjectLoad = 0; nCountObjectLoad = 0;
$('#divImageLoading').css('display', 'block'); $('#divImageLoading').css('display', 'block');
var width = this.image.width; //var width = this.image.width;
var height = this.image.height; //var height = this.image.height;
//START TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
if(opt == null || opt == 0){
getPageSizeByPageNo(changePageIndex(getPageIndex()));
}
else if(opt == 1){
getPageSizeByPageNo(changePageIndex(getPageIndex() + 1));
}
else if(opt == 2){
getPageSizeByPageNo(changePageIndex(getPageIndex() - 1));
}
widthEachPage = widthContentImage;
heightEachPage = heightContentImage;
/* set width canvas */ /* set width canvas */
/*
if (width > height) { if (width > height) {
if (widthContentImage > heightContentImage) { if (widthContentImage > heightContentImage) {
widthEachPage = widthContentImage; widthEachPage = widthContentImage;
...@@ -3065,7 +3081,8 @@ ContentPage.prototype.drawPage = function (context, opt) { ...@@ -3065,7 +3081,8 @@ ContentPage.prototype.drawPage = function (context, opt) {
widthEachPage = heightContentImage; widthEachPage = heightContentImage;
heightEachPage = widthContentImage; heightEachPage = widthContentImage;
} }
} }*/
//END TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
if(opt == null || opt == 0){ if(opt == null || opt == 0){
$("#offscreen").attr('height', heightEachPage); $("#offscreen").attr('height', heightEachPage);
...@@ -4152,10 +4169,12 @@ function flip(opt) { ...@@ -4152,10 +4169,12 @@ function flip(opt) {
var context = canvas.getContext('2d'); var context = canvas.getContext('2d');
// init rect // init rect
if (srcRect.width == 0) { //START TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
//if (srcRect.width == 0) {
srcRect = new Rect(0, 0, offscreen.width, offscreen.height); srcRect = new Rect(0, 0, offscreen.width, offscreen.height);
} //}
//END TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
// display rect // display rect
srcRect.add(moveX, moveY); srcRect.add(moveX, moveY);
......
...@@ -275,10 +275,21 @@ function OnMouseEnd3D(id, _h, _v) { ...@@ -275,10 +275,21 @@ function OnMouseEnd3D(id, _h, _v) {
var _currFrameY = currFramePos._currFrameY; var _currFrameY = currFramePos._currFrameY;
var _arrFrame = getArrFrame(id); var _arrFrame = getArrFrame(id);
setImageIndexToMatrix(_currFrameX, _currFrameY, _arrFrame, _h, _v); //setImageIndexToMatrix(_currFrameX, _currFrameY, _arrFrame, _h, _v);
setArrFrame(id, _h, _v, _currFrameX, _currFrameY, _arrFrame);
}
};
function setArrFrame(id, _h, _v, _currX, _currY, _arrFrame){
for(var i = 0; i < _object3DImageArr.length; i++){
var obj = _object3DImageArr[i];
if(obj.id == id){
obj.arrFrame = setImageIndexToMatrix(_currX, _currY, _arrFrame, _h, _v);
}
} }
}; };
//compare 2 frame to get action //compare 2 frame to get action
function get3DAction(lastFrame, currFrame){ function get3DAction(lastFrame, currFrame){
var nRet = 0; var nRet = 0;
......
...@@ -23,9 +23,9 @@ function showAnket(url, fullscreen) { ...@@ -23,9 +23,9 @@ function showAnket(url, fullscreen) {
'<h1>'+i18nText('txtEnqueteTitle') '<h1>'+i18nText('txtEnqueteTitle')
+ '<img src="img/viewer/x.png" style="margin:3px 3px 0px 21px" id="btnClose" class="align_right" ></img>' + '<img src="img/viewer/x.png" style="margin:3px 3px 0px 21px" id="btnClose" class="align_right" ></img>'
+ '</h1>' + '</h1>'
+ '<div class="anket-container"><iframe width="'+width+'" height="100%" frameborder="0" scrolling="auto" src="' + url + '">' + '<div class="anket-container" id="anket-container"><iframe width="' + width + '" height="100%" frameborder="0" scrolling="auto" src="' + url + '">'
+ '</iframe></div>' + '</iframe></div>'
+ '<div class="anket-commands"><input type="button" value="' + i18nText('txtTransparent') + '" id="btnFullOpacity"/> <input type="button" value="' + i18nText('txtSemiTransparent') + '" id="btnApartOpacity"/> <input type="button" value="' + i18nText('txtNoTransparent') + '" id="btnNoOpacity"/></div><div style="clear:both;"></div>' + '<div class="anket-commands" id="anket-commands"><input type="button" value="' + i18nText('txtTransparent') + '" id="btnFullOpacity"/> <input type="button" value="' + i18nText('txtSemiTransparent') + '" id="btnApartOpacity"/> <input type="button" value="' + i18nText('txtNoTransparent') + '" id="btnNoOpacity"/></div><div style="clear:both;"></div>'
); );
$('#dialog h1 img').click(function(){ $('#dialog h1 img').click(function(){
$container.removeAttr('style'); $container.removeAttr('style');
...@@ -36,7 +36,7 @@ function showAnket(url, fullscreen) { ...@@ -36,7 +36,7 @@ function showAnket(url, fullscreen) {
// set overflow for container iframe // set overflow for container iframe
if (avwUserEnvObj.isIpad()) { if (avwUserEnvObj.isIpad()) {
$('#dialog .anket-container').css('overflow', 'auto'); $('#dialog .anket-container').css('overflow', 'scroll');
if (fullscreen == true) { if (fullscreen == true) {
$container.attr('style', 'width:' + width + 'px; left:10px;right:auto;'); // !important on ipad can't move dialog $container.attr('style', 'width:' + width + 'px; left:10px;right:auto;'); // !important on ipad can't move dialog
} }
...@@ -48,21 +48,22 @@ function showAnket(url, fullscreen) { ...@@ -48,21 +48,22 @@ function showAnket(url, fullscreen) {
// click on button change transparent // click on button change transparent
$('#dialog .anket-commands input').click( $('#dialog .anket-commands input').click(
function () { function () {
var opacity = 1; //START TRB00092 - EDITOR: Long - Date: 09/26/2013 - Summary : Fix opacity
//START TRB00092 - EDITOR: Long - Date: 09/26/2013 - Summary : Fix opacity
if ($(this).index() == 0) { if ($(this).index() == 0) {
opacity = 0.3; //set transparent
$('#dialog,#dialog iframe,#dialog .anket-commands,#dialog .anket-commands input').css('opacity', opacity); $('#dialog,#dialog iframe,#anket-commands,#anket-commands input').removeClass('anket-opacity anket-transparent anket-translucent anket-transparent-content').addClass('anket-transparent');
$('.anket-container').css('opacity', 0); $('#anket-container').removeClass('anket-opacity anket-transparent anket-translucent anket-transparent-content').addClass('anket-transparent-content');
} }
else if ($(this).index() == 1) { else if ($(this).index() == 1) {
opacity = 0.8;
// set translucent
//END TRB00092 - EDITOR: Long - Date: 09/26/2013 - Summary : Fix opacity //END TRB00092 - EDITOR: Long - Date: 09/26/2013 - Summary : Fix opacity
$('#dialog,#dialog iframe,#dialog .anket-commands,#dialog .anket-commands input,.anket-container').css('opacity', opacity); $('#dialog,#dialog iframe,#anket-commands,#anket-commands input,#anket-container').removeClass('anket-opacity anket-transparent anket-translucent anket-transparent-content').addClass('anket-translucent');
} }
else { else {
$('#dialog,#dialog iframe,#dialog .anket-commands,#dialog .anket-commands input,.anket-container').css('opacity', opacity); //set opacity
$('#dialog,#dialog iframe,#anket-commands,#anket-commands input,#anket-container').removeClass('anket-opacity anket-transparent anket-translucent anket-transparent-content').addClass('anket-opacity');
} }
} }
); );
......
...@@ -9,25 +9,28 @@ ...@@ -9,25 +9,28 @@
function abapi(name, param, method, callback) { function abapi(name, param, method, callback) {
avwCmsApiSync(ClientData.userInfo_accountPath(), name, method, param, callback, null); avwCmsApiSync(ClientData.userInfo_accountPath(), name, method, param, callback, null);
}; };
//START TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
/* get Json stored content info */ /* get Json stored content info */
function getJsonContentInfo() { function getJsonContentInfo() {
avwGrabContentPageImage(ClientData.userInfo_accountPath(), avwGrabContentPageImage(ClientData.userInfo_accountPath(),
{ contentId: contentID, sid: ClientData.userInfo_sid(), pageNo: 1 }, { contentId: contentID, sid: ClientData.userInfo_sid(), pageNo: 1 },
function (data) { function (data) {
pageImages = data; pageImages = data;
webGetContentData(); webGetContentData();
getSearchDataFromJson(); getSearchDataFromJson();
getJsonDataPageTitle(); getJsonDataPageTitle();
getJsonDataType4(); getJsonDataType4();
getJsonDataType5(); getJsonDataType5();
getDataJsonFile(); getDataJsonFile();
webGetPageImageContentSize(); //webGetPageImageContentSize();
webGetContentPageSize();
}, },
function (xmlHttpRequest, txtStatus, errorThrown) { function (xmlHttpRequest, txtStatus, errorThrown) {
showErrorScreen(); showErrorScreen();
}); });
}; };
//END TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
function webGetPageImageContentSize() { function webGetPageImageContentSize() {
avwCmsApi(ClientData.userInfo_accountPath(), avwCmsApi(ClientData.userInfo_accountPath(),
...@@ -41,6 +44,36 @@ function webGetPageImageContentSize() { ...@@ -41,6 +44,36 @@ function webGetPageImageContentSize() {
null); null);
}; };
//START TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
function webGetContentPageSize(){
avwCmsApi(ClientData.userInfo_accountPath(),
"webGetContent",
"GET",
{ contentId: contentID, sid: ClientData.userInfo_sid(), getType: 6 },
function (data) {
$.each(data.contentData.pageInfoData.pagesInfo, function(i, n){
contentPageSizeArr.push(n);
});
//Get Page size of firstPage
getPageSizeByPageNo(1);
},
null);
};
//Get Pagesize by pageNo
function getPageSizeByPageNo(pageNo){
for(var i = 0; i < contentPageSizeArr.length; i++){
var page = contentPageSizeArr[i];
if(page.pageNo == pageNo){
widthContentImage = page.pageWidth;
heightContentImage = page.pageHeight;
}
}
};
//END TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
function webGetContentData() { function webGetContentData() {
avwCmsApi(ClientData.userInfo_accountPath(), avwCmsApi(ClientData.userInfo_accountPath(),
"webGetContent", "webGetContent",
......
...@@ -1333,7 +1333,7 @@ function onTouchstart(evt){ ...@@ -1333,7 +1333,7 @@ function onTouchstart(evt){
_3dAction = _3dActionType.TouchStart_MouseDown; _3dAction = _3dActionType.TouchStart_MouseDown;
_curr3dObject = hitPageObj; _curr3dObject = hitPageObj;
hitPageObj.action(imagePt); hitPageObj.action(imagePt);
_3dAnimate = true; _3dAnimate = true;
} }
} }
else{ else{
...@@ -1411,15 +1411,14 @@ function onTouchstart(evt){ ...@@ -1411,15 +1411,14 @@ function onTouchstart(evt){
var imagePt = screenToImage(touch1.pageX, touch1.pageY); var imagePt = screenToImage(touch1.pageX, touch1.pageY);
var hitPageObj = getContent().currentPage.hitTest(imagePt.x, imagePt.y); var hitPageObj = getContent().currentPage.hitTest(imagePt.x, imagePt.y);
if (hitPageObj) { if (hitPageObj) {
if(is3DObject(hitPageObj)){
if(is3DObject(hitPageObj)){
//START TRB00090 - Editor: Long - Date : 09/26/2013 - Summary : remove time to detect 3d animate //START TRB00090 - Editor: Long - Date : 09/26/2013 - Summary : remove time to detect 3d animate
if(isPageTransition){ if(isPageTransition){
_3dAnimate = false; _3dAnimate = false;
_isClick = true; _isClick = true;
} }
else{ else{
_3dAction = _3dActionType.TouchStart_MouseDown; _3dAction = _3dActionType.TouchStart_MouseDown;
_curr3dObject = hitPageObj; _curr3dObject = hitPageObj;
hitPageObj.action(imagePt); hitPageObj.action(imagePt);
...@@ -1487,6 +1486,7 @@ var _3dAnimate = false; ...@@ -1487,6 +1486,7 @@ var _3dAnimate = false;
//is prevent click event //is prevent click event
var isPreventClick = false; var isPreventClick = false;
//End : TRB00005, TRB00006 - Editor : Long - Date: 08/28/2013 //End : TRB00005, TRB00006 - Editor : Long - Date: 08/28/2013
function onTouchmove(evt){ function onTouchmove(evt){
if(ClientData.IsAddingMarking() == true){ if(ClientData.IsAddingMarking() == true){
...@@ -1521,7 +1521,7 @@ function onTouchmove(evt){ ...@@ -1521,7 +1521,7 @@ function onTouchmove(evt){
var touch1 = null; var touch1 = null;
var touch2 = null; var touch2 = null;
if(_bWin8TouchEnabled){ if(_bWin8TouchEnabled){
if(_startPoints.length == 1){ if(_startPoints.length == 1){
//move page case //move page case
...@@ -1571,14 +1571,11 @@ function onTouchmove(evt){ ...@@ -1571,14 +1571,11 @@ function onTouchmove(evt){
_isPageNaviTouch = false; _isPageNaviTouch = false;
var imagePt = screenToImage(evt.pageX, evt.pageY); var imagePt = screenToImage(evt.pageX, evt.pageY);
var hitObj = getContent().currentPage.hitTest(imagePt.x, imagePt.y); var hitObj = getContent().currentPage.hitTest(imagePt.x, imagePt.y);
if(hitObj){ if(hitObj){
_3dAction = _3dActionType.TouchMove_MouseMove; _3dAction = _3dActionType.TouchMove_MouseMove;
hitObj.action(imagePt); hitObj.action(imagePt);
} }
else{
_3dAnimate = false;
}
} }
else{ else{
_isPageNaviTouch = true; _isPageNaviTouch = true;
...@@ -1684,8 +1681,6 @@ function onTouchmove(evt){ ...@@ -1684,8 +1681,6 @@ function onTouchmove(evt){
if(_isPageZoomTouch) { if(_isPageZoomTouch) {
processZoomPage(touch1, touch2); processZoomPage(touch1, touch2);
} }
} }
else{ else{
_isClick = false; _isClick = false;
...@@ -1697,17 +1692,19 @@ function onTouchmove(evt){ ...@@ -1697,17 +1692,19 @@ function onTouchmove(evt){
var imagePt = screenToImage(touch1.pageX, touch1.pageY); var imagePt = screenToImage(touch1.pageX, touch1.pageY);
var hitObj = getContent().currentPage.hitTest(imagePt.x, imagePt.y); var hitObj = getContent().currentPage.hitTest(imagePt.x, imagePt.y);
//START TRB00090 - Editor: Long - Date 09/30/2013 - Summary: Fix animate 3d object in ipad
if(hitObj){ if(hitObj){
if(is3DObject(hitObj)){ if(is3DObject(hitObj)){
_isPageNaviTouch = false;
_3dAction = _3dActionType.TouchMove_MouseMove; _3dAction = _3dActionType.TouchMove_MouseMove;
hitObj.action(imagePt); hitObj.action(imagePt);
} }
} }
else{ else{
_3dAnimate = false;
_isClick = false; //_isPageNaviTouch = true;
} }
//END TRB00090 - Editor: Long - Date 09/30/2013 - Summary: Fix animate 3d object in ipad
} }
else{ else{
//update last touch position //update last touch position
......
...@@ -92,6 +92,11 @@ var standardRatio = 1; ...@@ -92,6 +92,11 @@ var standardRatio = 1;
var currentRatio = 1; var currentRatio = 1;
var resourceImage = new Image(); var resourceImage = new Image();
//START TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
//Array of pages size
var contentPageSizeArr = [];
//END TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
/* zoom video */ /* zoom video */
var pxVideo; var pxVideo;
var pyVideo; var pyVideo;
......
...@@ -7,24 +7,28 @@ ...@@ -7,24 +7,28 @@
/// <reference path="contentview_CallApi.js" /> /// <reference path="contentview_CallApi.js" />
//START TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
/* get Json stored content info */ /* get Json stored content info */
function getJsonContentInfo() { function getJsonContentInfo() {
avwGrabContentPageImage(ClientData.userInfo_accountPath(), avwGrabContentPageImage(ClientData.userInfo_accountPath(),
{ contentId: contentID, sid: ClientData.userInfo_sid(), pageNo: 1 }, { contentId: contentID, sid: ClientData.userInfo_sid(), pageNo: 1 },
function (data) { function (data) {
pageImages = data; pageImages = data;
webGetContentData(); webGetContentData();
getSearchDataFromJson(); getSearchDataFromJson();
getJsonDataPageTitle(); getJsonDataPageTitle();
getJsonDataType4(); getJsonDataType4();
getJsonDataType5(); getJsonDataType5();
getDataJsonFile(); getDataJsonFile();
webGetPageImageContentSize(); //webGetPageImageContentSize();
webGetContentPageSize();
}, },
function (xmlHttpRequest, txtStatus, errorThrown) { function (xmlHttpRequest, txtStatus, errorThrown) {
showErrorScreen(); showErrorScreen();
}); });
}; };
//END TRB00097 - Editor: Long - Date: 09/30/2013 - Summary : Get All Page size of content
/* get url */ /* get url */
function getURL(apiName) { function getURL(apiName) {
...@@ -1147,7 +1151,7 @@ function renderNextPage(){ ...@@ -1147,7 +1151,7 @@ function renderNextPage(){
avwGrabContentPageImage(ClientData.userInfo_accountPath(), avwGrabContentPageImage(ClientData.userInfo_accountPath(),
{ contentId: contentID, sid: ClientData.userInfo_sid(), pageNo: pageNo }, { contentId: contentID, sid: ClientData.userInfo_sid(), pageNo: pageNo },
function (data) { function (data) {
nextPageImage = data; nextPageImage = data;
nextContent.setPageImages(totalPage, nextPageImage) nextContent.setPageImages(totalPage, nextPageImage)
.setPageObjects(nextPageObjects) .setPageObjects(nextPageObjects)
......
...@@ -201,11 +201,14 @@ $(document).ready(function () { ...@@ -201,11 +201,14 @@ $(document).ready(function () {
} }
else $('.switchingTab .colright').show(); else $('.switchingTab .colright').show();
// set scroll for tree view on IE 9 // set scroll for tree view with IE9 on win7
var ua = window.navigator.userAgent.toLowerCase(); var ua = window.navigator.userAgent.toLowerCase();
if (/msie 9.0/.test(ua)&&!/tablet/.test(ua)) { if (/msie 9.0/.test(ua) && /windows nt 6.1/.test(ua) && !/tablet/.test(ua)) {
$('.tab_bg_color').css({ "overflow-x": "scroll" }); $('.tab_bg_color').css({ "overflow-x": "scroll" });
} }
// if (isIE9()) {
// $('.tab_bg_color').css({ "overflow-x": "scroll" });
// }
}); });
var allowTimerCloseSubMenu = true; var allowTimerCloseSubMenu = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment