﻿   function ChangeColorInnerLink (link, isactive)
   {
       if(isactive == 'over')
       link.style.backgroundColor = "#d2dcdd";
       else if(isactive == 'out')
       link.style.backgroundColor = "#f0f0f0";
   }
        
    var timeout	= 500;
    var closetimer	= 0;
    var closediv = 0;

    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

     function EmptyTxtFirstName(txtboxid,txtcontent){
            if(txtboxid.value == txtcontent)
                txtboxid.value="";
        }
        
    function FillTextBox(txtboxid,txtcontent){
    
        while(txtboxid.value.charAt(0)==' ')
		{
		    txtboxid.value=txtboxid.value.substring(1,txtboxid.value.length)
		}
		
		while(txtboxid.value.charAt(txtboxid.value.length-1)==' ')
		{
		    txtboxid.value=txtboxid.value.substring(0,txtboxid.value.length-1)
		}
		
        if(txtboxid.value == "")
           txtboxid.value=txtcontent;
    }

    function HideAll()
    {
        var obj1 = document.getElementById('informationinner');
        if(obj1 != null )
            obj1.style.display = "none";
        
        var obj1 = document.getElementById('arabmarketinner');
        if(obj1 != null )
            obj1.style.display = "none";
        
        var obj1 = document.getElementById('marketsnner');
        if(obj1 != null )
            obj1.style.display = "none";
        
        var obj1 = document.getElementById('magazineinner');
        if(obj1 != null )
            obj1.style.display = "none";
           
        var obj1 = document.getElementById('learninginner');
        if(obj1 != null )
            obj1.style.display = "none";
            
        var obj1 = document.getElementById('accountinner');
        if(obj1 != null )
            obj1.style.display = "none";
    }
    function AllWhiteMenu()
    {
        var obj1 = document.getElementById('headeraboutlink');
        if(obj1 != null )
            obj1.style.color = "#fff";
            
        var obj1 = document.getElementById('headermedialink');
        if(obj1 != null )
            obj1.style.color = "#fff";
            
        var obj2 = document.getElementById('headerinfolink');
        if(obj2 != null )
            obj2.style.color = "#fff";
    }

    function ShowDIV(ourDiv, senderDiv)
    {

        //ourDiv.style.color = "#08526d";
        
        HideAll();
       
        mcancelclosetime();

        var obj = document.getElementById(senderDiv);
        if ( obj != null )
        {
        obj.style.display = "block";
         
      }
    }

    function mcancelclosetime()
    {
	    if(closetimer)
	    {
		    window.clearTimeout(closetimer);		
		    closetimer = null;
	    }	
    }


    function mclose()
    {	
	    if (closediv)
        {    
            closediv.style.display = "none";       
        }
    }

    function HideDIV(senderDiv)
    {
        AllWhiteMenu();

        closediv = document.getElementById(senderDiv);
        closetimer = window.setTimeout(mclose, timeout);
        
        
    }

    function getH()
    { 

        SetLocalHeight();
    }
    
    function onlyNumbers(evt)
    {
	    var e = event || evt; // for trans-browser compatibility
	    var charCode = e.which || e.keyCode;

	    if (charCode > 31 && (charCode < 48 || charCode > 57))
		    return false;

	    return true;
    }
    
    function checkValues(data, id, maxValue, minValue)
    {        
        if (data == '' || data == null)
        {
            id.value = '00';
            return;
        }
        if (data > maxValue)
        {
            id.value = maxValue;
        }
        else if (data < minValue)
        {
            id.value = minValue;
        }
        
        if (data >= 0 && data < 10)
        {
            id.value = '0' + parseInt(data);
        }        
    }   




(function($){var escapeable=/["\\\x00-\x1f\x7f-\x9f]/g,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};$.toJSON=typeof JSON==='object'&&JSON.stringify?JSON.stringify:function(o){if(o===null){return'null';}
var type=typeof o;if(type==='undefined'){return undefined;}
if(type==='number'||type==='boolean'){return''+o;}
if(type==='string'){return $.quoteString(o);}
if(type==='object'){if(typeof o.toJSON==='function'){return $.toJSON(o.toJSON());}
if(o.constructor===Date){var month=o.getUTCMonth()+1,day=o.getUTCDate(),year=o.getUTCFullYear(),hours=o.getUTCHours(),minutes=o.getUTCMinutes(),seconds=o.getUTCSeconds(),milli=o.getUTCMilliseconds();if(month<10){month='0'+month;}
if(day<10){day='0'+day;}
if(hours<10){hours='0'+hours;}
if(minutes<10){minutes='0'+minutes;}
if(seconds<10){seconds='0'+seconds;}
if(milli<100){milli='0'+milli;}
if(milli<10){milli='0'+milli;}
return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array){var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i])||'null');}
return'['+ret.join(',')+']';}
var name,val,pairs=[];for(var k in o){type=typeof k;if(type==='number'){name='"'+k+'"';}else if(type==='string'){name=$.quoteString(k);}else{continue;}
type=typeof o[k];if(type==='function'||type==='undefined'){continue;}
val=$.toJSON(o[k]);pairs.push(name+':'+val);}
return'{'+pairs.join(',')+'}';}};$.evalJSON=typeof JSON==='object'&&JSON.parse?JSON.parse:function(src){return eval('('+src+')');};$.secureEvalJSON=typeof JSON==='object'&&JSON.parse?JSON.parse:function(src){var filtered=src.replace(/\\["\\\/bfnrtu]/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered)){return eval('('+src+')');}else{throw new SyntaxError('Error parsing JSON, source is not valid.');}};$.quoteString=function(string){if(string.match(escapeable)){return'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}
c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};})(jQuery);


