// ==UserScript==
// @name        Download video from http://vimeo.com/
// @version     1.01
// @date        2010-06-03
// @author      Mike Samokhvalov <mikivanch@gmail.com>
// @download    http://www.puzzleclub.ru/files/vimeo_com.js
// @include     http://vimeo.com/*
// @include     http://*.vimeo.com/*
// ==/UserScript==

(function(){function l(){var b=document.getElementById("clip_id");if(b&&b.value)return b.value;b=document.getElementsByTagName("embed");for(var a=0;a<b.length;a++){var f=b[a].getAttribute("flashvars",false);if(f)if((id=f.match(/(?:^|&)clip_id=(\d+)/i))&&id.length>1)return id[1]}b=document.getElementsByTagName("object");for(a=0;a<b.length;a++)if(f=b[a].getAttribute("data",false))if((id=f.match(/(?:\?|&)clip_id=(\d+)/i))&&id.length>1)return id[1];b=document.getElementsByTagName("param");for(a=0;a<b.length;a++)if(b[a].value)if((id=b[a].value.match(/(?:\?|&)clip_id=(\d+)/i))&&id.length>1)return id[1]}function j(b){if(b==undefined){b=l();if(!b)return}m("http://"+location.host+"/moogaloop/load/clip:"+b+"/",function(a){if(a.responseXML){var f="",h="",e=0,d="",c=a.responseXML.getElementsByTagName("request_signature");if(c&&c.length>0)f=c[0].text?c[0].text:c[0].textContent;if((c=a.responseXML.getElementsByTagName("request_signature_expires"))&&c.length>0)h=c[0].text?c[0].text:c[0].textContent;if((c=a.responseXML.getElementsByTagName("isHD"))&&c.length>0){e=parseInt(c[0].text?c[0].text:c[0].textContent);if(isNaN(e))e=0}if((a=a.responseXML.getElementsByTagName("video"))&&a.length>0)if((c=a[0].getElementsByTagName("caption"))&&c.length>0)d=c[0].text?c[0].text:c[0].textContent;if(f){if(d){d=d.replace(/[\x2F\x5C\x3A\x7C]/g,"-");d=d.replace(/[\x2A\x3F]/g,"");d=d.replace(/\x22/g,"'");d=d.replace(/\x3C/g,"(");d=d.replace(/\x3E/g,")");d=d.replace(/(?:^\s+)|(?:\s+$)/g,"")}a=d.length+8;if(a>64)a=64;f="http://vimeo.com/moogaloop/play/clip:"+b+"/"+f+"/";if(h)f+=h+"/";h='<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAAnRSTlMAAHaTzTgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAC/SURBVBjThY8hDwFhAIaf70O4IRg2pokkEmNTvvD9BjNB4C9oKlEVJCOeYOMHuE1wou121Ug3xY52AgLFm9732VseEfAd+bMJf0o/UVDG+zEH4GqNzi9gOhsA0vHJHSTuTlsnGHbD6YcF0p+WQsWpD/n2sWGDXEQzfkYugUQ+dQUR0G/NBgaYhyrscxKyHjagI17Uoymhvq6stneMpoPTMUQA4xguSmEeahoJ9G5uMgnosgYRANjbi1IvBfHX9gl5qzcKSzVEOgAAAABJRU5ErkJggg==" alt="r" title="refresh" style="vertical-align:middle;" onclick="this.src=\'data:image/gif;base64,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\'; window.ujsVimeoComUpdadeLinks();">&nbsp;';h+='Download:&nbsp;&nbsp;&nbsp;<a href="'+f+'?q=sd"><b>SD</b></a>';if(e)h+=',&nbsp;<a href="'+f+'?q=hd"><b>HD</b></a>';h+='&nbsp;&nbsp;&nbsp;<input type="text" size="'+a+'" value="'+d+'" onfocus="if(this.value && this.select){this.select()}">';if(e=document.getElementById(k))e.innerHTML=h;else{e=document.createElement("div");e.setAttribute("style","background: #fff; display: block; font-size: 9pt; line-height: 1.4; text-align: center !important; padding: 5px 0; z-index: 9999;",false);e.id=k;e.innerHTML=h;document.body.insertBefore(e,document.body.firstChild)}}}})}function m(b,a,f,h,e,d,c,i){var g=new XMLHttpRequest;if(g){c=c?c:navigator.userAgent;g.open(f?f:e?"POST":"GET",b,true);g.setRequestHeader("User-Agent",c);h&&g.setRequestHeader("Referer",h);d&&g.setRequestHeader("Cookie",d);if(e){g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.setRequestHeader("Content-Length",e.length)}if(i)for(b=0;b<i.length;b++)g.setRequestHeader(i[b][0],i[b][1]);g.onreadystatechange=function(){g.readyState==4&&a(g)};if(g.readyState!=4)e?g.send(e):g.send()}}var k="ujs_vimeo_com_panel";window.ujsVimeoComUpdadeLinks=j;document.addEventListener("DOMContentLoaded",function(){j()},false)})();
