$(document).ready(function(){
	directContent();
	$("div#mainContainer").fadeIn("slow", function() {
			$("div#right_frame").slideToggle("slow");
	});
	
	$('#mendeley').mouseenter(function() {
  	$('#mendeley').fadeTo("slow",0.8);
	});
	$('#mendeley').mouseleave(function() {
  	$('#mendeley').fadeTo("fast",0.3);
	});
	$('#linkedin').mouseenter(function() {
  	$('#linkedin').fadeTo("slow",0.8);
	});
	$('#linkedin').mouseleave(function() {
  	$('#linkedin').fadeTo("fast",0.3);
	});
	$('#xing').mouseenter(function() {
  	$('#xing').fadeTo("slow",0.8);
	});
	$('#xing').mouseleave(function() {
  	$('#xing').fadeTo("fast",0.3);
	});
	$('#salambc').mouseenter(function() {
  	$('#salambc').fadeTo("slow",0.8);
	});
	$('#salambc').mouseleave(function() {
  	$('#salambc').fadeTo("fast",0.3);
	});
			
});

function isNumeric(input)
{
   return (input - 0) == input && input.length > 0;
}

function directContent() {
	var $_GET = {};

	document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
		function decode(s) {
			return decodeURIComponent(s.split("+").join(" "));
		}

		$_GET[decode(arguments[1])] = decode(arguments[2]);
	});
	
	if (isNumeric($_GET["module"])) {
		$('#dialog').openDialog($_GET["module"]);
	}

}



jQuery.fn.blockQuoteInit = function() {
	setTimeout($('#cites').loadCite,500);
};

jQuery.fn.loadCite = function() {
	$.ajax({ 
		url: "cites.php", 
		context: $('cites'),
		cache: false,
		success: function(xml){
			var author, cite;
			$(xml).find('cite').each(function() {
				author = $(this).find('author').text();
				text = $(this).find('text').text();
			});
			$('#cites').html('<blockquote>'+author+':"'+text+'"'+'</blockquote>');
			$('#cites').fadeIn(1000);
			setTimeout("$('#cites').fadeOut(1000);",9000);
			setTimeout($('#cites').loadCite,10000);
		},
		complete: function(XMLHttpRequest,textStatus) {
			//console.log(XMLHttpRequest);
		}
	});
}

jQuery.fn.forward = function(page,sec){
	window.setTimeout("$(document).goToPage('"+page+"');",(sec-1000));
};

jQuery.fn.goToPage = function(page) {
	$("div#mainContainer").fadeOut(1000);
	$("div#footer").fadeOut(1000);
	window.setTimeout("location.href='"+page+"'",1000);
};

function dialogGoToPage(page) {
		$dialog.dialog('close');
		$("div#mainContainer").fadeOut(1000);
		$("div#footer").fadeOut(1000);
		window.setTimeout("location.href='"+page+"'",1000);
}


jQuery.fn.openDialog = function(id) {

	$dialog = $( "#dialog" ).html('<img src="images/loading.gif" alt="loading" />');

	// increase the default animation speed to exaggerate the effect
	$.fx.speeds._default = 1000;
	$( "#dialog" ).dialog({
		autoOpen: false,
		title: "Loading..",
		show: "fade",
		hide: "clip",
		maxHeight: 400,
		minWidth: 300,
		width: 600,
		position: ['center',260]
	});
	$dialog.dialog('open');

	$.ajax({ 
		url: "data.php?lang=en&module="+id, 
		context: $('dialog'),
		cache: false,
		success: function(xml){
			var title, content;
			$(xml).find('data').each(function() {
				title = $(this).find('title').text();
				text = $(this).find('content').text();
			});
			this.createDialog(title,text);
		},
		complete: function(XMLHttpRequest,textStatus) {
			//console.log(XMLHttpRequest);
		}
	});
};

jQuery.fn.createDialog = function(t,content) {
	
	$( "#dialog" ).html(htmlspecialchars_decode(content));
	$( "#dialog" ).dialog( "option", "title", t );
};

function htmlspecialchars_decode (string, quote_style) {
    // Convert special HTML entities back to characters  
    // 
    // version: 1008.1718
    // discuss at: http://phpjs.org/functions/htmlspecialchars_decode    // +   original by: Mirek Slugen
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Mateusz "loonquawl" Zalega
    // +      input by: ReverseSyntax
    // +      input by: Slawomir Kaniecki    // +      input by: Scott Cariss
    // +      input by: Francois
    // +   bugfixed by: Onno Marsman
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)    // +      input by: Ratheous
    // +      input by: Mailfaker (http://www.weedem.fr/)
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: htmlspecialchars_decode("<p>this -&gt; &quot;</p>", 'ENT_NOQUOTES');    // *     returns 1: '<p>this -> &quot;</p>'
    // *     example 2: htmlspecialchars_decode("&amp;quot;");
    // *     returns 2: '&quot;'
    var optTemp = 0, i = 0, noquotes= false;
    if (typeof quote_style === 'undefined') {        quote_style = 2;
    }
    string = string.toString().replace(/&lt;/g, '<').replace(/&gt;/g, '>');
    var OPTS = {
        'ENT_NOQUOTES': 0,        'ENT_HTML_QUOTE_SINGLE' : 1,
        'ENT_HTML_QUOTE_DOUBLE' : 2,
        'ENT_COMPAT': 2,
        'ENT_QUOTES': 3,
        'ENT_IGNORE' : 4    };
    if (quote_style === 0) {
        noquotes = true;
    }
    if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags        quote_style = [].concat(quote_style);
        for (i=0; i < quote_style.length; i++) {
            // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
            if (OPTS[quote_style[i]] === 0) {
                noquotes = true;            }
            else if (OPTS[quote_style[i]]) {
                optTemp = optTemp | OPTS[quote_style[i]];
            }
        }        quote_style = optTemp;
    }
    if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
        string = string.replace(/&#0*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
        // string = string.replace(/&apos;|&#x0*27;/g, "'"); // This would also be useful here, but not a part of PHP    
	}
    if (!noquotes) {
        string = string.replace(/&quot;/g, '"');
    }
    // Put this in last place to avoid escape being double-decoded    string = string.replace(/&amp;/g, '&');
 
    return string;
}