function makeAjaxCall(serviceName, methodName, data, successCallBack,errorCallBack, context ){
        var jsonData;
        if(data)
        {
            if (typeof(data)==='object')
                jsonData= $.toJSON(data);
            else
                jsonData = data;
        }
        else{
            jsonData=null;
        
        }
            
    $.ajax({
        type: "POST",
        url:'/webservices/'+serviceName+'.asmx/' + methodName,
        data:jsonData,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(data){successCallBack(data.d, this);},
        error: errorCallBack,
        context: context || window
        });
}



/// <reference path="JQAjax.js" />
var flashMovie;

var getRowCompanyId= function(elm, selector){
        var arr= elm.first().attr('class').split(/\s+/);
        var rg= new RegExp('^' + selector +'.+');
        var farr=$.grep(arr, function(arrElm){
         
            return rg.test(arrElm);
        
        });
        var rplRegEx=new RegExp('^' + selector);
        if(farr.length>0)
            return farr[0].replace(rplRegEx,'');
    }
    
var getRowCurrencyIds = function (elm){
        return {
            ind:getRowCompanyId(elm,'ind'),
            dind:getRowCompanyId(elm,'dind')
            
        
        }
    
    }

function amChartInited(chart_id){
  flashMovie = document.getElementById('chartdiv');

}

function marketsSummary(options){
    var context=this;
    
    
    var company;
    var flashVars = 
            {
                path: "/amcharts/"             
            };
  

   
    var domElementes={
            container:null,
            flashMovie:null,
            marketsRows:null,
            defaultMarketRow:null,
            periodsContainer:null,
            periodButtons:null
            
    
    };
    
    function refreshChart(data){
        company=data.company;

    flashVars.chart_settings=unescape(data.xml);

            swfobject.embedSWF("/amcharts/amstock.swf", defaults.chartDivId, "100%", "100%", "8.0.0", "/amcharts/expressInstall.swf", flashVars, {wmode:'transparent'}); 


    }
    

    
    function getCompanyData(itemId,period, callback, onError){

    makeAjaxCall("ticketChart",defaults.serviceMethodName, {itemId: itemId, period: period},callback,onError);


    }
    
    function getCurrencyData(itemId, dItemId,period, callback, onError){

    makeAjaxCall("ticketChart",defaults.serviceMethodName, {itemId: itemId,dItemId:dItemId, period: period},callback,onError);


    }
        
    
    function setChartCompany(itemId){
         getCompanyData(itemId, "M3", refreshChart);

    }
    


    
        
    var defaults={
                    containerId:'localMarketsDiv',
                    chartDivId:'chartdiv',
                    periodsContainerId:'localMarketsPeriods',
                    marketsContainerId:'localMarketsTableDiv',
                    flashSetupXml:'/amcharts/tc_settings.ar.xml',
                    serviceMethodName:'GetCompanyDataForPeriod',
                    method:'company'
                };
    
    function setChartPeriod(){
            var period = $(this).attr('title');
            if(defaults.method=='company')
                getCompanyData(company.CompanyId,period,refreshChart);
             else
                getCurrencyData(company.CurrencyId, company.CurrencyDenominator.CurrencyId,period,refreshChart);
 
             $(this).addClass('selected').siblings().removeClass('selected').css('opacity',0.5);
   
        
    }
    
    this.methods={
                    init:function(options){
                            if(options)
                                $.extend(defaults,options);
                                domElementes.container=$('#'+  defaults.containerId);
                                domElementes.marketsRows=$('#' + defaults.marketsContainerId).find('tr');
                                domElementes.defaultMarketRow=domElementes.marketsRows.first();
                                domElementes.periodsContainer=$('#' +  defaults.periodsContainerId);
                                domElementes.periodButtons=domElementes.periodsContainer.find('.periodButton');
                                //flashVars.settings_file=defaults.flashSetupXml;
                                
                                domElementes.defaultMarketRow.addClass('selected');
                               
                                domElementes.periodButtons.click(setChartPeriod).css('opacity',0.5);
                                domElementes.periodButtons.filter('[title=M3]').css('opacity',1).addClass('selected');
                                 domElementes.periodButtons.mouseenter(function(){
                                    $(this).css('opacity' ,1).siblings().not('.selected').css('opacity',0.5);
                                 }).mouseleave(function(){ if(!($(this).hasClass('selected'))) $(this).css('opacity',0.5) });;
                                domElementes.marketsRows.click(function(){
                                        var itemId;
                                        var dItemId;
                                        if(defaults.method=="company"){
                                           itemId = getRowCompanyId($(this),'ind');
                                        
                                        }
                                        else{
                                            var o = getRowCurrencyIds($(this));
                                            itemId=o.ind;
                                            dItemId=o.dind;
                                        
                                        }
                                        
                                        
                                            
                                        
                                        var period= domElementes.periodButtons.filter('.selected').attr('title');
//                                        var m = defaults.method =="company" ? getRowCompanyId : getRowCurrencyIds;
//                                        m(itemId,period,refreshChart);
                                        if(defaults.method=='company')
                                            getCompanyData(itemId,period,refreshChart);
                                         else
                                            getCurrencyData(itemId,dItemId,period,refreshChart);
                                        
                                        
                                        $(this).addClass('selected').removeClass('over').siblings().removeClass('selected');
                                });
                                
                                if(defaults.method=='company'){
                                 var itemId=getRowCompanyId( domElementes.defaultMarketRow,'ind');
                                 setChartCompany(itemId);
                                 }
                                 else{
                                     var o = getRowCurrencyIds(domElementes.defaultMarketRow); 
                                    var itemId=o.ind;
                                    var dItemId=o.dind;
                                    getCurrencyData(itemId,dItemId,"M3",refreshChart);
                                 
                                 }
                                
                           
                    
                    
                    },
                    refresh:function(){
                        var period=domElementes.periodButtons.filter('.selected').attr('title');
                        if(defaults.method=='company'){
                            var companyId = getRowCompanyId( domElementes.marketsRows.filter('.selected'),'ind');
                           getCompanyData(companyId,period,refreshChart);
                        }
                        else{
                             var o = getRowCurrencyIds(domElementes.marketsRows.filter('.selected')); 
                              var itemId=o.ind;
                              var dItemId=o.dind;
                              getCurrencyData(itemId,dItemId,period,refreshChart);
                              
                        }
                    }
    
    };
    
    context.methods.init(options);
    
    
   



}



