// JavaScript Document

ratio_video = 240 / 320;

lib_ext = new Array();
lib_ext['img_web'] = new Array('jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp', 'svg');


function in_array(needle, haystack) {
	for (key in haystack)
		if (haystack[key] == needle) {
			return true;
		}
	return false;
}


function f_rollimg(tag_prim, tag_tn, tag_legend, type_tn, this_tn, url_tn, url_img_void, url_img_preload, hidden_img_void, resize_img, resize_img_prim_w, resize_img_prim_h, img_prim_w, img_prim_h) {

	if (!type_tn)
		type_tn = 'img';

	document.getElementById(tag_prim).alt = '';

	if (url_img_preload)
		document.getElementById(tag_prim).src = url_img_preload;
	
//	while (!document.getElementById(tag_prim).complete)
//		{}

	switch(type_tn) {

		case 'img' :
		
			document.getElementById(tag_prim).src = document.getElementById(tag_tn).src;

			if (document.getElementById(tag_prim+'_maximg'))
				document.getElementById(tag_prim+'_maximg').src = document.getElementById(tag_tn).src;

			if (document.getElementById(tag_tn).alt) {
				document.getElementById(tag_prim).alt = document.getElementById(tag_tn).alt;
				document.getElementById(tag_prim).title = document.getElementById(tag_tn).alt;
			}

			break;

		case 'select' :
		
			this_value = this_tn.options[this_tn.selectedIndex].value;
		
			if (this_value.indexOf(":") > 0) {
				var a_split = this_value.split(":");
				this_value = a_split[1];
			}
		
			if (this_value.indexOf(".") == -1)
				this_value = '';

			document.getElementById(tag_prim).title = this_value;
		
			tmp = !this_value || !in_array(this_value.substr(this_value.indexOf(".", 0) + 1), lib_ext['img_web'])
				? url_img_void
				: url_tn + this_value;

			f_save_option_select(this_tn, tag_tn);

			if (!this_value && hidden_img_void)
				document.getElementById(tag_prim).style.display = 'none';
			else if (this_value)
				document.getElementById(tag_prim).style.display = 'block';

			document.getElementById(tag_prim).src = tmp;
			if (document.getElementById(tag_prim+'_maximg'))
				document.getElementById(tag_prim+'_maximg').src = tmp;
			
			break;

	}


	if (resize_img) {

		while (!document.getElementById(tag_prim).complete)
			{}

		f_resize(tag_prim, resize_img_prim_w, resize_img_prim_h, img_prim_w, img_prim_h);
	
	}

	document.getElementById(tag_prim).title = document.getElementById(tag_prim).alt;

	if (tag_legend && document.getElementById(tag_legend))
		document.getElementById(tag_legend).innerHTML = document.getElementById(tag_prim).alt;

	return false;

}


/* ------------------------------------------ */

//function f_roll(s, t, t_tn, t_lgd, rsz, img_prim_w, img_prim_h, rsz_prim_w, rsz_prim_h) {
function f_roll(s, t, param_f) {

	param = {
		obj:		false, // pour rel
		t_tn:		false,
		t_lgd:		false,
		rsz:		false,
		img_prim_w:	false,
		img_prim_h:	false
	};
	
	for (k in param_f)
		param[k] = param_f[k];
	
	param['rel'] = jQuery(param['obj']).attr('rel');
	

	var ext = s.substr(s.lastIndexOf(".")+1);

	var obj_t = jQuery('#'+t).parent('a').length
		? jQuery('#'+t).parent('a')
		: jQuery('#'+t);
	
	var a_flashvars = false;
	var a_params = false;
	var ratio_video = false;


	switch (ext) {
		case 'flv' :
			s = f_repository(DIR_MEDIAPLAYER) + s;
			a_flashvars = {MM_ComponentVersion:1, skinName:DIR_MEDIAPLAYER+'skin', streamName:s};
			a_params = {wmode:'transparent'};
			ratio_video = true;
			repository = true;
			break;
		default :
			a_params = {wmode:'opaque'};
	}


	switch (ext) {

		case 'flv' :
		case 'swf' :
		
			var w = false;
			var h = false;
		
			obj_t.replaceWith('<div id="'+t+'"></div>');
			if (ratio_video) {
				f_resize(t, param['img_prim_w'], param['img_prim_h'], false, false, true);
				w = jQuery('#'+t).css('width');
				h = jQuery('#'+t).css('height');
			}
			else {
				jQuery('#'+t).css({width:param['img_prim_w'], height:param['img_prim_h']});
				w = param['img_prim_w'];
				h = param['img_prim_h'];
			}
			
			jQuery('#'+t).addClass('ld ld1');

			var a = { 
				width: w, 
				height: h, 
				src: s,
				params: a_params,
				flashvars: a_flashvars
			};
			
			jQuery('#'+t).media(a, function(){jQuery('#'+t).removeClass('ld ld1');});
			jQuery('#'+t).css('height', h);
			param['rsz'] = false;
			break;
		
		default :
			if (in_array(ext, lib_ext['img_web'])) {
				var title = jQuery('#'+param['t_tn']).attr('title');

				obj_t.replaceWith('<a href="'+s+'" class="ppb_clk" onclick="return f_ppb(this, false, false, false, \''+param['rel']+'\');"><img id="'+t+'" src="'+s+'" width="'+param['img_prim_w']+'" height="'+param['img_prim_h']+'" alt="'+title+'" title="'+title+'" /><span class="nv_zm"></span></a>');
				
				jQuery('#'+t).parent('a').addClass('ld ld1');
				jQuery('#'+t).css('visibility', 'hidden');
				break;
			}
			
			return true;

	}

	if (param['rsz'])
		jQuery('#'+t).load(function(){
			f_resize(t, param['img_prim_w'], param['img_prim_h']);
			jQuery('#'+t).css('visibility', 'visible');
			jQuery('#'+t).parent('a').removeClass('ld ld1');
		});

	if (param['t_lgd'] && jQuery('#'+param['t_lgd']))
		jQuery('#'+param['t_lgd']).html(jQuery('#'+t).attr('title') ? jQuery('#'+t).attr('title') : '');

	return false;

}


function f_resize(t, w_max, h_max, w, h, video) {

	if (video) {
		var ratio = video === true
			? ratio_video
			: video;

		if (w_max) {
			w = w_max;
			h = Math.round(w * ratio);
		}
		else if (h_max) {
			h = h_max;
			w = Math.round(h / ratio);
		}
	}

	if (t && !w)
		w = jQuery('#'+t).css('width');
	
	if (t && !h)
		h = jQuery('#'+t).css('height');

	if (w_max && w > w_max) {h = Math.round(w_max * h / w); w = w_max;}
	if (h_max && h > h_max) {w = Math.round(h_max * w / h); h = h_max;}

	if (t)
		jQuery('#'+t).css({width:w, height:h});
	else
		return new Array(w, h);

}
