var HICSPALAND = {

};

if(typeof console === "undefined") {
    console = { log: function() { } };
}

jQuery.fn.initMenu = function() {
    return this.each(function(){
        var theMenu = $(this).get(0);
        $('.sub-menu', this).hide();
        $('li.expand > .sub-menu', this).show();
        $('li.expand > .sub-menu', this).prev().addClass('active');
        $('li a', this).click(
            function(e) {
                e.stopImmediatePropagation();
                var theElement = $(this).next();
                var parent = this.parentNode.parentNode;
                if($(parent).hasClass('noaccordion')) {
                    if(theElement[0] === undefined) {
                        window.location.href = this.href;
                    }
                    $(theElement).slideToggle('normal', function() {
                        if ($(this).is(':visible')) {
                            $(this).prev().addClass('active');
                        }
                        else {
                            $(this).prev().removeClass('active');
                        }
                    });
                    return false;
                }
                else {
                    if(theElement.hasClass('sub-menu') && theElement.is(':visible')) {
                        if($(parent).hasClass('collapsible')) {
                            $('.sub-menu:visible', parent).first().slideUp('normal',
                            function() {
                                $(this).prev().removeClass('active');
                            }
                        );
                        return false;
                    }
                    return false;
                }
                if(theElement.hasClass('sub-menu') && !theElement.is(':visible')) {
                    $('.sub-menu:visible', parent).first().slideUp('normal', function() {
                        $(this).prev().removeClass('active');
                    });
                    theElement.slideDown('normal', function() {
                        $(this).prev().addClass('active');
                    });
                    return false;
                }
            }
        }
    );
});
};

(function($) {

// Loads and unloads mediaqueried css files
HICSPALAND.cssMQfix = function() {
	// Get a decent version number
	v = this._versionToFloat($.browser.version);

	// Stupid ipad, always claiming it's in portrait mode.
	if($.browser.webkit && /iPad/.test(navigator.userAgent)) {
		//$("link[href*='medium.css']").attr('media', 'all and (orientation:portrait)');
		$("link[href*='desktop.css']").attr('media', 'all and (orientation:landscape)');
		return true;
	} else if($.browser.webkit && /iPhone OS /.test(navigator.userAgent)) {
		// Fuck you iphone, you can't handle my 1337 coding skills.
		$("link[media^='all']").each(function () {
			var href = $(this).attr('href');
			if(href.indexOf('small.css')>0) {
				$(this).attr('media','');
			} else {
				$(this).remove();
			}
		});
		return true;
	}

	// if it's a browser known to understand mediaqueries, die right here.
	if(
		($.browser.mozilla && v>=1.91) ||
		(($.browser.webkit && v>530) && !/iPhone OS 3/.test(navigator.userAgent))||
		($.browser.msie && v>=9) ||
		($.browser.opera && v>=9.5)
	) return true;

	// A browser that is scared by media selectors and would show NO additional css files
	// needs assertion by removing the media attribute
	var needsassertion = ($.browser.msie || /iPhone/.test(navigator.userAgent));

	var w =this._getViewportSize('Width');
	var h =this._getViewportSize('Height');
	$("link[media^='all']").each( function() {
		var mediamin = $(this).attr('media').match(/min-width: ?([0-9]+)px/i);
		mediamin = (mediamin!==null && mediamin.length>1) ? mediamin[1] : null;

		var mediamax = $(this).attr('media').match(/max-width: ?([0-9]+)px/i);
		mediamax = (mediamax!==null && mediamax.length>1) ? mediamax[1] : null;
		if(	(mediamin!==null && w<mediamin) || (mediamax!==null && w>mediamax) ) {
			// does not apply
			$(this).remove();
		} else if (needsassertion) {
			// does apply and needs assertion
			$(this).attr('media','');
		}
	});

};

HICSPALAND.toggleSocialMedia = function() {

			// create a variable and set it to the value of the cookie
			var theState = $.cookie("theState")!=='no';

			var button = $('#socialactivator');

                        button.html('Social buttons: ')
	  		.attr('class', (theState ? 'active' : ''));

	if(theState) {

		// toggle the view state of an panel in the form
		$('<a title="Zet socialmedia knoppen uit"></a>')
		  .click(function() {
			  $.cookie('theState', 'no');
            		  button.attr('class', '');
			  $('article.post footer.post-info-bottom .sociallinks').remove();
			  HICSPALAND.toggleSocialMedia()
		  }).appendTo('#socialactivator');

		  $('article.post footer.post-info-bottom').each(function() {
			var link = $(this).parent().find('a')[1];
			var title = $(this).parent().find('h2').html();
			$(' <span class="sociallinks">  </span>')
			  .append('<iframe src="http://www.hyves.nl/respect/button?url='+encodeURIComponent(link)+'&counterStyle=horizontal" style="border: medium none; overflow:hidden; width:105px; height:21px;" scrolling="no" frameborder="0" ></iframe>')
			  .append('<a href="https://twitter.com/share" class="twitter-share-button" data-url="'+encodeURIComponent(link)+'" data-via="HICSpaland" data-text="'+title+': '+link+'" data-count="horizontal" data-lang="nl">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>')
			  .append('<iframe src="//www.facebook.com/plugins/like.php?href='+encodeURIComponent(link)+'&amp;send=false&amp;layout=button_count&amp;width=110&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:110px; height:21px;" allowTransparency="true"></iframe>')
			 .appendTo($(this));
		  });
		  
		  // TWITTER ONDERSTEUND GEEN MODALPOPUP DUS UITGESCHAKELD
		  /*$(".sociallinks a").fancybox({
				'width'				: '75%',
				'height'			: '75%',
				'autoScale'			: false,
				'transitionIn'			: 'none',
				'transitionOut'		  	: 'none',
				'type'				: 'iframe'
		  });*/

	} else {

		  $('<a title="Zet socialmedia knoppen aan"></a>')
		  .click(function() {
			  $.cookie('theState', null);
			  button.attr('class', 'active');
			  HICSPALAND.toggleSocialMedia()
		  }).appendTo('#socialactivator');

	}
};



HICSPALAND.init = function() {

	this.cssMQfix();
	this.toggleSocialMedia();
        
        $("a[href^='http:']:not([href*='" + window.location.host + "'])").each(function() {
    	   $(this).attr("target", "_blank");
    	});

	var innerWidth = this._getViewportSize('Width');

        if(innerWidth <= 480) {
           $('.menu').initMenu();

	}

	if(innerWidth > 480 && innerWidth <= 960) {

	}

	if(innerWidth > 960) {

	}

};


HICSPALAND._getViewportSize = function (d) {
	if (typeof window.innerWidth != 'undefined') {
		return window["inner" + d];
	}
	else if (typeof document.documentElement != 'undefined'
			&& typeof document.documentElement.clientWidth != 'undefined'
			&& document.documentElement.clientWidth !== 0) {
		return document.documentElement["client" + d];
	}
};

HICSPALAND._versionToFloat = function(vstring) {
	var dt=vstring.indexOf('.');
	if(dt!==-1) {
		var v = vstring.substr(0,dt)+'.';
		v+=vstring.substr(dt+1).replace(/\./g, '');
	} else var v=vstring;
	return parseFloat(v);
};



/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(unescape(cookie.substring(name.length + 1)));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

})(jQuery);

