src/js/widgets/slideShareWidget.js
changeset 862 71d80cda96de
parent 861 05f75ca6b5de
child 869 faae5df935de
equal deleted inserted replaced
861:05f75ca6b5de 862:71d80cda96de
    90 				},
    90 				},
    91 				error: function(jqXHR, textStatus, errorThrown){
    91 				error: function(jqXHR, textStatus, errorThrown){
    92 					self.containerDiv.html("Error while downloading the slideshow. jqXHR = " + jqXHR + ", textStatus = " + textStatus + ", errorThrown = " + errorThrown);
    92 					self.containerDiv.html("Error while downloading the slideshow. jqXHR = " + jqXHR + ", textStatus = " + textStatus + ", errorThrown = " + errorThrown);
    93 				}
    93 				}
    94     		});
    94     		});
    95     		
       
    96     		/*
       
    97     		var url = this.url_proxy;
       
    98     		if(url.search(/\?/)<0){
       
    99     			url += "?";
       
   100     		}
       
   101     		url += "&" + this.parameter_name + "=" + this.lastSlide;
       
   102     		
       
   103     		IriSP.jQuery.ajax({
       
   104 				url: url,
       
   105 				success: function(xml) {
       
   106 					xml = IriSP.jQuery.parseXML(xml);
       
   107 					self.containerDiv.html(xml);
       
   108 				},
       
   109 				error: function(jqXHR, textStatus, errorThrown){
       
   110 					self.containerDiv.html("Error while downloading the slideshow. jqXHR = " + jqXHR + ", textStatus = " + textStatus + ", errorThrown = " + errorThrown);
       
   111 				}
       
   112     		});
       
   113     		
       
   114     		*/
       
   115     		
       
   116     		
       
   117     		
       
   118     		return;
    95     		return;
   119     	}
    96     	}
   120     }
    97     }
   121   }
    98   }
   122   if(found==false){
    99   if(found==false){
   151 };
   128 };
   152 
   129 
   153 IriSP.SlideShareWidget.prototype.hide = function() {
   130 IriSP.SlideShareWidget.prototype.hide = function() {
   154   this.selector.hide();
   131   this.selector.hide();
   155 };
   132 };
   156 
       
   157 
       
   158 // SHA1ise function
       
   159 IriSP.SlideShareWidget.prototype.sha1 = function(msg) {
       
   160 	 
       
   161 	function rotate_left(n,s) {
       
   162 		var t4 = ( n<<s ) | (n>>>(32-s));
       
   163 		return t4;
       
   164 	};
       
   165  
       
   166 	function lsb_hex(val) {
       
   167 		var str="";
       
   168 		var i;
       
   169 		var vh;
       
   170 		var vl;
       
   171  
       
   172 		for( i=0; i<=6; i+=2 ) {
       
   173 			vh = (val>>>(i*4+4))&0x0f;
       
   174 			vl = (val>>>(i*4))&0x0f;
       
   175 			str += vh.toString(16) + vl.toString(16);
       
   176 		}
       
   177 		return str;
       
   178 	};
       
   179  
       
   180 	function cvt_hex(val) {
       
   181 		var str="";
       
   182 		var i;
       
   183 		var v;
       
   184  
       
   185 		for( i=7; i>=0; i-- ) {
       
   186 			v = (val>>>(i*4))&0x0f;
       
   187 			str += v.toString(16);
       
   188 		}
       
   189 		return str;
       
   190 	};
       
   191  
       
   192  
       
   193 	function Utf8Encode(string) {
       
   194 		string = string.replace(/\r\n/g,"\n");
       
   195 		var utftext = "";
       
   196  
       
   197 		for (var n = 0; n < string.length; n++) {
       
   198  
       
   199 			var c = string.charCodeAt(n);
       
   200  
       
   201 			if (c < 128) {
       
   202 				utftext += String.fromCharCode(c);
       
   203 			}
       
   204 			else if((c > 127) && (c < 2048)) {
       
   205 				utftext += String.fromCharCode((c >> 6) | 192);
       
   206 				utftext += String.fromCharCode((c & 63) | 128);
       
   207 			}
       
   208 			else {
       
   209 				utftext += String.fromCharCode((c >> 12) | 224);
       
   210 				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
       
   211 				utftext += String.fromCharCode((c & 63) | 128);
       
   212 			}
       
   213  
       
   214 		}
       
   215  
       
   216 		return utftext;
       
   217 	};
       
   218  
       
   219 	var blockstart;
       
   220 	var i, j;
       
   221 	var W = new Array(80);
       
   222 	var H0 = 0x67452301;
       
   223 	var H1 = 0xEFCDAB89;
       
   224 	var H2 = 0x98BADCFE;
       
   225 	var H3 = 0x10325476;
       
   226 	var H4 = 0xC3D2E1F0;
       
   227 	var A, B, C, D, E;
       
   228 	var temp;
       
   229  
       
   230 	msg = Utf8Encode(msg);
       
   231  
       
   232 	var msg_len = msg.length;
       
   233  
       
   234 	var word_array = new Array();
       
   235 	for( i=0; i<msg_len-3; i+=4 ) {
       
   236 		j = msg.charCodeAt(i)<<24 | msg.charCodeAt(i+1)<<16 |
       
   237 		msg.charCodeAt(i+2)<<8 | msg.charCodeAt(i+3);
       
   238 		word_array.push( j );
       
   239 	}
       
   240  
       
   241 	switch( msg_len % 4 ) {
       
   242 		case 0:
       
   243 			i = 0x080000000;
       
   244 		break;
       
   245 		case 1:
       
   246 			i = msg.charCodeAt(msg_len-1)<<24 | 0x0800000;
       
   247 		break;
       
   248  
       
   249 		case 2:
       
   250 			i = msg.charCodeAt(msg_len-2)<<24 | msg.charCodeAt(msg_len-1)<<16 | 0x08000;
       
   251 		break;
       
   252  
       
   253 		case 3:
       
   254 			i = msg.charCodeAt(msg_len-3)<<24 | msg.charCodeAt(msg_len-2)<<16 | msg.charCodeAt(msg_len-1)<<8	| 0x80;
       
   255 		break;
       
   256 	}
       
   257  
       
   258 	word_array.push( i );
       
   259  
       
   260 	while( (word_array.length % 16) != 14 ) word_array.push( 0 );
       
   261  
       
   262 	word_array.push( msg_len>>>29 );
       
   263 	word_array.push( (msg_len<<3)&0x0ffffffff );
       
   264  
       
   265  
       
   266 	for ( blockstart=0; blockstart<word_array.length; blockstart+=16 ) {
       
   267  
       
   268 		for( i=0; i<16; i++ ) W[i] = word_array[blockstart+i];
       
   269 		for( i=16; i<=79; i++ ) W[i] = rotate_left(W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16], 1);
       
   270  
       
   271 		A = H0;
       
   272 		B = H1;
       
   273 		C = H2;
       
   274 		D = H3;
       
   275 		E = H4;
       
   276  
       
   277 		for( i= 0; i<=19; i++ ) {
       
   278 			temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;
       
   279 			E = D;
       
   280 			D = C;
       
   281 			C = rotate_left(B,30);
       
   282 			B = A;
       
   283 			A = temp;
       
   284 		}
       
   285  
       
   286 		for( i=20; i<=39; i++ ) {
       
   287 			temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;
       
   288 			E = D;
       
   289 			D = C;
       
   290 			C = rotate_left(B,30);
       
   291 			B = A;
       
   292 			A = temp;
       
   293 		}
       
   294  
       
   295 		for( i=40; i<=59; i++ ) {
       
   296 			temp = (rotate_left(A,5) + ((B&C) | (B&D) | (C&D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;
       
   297 			E = D;
       
   298 			D = C;
       
   299 			C = rotate_left(B,30);
       
   300 			B = A;
       
   301 			A = temp;
       
   302 		}
       
   303  
       
   304 		for( i=60; i<=79; i++ ) {
       
   305 			temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;
       
   306 			E = D;
       
   307 			D = C;
       
   308 			C = rotate_left(B,30);
       
   309 			B = A;
       
   310 			A = temp;
       
   311 		}
       
   312  
       
   313 		H0 = (H0 + A) & 0x0ffffffff;
       
   314 		H1 = (H1 + B) & 0x0ffffffff;
       
   315 		H2 = (H2 + C) & 0x0ffffffff;
       
   316 		H3 = (H3 + D) & 0x0ffffffff;
       
   317 		H4 = (H4 + E) & 0x0ffffffff;
       
   318  
       
   319 	}
       
   320  
       
   321 	var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);
       
   322  
       
   323 	return temp.toLowerCase();
       
   324  
       
   325 };