var _ajaxServer = '/ajax_server.php';

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else { 
		var expires = "";
	};
	document.cookie = name+"="+value+expires+"; path=/";
};


jQuery(window).load(function() {
	try {
		jQuery('div#carousel img.ajax_loader').hide();
		jQuery('div#carousel div.c_rgt > img').show();
		// active the carousel
		jQuery('#mycarousel').jcarousel({
			scroll : 1,
	        animation:1000, // in ms seconds
	        auto: 9,  // in seconds
	        easing:"linear",
	        wrap:"last",
	        initCallback: mycarousel_initCallback,
	        itemFirstInCallback:  mycarousel_itemFirstInCallback,
	        buttonNextHTML: null,
	        buttonPrevHTML: null
	    });
	} catch (error) {
	  	// prevent error message
	};

});
jQuery(document).ready(function() {
	jQuery(document).pngFix();
	jQuery('a.fancybox').fancybox();
	// activate the superfish menu
    jQuery("ul.sf-menu").supersubs({
		minWidth:    12,   // minimum width of sub-menus in em units 
        maxWidth:    24,   // maximum width of sub-menus in em units 
        extraWidth:  1	
	}).superfish({animation:   {opacity:'show',height:'show'}}); 
	/*jQuery("ul.sf-menu ul li").animate({
	    opacity: 0.90,
	  }, 10, function() {  
	}); */
	
	/* left menu */
	jQuery('div.subpage_menu_lft ul li').hover(
		function() {
			jQuery("> span > a", jQuery(this)).addClass('hover')
		}, 
		function() {
			jQuery("> span > a", jQuery(this)).removeClass('hover')
		}
	);
	/* top menu */
	jQuery('ul.sf-menu li:not(.search_bar)').hover(
		function() {
			jQuery(this).addClass('hover')
		}, 
		function() {
			jQuery(this).removeClass('hover')
		}
	);

 	jQuery('div.home_block_content_lft > ul').innerfade(
	 	{ 
		 	speed: 'slow', 
			 timeout: 4000, 
			 type: 'sequence', 
			 containerheight: '68px'
		}
	);
	
	jQuery('div.sitemap_footer_close_button').click(function() {
	   	if(jQuery('div.sitemap_footer div.inner_wrapper').css('display') == 'block') {
	   		jQuery('div.sitemap_footer div.inner_wrapper').hide('fast');
	   		createCookie("sitemap_footer_hide",1,365);
	   	} else {
		    jQuery('div.sitemap_footer div.inner_wrapper').show('fast');
		    createCookie("sitemap_footer_hide",0,365);
		};
	   	return false;
	});
	jQuery("a[href^='http://'],a[href^='www.'],a[href^='https://'],a[rel='external']").not("a[href^='http://www.wielink.nu']").attr('target','_blank');
	
	/* portfolio */
	Portfolio.activateClicks();
	jQuery("a[rel^='external']").attr({target:'_blank'});
	
	/* whois */
	jQuery('form#whois_id').submit(function() {
		if (this.domain.value != "" && this.domain.value.match(/^(?:http:\/\/)?(?:www\.)?(.+?)\.([a-zA-Z]+)$/g)) {
			var regexResults = /^(?:http:\/\/)?(?:www\.)?([^\.]+)\.(.+)$/gi.exec(this.domain.value);
			if (regexResults && regexResults.length > 2) {
				var tlds = ['.nl','.eu','.com','.net','.be','.de','.info','.org','.nu'];
	            for (var i=0; i < tlds.length; i++) {
				 	if (tlds[i] == '.'+regexResults[2]) {
						tlds.splice(i, 1); 
					};
				};
				// add the entered tld
				jQuery('tr td label.error').hide();
				jQuery('div#whois_results').show().html('<img src="/img/ajax_loader_small.gif" />');
				jQuery.get(_ajaxServer + '?app=frontPage&module=whois',
			  	{ 
			  		domain: regexResults[1] + "."+regexResults[2]
				},
			  	function(data){
			  		if (data) {  
					  	jQuery('div#whois_results').append('<div class="header">Door u gekozen domeinnaam:</div>');       
			  			jQuery('div#whois_results > img').hide();
						jQuery('div#whois_results').append(data);
						for (var i=0; i < (tlds.length-1); i++) {
							if (i == 0)
								jQuery('div#whois_results').append('<div class="header">Overige TLD\'s:</div>');
							jQuery.get(_ajaxServer + '?app=frontPage&module=whois',
						  	{ 
						  		domain: regexResults[1] + tlds[i]
							},
						  	function(data){
						  		if (data) {
						  			jQuery('div#whois_results').append(data);
						  		}
						  	});
						};
						return false;
			  		}
			  	}); 
			};
			return false;
		} else {
			jQuery('tr td label.error', this).show();
		};
		return false;
	});
	// call me back
	jQuery("#call_me_back").validate({
	 	submitHandler: function(form) {
	 		jQuery.post(_ajaxServer + '?app=frontPage&module=call_back',
		  	{ 
		  		data : jQuery(form).serialize()
			},
		  	function(data){
		  		if (data) {
			   		var parent = jQuery('form#call_me_back').parent();
			   		jQuery(parent).html('<p>Het bericht is succesvol verstuurd. Er zal z.s.m. contact met u worden opgenomen.</p>');
			   		return false;
			   	};
			});
	   }
	}); 

});


