/**
* @name:          jDNV
* @author:        Andrea Talon
* @company:       Valueteam S.p.A. (TV)
*
* @version:       4.5
* @description:   b0.* : test service
*                 1.0  : tabs, player, accordion
*                 2.0  : ajax ria
*                 3.0  : overlay, magic-box
*                 4.0  : menu
*                 4.5  : orange_ico in element
*/


// preable
var isIE6, isIE7, isIE8, isIE9;
var hasFlash = DetectFlashVer(0, 0, 0); //major,minor,requested
if (typeof (globalvars) == undefined) var globalvars = {};
document.write('<style type="text/css">.ouverture,.magic-box,.language-box{display:none;}</style>');
document.write('<style type="text/css">.r-component{visibility:hidden;}</style>');


// start
$(function () {


	// preable
	isIE6 = ($.browser.msie && $.browser.version == 6);
	isIE7 = ($.browser.msie && $.browser.version == 7);
	isIE8 = ($.browser.msie && $.browser.version == 8);
	isIE9 = ($.browser.msie && $.browser.version == 9);
	if (!hasFlash) $('.flashsubstitute').css('display', 'block');
	if ($('.path-active').length > 0) {
		var pah = 0;
		$('.path').each(function (i, el) { if ($(el).height() > pah) pah = $(el).height(); });
		$('.content').css('padding-top', (pah + 7) + 'px');
		$('.path').css('height', pah + 'px');
	}
	else $('.nav').addClass('nav-home');


	// fix pngs on M$ IE 6
	if (isIE6) $(document).pngFix();


	// link management
	$('.external').attr('target', '_blank');
	//$('.accordion').click(function (e) { e.preventDefault(); }); // .post ?
	$('a span.a').hover(
    function (e) { $(this).css('text-decoration', 'underline') },
    function (e) { $(this).css('text-decoration', 'none') }
  );
	$('a span.a').click(function (e) {
		var href = ($(this).attr('href') == undefined) ? '#' : $(this).attr('href');
		if ($(this).attr('target') == undefined || $(this).attr('target') == '_self') window.open(href, '_self');
		else window.open(href, '_blank');
	});


	// input
	$('input[type=text],textarea', document).not('*[readonly],.excludeJQuery').each(function () { $(this).val($(this).attr('title')); });
	$('input[type=text],textarea', document).not('*[readonly],.excludeJQuery').focus(function (e) { if ($(this).val() == $(this).attr('title')) { $(this).val('') } });
	$('input[type=text],textarea', document).not('*[readonly],.excludeJQuery').blur(function (e) { if ($(this).val() == '') { $(this).val($(this).attr('title')) } });



	// font size
	var font = { a: "1.1em", aa: "1.2em", aaa: "1.25em" };
	var actualsize = (($.cookie('font')) != undefined) ? $.cookie('font') : '1.1em';
	$('.dynamicfont').not('.dynamicfont .dynamicfont').css('font-size', actualsize);
	$('.a,.aa,.aaa').removeClass('aon');
	switch (actualsize) {
		case "1.1em": $('.a  ').addClass('aon'); break;
		case "1.2em": $('.aa ').addClass('aon'); break;
		case "1.25em": $('.aaa').addClass('aon'); break;
	}
	$.each(font, function (key, val) {
		if (val == actualsize) $($('.' + key)).addClass('aon');
		$($('.' + key)).click(function (e) {
			$('.a,.aa,.aaa').removeClass('aon');
			$(this).addClass('aon');
			$('.dynamicfont').not('.dynamicfont .dynamicfont').css('font-size', val);
			$.cookie('font', val, { expires: 356 });
			e.preventDefault();
		});
	});


	// tabs
	$('.tabs').each(function (i, el) { if ($('ul', el).length > 0) $(el).tabs('.tab'); });


	// video
	$('.player').not('.fp-mini').each(function (ind, element) {
		var params = $(element).attr('title');
		$(element).attr('title', '');
		$f(element, {
			src: String(params).split('rev:')[1].split(';')[0],
			version: [9, 115],
			wmode: 'opaque', //transparent
			onFail: function () { }
		}, {
			onMouseOver: function () {
				if (!(isIE6 || isIE7)) $(element).expose({ color: '#ebebeb', opacity: .6, api: true }).load();
			},
			onMouseOut: function () {
				if (!(isIE6 || isIE7)) $.mask.close();
			},
			clip: {
				url: String(params).split('rel:')[1].split(';')[0],
				autoPlay: false
			}
		});
	});

	$('.player.fp-mini').each(function (ind, element) {
		var params = $(element).attr('title');
		$(element).attr('title', '');
		$f(element, {
			src: String(params).split('rev:')[1].split(';')[0],
			version: [9, 115],
			wmode: 'opaque', //transparent
			onFail: function () { }
		}, {
			onMouseOver: function () {
				//if(!(isIE6 || isIE7)) $(element).expose({color:'#ebebeb',opacity:.6,api:true}).load();
			},
			onMouseOut: function () {
				//if(!(isIE6 || isIE7)) $.mask.close();
			},
			clip: {
				url: String(params).split('rel:')[1].split(';')[0],
				autoPlay: false
			},
			plugins: {
				controls: null
			}
		});
	});


	// accordion
	var labelOpen = '';
	var labelClose = '';
	$('.acc-btn,.video-thumb').click(function (e) {
		var parent = $(this).closest('.post,.accordion');
		var abtn = $('.acc-btn:eq(0)', parent);
		if (labelOpen == '') labelOpen = $(abtn).text();
		var post = $(this).parent();
		if (labelClose == '') labelClose = $(post).find('.closeText').text();
		if ($(abtn).hasClass('open-btn')) {
			$('.acc-btn').removeClass('close-btn').addClass('open-btn').html(labelOpen);
			$(abtn).removeClass('open-btn').addClass('close-btn').html(labelClose);
			$('.post,.accordion').not(parent).find('.ouverture').slideUp(200);
			$('.post,.accordion').not(parent).find('.prelude').slideDown(200);
			$('.post,.accordion').find('.player').each(function (ind, element) { $f(element).stop(); });
			$(parent).find('.prelude').slideUp(200);
			$(parent).find('.ouverture').slideDown(200);
		} else {
			$(abtn).removeClass('close-btn').addClass('open-btn').html(labelOpen);
			$(parent).find('.ouverture').slideUp(200);
			$(parent).find('.prelude').slideDown(200);
			// trick to close video inside
			$(parent).find('.player').each(function (ind, element) { $f(element).stop(); });
		}
		e.preventDefault();
	});

	// find us
	$('.search-btn').click(function (e) {
		$('div[id^="country_"]').each(function () {
			$(this).css({ 'display': 'none' });
		});

		$('div[id^="country_' + $('input[id="searchInput"]').val().toLowerCase() + '"]').each(function () {
			$(this).css({ 'display': 'block' });
		});

		//$('accordion').css({ 'display': 'none' });
		e.preventDefault();
	});

	// meet our customers
	var labelExpandAll_MOC = '';
	var labelCollapseAll_MOC = '';
	var labelExpand_MOC = '';
	var labelCollapse_MOC = '';

	$('.expand').click().toggle(function () {

		var results = $(this).parent();
		if (labelExpandAll_MOC == '') labelExpandAll_MOC = $(results).find('.expandAllText').text();
		if (labelCollapseAll_MOC == '') labelCollapseAll_MOC = $(results).find('.collapseAllText').text();
		if (labelExpand_MOC == '') labelExpand_MOC = $(results).find('.expandText').text();
		if (labelCollapse_MOC == '') labelCollapse_MOC = $(results).find('.collapseText').text();

		$('.ouverture').slideDown(200);
		$('.prelude').slideUp(200);
		$(this).html(labelCollapseAll_MOC);
		$('.acc-btn').removeClass('open-btn').addClass('close-btn');
		$('.acc-btn').html(labelCollapse_MOC);
	}, function () {
		$('.ouverture').slideUp(200);
		$('.prelude').slideDown(200);
		$(this).html(labelExpandAll_MOC);
		$('.acc-btn').removeClass('close-btn').addClass('open-btn');
		$('.acc-btn').html(labelExpand_MOC);
	});

	// magic-box
	if (isIE6 || isIE7) $('.post.pspecial').each(function (i, el) { $(el).css('z-index', 98 - i); });
	$('.magic-btn').click(function (e) {
		$('.magic-btn').not(this).removeClass('magic-btn-active');
		$('.magic-box').hide();
		var mb = $('#' + $(this).attr('rel'));
		$(mb).css({ 'position': 'absolute', 'z-index': 99, 'top': 34 + 'px', 'right': 0 + 'px' });
		if ($(this).hasClass('magic-btn-active')) {
			$(this).removeClass('magic-btn-active');
			$(mb).hide();
		} else {
			$(this).addClass('magic-btn-active');
			$(mb).show();
		}
		e.preventDefault();
	});

	// overlay
	var overlays = new Array();
	$('.overlay').each(function (i, el) {
		var overlay = $(el).clone();
		overlays.push(overlay);
		$('.body').append(overlay);
		$(el).remove();
	});
	setTimeout(function () {
		$('.overlaygo[rel]').each(function (i, el) {
			var ref = this;
			var ov = $(this).attr('rel');
			$(this).overlay({
				onBeforeLoad: function () {
					//
				},
				mask: {
					color: '#333',
					loadSpeed: 100,
					opacity: .6
				},
				//effect        : 'apple',
				closeOnClick: false
			});
		});
	}, 0);


	// menu
	$('.path').not('.path-active').hide();
	/*$('.header-menu li a').hover(
	function(){$('.path-'+$(this).attr('name')).show();pathshow=true;},
	function(){$('.path').not('.path-active').hide();pathshow=false;}
	);*/
	$('.nav li a').hover(
    function (e) {
    	$('.path').not('.path-active').hide();
    	$(this).addClass('nav-hover');
    	$('.path-' + $(this).attr('name')).show();
    },
    function (e) {
    	if (!(e.pageY >= $(this).offset().top + $(this).height())) {
    		$('.path').not('.path-active').hide();
    		$(this).removeClass('nav-hover');
    	}
    }
  );
	$('.path').hover(
    function (e) {
    },
    function (e) {
    	$('.path').not('.path-active').hide();
    	$('.nav li a').removeClass('nav-hover');
    }
  );

	// language
	var divWidth = 0;
	$('.language-btn').hover(function (e) {
		var div = $('#' + $(this).attr('rel'));
		if (divWidth == 0) divWidth = $(div).width();
		var pos = {
			y: $(this).offset().top,
			x: $(this).offset().left
		}
	}, function (e) { });
	$('.language-btn').click(function (e) {
		var ref = this;
		var div = $('#' + $(ref).attr('rel'));
		if ($(div).hasClass('lb-open')) { $(div).fadeOut(200, function () { $(div).removeClass('lb-open'); }); }
		else {
			$('.language-box.lb-open').fadeOut(200, function () { $('.language-box').removeClass('lb-open'); });
			$(div).fadeIn(200, function () { $(div).addClass('lb-open'); });
		}
		e.preventDefault();
	});
	
	$(window).resize(function () {
		$('.language-box').each(function (i, el) {
			var id = String($(el).attr('id')).split('language-box')[1];
			var ob = $('*[rel="language-box' + id + '"]');
			var pos = {
				y: $(ob).offset().top,
				x: $(ob).offset().left
			}
		});
	});
	$('*').not('.language-box,.language-box *').click(function () {
		$('.language-box.lb-open').fadeOut(200, function () { $('.language-box').removeClass('lb-open'); });
	});


	// ria
	ria.init();


});




