Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F8224864
form_utils.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
form_utils.js
View Options
/**
* form_utils.js
*
* Copyright 2009, Moxiecode Systems AB
* Released under LGPL License.
*
* License: http://tinymce.moxiecode.com/license
* Contributing: http://tinymce.moxiecode.com/contributing
*/
var
themeBaseURL
=
tinyMCEPopup
.
editor
.
baseURI
.
toAbsolute
(
'themes/'
+
tinyMCEPopup
.
getParam
(
"theme"
));
function
getColorPickerHTML
(
id
,
target_form_element
)
{
var
h
=
""
;
h
+=
'<a id="'
+
id
+
'_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\''
+
target_form_element
+
'\');" onmousedown="return false;" class="pickcolor">'
;
h
+=
'<span id="'
+
id
+
'" title="'
+
tinyMCEPopup
.
getLang
(
'browse'
)
+
'"> </span></a>'
;
return
h
;
}
function
updateColor
(
img_id
,
form_element_id
)
{
document
.
getElementById
(
img_id
).
style
.
backgroundColor
=
document
.
forms
[
0
].
elements
[
form_element_id
].
value
;
}
function
setBrowserDisabled
(
id
,
state
)
{
var
img
=
document
.
getElementById
(
id
);
var
lnk
=
document
.
getElementById
(
id
+
"_link"
);
if
(
lnk
)
{
if
(
state
)
{
lnk
.
setAttribute
(
"realhref"
,
lnk
.
getAttribute
(
"href"
));
lnk
.
removeAttribute
(
"href"
);
tinyMCEPopup
.
dom
.
addClass
(
img
,
'disabled'
);
}
else
{
if
(
lnk
.
getAttribute
(
"realhref"
))
lnk
.
setAttribute
(
"href"
,
lnk
.
getAttribute
(
"realhref"
));
tinyMCEPopup
.
dom
.
removeClass
(
img
,
'disabled'
);
}
}
}
function
getBrowserHTML
(
id
,
target_form_element
,
type
,
prefix
)
{
var
option
=
prefix
+
"_"
+
type
+
"_browser_callback"
,
cb
,
html
;
cb
=
tinyMCEPopup
.
getParam
(
option
,
tinyMCEPopup
.
getParam
(
"file_browser_callback"
));
if
(
!
cb
)
return
""
;
html
=
""
;
html
+=
'<a id="'
+
id
+
'_link" href="javascript:openBrowser(\''
+
id
+
'\',\''
+
target_form_element
+
'\', \''
+
type
+
'\',\''
+
option
+
'\');" onmousedown="return false;" class="browse">'
;
html
+=
'<span id="'
+
id
+
'" title="'
+
tinyMCEPopup
.
getLang
(
'browse'
)
+
'"> </span></a>'
;
return
html
;
}
function
openBrowser
(
img_id
,
target_form_element
,
type
,
option
)
{
var
img
=
document
.
getElementById
(
img_id
);
if
(
img
.
className
!=
"mceButtonDisabled"
)
tinyMCEPopup
.
openBrowser
(
target_form_element
,
type
,
option
);
}
function
selectByValue
(
form_obj
,
field_name
,
value
,
add_custom
,
ignore_case
)
{
if
(
!
form_obj
||
!
form_obj
.
elements
[
field_name
])
return
;
var
sel
=
form_obj
.
elements
[
field_name
];
var
found
=
false
;
for
(
var
i
=
0
;
i
<
sel
.
options
.
length
;
i
++
)
{
var
option
=
sel
.
options
[
i
];
if
(
option
.
value
==
value
||
(
ignore_case
&&
option
.
value
.
toLowerCase
()
==
value
.
toLowerCase
()))
{
option
.
selected
=
true
;
found
=
true
;
}
else
option
.
selected
=
false
;
}
if
(
!
found
&&
add_custom
&&
value
!=
''
)
{
var
option
=
new
Option
(
value
,
value
);
option
.
selected
=
true
;
sel
.
options
[
sel
.
options
.
length
]
=
option
;
sel
.
selectedIndex
=
sel
.
options
.
length
-
1
;
}
return
found
;
}
function
getSelectValue
(
form_obj
,
field_name
)
{
var
elm
=
form_obj
.
elements
[
field_name
];
if
(
elm
==
null
||
elm
.
options
==
null
||
elm
.
selectedIndex
===
-
1
)
return
""
;
return
elm
.
options
[
elm
.
selectedIndex
].
value
;
}
function
addSelectValue
(
form_obj
,
field_name
,
name
,
value
)
{
var
s
=
form_obj
.
elements
[
field_name
];
var
o
=
new
Option
(
name
,
value
);
s
.
options
[
s
.
options
.
length
]
=
o
;
}
function
addClassesToList
(
list_id
,
specific_option
)
{
// Setup class droplist
var
styleSelectElm
=
document
.
getElementById
(
list_id
);
var
styles
=
tinyMCEPopup
.
getParam
(
'theme_advanced_styles'
,
false
);
styles
=
tinyMCEPopup
.
getParam
(
specific_option
,
styles
);
if
(
styles
)
{
var
stylesAr
=
styles
.
split
(
';'
);
for
(
var
i
=
0
;
i
<
stylesAr
.
length
;
i
++
)
{
if
(
stylesAr
!=
""
)
{
var
key
,
value
;
key
=
stylesAr
[
i
].
split
(
'='
)[
0
];
value
=
stylesAr
[
i
].
split
(
'='
)[
1
];
styleSelectElm
.
options
[
styleSelectElm
.
length
]
=
new
Option
(
key
,
value
);
}
}
}
else
{
tinymce
.
each
(
tinyMCEPopup
.
editor
.
dom
.
getClasses
(),
function
(
o
)
{
styleSelectElm
.
options
[
styleSelectElm
.
length
]
=
new
Option
(
o
.
title
||
o
[
'class'
],
o
[
'class'
]);
});
}
}
function
isVisible
(
element_id
)
{
var
elm
=
document
.
getElementById
(
element_id
);
return
elm
&&
elm
.
style
.
display
!=
"none"
;
}
function
convertRGBToHex
(
col
)
{
var
re
=
new
RegExp
(
"rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)"
,
"gi"
);
var
rgb
=
col
.
replace
(
re
,
"$1,$2,$3"
).
split
(
','
);
if
(
rgb
.
length
==
3
)
{
r
=
parseInt
(
rgb
[
0
]).
toString
(
16
);
g
=
parseInt
(
rgb
[
1
]).
toString
(
16
);
b
=
parseInt
(
rgb
[
2
]).
toString
(
16
);
r
=
r
.
length
==
1
?
'0'
+
r
:
r
;
g
=
g
.
length
==
1
?
'0'
+
g
:
g
;
b
=
b
.
length
==
1
?
'0'
+
b
:
b
;
return
"#"
+
r
+
g
+
b
;
}
return
col
;
}
function
convertHexToRGB
(
col
)
{
if
(
col
.
indexOf
(
'#'
)
!=
-
1
)
{
col
=
col
.
replace
(
new
RegExp
(
'[^0-9A-F]'
,
'gi'
),
''
);
r
=
parseInt
(
col
.
substring
(
0
,
2
),
16
);
g
=
parseInt
(
col
.
substring
(
2
,
4
),
16
);
b
=
parseInt
(
col
.
substring
(
4
,
6
),
16
);
return
"rgb("
+
r
+
","
+
g
+
","
+
b
+
")"
;
}
return
col
;
}
function
trimSize
(
size
)
{
return
size
.
replace
(
/([0-9\.]+)px|(%|in|cm|mm|em|ex|pt|pc)/
,
'$1$2'
);
}
function
getCSSSize
(
size
)
{
size
=
trimSize
(
size
);
if
(
size
==
""
)
return
""
;
// Add px
if
(
/^[0-9]+$/
.
test
(
size
))
size
+=
'px'
;
return
size
;
}
function
getStyle
(
elm
,
attrib
,
style
)
{
var
val
=
tinyMCEPopup
.
dom
.
getAttrib
(
elm
,
attrib
);
if
(
val
!=
''
)
return
''
+
val
;
if
(
typeof
(
style
)
==
'undefined'
)
style
=
attrib
;
return
tinyMCEPopup
.
dom
.
getStyle
(
elm
,
style
);
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jul 10, 12:14 AM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1057341
Default Alt Text
form_utils.js (5 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment