/*--------------------------------------------------------------------
Basic Javascript Sheet - Frontoffice

Version: 1.0
Copyright: 2008, dicode® VOF - understanding internet
W: www.dicode.nl
E: info@dicode.nl
T: 0570-750680
--------------------------------------------------------------------*/

/* Global
--------------------------------------------------------------------*/

/* remove url dotted border */
$(document).ready(function() {
	
	var arr = document.getElementsByTagName('a');
	for(i = 0; i < arr.length; i++)
		arr[i].onfocus = new Function("this.blur()");
	
	var arr = document.getElementsByTagName('input');
	for(i = 0; i < arr.length; i++)
		if(arr[i].className == 'button')
			arr[i].onfocus = new Function("this.blur()");
			
	//FormElements.init();

	$('.popupwindow').each( function(index) {
		$(this).popupwindow({ nofollow : {
			height:768,
			width:1024,
			toolbar:1,
			scrollbars:1,
			status:1,
			resizable:1,
			left:0,
			top:0,
			center:1,
			createnew:0,
			location:1,
			menubar:1
		},
		route : {
			height:768,
			width:640,
			toolbar:0,
			scrollbars:1,
			status:0,
			resizable:0,
			left:0,
			top:0,
			center:1,
			createnew:0,
			location:0,
			menubar:0
		}
		});
	});

    $('img.hover').each(function() {
        if ($(this).attr('src').match(/-on\.(.+)$/i)) {
            $(this).removeClass('hover');
        }
    });

    $('img.hover').hover(function() {
        s = $(this).attr('src').replace(/\.([^.]+)$/i, '-on.$1');
        $(this).attr('src', s);
    }, function() {
        s = $(this).attr('src').replace(/-on\.([^.]+)$/i, '.$1');
        $(this).attr('src', s);
    });

    $('.eo').emptyonclick();

	$('*').ifixpng();
    
});

$(document).ready(function() {
	
	addTwitter();
});


function limitChars(textid, limit) {
	var text = $($.sprintf('#%s', textid)).val(); 
	var textlength = text.length;
	
	if(textlength > limit) {
		$($.sprintf('#%s', textid)).val(text.substr(0,limit));
		return false;
	} else {
		return true;
	}
}

String.prototype.parseURL = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(url) {
		return url.link(url).replace('<a', '<a rel="fullfront"');
	});
};

String.prototype.parseUsername = function() {
	return this.replace(/[@]+[A-Za-z0-9-_]+/, function(u) {
		var username = u.replace("@","")
		return u.link("http://twitter.com/"+username).replace('<a', '<a rel="fullfront"');
	});
};

String.prototype.parseHashtag = function() {
	return this.replace(/[#]+[A-Za-z0-9-_]+/, function(t) {
		var tag = t.replace("#","%23")
		return t.link("http://search.twitter.com/search?q="+tag).replace('<a', '<a rel="fullfront"');
	});
};

var $tc = '';

function addTwitter() {
	$.jTwitter('difeed', 1, function(userdata){
		var $start = 0;
		var $total = $('tr.tweet').length;
		$.each(userdata.reverse(), function(i,item){
			
			var $date = new Date();
			var $curr = new Date(item.created_at);
			var $one_hour = 1000*60*60;
			var $one_day = 1000*60*60*24;
			var $tmp = '';
			
			var months = new Array(12);
			months[0] = 'jan';
			months[1] = 'feb';
			months[2] = 'mrt';
			months[3] = 'apr';
			months[4] = 'mei';
			months[5] = 'jun';
			months[6] = 'jul';
			months[7] = 'aug';
			months[8] = 'sep';
			months[9] = 'okt';
			months[10] = 'nov';
			months[11] = 'dec';
			
			if(  ( Math.ceil($date.getTime() - $curr.getTime()) / $one_hour ) < 24 )
				$tmp = $.sprintf('%d hour ago', Math.ceil($date.getTime() - $curr.getTime()) / $one_hour );
			else if(  ( Math.ceil($date.getTime() - $curr.getTime()) / $one_hour ) >= 24 && ( Math.ceil($date.getTime() - $curr.getTime()) / $one_hour ) < 48 )
				$tmp = '1 day ago';
			else
				$tmp = $.sprintf('%d days ago', Math.ceil($date.getTime() - $curr.getTime()) / $one_day );

			$tmp = $.sprintf('%d %s, %d:%d', $date.getDate(), months[$date.getUTCMonth()], $date.getHours(), $date.getMinutes());

			$tc = item.text;
			if( $('#twittercontent').html() != $.sprintf('<div class="content">%s</div> <div class="date">difeed, %s</div>', item.text.parseURL().parseUsername().parseHashtag(), $tmp) )
				$('#twittercontent').html($.sprintf('<div class="content">%s</div> <div class="date">difeed, %s</div>', item.text.parseURL().parseUsername().parseHashtag(), $tmp));
			
		});
		$("#twittercontent a").each( function(index) {
			var myprofiles = {
						fullfront: {
							height:768,
							width:1024,
							toolbar:1,
							scrollbars:1,
							status:1,
							resizable:1,
							left:0,
							top:0,
							center:1,
							createnew:0,
							location:1,
							menubar:1
						}
					};			
			$(this).popupwindow(myprofiles);
		});

		setTimeout("addTwitter()", 10000);	

	});
}

function retweet() {
	window.open($.sprintf('http://twitter.com/home?status=RT @difeed %s', $tc));
}

function isEmail(strEmail) {
	var AtSym    = strEmail.indexOf('@')
	var Period   = strEmail.lastIndexOf('.')
	var Space    = strEmail.indexOf(' ')
	var Length   = strEmail.length - 1
	
	if( AtSym < 1 || Period <= AtSym + 1 || Period == Length || Space != -1 )
	 return false;

	return true;
}

function checkNewsletter() {

	if( ! isEmail($('#id_email').val()) ) {
		alert("U dient een geldig e-mailadres op te geven");
		$('#id_email').focus();
	} else
		$('#frm_nieuwsbrief').submit();	
}

function frontCheckTld() {
	
	if( $('#id_domainname').val() == "uwdomeinnaam" ) {
		alert("U dient een domeinnaam op te geven");
		$('#id_domainname').focus();
	} else
		$('#id_frmcheck').submit();
	
}

function newCheckTld() {
	$('.domainname').html($('#id_domainname').val()); 
	checkTlds($('#id_domainname').val(), $('#id_tld').getSetSSValue());
}

function checkTlds( $d, $t ) {
	
	if( $t == "*" ) {
		$.each($('option', $('#id_tld')), function( i, opt ) {
			if( $(opt).val() != "*" )
				checkTld($d, $(opt).val());
		});
		
	} else
		checkTld($d, $t);
	
}

function checkTld( $d, $t ) {
	
	$($.sprintf('#id_%s', $t.replace(".", ""))).fadeOut(function() {
		$($.sprintf('#id_%s', $t.replace(".", ""))).html($.sprintf('<img src="%simages/wait16.gif" alt="Controleren" width="16" height="16" style="vertical-align: middle" />', siteurl));
		$($.sprintf('#id_%s', $t.replace(".", ""))).fadeIn();
	});
	
	$.getJSON($.sprintf('%sxmlhttp/check/', siteurl), { domain: $d, tld: $t }, function(data) {
		if( data.state == 0 )
			$($.sprintf('#id_%s', $t.replace(".", ""))).fadeOut(function() {
				$($.sprintf('#id_%s', $t.replace(".", ""))).html($.sprintf('<img src="%simages/btn_sbezet.png" alt="bezet %s.%s" class="bezet %s.%s" />', siteurl, $d, $t, $d, $t));
				$($.sprintf('#id_%s', $t.replace(".", ""))).fadeIn();
			});
		else
			$($.sprintf('#id_%s', $t.replace(".", ""))).fadeOut(function() {
				$($.sprintf('#id_%s', $t.replace(".", ""))).html($.sprintf('<a href="http://www.dihost.nl/bestellen/" class="small"><img src="%simages/btn_sorder.png" alt="bestel %s.%s" class="bestel %s.%s" /></a>', siteurl, $d, $t, $d, $t));
				$($.sprintf('#id_%s', $t.replace(".", ""))).fadeIn();
			});
	});
	
}