var Ticket = {

	setNewValue		: function(field, value, id)
	{
	 	jQuery.post('?ajax_call=true',
	  	{ 
	  		action: 'setValue',
	  		field: field,
	  		value: value,
	  		id : id
		},
	  	function(data){
	  		if (data) {
	  			jQuery('div#'+field).show('fast');
	  			setTimeout(function() {
					jQuery('div#'+field).hide('fast');  
				}, 4000);
				if (field == 'ticket_state_id' && value == 3) {
					jQuery('div.reply_wrapper').hide();
				} else {
				    jQuery('div.reply_wrapper').show();
				}
				return false;
	  		}
	  	}); 	
	}  
};

function mycarousel_initCallback(carousel) {
	var i = 1;
	while(i < 6) {               
		jQuery('area#carousel_nav_' + i).bind('click', function() {
			var id = this.id.replace('carousel_nav_','');
		  	jQuery('img.carousel_nav').attr({src: '/img/carousel_nav_0'+id+'.png'});
	      	carousel.scroll(jQuery.jcarousel.intval(id));
	      	carousel.stopAuto();
	      	carousel.auto = 0;
	      	return false;
		});
		i++;
	};
};

function mycarousel_itemFirstInCallback(carousel, item, idx, state) {
    jQuery('img.carousel_nav').attr({src: '/img/carousel_nav_0'+idx+'.png'});
};

var Portfolio = {

	navigate		: function(pageNumber)
	{
		jQuery('ul.portfolio_list').fadeTo('fast', 0.1, function() {
      		jQuery('div.block_content_wrapper_portfolio div.nav_loader').show();	
	    });
	    location.hash = '#' + pageNumber;
	    jQuery.get(_ajaxServer + '?app=frontPage&module=portfolio',
	  	{ 
	  		action: 'navigate',
	  		pageID : pageNumber
		},
	  	function(data){
	  		if (data) {
	  			jQuery('div.block_content_wrapper_portfolio div.nav_loader').hide();
	  			jQuery('div.sub_content_include').html(data);
	  			Portfolio.activateClicks();
				return false;
	  		}
	  	}); 	
	},
	
	activateClicks	: function()
	{
		jQuery('ul.portfolio_list li > h2').click(function() {
		 	jQuery('ul.portfolio_list li > div').hide("fast");
		 	jQuery('ul.portfolio_list li img.open').attr('src','/img/downloads_klein.png');
		 	if (jQuery(this).next().css('display') == 'none') {
			 	jQuery(this).next().show('fast');
			 	jQuery(this).prev().attr('src','/img/downloads_klein_up.png');
			};
		 	return false;
		 });
		 jQuery('ul.portfolio_list li > img.open').click(function() {
		 	jQuery('ul.portfolio_list li > div').hide("fast");
		 	jQuery('ul.portfolio_list li img.open').attr('src','/img/downloads_klein.png');
		 	if (jQuery(this).next().next().css('display') == 'none') {
			 	jQuery(this).next().next().show('fast');
			 	jQuery(this).attr('src','/img/downloads_klein_up.png');
			};
		 	return false;
		 });
		 jQuery('ul.portfolio_list li div.middle img').click(function() {
		    var id = jQuery(this).attr('id').replace('image_','');
		    jQuery('> a:first img', jQuery(this).parent().prev()).attr('src', '/foto/' + id + '/180/image.jpg');
		    jQuery('> a:first', jQuery(this).parent().prev()).attr('href', '/foto/' + id + '/600/image.jpg');
		    return false;
		 });
		 jQuery("a[rel^='external']").attr({target:'_blank'});
		 jQuery('a.fancybox').fancybox();
	}
};
