//var $jq = jQuery.noConflict();

function description(which) {
	var URL="/chart/descriptions.php?d="+which;
	PopUpWin = window.open(URL,'popup','width=450,height=350,scrollbars=no');
	PopUpWin.focus();
}

function ColorRow(tabname,color) {
	if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion)>4.00)
   		$(tabname).style.backgroundColor=color;
}
 
function trim(str) {
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

/*
function hidesymerror(id) { 
	$(id).style.visibility='hidden';
	$(id).innerHTML='';
}

function showsymerror(id) { 
	try{
		$(id).style.visibility='visible';
		$(id).innerHTML='Invalid Symbol';
	}catch(e){}
}
*/
/* not used
function validate() { 
	if(!parseInt($('retsub').getAttribute('value'))){
		$('rs_p2').focus();
		return false;
	}
	
	
	if (trim($('symbol').value).length==0){
     	showsymerror('symbolerror');
     	$('symbol').focus();
     	return false;
   	}

	$('chartlen').value = $('time').options[$('time').selectedIndex].text;

	drawchart('display.php');
}

function validate2(val) { 
	if(!val){
		if (trim($('symbol').value) == ""){
			showsymerror('symbolerror');
   			$('symbol').focus();
    	 	return false;
		}
	}
	
	//testing - show all elements from <form>
	var tmp = "";
	for(var i = 0,len=$('form').elements.length;i < len;i++)
		tmp += $('form').elements[i].name + "=" + $('form').elements[i].value + "<br>";
	
	//document.write(tmp);
}


function getLengthList(len)
{
	var sel = $('period');
	var lenCode = sel.options[sel.selectedIndex].value;
	
	sel.selected = true;
	
	// Empty  select box
	$('time').options.length = 0;
	if(lenCode.length>0){
		ajax.requestFile = '/chart/getLength.php?period='+lenCode+'&time='+len;
		ajax.onCompletion = createLen;
		ajax.runAJAX();
	}
}

function checkbox(id,p){
	$(id).checked = !$(id).checked;
	if(p)
		displaycheck(id);
}

function checkbox2(id){
	//$(id).checked = false;
	$(id).checked = true;
	//checkbox(id,p);
}


function checkindibox(id){
	checkbox(id,1);
}

function displaycheck(id) {
	var pid;	//parameter ids
	
	//var v;		//visible-hidden
	var c;		//classname
	var d;		//disabled?
	var vl;		//value of input
	
	//if ((($(id).status || $(id).checked) && (!loc || loc==null)) 
	//|| (loc && !$(id).status && !$(id).checked)){
	//if (($(id).checked && (!loc || loc==null)) 
	//|| (loc && !$(id).checked)){
	if ($(id).checked){ 
		c = "indicator_show";
		d = false;
		vl = "1";
		if($(id+"_cb"))
			$(id+"_cb").style.backgroundColor = "#10c7e8";
	}else{
		c = "indicator_hide";
		d = true;
		vl = "";
		if($(id+"_cb"))
			$(id+"_cb").style.backgroundColor = "";
	}
	
	$(id).checked = !d;
	$(id).value = vl;
	
	pid = id + "_param";
	if($(pid)){
		$(pid).className = c;
		
		//disable each parameter 
		p = pid.substring(0,pid.indexOf("_"));
		n=1;
		do{
			if($(p+"_p"+n) || $(p+"_p1_"+n)){
				if(q = $(p+"_p"+n)){
					q.disabled=d;

				}
				if(q = $(p+"_p1_"+n)){	//radio param
					q.disabled=d;
				}
				n++;
			}else
				n =0;
			
		}while(n>0);
	}
	
}


function displayma() {

	var ma_p1span = $("ma_p1_span");
	var ma_p2span = $("ma_p2_span");
	var ma_p1 = $("ma_p1");
	var ma_p2 = $("ma_p2");
	var overlay = $("overlay");

	ma_p1span.style.visibility = "hidden";
	ma_p1.disabled = true;
	ma_p2span.style.visibility = "hidden";
	ma_p2.disabled = true;
	
	if(overlay.options[overlay.selectedIndex].value < 5){
		ma_p1span.style.visibility = "visible";
		ma_p1.disabled = false;
		if(overlay.options[overlay.selectedIndex].value < 3){
			ma_p2span.style.visibility = "visible";
			ma_p2.disabled = false;
			if(overlay.options[overlay.selectedIndex].value < 2)
				ma_p2.value = "2.0";
			else
				ma_p2.value = "1.5";
		}
	}
}


function displayma2(){
	var movavgtype = $('movavgtype');
	var movavg1 = $('movavg1');
	var movavg2 = $('movavg2');
	var movavg3 = $('movavg3');
	
	var overlay2_span = $('overlay2_span');

	if(movavgtype.options[movavgtype.selectedIndex].value >-1{
		overlay2_span.style.visibility = "hidden";
		movavg1.disabled = true;
		movavg2.disabled = true;
		movavg3.disabled = true;
	}else{
		overlay2_span.style.visibility = "visible";
		movavg1.disabled = false;
		movavg2.disabled = false;
		movavg3.disabled = false;
	
	}
}

function indices(value){
	var url = "display.php?symbol="+value;
	var indpopup=window.open(url,'indices','width=980,height=700,status=0,resizable=1,location=0,toolbar=0,titlebar=0,menubar=1,scrollbars=1');
	indpopup.focus();
}

function charthelp(type){
	var url = "/chart/charthelp.php?d=" +type;
	window.open(url,'charthelp','width=500,height=400,titlebar=0,menubar=0,location=0');
}
*/

function link(sym){
	$('symbol').value = sym;
	$('form').submit();
}

function rs_p2focus(){
	$('rs_p2').focus();
	$('rs_p2').select();
}

function active_retsub(){
	$('retsub').setAttribute('value',1);
}

function deactive_retsub(){
	$('retsub').setAttribute('value',0);
}

/* not used
function drawchart(page){
	var p = -1;
	var validindi = new array();
	for(var i = 0,len=$('form').elements.length;i < len;i++)
		if($('form').elements[i].value){	//append only if valid value and underlying indicator selected			
				url += $('form').elements[i].name + "=" + $('form').elements[i].value + "&"
		}
	
	var chart = window.open(url, 'chartdisplay', 'width=980,height=800,menubar=1,toolbar=no,location=no,scrollbars=yes,resizable=yes'); 
	chart.focus();
}
*/

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	$(document).cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = $(document).cookie.split(';');
	for(var i=0,len=ca.length;i < len;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,len);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,len);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/*
function selectSymbol(){
	$('symbol').select();
	$('symbol').focus();
}
*/


