| Current Path : /home/scoots/www/wp-content/plugins/fresh-page/js/ |
Linux webm004.cluster110.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 |
| Current File : /home/scoots/www/wp-content/plugins/fresh-page/js/editnplace.js |
var currentItemInEdit;
Event.observe(window, 'load', CreateEditnPlaceObjects);
var EIPObject = Class.create({
// -- Constructor
initialize: function(element, valueType, showPanel) {
var originalContent = "";
// Initialize object variables
this.postID = '';
this.metaID = '';
this.elementID = '';
this.elementInnerID = '';
this.myNicEditor1 = null;
this.editActive = false;
this.oldVal = '';
this.valueType = valueType;
this.showPanel = showPanel;
this.panelID = '';
this.highlightColor = '#FFFFCC';
// Get post ID
var tmpPostID = '';
var tmpMetaID = '';
$w(element.className).each(function(currClassName){
if (currClassName.substr(0, 10) == 'EIP_postid')
tmpPostID = currClassName.substr(10);
if (currClassName.substr(0, 8) == 'EIP_mid_')
tmpMetaID = currClassName.substr(8);
});
this.postID = tmpPostID;
this.metaID = tmpMetaID;
// Get/create element ID
if (element.id == ''){
// Create random ID
var d = new Date();
randomnumber= Math.floor(Math.random()*1000);
element.id = "id" + d.getMilliseconds() + "_" + randomnumber;
}
this.elementID = element.id;
this.elementInnerID = element.id + '_inner';
originalContent = $(this.elementID).innerHTML;
elementBG = GetFontColor(this.elementID);
// Create nicEditor object
if (showPanel){
this.myNicEditor1 = new nicEditor({iconsPath : JS_FLUTTER_URI + 'js/nicEditorIcons.gif',buttonList : ['bold','italic','underline','ol','ul','link','unlink']});
}
else{
this.myNicEditor1 = new nicEditor({buttonList : []});
}
// Creat nicEditor panel
this.panelID = "panel_" + this.elementID;
myNicPanel = new Element('div', {'id': this.panelID, 'class': 'EIPnicPanelDiv','style': "display:none"});
$(document.body).insert({top: myNicPanel});
this.myNicEditor1.setPanel(this.panelID);
// Wrap the field in a div
element_inner = new Element('div', {'id': this.elementInnerID, 'style':'overflow:hidden'}).update(element.innerHTML);
element.innerHTML = "";
element.insert({top: element_inner});
// Inherit styles
stylesList = ["fontSize", "fontFamily", "fontWeight", "letterSpacing", "color", "textTransform", "lineHeight"];
applyStyles(this.elementID, this.elementInnerID, stylesList);
//applyStyles(this.elementID, this.elementID, ['height']);
if (showPanel){
recursiveApplyStyles($(this.elementInnerID));
}
// Attach niceditor
this.myNicEditor1.addInstance(this.elementID);
if (isset(element.firstChild.contentDocument)){
this.elementDivDocument = element.firstChild.contentDocument;
Event.observe(this.elementDivDocument.firstChild, "mousedown", this.startEdit.bindAsEventListener(this));
}
else{
this.elementInnerID = this.elementID;
$(this.elementID).innerHTML = originalContent;
this.elementDivDocument = document; // $(this.elementInnerID)
Event.observe($(this.elementInnerID), "mousedown", this.startEdit.bindAsEventListener(this));
}
// Adjust highlight color to be suitable for the theme
if (elementBG != ''){
newcolor = new Color(elementBG);
this.highlightColor = newcolor.invert().getHex();
}
$$('EIP_title:hover, .EIP_content:hover').each(function(element) {
element.setStyle({backgroundColor: this.highlightColor});
});
},
startEdit: function (){
if (!this.editActive){
// set current field
cancelSaveField();
currentItemInEdit = this;
// Adjust pane/save positions
objOffset = $(this.elementID).cumulativeOffset();
elementTop = objOffset['top'] ;
if(Prototype.Browser.IE) elementTop = elementTop-20;
elementLeft = objOffset['left'];
if (this.showPanel){
panel_top = elementTop - $(this.panelID).getHeight();
$(this.panelID).setStyle({display: "", top:panel_top+"px",left:elementLeft+"px"});
}
currWidth = $(this.elementID).getWidth();
if ( currWidth < $('save_cancel_field').getWidth())
currWidth = $('save_cancel_field').getWidth();
save_cancel_field_left = elementLeft + currWidth - $('save_cancel_field').getWidth();
save_cancel_field_top = elementTop - $('save_cancel_field').getHeight();
$('save_cancel_field').setStyle({display: "", top:save_cancel_field_top+"px",left:save_cancel_field_left+"px"});
// Save old value to restore it on cancel
this.oldVal = this.elementDivDocument.getElementById(this.elementInnerID).innerHTML;
this.elementDivDocument.getElementById(this.elementInnerID).style.backgroundColor = this.highlightColor;
this.editActive = true;
}
}
});
//------------------------------------------------------------
// Create common objects (save button and status messages)
// and initialize editnplace objects
//------------------------------------------------------------
function CreateEditnPlaceObjects() {
// Create save/cancel buttons
saveCancel = new Element('div', {'id': 'save_cancel_field', 'class':'EIPSaveCancel', 'style': "display:none;"});
saveCancel.innerHTML = "<div id='savingDiv' style='display:none'>saving ...</div><div id='saveButton'><input type='button' value='Save' onclick='saveField()' /> Or <input type='button' value='Cancel' onclick=' cancelSaveField()' /></div>";
$(document.body).insert({top: saveCancel});
/*// Create status message div
savingDiv = new Element('div', {'id': 'savingDiv', 'class':'EIPSaveStatus', 'style': "display:none;"});
savingDiv.innerHTML = "Saving ...";
$(document.body).insert({top: savingDiv});*/
// Loop through all post titles
$$('.EIP_title').each(function(element){
new EIPObject(element, 'EIP_title', false);
});
// Loop through all post contents
$$('.EIP_content').each(function(element){
new EIPObject(element, 'EIP_content', true);
});
// Loop through text fields
$$('.EIP_textbox').each(function(element){
new EIPObject(element, 'EIP_textbox', false);
});
// Loop through all post contents
$$('.EIP_mulittextbox').each(function(element){
new EIPObject(element, 'EIP_mulittextbox', true);
});
}
//------------------------------------------------------------
// Saving a field
//------------------------------------------------------------
function saveField(){
var postParameters;
$('savingDiv').style.display = "";
$('saveButton').style.display = "none";
//$('save_cancel_field').style.display = "";
//$(currentItemInEdit.elementID).style.display = "none";
if (currentItemInEdit.showPanel) $(currentItemInEdit.panelID).style.display = "none";
fieldVal = currentItemInEdit.elementDivDocument.getElementById(currentItemInEdit.elementInnerID).innerHTML;
postParameters =
"post_id=" + escape(encodeURI(currentItemInEdit.postID)) +
"&meta_id=" + escape(encodeURI(currentItemInEdit.metaID)) +
"&field_value=" + escape(encodeURI(fieldVal )) +
"&field_type=" + escape(encodeURI(currentItemInEdit.valueType));
new Ajax.Request(JS_FLUTTER_URI + 'RCCWP_EditnPlaceResponse.php',
{
method:'post',
onSuccess: function(transport){
currentItemInEdit.oldVal = fieldVal;
cancelSaveField();
},
parameters: postParameters
});
}
//------------------------------------------------------------
// Cancel Saving
//------------------------------------------------------------
function cancelSaveField(){
if (!isset(currentItemInEdit)) return;
currentItemInEdit.elementDivDocument.getElementById(currentItemInEdit.elementInnerID).innerHTML = currentItemInEdit.oldVal;
$('savingDiv').style.display = "none";
$('saveButton').style.display = "";
$('save_cancel_field').style.display = "none";
if (currentItemInEdit.showPanel) $(currentItemInEdit.panelID).style.display = "none";
//$(currentItemInEdit.elementID).style.display = "";
currentItemInEdit.elementDivDocument.getElementById(currentItemInEdit.elementInnerID).style.backgroundColor = "";
currentItemInEdit.editActive = false;
}
//------------------------------------------------------------
// Copy styles from an object to another
//------------------------------------------------------------
function applyStyles(from, to, stylesList){
to_styles = {};
stylesList.each( function (elmnt){
to_styles[elmnt] = $(from).getStyle(elmnt);
});
$(to).setStyle(to_styles);
}
//------------------------------------------------------------
// Recursivly apply all styles of an object as an inline
// styles to that object.
//------------------------------------------------------------
function recursiveApplyStyles(elmnt){
stylesList = [ "backgroundAttachment", "backgroundColor","backgroundImage", "backgroundPosition","backgroundRepeat",
"fontSize", "fontFamily", "fontWeight", "fontStyle",
"color", "direction", "lineHeight", "letterSpacing", "textAlign", "textDecoration", "textIndent", "textTransform", "whiteSpace", "wordSpacing",
"borderBottomColor", "borderBottomStyle", "borderBottomWidth",
"borderLeftColor", "borderLeftStyle", "borderLeftWidth",
"borderTopColor", "borderTopStyle", "borderTopWidth",
"borderRightColor", "borderRightStyle", "borderRightWidth",
"listStyleImage", "listStylePosition", "listStyleType",
"paddingLeft", "paddingRight", "paddingTop", "paddingBottom",
"marginLeft", "marginRight", "marginTop", "marginBottom",
"left", "right", "top", "bottom", "width",
"clear", "cursor", "display", "float", "position", "visibility"
];
applyStyles(elmnt, elmnt, stylesList);
childElements = elmnt.childElements();
if (childElements)
childElements.each(recursiveApplyStyles);
}
function isset( ) {
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: FremyCompany
// * example 1: isset( undefined, true);
// * returns 1: false
// * example 2: isset( 'Kevin van Zonneveld' );
// * returns 2: true
var a=arguments; var l=a.length; var i=0;
while ( i!=l ) {
if (typeof(a[i])=='undefined') {
return false;
} else {
i++;
}
}
return true;
}
//------------------------------------------------------------------------------------
// Colors library
// Based on code from : http://www.ozzu.com/programming-forum/javascript-color-object-t66915.html
//------------------------------------------------------------------------------------
// Try to get the hex of the color
function GetColorHex(colorName){
if (!colorName || colorName == "" || colorName == "transparent") return "";
if (colorName.charAt(0) == "#") return colorName;
tmpColor = Color.getFilteredObject(colorName);
if (tmpColor == false){
for (i=0;i<147;i=i+2){
if (colorName.toLowerCase == COLOR_NAMES[i].toLowerCase)
return COLOR_NAMES[i+1];
}
}
return colorName;
}
// Recursive function to get the font color
function GetFontColor(element){
var elementBGColor = GetColorHex($(element).getStyle('color'));
tmpColor = Color.getFilteredObject(elementBGColor);
if (tmpColor == false){
if (isset($(element).parentNode))
return GetFontColor($(element).parentNode);
else
return '';
}
else
return elementBGColor;
}
/*
Converts INT to HEX
If Prototype library is loaded, use theirs, else use ours.
*/
if(!Number.toColorPart){Number.prototype.toColorPart = function(){return ((this < 16 ? '0' : '') + this.toString(16));}}
/*
Constructor
@String c : hexadecimal, shorthand hex, or rgb()
#returns : Object reference to instance or false
*/
Color = function(c){
if(!c || !(c = Color.getFilteredObject(c))){return false;}
this.original = c;
this.r=c.r;this.g=c.g;this.b=c.b;
this.check();
this.gray = Math.round(.3*this.r + .59*this.g + .11*this.b);
this.hex = this.getHex();
this.rgb = this.getRGB();
return this;
}
/*
Screens color strings.
@String str : hexadecimal, shorthand hex, or rgb()
#returns : Object {r: XXX, g: XXX, b: XXX} or false
*/
Color.getFilteredObject = function(str){
if(/^#?([\da-f]{3}|[\da-f]{6})$/i.test(str)){
function _(s,i){return parseInt(s.substr(i,2), 16);}
str = str.replace(/^#/, '').replace(/^([\da-f])([\da-f])([\da-f])$/i, "$1$1$2$2$3$3");
return {r:_(str,0), g:_(str,2), b:_(str,4)}
}else if(/^rgb *\( *\d{0,3} *, *\d{0,3} *, *\d{0,3} *\)$/i.test(str)){
str = str.match(/^rgb *\( *(\d{0,3}) *, *(\d{0,3}) *, *(\d{0,3}) *\)$/i);
return {r:parseInt(str[1]), g:parseInt(str[2]), b:parseInt(str[3])};
}
return false;
}
/*
Checks the internal RGB registers for out of range values.
Resets out of range values.
#returns : Object reference to instance
*/
Color.prototype.check = function(){
if(this.r>255){this.r=255;}else if(this.r<0){this.r=0;}
if(this.g>255){this.g=255;}else if(this.g<0){this.g=0;}
if(this.b>255){this.b=255;}else if(this.b<0){this.b=0;}
return this;
}
/*
Resets color to the original color passed to the constructor.
#returns : Object reference to instance
*/
Color.prototype.revert = function(){
this.r=this.original.r;this.g=this.original.g;this.b=this.original.b;
return this;
}
/*
Inverts the color.
Black to White, vice versa
#returns : Object reference to instance
*/
Color.prototype.invert = function(){
this.check();
this.r = 255-this.r;
this.g = 255-this.g;
this.b = 255-this.b;
return this;
}
/*
Lightens the color.
@Int amount : 1-254 -- RGB amount to lighten the color
#returns : Object reference to instance
*/
Color.prototype.lighten = function(amount){
this.r += parseInt(amount);
this.g += parseInt(amount);
this.b += parseInt(amount);
return this;
}
/*
Darkens the color.
@Int amount : 1-254 -- RGB amount to darken the color
#returns : Object reference to instance
*/
Color.prototype.darken = function(amount){
return this.lighten(parseInt('-'+amount));
}
/*
Converts the color to Grayscale
#returns : Object reference to instance
*/
Color.prototype.grayscale = function(){
this.check();
this.gray = Math.round(.3*this.r + .59*this.g + .11*this.b);
this.r=this.gray;this.g=this.gray;this.b=this.gray;
return this;
}
/*
Convenience function for lightening color.
@Int amount : amount to lighten color
@Bool returnRGB : true uses RGB return string, false uses HEX return string.
#returns : String color
*/
Color.prototype.getLighter = function(amount, returnRGB){
return this.lighten(amount).check()[returnRGB ? 'getRGB' : 'getHex']();
}
/*
Convenience function for darkening color.
@Int amount : amount to darken color
@Bool returnRGB : true uses RGB return string, false uses HEX return string.
#returns : String color
*/
Color.prototype.getDarker = function(amount, returnRGB){
return this.darken(amount).check()[returnRGB ? 'getRGB' : 'getHex']();
}
/*
Convenience function for grayscaling color.
@Bool returnRGB : true uses RGB return string, false uses HEX return string.
#returns : String color
*/
Color.prototype.getGrayscale = function(returnRGB){
this.grayscale();
return (returnRGB ? ('rgb('+this.gray+','+this.gray+','+this.gray+')') : this.gray.toColorPart().replace(/^([\da-f]{2})$/i, "#$1$1$1"));
}
/*
Convenience function for inverting color.
@Bool returnRGB : true uses RGB return string, false uses HEX return string.
#returns : String color
*/
Color.prototype.getInverted = function(returnRGB){
return this.invert()[returnRGB ? 'getRGB' : 'getHex']();
}
/*
Gets the rgb(x,x,x) value of the color
#returns : String rgb color
*/
Color.prototype.getRGB = function(){
this.check();
this.rgb = 'rgb('+this.r+','+this.g+','+this.b+')';
return this.rgb;
}
/*
Gets the hex value of the color
@Bool shorthandReturnAcceptable : true will return #333 instead of #333333
#returns : String hex color
*/
Color.prototype.getHex = function(shorthandReturnAcceptable){
this.check();
this.hex = '#' + this.r.toColorPart() + this.g.toColorPart() + this.b.toColorPart();
if(shorthandReturnAcceptable){return this.hex.replace(/^#([\da-f])\1([\da-f])\2([\da-f])\3$/i, "#$1$2$3");}
return this.hex;
}
var COLOR_NAMES = new Array(
"AliceBlue" , "#F0F8FF",
"AntiqueWhite" , "#FAEBD7",
"Aqua" , "#00FFFF",
"Aquamarine" , "#7FFFD4",
"Azure" , "#F0FFFF",
"Beige" , "#F5F5DC",
"Bisque" , "#FFE4C4",
"Black" , "#000000",
"BlanchedAlmond" , "#FFEBCD",
"Blue" , "#0000FF",
"BlueViolet" , "#8A2BE2",
"Brown" , "#A52A2A",
"BurlyWood" , "#DEB887",
"CadetBlue" , "#5F9EA0",
"Chartreuse" , "#7FFF00",
"Chocolate" , "#D2691E",
"Coral" , "#FF7F50",
"CornflowerBlue" , "#6495ED",
"Cornsilk" , "#FFF8DC",
"Crimson" , "#DC143C",
"Cyan" , "#00FFFF",
"DarkBlue" , "#00008B",
"DarkCyan" , "#008B8B",
"DarkGoldenRod" , "#B8860B",
"DarkGray" , "#A9A9A9",
"DarkGrey" , "#A9A9A9",
"DarkGreen" , "#006400",
"DarkKhaki" , "#BDB76B",
"DarkMagenta" , "#8B008B",
"DarkOliveGreen" , "#556B2F",
"Darkorange" , "#FF8C00",
"DarkOrchid" , "#9932CC",
"DarkRed" , "#8B0000",
"DarkSalmon" , "#E9967A",
"DarkSeaGreen" , "#8FBC8F",
"DarkSlateBlue" , "#483D8B",
"DarkSlateGray" , "#2F4F4F",
"DarkSlateGrey" , "#2F4F4F",
"DarkTurquoise" , "#00CED1",
"DarkViolet" , "#9400D3",
"DeepPink" , "#FF1493",
"DeepSkyBlue" , "#00BFFF",
"DimGray" , "#696969",
"DimGrey" , "#696969",
"DodgerBlue" , "#1E90FF",
"FireBrick" , "#B22222",
"FloralWhite" , "#FFFAF0",
"ForestGreen" , "#228B22",
"Fuchsia" , "#FF00FF",
"Gainsboro" , "#DCDCDC",
"GhostWhite" , "#F8F8FF",
"Gold" , "#FFD700",
"GoldenRod" , "#DAA520",
"Gray" , "#808080",
"Grey" , "#808080",
"Green" , "#008000",
"GreenYellow" , "#ADFF2F",
"HoneyDew" , "#F0FFF0",
"HotPink" , "#FF69B4",
"IndianRed " , "#CD5C5C",
"Indigo " , "#4B0082",
"Ivory" , "#FFFFF0",
"Khaki" , "#F0E68C",
"Lavender" , "#E6E6FA",
"LavenderBlush" , "#FFF0F5",
"LawnGreen" , "#7CFC00",
"LemonChiffon" , "#FFFACD",
"LightBlue" , "#ADD8E6",
"LightCoral" , "#F08080",
"LightCyan" , "#E0FFFF",
"LightGoldenRodYellow" , "#FAFAD2",
"LightGray" , "#D3D3D3",
"LightGrey" , "#D3D3D3",
"LightGreen" , "#90EE90",
"LightPink" , "#FFB6C1",
"LightSalmon" , "#FFA07A",
"LightSeaGreen" , "#20B2AA",
"LightSkyBlue" , "#87CEFA",
"LightSlateGray" , "#778899",
"LightSlateGrey" , "#778899",
"LightSteelBlue" , "#B0C4DE",
"LightYellow" , "#FFFFE0",
"Lime" , "#00FF00",
"LimeGreen" , "#32CD32",
"Linen" , "#FAF0E6",
"Magenta" , "#FF00FF",
"Maroon" , "#800000",
"MediumAquaMarine" , "#66CDAA",
"MediumBlue" , "#0000CD",
"MediumOrchid" , "#BA55D3",
"MediumPurple" , "#9370D8",
"MediumSeaGreen" , "#3CB371",
"MediumSlateBlue" , "#7B68EE",
"MediumSpringGreen" , "#00FA9A",
"MediumTurquoise" , "#48D1CC",
"MediumVioletRed" , "#C71585",
"MidnightBlue" , "#191970",
"MintCream" , "#F5FFFA",
"MistyRose" , "#FFE4E1",
"Moccasin" , "#FFE4B5",
"NavajoWhite" , "#FFDEAD",
"Navy" , "#000080",
"OldLace" , "#FDF5E6",
"Olive" , "#808000",
"OliveDrab" , "#6B8E23",
"Orange" , "#FFA500",
"OrangeRed" , "#FF4500",
"Orchid" , "#DA70D6",
"PaleGoldenRod" , "#EEE8AA",
"PaleGreen" , "#98FB98",
"PaleTurquoise" , "#AFEEEE",
"PaleVioletRed" , "#D87093",
"PapayaWhip" , "#FFEFD5",
"PeachPuff" , "#FFDAB9",
"Peru" , "#CD853F",
"Pink" , "#FFC0CB",
"Plum" , "#DDA0DD",
"PowderBlue" , "#B0E0E6",
"Purple" , "#800080",
"Red" , "#FF0000",
"RosyBrown" , "#BC8F8F",
"RoyalBlue" , "#4169E1",
"SaddleBrown" , "#8B4513",
"Salmon" , "#FA8072",
"SandyBrown" , "#F4A460",
"SeaGreen" , "#2E8B57",
"SeaShell" , "#FFF5EE",
"Sienna" , "#A0522D",
"Silver" , "#C0C0C0",
"SkyBlue" , "#87CEEB",
"SlateBlue" , "#6A5ACD",
"SlateGray" , "#708090",
"SlateGrey" , "#708090",
"Snow" , "#FFFAFA",
"SpringGreen" , "#00FF7F",
"SteelBlue" , "#4682B4",
"Tan" , "#D2B48C",
"Teal" , "#008080",
"Thistle" , "#D8BFD8",
"Tomato" , "#FF6347",
"Turquoise" , "#40E0D0",
"Violet" , "#EE82EE",
"Wheat" , "#F5DEB3",
"White" , "#FFFFFF",
"WhiteSmoke" , "#F5F5F5",
"Yellow" , "#FFFF00",
"YellowGreen" , "#9ACD32");