aboutsummaryrefslogtreecommitdiffstats
path: root/themes/default/js/scripts.js
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2010-03-13 00:00:52 +0000
committerplegall <plg@piwigo.org>2010-03-13 00:00:52 +0000
commit14778ce673277f2df41f963aa70df1cbed427294 (patch)
tree8c723d4d9827876dbf19d2bd581405fc50910860 /themes/default/js/scripts.js
parentc396f08708d431c6f7e8656eaca4fd8e440fdd39 (diff)
feature 1502: based on Dotclear model, P@t has reorganized the way Piwigo
manages template/theme in a simpler "theme only level" architecture. It supports multiple level inheritance. git-svn-id: http://piwigo.org/svn/trunk@5123 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'themes/default/js/scripts.js')
-rw-r--r--themes/default/js/scripts.js188
1 files changed, 188 insertions, 0 deletions
diff --git a/themes/default/js/scripts.js b/themes/default/js/scripts.js
new file mode 100644
index 000000000..d4595435b
--- /dev/null
+++ b/themes/default/js/scripts.js
@@ -0,0 +1,188 @@
+function SelectAll( formulaire )
+{
+var len = formulaire.elements.length;
+var i=0;
+for( i = 0; i < len; i++)
+{
+ if ( formulaire.elements[i].type=='checkbox'
+ && formulaire.elements[i].name != 'copie')
+ {
+ formulaire.elements[i].checked = true;
+ }
+}
+}
+
+function DeselectAll( formulaire )
+{
+var len = formulaire.elements.length;
+var i=0;
+for( i = 0; i < len; i++)
+{
+ if ( formulaire.elements[i].type=='checkbox'
+ && formulaire.elements[i].name != 'copie')
+ {
+ formulaire.elements[i].checked = false;
+ }
+}
+}
+
+function Inverser( formulaire )
+{
+var len = formulaire.elements.length;
+var i=0;
+for( i=0; i<len; i++)
+{
+ if ( formulaire.elements[i].type=='checkbox'
+ && formulaire.elements[i].name != 'copie')
+ {
+ formulaire.elements[i].checked = !formulaire.elements[i].checked;
+ }
+}
+}
+
+function phpWGOpenWindow(theURL,winName,features)
+{
+ img = new Image();
+ img.src = theURL;
+ if (img.complete)
+ {
+ var width=img.width +40;
+ var height=img.height +40;
+ }
+ else
+ {
+ var width=640;
+ var height=480;
+ img.onload = resizeWindowToFit;
+ }
+ newWin = window.open(theURL,winName,features+',left=2,top=1,width=' + width + ',height=' + height);
+}
+
+function resizeWindowToFit()
+{
+ newWin.resizeTo( img.width+50, img.height+100);
+}
+
+function popuphelp(url)
+{
+ window.open( url, 'dc_popup',
+ 'alwaysRaised=yes,dependent=yes,toolbar=no,height=420,width=500,menubar=no,resizable=yes,scrollbars=yes,status=no'
+ );
+}
+
+
+
+Function.prototype.pwgBind = function() {
+ var __method = this, object = arguments[0], args = new Array();
+ for (var i=1; i<arguments.length; i++)
+ args[i-1] = arguments[i];
+ return function() { return __method.apply(object, args); }
+}
+
+function PwgWS(urlRoot)
+{
+ this.urlRoot = urlRoot;
+ this.options = {
+ method: "GET",
+ async: true,
+ onFailure: null,
+ onSuccess: null
+ };
+};
+
+PwgWS.prototype = {
+
+ callService : function(method, parameters, options)
+ {
+ if (options)
+ {
+ for (var property in options)
+ this.options[property] = options[property];
+ }
+ try { this.transport = new XMLHttpRequest();}
+ catch(e) {
+ try { this.transport = new ActiveXObject('Msxml2.XMLHTTP'); }
+ catch(e) {
+ try { this.transport = new ActiveXObject('Microsoft.XMLHTTP'); }
+ catch (e){
+ dispatchError(0, "Cannot create request object");
+ }
+ }
+ }
+ this.transport.onreadystatechange = this.onStateChange.pwgBind(this);
+
+ var url = this.urlRoot+"ws.php?format=json";
+
+ var body = "method="+method;
+ if (parameters)
+ {
+ for (var property in parameters)
+ {
+ if ( typeof parameters[property] == 'object' && parameters[property])
+ {
+ for (var i=0; i<parameters[property].length; i++)
+ body += "&"+property+"[]="+encodeURIComponent(parameters[property][i]);
+ }
+ else
+ body += "&"+property+"="+encodeURIComponent(parameters[property]);
+ }
+ }
+
+ if (this.options.method == "POST" )
+ {
+ this.transport.open(this.options.method, url, this.options.async);
+ this.transport.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
+ this.transport.send(body);
+ }
+ else
+ {
+ url += "&"+body;
+ this.transport.open(this.options.method, url, this.options.async);
+ this.transport.send(null);
+ }
+ },
+
+ onStateChange: function() {
+ var readyState = this.transport.readyState;
+ if (readyState == 4)
+ this.respondToReadyState(this.transport.readyState);
+ },
+
+ dispatchError: function( httpCode, text )
+ {
+ !this.options.onFailure || this.options.onFailure( httpCode, text);
+ },
+
+ respondToReadyState: function(readyState)
+ {
+ var transport = this.transport;
+ if (readyState==4 && transport.status == 200)
+ {
+ var resp;
+ try {
+ eval('resp = ' + transport.responseText);
+ }
+ catch (e) {
+ this.dispatchError( 200, e.message + '\n' + transport.responseText.substr(0,512) );
+ }
+ if (resp!=null)
+ {
+ if (resp.stat==null)
+ this.dispatchError( 200, "Invalid response" );
+ else if (resp.stat=='ok')
+ {
+ if (this.options.onSuccess) this.options.onSuccess( resp.result );
+ }
+ else
+ this.dispatchError( 200, resp.err + " " + resp.message);
+ }
+ }
+ if (readyState==4 && transport.status != 200)
+ this.dispatchError( transport.status, transport.statusText );
+ },
+
+
+ transport: null,
+ urlRoot: null,
+ options: {}
+}