$(function(){
    if($('#chartdiv').length==0)
        return;
    
    var optionsArr=[];
    
    optionsArr.push({
                    containerId:'localMarketsDiv',
                    chartDivId:'chartdiv',
                    periodsContainerId:'localMarketsPeriods',
                    marketsContainerId:'localMarketsTableDiv',
                    flashSetupXml:'/amcharts/tc_settings.ar.xml',
                    serviceMethodName:'GetCompanyDataForPeriod'});
    
      optionsArr.push({
                    containerId:'globalMarketsDiv',
                    chartDivId:'chartdiv',
                    periodsContainerId:'globalMarketsPeriods',
                    marketsContainerId:'globalMarketsTableDiv',
                    flashSetupXml:'/amcharts/tc_settings.ar.xml',
                    serviceMethodName:'GetGlobalIndexDataForPeriod'});
                    
     
      optionsArr.push({
                    containerId:'commoditiesDiv',
                    chartDivId:'chartdiv',
                    periodsContainerId:'commoditiesPeriods',
                    marketsContainerId:'commoditiesTableDiv',
                    flashSetupXml:'/amcharts/tc_settings.ar.xml',
                    serviceMethodName:'GetCommoditiesDataForPeriod'});
                    
       optionsArr.push({
                    containerId:'currenciesDiv',
                    chartDivId:'chartdiv',
                    periodsContainerId:'currenciesPeriods',
                    marketsContainerId:'currenciesTableDiv',
                    flashSetupXml:'/amcharts/tc_settings.ar.xml',
                    serviceMethodName:'GetCurrenciesDataForPeriod',
                    method:'currency'
                    });
   
    
    var tabs=$('#tabs').find('LI');
    var periodsContainers=$('.Periods');
    var dataTables=$('.markets');
    var localMarkets=new marketsSummary(optionsArr[0]);
   // localMarkets.methods.init(optionsArr[0]);
    tabs.first().data('chartData',localMarkets).addClass('selected').siblings().css('opacity','0.5');
    tabs.click(function(){
            var index= tabs.index(this);
            $(this).addClass('selected').css('opacity','1').siblings().removeClass('selected').css('opacity','0.5');
            periodsContainers.eq(index).show().siblings('.Periods').hide();
            dataTables.eq(index).show().siblings('.markets').hide();
            var market;
            if(!($(this).data('chartData'))){
                market= new marketsSummary(optionsArr[index]);
                $(this).data('chartData',market);
            
            }
            else{
                market = $(this).data('chartData');
                market.methods.refresh();
            }
            
            

            
                
        
        
    
    });
    tabs.mouseenter(function(){$(this).css('opacity','1').addClass('over').siblings().removeClass('over').not('.selected').css('opacity','0.5');}).mouseleave(function(){if(!($(this).hasClass('selected'))) $(this).css('opacity','0.5').removeClass('over');});

    
    
    


});