function freset(val){
	$('form').reset();
	displayma();
	displayma2();
	getLengthList(val);

	var indi = getElementsByClassName(document,'div','indicator_');
	for(i=0,len=indi.length;i<len;i++)
		displaycheck(indi[i].id.replace(/_param/,''));
	
}

/*
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
*/
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	
	//modified to check only start of classname
	var oRegExp = new RegExp("(^|\\s)" + strClassName);
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

/*
function createLen()
{
	var obj = $('time');
	// Executing the response from Ajax as Javascript code	
	eval(ajax.response);
}
*/

var k = null;
var k1 = null;	//daughter popup
$(document).onclick = null;

function monitorClick(e){
	var evt = (e)?e:event;
	var theElem = (evt.srcElement)?evt.srcElement:evt.target;
	
	var special_id = ["sortupimg","sortdnimg","WzBoDyI"];
	
	while(theElem!=null){
		if(theElem.getAttribute('mc')==1 || special_id.indexOf(theElem.id)>=0 ){	//valid id
			//open or close daughter popup
			if(k1){
				if(theElem.getAttribute('mc_d')!=1){ 	//close daughter if clicked outside
					//showhide_k1(k1,'','1');
					hide2(k1,'','1');
					k1 = null;
				}
			}
			return true;
		}
		theElem = theElem.offsetParent;  
	}
	
	if(k){
		hide2(k,'','');
		k = null;
	}
	
	if(k1){
		hide2(k1,'','1');
		k1 = null;
	}
	return true;
}

