sURLURLs = 0; /*function ordinal(s) { s = s.toString(); var c; if (s.length = 1) c = s; else c = s.substring(s.length-2,s.length-1); switch(c) { case '1': return 'st'; case '2': return 'nd'; case '3': return 'rd'; default : return 'th'; } }*/ window.addEvent('domready', function() { /* Init */ sURL = { countUrls: function() { var s = $('surl_fURL').value; var urls = s.toString().split("\n"); var re = /([a-z]{3,9}):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; sURLURLs = 0; for (var i = 0; i < urls.length; i++) if (re.test(urls[i].trim()) && urls[i].trim() != '') sURLURLs++; /*sURL.calcForm();*/ /*if (text != trim) { $('surl_fURL').value = trim; }*/ }, calcForm: function() { sURL.countUrls(); var s = 'URLs: '; s += sURLURLs + ' '; s += 'Type: '; if ($('surl_fSimple').checked) s += 'just redirect, no cache or screenshot'; else if ($('surl_fPreview').checked) s += 'preview'; else if ($('surl_fIframe').checked) s += 'use iframe'; else if ($('surl_fCache').checked) s += 'show cache'; else if (sURLURLs > 1) { s += 'preview'; $('surl_fRedirect').disabled = true; $('surl_fPreview').checked = true; } else s += 'redirect'; s += ' '; s += 'Options: '; /* if ($('surl_fSearchable').checked) s += 'searchable'; else s += 'non searchable'; s += ', '; */ if ($('surl_fCase').checked) s += 'case insensitive, '; if ($('surl_fCustom').checked && $('surl_fCustom1').value.length > 0) s += 'custom name'; else s += 'random name'; s += ', '; if ($('surl_fPwd').checked && $('surl_fPwd1').value == $('surl_fPwd2').value && $('surl_fPwd1').value.length > 0) s += 'private'; else s += 'public'; var dd = $('surl_fEnd1').value; s += ', '; if (((dd - 0) == dd && dd .length > 0) && $('surl_fEnd').checked) s += 'expires in %s days'.replace('%s', dd); else s += 'no due date'; $('surl_Param').innerHTML = s; }, buttons: new Array ( 'info', 'type', 'advanced', 'more'), input: new Array( 'desc', /*'tags',*/ 'url', 'custom', 'end' ), checks: new Array( 'xcase', 'custom', 'end' ), div_result: 'surl_dResult', form_pw1: 'surl_fPwd1', form_pw2: 'surl_fPwd2', form_custom: 'surl_fCustom1', form_end: 'surl_fEnd1', init: function () { $each(this.buttons, function(code, idx) { var d =this.data[code]; d['morph'] = new Fx.Morph(d['div']); d['morph'].start({ height: '0px' }); d['div'].fade(0); d['link'].addEvent('click', function(e) { e.stop(); this.showOptions(code); }.bind(this) ); }, this); /*this.get('result','div').fade(0);*/ $each(this.input, function(code, idx) { var d = this.data[code]; d['morph'] = new Fx.Morph(d['form'], { duration: (d['duration']) ? d['duration'] : 500 } ); d['form'].addEvents({ 'focus': function(e) { var x = this.data[code]; if (x['form'].value == x['text']) x['form'].value = ''; x['morph'].start( { 'background-color': '#FFFF88' } ); }.bind(this), 'blur': function(e) { var x = this.data[code]; x['morph'].start( { 'background-color': '#FFFFFF' } ); if (x['form'].value == '') x['form'].value = x['text']; }.bind(this) }); },this); /* $each(this.input, function(code, idx) { var d = this.data[code]; d['morph'] = new Fx.Morph(d['form']); d['form'].addEvents({ 'focus': function(e) { e.stop(); var x = this.data[code]; if (x['form'].value == x['text']) x['form'].value = ''; x['morph'].start( { 'background-color': '#FFFF88' } ); }.bind(this), 'blur': function(e) { e.stop(); var x = this.data[code]; x['morph'].start( { 'background-color': '#FFFFFF' } ); if (x['form'].value == '') x['form'].value = x['text']; }.bind(this) }); },this); */ this.dResult = new Fx.Morph(this.div_result); this.fPwd1 = new Fx.Morph(this.form_pw1); this.fPwd2 = new Fx.Morph(this.form_pw2); /*this.fCustom1 = new Fx.Morph(this.form_custom); this.fEnd1 = new Fx.Morph(this.form_end);*/ }, data: { result: { div: $('surl_dResult'), toggle: 0 }, info: { div: $('surl_dDesc'), link: $('surl_pInfo'), toggle: 0, css: 'info', px: '80px', bg: '#770000' }, advanced: { div: $('surl_dAdvanced'), link: $('surl_pAdvanced'), toggle: 0, css: 'advanced', px: '145px', bg: '#007700' }, type: { div: $('surl_dType'), link: $('surl_pType'), toggle: 0, css: 'type', px: '125px', bg: '#000077' }, more: { div: $('surl_dMore'), link: $('surl_pMore'), toggle: 0, css: 'more', px: '25px', bg: '#000077' }, desc: { text: '', form: $('surl_fDesc'), }, url: { duration: 200, text: 'http://', form: $('surl_fURL') }, xcase: { text: '', check: $('surl_fCase'), form: null }, custom: { text: '', check: $('surl_fCustom'), form: $('surl_fCustom1') }, end: { text: '', check: $('surl_fEnd'), form: $('surl_fEnd1') } }, get: function(t,v) { return this.data[t][v]; }, showOptions: function(t) { var d = this.data[t]; d['link'].className = (d['toggle'] == 0) ? d['css'] : ''; d['morph'].start({ height: (d['toggle'] == 0) ? d['px'] : '0px',/*'background-color': (d['toggle'] == 0) ? d['bg'] : '#ffffff' */ }); d['toggle'] = (d['toggle'] + 1) % 2; d['div'].fade(d['toggle']); this.data['result']['div'].set('html', ''); this.dResult.start({ height: '0px' }); this.data['result']['div'].fade(0); }, collapseOptions: function() { $each(this.buttons, function(code, idx) { if (this.data[code]['toggle'] == 1) this.showOptions(code); }, this); } }; sURL.init(); /*sURL.calcForm();*/ setInterval('sURL.calcForm();', 1000); sURL.get('url','form').addEvent('keyup', function(e) { var el = sURL.get('url','form'); var em = sURL.get('url','morph'); var event = new Event(e); var text = el.value; var trim = text.trim(); var lines = trim.match(new RegExp("\n","g")); lines = (lines == null) ? 0 : lines.length; if (event.key == 'enter') lines++; if (lines > 0) { var h = 25 * (lines+1) + (lines+1 * 3); em.start( {'height' : h + 'px' } ); var dm = new Fx.Morph('surl_dSearch', {duration:200}); dm.start( { 'margin-bottom' : (h-25) + 'px' } ); } else if (el.style.height != null) { em.start( { 'height' : '25px'} ); var dm = new Fx.Morph('surl_dSearch', {duration:200}); dm.start( { 'margin-bottom' : '0px' } ); } sURL.countUrls(); }); $('surl_Form').addEvent('submit', function(e) { e.stop(); sURL.collapseOptions(); var res = $('surl_dResult'); res.set('tween', {duration: 50}); res.fade(0); /*res.set('styles', { 'visibility': 'hidden'} );*/ var s = $('surl_fURL').value; var urls = s.toString().split("\n"); var re = /([a-z]{3,9}):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; for (var i = 0; i < urls.length; i++) { if (!re.test(urls[i].trim()) && urls[i].trim() != '') { var html = '
';*/
this.set('send', {
onFailure: function(response){
var html = '