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 = '

sURL Error

'; html += '
' + ((urls.length == 1) ? 'Invalid URL' : 'One or more URLs are invalid'.replace('%s', '#' + (i+1) )) + '
'; res.set('html', html); res.set('tween', {duration: 700}); res.fade(1); return false; } } /*res.innerHTML = '';*/ this.set('send', { onFailure: function(response){ var html = '

sURL Error

'; html += '
' + response.responseText + '
'; res.set('html', html); res.set('tween', {duration: 700}); res.fade(1); }, onComplete: function(surlCode) { if (typeof surlCode == "undefined") return; var l = 'http://surl.it/'+surlCode; var html = '

sURL Link

'; var ll = $('surl_fURL').value.length; var compr = (Math.round(100 * (100 - (100 * (l.length) / ll )))) / 100; html += ''; res.set('html', html); res.set('tween', {duration: 700}); res.fade(1); $('surlCodeWeb').addEvent('click', function(e) { this.focus(); this.select(); }); $('surlCodeBB').addEvent('click', function(e) { this.focus(); this.select(); }); (new Request({ url: $('surl_Form').get('action'), data: { 'async' : '1', 'social' : '1', 'surlCode' : surlCode }, onRequest: function() { }, onComplete: function(r) { $('surl_dResult').innerHTML += '

Social Bookmarking

'; $('surl_dResult').innerHTML += r.replace(/surlDescr/g,($('surl_fDesc').value.replace(/^\s+/, '') == '') ? 'http://surl.it/' + surlCode : $('surl_fDesc').value ); /*$(code+'Text').innerHTML = r; $(code+'Text').set('tween', {duration: 500}); $(code+'Text').fade(1); */ }}, this)).send(); }}); $('surl_fAsync').value = '1' + Math.floor(Math.random()*5) + "" + (new Date()).getTime(); this.send(); }); $each(['surl_fPwd1','surl_fPwd2'], function(code, i){ $(code).addEvent('focus', function(e) { /*alert(code);*/ e.stop(); sURL.fPwd1.start( { 'background-color': '#FFFF88' } ); sURL.fPwd2.start( { 'background-color': '#FFFF88' } ); }); $(code).addEvent('blur', function(e) { e.stop(); if ($('surl_fPwd2').value.length == 0) return; var clr = '#FFBEBE'; if ($('surl_fPwd1').value == $('surl_fPwd2').value && $('surl_fPwd1').value.length > 0) clr = '#CDEB8B'; sURL.fPwd1.start( { 'background-color': clr } ); sURL.fPwd2.start( { 'background-color': clr } ); }); }, this); /* $('surl_fCustom1').addEvent('focus', function(e) { e.stop(); sURL.fCustom1.start( { 'background-color': '#FFFF88' } ); $('surl_fCustom').checked = true; }); $('surl_fCustom1').addEvent('blur', function(e) { e.stop(); if ($('surl_fCustom1').value.length > 0) checkKey.send({ url: 'check_key.txt?p='+encodeURIComponent($('surl_fCustom1').value) + '&t=' + Math.floor(Math.random()*5) + "" + (new Date()).getTime(), }); else sURL.fCustom1.start( { 'background-color': '#FFFFFF' } ); }); */ $('surl_fCustom').addEvent('click', function(e) { $('surl_fCustom1').disabled = !($('surl_fCustom').checked); }); $('surl_fEnd').addEvent('click', function(e) { $('surl_fEnd1').disabled = !($('surl_fEnd').checked); }); $('surl_lPwd').addEvent('click', function(e) { $('surl_fPwd2').disabled = $('surl_fPwd1').disabled = (!$('surl_fPwd').checked); }); /* var checkKey = new Request({ onSuccess: function(txt){ sURL.fCustom1.start( { 'background-color': (txt == 'true') ? '#CDEB8B' : '#FFBEBE' } ); $('surl_fCustom').checked = (txt == 'true') ? true : false; } }); */ var surlMenu = ['surlMenuAbout', 'surlMenuFeautures', 'surlMenuExamples', 'surlMenuTerms']; /*var surlMenuShow = (function() { var x = $random(0, surlMenu.length-1); alert(surlMenu[x]); $(surlMenu[x]).fireEvent('click'); }).periodical(5000);*/ $each(surlMenu, function(code, idx) { $(code+'Text').set('styles', { 'visibility': 'hidden', 'opacity':0} ); $(code).addEvent('click', function(e) { if (e) { /*$clear(surlMenuShow);*/ e.stop(); } var l = $(code).get('href'); if ($(code+'Text').innerHTML == '') { var req = new Request({ method: 'get', url: l, data: { 'async' : '1' }, onRequest: function() { }, onComplete: function(r) { $(code+'Text').innerHTML = r; $(code+'Text').set('tween', {duration: 500}); $(code+'Text').fade(1); } }, this).send(); } $each(surlMenu, function(c,d) { if (c != code) { $(c+'Text').fade(0); $(c).removeClass('surlMenuClicked'); } } ); if ($(code+'Text').innerHTML != '') $(code+'Text').fade(1); $(code).addClass('surlMenuClicked'); },this); } ); $('surl_Form').reset(); sURL.get('custom', 'form').disabled = sURL.get('end', 'form').disabled = $('surl_fPwd1').disabled = $('surl_fPwd2').disabled = true; var tLoc = window.location + ""; var foundGet = tLoc.indexOf('?'); if (foundGet > -1) { tLoc = tLoc.substring(foundGet + 1, tLoc.length); tPairs = tLoc.split('&'); for (var i = 0; i < tPairs.length; i++) { tGet = tPairs[i].split('='); if (tGet[0] == 'url') { sURL.get('url','form').value = decodeURIComponent(tGet[1].replace(/\+/g,' ')); } } } sURL.countUrls(); sURL.calcForm(); /*$('surl_fDesc').value = sURL.get('desc','text'); $('surl_fTags').value = sURL.get('tags','text');*/ });