function showhide(id,p_id,no_k){
	if(id ){
		if($(id).style.display != 'block' || $(id).style.visibility!='visible'){
			if(no_k!=1){	//if blank, store k
				if(k != null)	//hide any previous layer
					hide2(k,'',no_k);
					
				k = id;  		//set to current layer
			}
			
			show2(id,p_id,no_k);
		}else{
			hide2(id,p_id,no_k);
			if(no_k!=1){	//if blank, check k and k1
				k = null;
			}
			
			//hide daughter
			if(k1)
				hide2(k1,'','1');			
			k1 = null;
		}
	}
}

function hide2(id,p_id,no_mc){
	if($(id)){
		$(id).style.display='none';
		$(id).style.visibility='hidden';
	
		if(no_mc!='1'){	//set if blank
			$(document).onclick = null;
		}
		
	}
}


function show2(id,p_id,no_mc){
	if($(id)){
		$(id).style.display='block';
		$(id).style.visibility='visible';
		
		if(no_mc!='1')
			$(document).onclick = monitorClick;
	}
}

/* daughter popup, mc=1 ->called by monitor click, else called by direct onclick  */
function showhide_k1(id,p_id,mc){
	if(id ){
		if(mc == 1){
			/* hide prev daughter */
			if(k1 && k1 != id){
				hide2(k1,'','1');
			}
			k1 = id;
			showhide(id,p_id,mc);
		}else
			showhide(id,'','');
	}
}


function setWidth(divId,width) {
	var divWidth = $(divId);
	if(width)
		divWidth.style.width = width + 'px';
	else
		divWidth.style.width = 'auto';
}

function setHeight(divId,height) {
	var divHeight = $(divId);
	if(height)
		divHeight.style.height = height + 'px';
	else
		divWidth.style.height = 'auto';
}

/*
Author: Buddhike de Silva
*/
function FormatNumber(pnumber,decimals)
{ 
	var strNumber = new String(pnumber);
  	var arrParts = strNumber.split('.');
  	var intWholePart = parseInt(arrParts[0],10);
  	var strResult = '';
  	if (isNaN(intWholePart))
    	intWholePart = '0';
  	if(arrParts.length > 1)
  	{
    	var decDecimalPart = new String(arrParts[1]);
    	var i = 0;
    	var intZeroCount = 0;
    	while ( i < String(arrParts[1]).length )
    	{
       		if( parseInt(String(arrParts[1]).charAt(i),10) == 0 )
       		{
         		intZeroCount += 1;
         		i += 1;
       		}
       		else
        		break;
    	}
    	decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); 
    	Math.round(decDecimalPart); 
    	decDecimalPart = parseInt(decDecimalPart)/10; 
    	decDecimalPart = Math.round(decDecimalPart); 

    	//If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
    	//then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. 

    	if(decDecimalPart==Math.pow(10, parseInt(decimals)))
    	{ 
     	 	intWholePart+=1; 
     		decDecimalPart="0"; 
    	} 
    	var stringOfZeros = new String('');
    	i=0;
    	if( decDecimalPart > 0 )
    	{
      		while( i < intZeroCount)
      		{
        		stringOfZeros += '0';
        		i += 1;
      		}
    	}
    	decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); 
    	var dot = decDecimalPart.indexOf('.');
    	if(dot == -1)
    	{
      		decDecimalPart += '.'; 
      		dot = decDecimalPart.indexOf('.'); 
    	} 
    	var l=parseInt(dot)+parseInt(decimals); 
    	while(decDecimalPart.length <= l) 
    	{
      		decDecimalPart += '0'; 
    	}
    	strResult = decDecimalPart;
  	}else{
	    var dot; 
    	var decDecimalPart = new String(intWholePart); 

	    decDecimalPart += '.'; 
    	dot = decDecimalPart.indexOf('.'); 
	    var l=parseInt(dot)+parseInt(decimals); 
    	while(decDecimalPart.length <= l) 
	    {
    	 	decDecimalPart += '0'; 
    	}
    	strResult = decDecimalPart;
  	}
  	return strResult;
}
//end format number

var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

function adjustchart_submit(c,t){
	$(c).value = t;
	$('form').submit();
}

jQuery(function(){
	if(jQuery("#sym_error") && jQuery("#sym_error").is(":visible")){
		jQuery("#symbol").bind('blur',function(){
			jQuery("#sym_error").hide('slow');
		});
	}
});