/**************************************************************************************
* classes
*/

var ria = {
	RIA_PRELOADER_FLAG: false, 				// flag of first ajax
	RIA_ACTIVE_ICO: 0, 					// index of active ico
	RIA_XML_URL: 'xml/ria.xml',
	RIA_TIMER_VALUE: 5000,
	RIA_LOADING_ERROR: "LOADING ERROR",
	RIA_SEE_MORE_TEXT: "see more",
	RIA_IMG_PATH: "/_layouts/images/DNV.Structures/structure/", 		// /_layouts/images/DNV.Structures/structure/
	ICO: 0,
	IMG: 1,
	TITLE: 2,
	PARAGRAPH: 3,
	LINK: 4,
	ORANGE_ICO: 5,
	params: [],
	ria: undefined,
	still: false,

	preloader: function () {
		// insert preloader
		$(ria.ria).append('<span class="waiting hidden" id="rwait"></span>');
		$(ria.ria).ajaxStart(function () { $('#rwait').show(); });

		// loading xml
		$.ajax({
			url: ria.RIA_XML_URL,
			type: 'GET',
			dataType: 'xml',
			cache: false,
			complete: function () {
				$('#rwait').hide();
			},
			success: function (data) {
				ria.RIA_PRELOADER_FLAG = true;
				ria.parser(data);
			},
			error: function (e) {
				$(ria.ria).append('<span>' + ria.RIA_LOADING_ERROR + '</span>');
			}
		});
	},

	parser: function (data) {
		var elements = new Array();
		var elementNodes = new Array();
		elementNodes = $(data).find("element");

		for (var i = 0; i < elementNodes.length; i++) {
			if ($(elementNodes[i]).get(0).getAttribute('active') && String($(elementNodes[i]).get(0).getAttribute('active')).toLowerCase() == 'true') ria.RIA_ACTIVE_ICO = i;
			var element = new Array();
			var ico = $(elementNodes[i]).find('ico').text().toString();
			var img = $(elementNodes[i]).find('img').text().toString();
			var title = $(elementNodes[i]).find('title').text().toString();
			var paragraph = $(elementNodes[i]).find('paragraph').text().toString();
			var link = $(elementNodes[i]).find('link').text().toString();
			var orange_ico = $(elementNodes[i]).find('orange_ico').text().toString();

			element.push(ico);
			element.push(img);
			element.push(title);
			element.push(paragraph);
			element.push(link);
			element.push(orange_ico);

			elements.push(element);
		}

		ria.params.push(elements);
		ria.render();
	},

	render: function () {
		try {

			$(ria.ria).append('<ul class="r-component r-ul"></ul>');
			$(ria.ria).append('<img class="r-component r-mask3" src="' + ria.RIA_IMG_PATH + 'mask3.gif" alt="" title="" />');
			$(ria.ria).append('<img class="r-component r-mask2" src="' + ria.RIA_IMG_PATH + 'mask2.' + ((isIE6) ? 'gif' : 'png') + '" alt="" title="" />');
			$(ria.ria).append('<img class="r-component r-mask1" src="' + ria.RIA_IMG_PATH + 'mask1.gif" alt="" title="" />');

			$(ria.ria).append('');

			for (var i = 0; i < ria.params[0].length; i++) {
				$('.r-ul', ria.ria).append('<li style="background:url(' + ria.params[0][i][ria.ICO] + ') 0px 0 no-repeat;" onclick="ria.delegate(this);"><a href="' + ria.params[0][i][ria.LINK] + '" title="" target="_self"><img src="' + ria.params[0][i][ria.ICO] + '" alt="" title="" /></a></li>');

				$(ria.ria).append('<span class="r-element"> <h2 class="r-component r-title">' + ria.params[0][i][ria.TITLE] + '</h2>' + '<p class="r-component r-paragraph">' + ria.params[0][i][ria.PARAGRAPH] + '</p>' + '<a class="r-component r-link" href="' + ria.params[0][i][ria.LINK] + '" title="" target="_self"><strong>' + ria.RIA_SEE_MORE_TEXT + '</strong></a>' + '<img class="r-component r-img" src="' + ria.params[0][i][ria.IMG] + '" alt="" title="" />' + '<img class="r-component r-orangeico" src="' + ria.params[0][i][ria.ORANGE_ICO] + '" alt="" title=""  />' + '</span>');
			}

			ria.init();


		} catch (e) {
			//console.log('html must me written in the correct mode');
		}
	},

	init: function () {
		$('.ria').each(function (ind, element) {

			ria.ria = element;
			ria.RIA_XML_URL = (globalvars.RIA_XML_URL) ? globalvars.RIA_XML_URL : ria.RIA_XML_URL;
			ria.RIA_TIMER_VALUE = (globalvars.RIA_TIMER_VALUE) ? globalvars.RIA_TIMER_VALUE : ria.RIA_TIMER_VALUE;
			ria.RIA_LOADING_ERROR = (globalvars.RIA_LOADING_ERROR) ? globalvars.RIA_LOADING_ERROR : ria.RIA_LOADING_ERROR;
			ria.RIA_SEE_MORE_TEXT = (globalvars.RIA_SEE_MORE_TEXT) ? globalvars.RIA_SEE_MORE_TEXT : ria.RIA_SEE_MORE_TEXT;
			
			if (!ria.RIA_PRELOADER_FLAG) ria.preloader(); else {

				// preamble
				$('.r-component', ria.ria).css('visibility', 'visible');
				//$('.r-ul a',ria.ria).click(function(e){e.preventDefault();});

				// show
				setTimeout(function () { ria.show(); }, 0);

			}
		});
	},

	show: function () {
		$('.r-element', ria.ria).hide();

		// define events
		$('.r-ul li', ria.ria).hover(function (e) {
			//var i = (isIE6||isIE7||isIE8) ? $(this).index()-1 : $(this).index();
			var i = $(this).index();
			ria.activate(i);
		}, function (e) { });
		$(ria.ria).hover(function (e) {
			ria.still = true;
		}, function (e) {
			ria.still = false;
		});

		// start slideshow
		ria.run(ria.RIA_ACTIVE_ICO);
	},

	activate: function (ind) {
		ria.RIA_ACTIVE_ICO = ind;
		try {
			$('.r-ul li', ria.ria).removeClass('r-on');
			$('.r-ul li:eq(' + ria.RIA_ACTIVE_ICO + ')', ria.ria).addClass('r-on');
			$('.r-element', ria.ria).hide();
			$('.r-element:eq(' + ria.RIA_ACTIVE_ICO + ')', ria.ria).show();
		} catch (e) { }
	},

	run: function () {
		ria.activate(ria.RIA_ACTIVE_ICO);
		setInterval(function () {
			if (ria.still == false) {
				ria.activate((ria.RIA_ACTIVE_ICO < ria.params[0].length - 1) ? ria.RIA_ACTIVE_ICO + 1 : 0);
			}
		}, ria.RIA_TIMER_VALUE);
	},

	delegate: function (el) {
		window.open($('a:first', el).attr('href'), '_self');
	}
};


//Non so perchè cliccando "enter" ovunque refresha la pagina e apre il popup
function disableEnterKey(e) {
    var key;
    if (window.event)
        key = window.event.keyCode;     //IE
    else
        key = e.which;     //firefox

    if (key == 13)
        return false;
    else
        return true;
}
