var MSG_UNCHECKED = 'please check at least one company';

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//		Fonction paratgées sur le site infinancials
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//bizzar a eradiquer du site
function glossary(acr){
	//var url = '/Eurofin/glossary.jsp?acr='+acr;
	//window.open(url,'glossary','width=700,height=500,left=200,top=200,scrollbars = yes');
	show_help(acr,"GLOSSARY");
}

//ancien appel du popup glossaire
function popupLang(lang, acr){
	//fen = window.open("/Eurofin/glossary.jsp?acr="+acr,"Help_center","width=1000,height=600,left=100,top=100,resizable=yes,scrollbars=yes");
	//fen.focus();
	show_help(acr,"GLOSSARY");
}

function show_help(acr,view){
	var param="";
	if( (acr!=undefined) && (acr!='') )
		param+='?acr='+acr;
	if( (view!=undefined) && (view!='') ){
		(param=="")?
			param+='?':
			param+='&';
		param+='view='+view
	}
		
	win_center_top(1000,600,'/Eurofin/help.jsp'+param,'help_center','resizable=yes,scrollbars=yes');
}


function showFactsheet(url){
        if (document.updateForm != null && document.updateForm.showlogo != null && document.updateForm.showlogo[1]!=undefined && document.updateForm.showlogo[1].checked)
        {
                url += "&logo=on";
        }
        if (document.updateForm != null && document.updateForm.shownote[1]!=undefined && document.updateForm.shownote[1] .checked && document.updateForm.factsheetnote && document.updateForm.factsheetnote.value != '' )
        {
                url += "&note=" + encodeAll(document.updateForm.factsheetnote.value);
        }
        if (document.updateForm != null && document.updateForm.shownote[1]!=undefined && document.updateForm.shownote[1] .checked && document.updateForm.factsheettitle && document.updateForm.factsheettitle.value != '' )
        {
                url += "&title=" + encodeAll(document.updateForm.factsheettitle.value);
        }

        win_center_top(1000,600,url,'factsheet'+aleatoire(100),'resizable=yes,scrollbars=yes');
}


function simplewindow(){
	if(window.name!='simplewindow'){
        	window.open(window.top.location.href,'simplewindow','toolbar=no')
        	window.opener=self
        	self.close()
        } 	
}

function encodeAll(txt)
{
  var ret = txt;
  if(txt!=null)
  {
    ret = encodeAccent(txt);
    return encodeURIComponent(ret);
  }
  return ret;
}

function encodeAccent(str) {
  var spec = new Array("\xe9","\xe4","\xf6","\xf4","\xfc","\xe0","\xe8","\xea","\xe2","\xf4","\xeb","\xef","\xee");
  var norm = new Array("eacute","auml","ouml","ocirc","uuml","agrave","egrave","ecirc","acirc","ocirc","euml","iuml","icirc");

  for (var i = 0; i < spec.length; i++)
  {
    var reg=new RegExp(spec[i], "g");
    str = str.replace(reg,norm[i]);
  }
  return str;
}


function showChangePassword(){
        win_center_top(450,300,'/Eurofin/newpassword.jsp','myprofile','resizable=yes,scrollbars=yes');
}

/*
function viewTMFormula (comp,field,year,type,currency){
	var url='/Eurofin/multiples-transparency.jsp?field=' + field + '&year=' + year + '&company=' + comp + '&type=' + type+'&currency=' + currency;
	win_center_top(700,250,url,'formulaviewer','resizable=yes,scrollbars=yes');
}
*/
/**********************Transparence********************************/
function ajust_pos(e){
	pos = MousePos(e);
	var pos_x = pos['X']+10;
	var offsets = get_full_position('formula');
	if(pos['X']>(screen.width/2)){
		pos_x = pos['X']-offsets.width-10;
	}
	objectToDrag.style.left = pos_x + 'px';
	objectToDrag.style.top = pos['Y'] - 230 + 'px';
}
//transparence multiples & ratios & market & gprv
function viewTMFormula(e,field,year,type,currency,comp){
	url = '/Eurofin/multiples-transparency.jsp?field=' + field + '&year=' + year + '&company=' + comp + '&type=' + type+'&currency=' + currency+ '&clear=o';
	printHtmlFormula(getHtmlFormula(url));
	ajust_pos(e);
}
//transparence fundamental
function showFormula(e,field,year,fx,rp,comp){ 
	url = '/Eurofin/formula-viewer.jsp?field=' + field + '&year=' + year + '&company=' + comp + '&fx=' + fx+ '&rp=' + rp+ '&clear=o';
	printHtmlFormula(getHtmlFormula(url));
	ajust_pos(e);
}

function printHtmlFormula(html){
	objectToDrag.innerHTML = html;
	endDrag();
	show('formula');
}

function getHtmlFormula(url){
	var html = "";
	html 	+= "<div id=\"title\" onmousedown=\"beginDrag('formula',event);\" onmousemove=\"drag(event);\" onmouseup=\"endDrag();\">";
		html 	+= "<div>Infinancials Formula Viewer</div>";
		html 	+= "<img src=\"/images/win_close_off.gif\" onclick=\"endDrag();hide('formula');\">";
	html 	+= "</div>";
	html 	+= "<div id=\"roll_over\" onmousemove=\"drag(event);\" onmouseup=\"endDrag();\"></div>";
	html 	+= "<iframe src='"+url+"' frameborder='0' onload='adjustIFrameSize(this)'></iframe>";//scrolling='auto'
	
	return html;
}
/**********************fin Transparence********************************/
//Permet d'ajuster la hauteur d'un iframe a son contenu
function adjustIFrameSize(iframe){
	/*
	if(iframe.contentDocument){// firefox  
		iframe.height = iframe.contentDocument.height; 
	}else{// IE  
		iframe.style.height = iframe.contentWindow.document.body.scrollHeight; 
	} 
	*/
	iframe.style.height = iframe.contentWindow.document.body.scrollHeight + "px"; 
} 

function show_popup(url){
	if(url.indexOf('sendToAFriend')!=-1)
		win_center_top(600,420,url,'SendTo','resizable=no,scrollbars=yes');
	if(url.indexOf('Concept_guide')!=-1)
		win_center_top(900,800,url,'Quick','resizable=yes,scrollbars=yes');
	if(url.indexOf('quest_gprv')!=-1)
		win_center_top(900,900,url,'Quest','resizable=yes,scrollbars=yes');
	if(url.indexOf('quicktour/gprv')!=-1)
		win_center_top(1020,740,url,'pdf','resizable=yes,scrollbars=yes');
	if(url.indexOf('quicktour/flash/screener')!=-1)
		win_center_top(1020,740,url,'pdf','resizable=yes,scrollbars=yes');
	if(url.indexOf('widget')!=-1)
		win_center_top(780,550,url,'widget','resizable=yes,scrollbars=yes');
}

//correction decalage en en mode chenille a cause ds div en absolute
//INUTILE!
function get_decalage(){
	var decal = [];
	decal['X'] = 0;
	decal['Y'] = 0;
	/*
	if(GetParametre('listch')!=undefined){
		decal['X'] = document.getElementById('bandeau-ch').offsetWidth;
		decal['Y'] = document.getElementById('boutons-ch').offsetHeight+document.getElementById('bandeau').offsetHeight;
	}
	*/
	return decal;	
}

//affiche un text en rollover
var rollover_hmax = 400;
var rollover_hmin = 600;
function set_roll_over(txt,e,x_pos){ 
	var mouse_posi = MousePos(e);
	//var decal = get_decalage();
	//mouse_posi['X']=mouse_posi['X']-decal['X'];
	//mouse_posi['Y']=mouse_posi['Y']-decal['Y'];
	
	//cas particulier du graph en survol dans fundamental
	//pas tres propre de lier la longueure du div au text html en parametre
	//quoi que comme ca tout est contenu ds cette fonction statique 
	//utile pour trouver la bonne taille
	var corY=0;
	if(txt.indexOf('mini_snapshot')!=-1){
		document.getElementById('msg_box').style.width='340px';
		if(mouse_posi['Y']>rollover_hmax)
			corY=290;
	}else if(txt.indexOf('iframe')!=-1){
		if(txt.indexOf('mini_stockcharts')!=-1){
			document.getElementById('msg_box').style.width='360px';
			if(mouse_posi['Y']>rollover_hmax)
				corY=330;
		}else{
			if(txt.indexOf('quickchart')!=-1){
				if(mouse_posi['Y']>rollover_hmax)
					corY=290;
			}
			document.getElementById('msg_box').style.width='405px';
		}
	}else if(txt.indexOf('GPRVFluxAdvSearch')!=-1){
		document.getElementById('msg_box').style.width='340px';
		if(mouse_posi['Y']>rollover_hmax)
			corY=285;
	}else{
		document.getElementById('msg_box').style.width='250px';
	}
	document.getElementById('msg_box').style.left = mouse_posi['X']+x_pos+'px';
	document.getElementById('msg_box').style.top = mouse_posi['Y']-corY+'px';
	
	document.getElementById('msg_box').innerHTML = txt;
	document.getElementById('msg_box').style.visibility = 'visible';
}

function hide_roll_over(){
	document.getElementById('msg_box').style.visibility = 'hidden';
}

//animation d'atente
function show_wait(){
	document.getElementById("loading").style.display="block";
	document.getElementById("loading_content").style.display="block";
	document.getElementById("loading_content").innerHTML = "<h1>The server is processing your request.</h1><h2>This may take a few seconds.</h2><h2>Thank you for your patience.</h2>";
}
function hide_wait(){
	document.getElementById("loading").style.display="none";
	document.getElementById("loading_content").style.display="none";
}


//gestion des listes de peers
function get_lst_company_check(formulaire){
	var lst_company_check = "";
    var chaine = "";
	var first = true;
	for (i=0 ; i<= formulaire.length-1 ; i++){
		if (formulaire[i].type == 'checkbox'){
			if(formulaire[i].checked){
				f_value = formulaire[i].value;
				if( (f_value=="on") || (f_value=="no_comp") )
					continue;
				if(first){
					lst_company_check=f_value;
					first = false;
				}else{
					lst_company_check += ":"+f_value;
				}
			}
		}
	}
	return lst_company_check;
}

function send_a_list(formulaire){
	var lst_company_check = get_lst_company_check(formulaire);
	if(lst_company_check==""){
		alert(MSG_UNCHECKED);
		return;
	}
	var list_edit = false;
	if(formulaire.list_edit!=undefined){
		if(formulaire.list_edit.value=="true"){
			list_edit = true;
		}
	}
		
	var action = formulaire.select_action.options[formulaire.select_action.selectedIndex].value;
	url_params+= "&pgselected="+formulaire.PeerName.value;
	if(action=="no_action"){
		return;
    }else if(action=="multiples"){
		formulaire.url_redirect.value = "/Eurofin/multiples.jsp?mode=current"+url_params;
    }else if(action=="ratios"){
    	formulaire.url_redirect.value = "/Eurofin/ratios.jsp?mode=main"+url_params;
    }else if(action=="performance"){
    	formulaire.url_redirect.value = "/Eurofin/control/company?view=stockanalysis&type=0"+url_params;
    }else if(action=="revisions"){
    	formulaire.url_redirect.value = "/Eurofin/revisions.jsp?view=estimateshisto&type=0"+url_params;
    }else if(action=="browse"){
		var listch = "My%20Temporary%20List";
		if(list_edit){
			listch = formulaire.PeerName.value;
		}
    	formulaire.url_redirect.value = "/Eurofin/control/company?view=snapshot&listch="+listch+url_params;
    }
    formulaire.param_total.value = lst_company_check;
	if(list_edit){
		document.location.href = formulaire.url_redirect.value;
	}else{
		formulaire.submit();
	}
}

var all_checked = false;
function peers_select(formulaire){
	for (i=0 ; i<= formulaire.length-1 ; i++){
		if (formulaire[i].type == 'checkbox'){
			formulaire[i].checked = all_checked;
		}
	}
	all_checked = !all_checked;
}
