//javascript

var time =1; //time in seconds
var interval = time * 1000 * 60;
var i=0
var handleOpenCloseMarket=false;
var timeToOpenCounter = 60;
var oldSecond = 0;
var waitingOpenOrClose = "NoWaiting";

preloadImages( '../shared/img/banner_bg_i.png', 'img/gen/tab_newsletter.jpg', 'img/gen/market_watch_i.jpg', 'img/gen/open_account_i.jpg', 'img/gen/e_trade_i.jpg', 'img/gen/egyption_stock_exchange_i.jpg', 'img/gen/cnbc_tab_i.jpg', 'img/gen/feedback_tab_i.jpg', 'img/gen/call_center_tab_i.jpg', 'img/gen/tap_pdf_i.gif', 'img/gen/tab_external_news.gif', 'img/gen/bttn_calculate.gif', 'img/gen/rss.gif', 'img/gen/heading_qsc_brief_history.gif', 'img/gen/heading_news.gif', 'img/gen/heading_commission_calc.gif', 'img/gen/city_new_york.gif', 'img/gen/city_london.gif', 'img/gen/city_doha.gif', 'img/gen/city_tokyo.gif', 'img/gen/icon_pdf.gif'); 

function preloadImages()
{
  var args = preloadImages.arguments;
  document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++)
  {
    document.imageArray[i] = new Image;
    document.imageArray[i].src = args[i];	
  }
}

onload=function()
{   
	var elem = "<div id='alarmDIV' class='alarmDIV' style='display:none;'></div>";
	$("body").prepend(elem);
	
    startTimer();    
    openCloseMarket();    
}

function startTimer() {
    $.post("inc/ajax_process.php", {
        action: "getTime",
        handleOCMarket: handleOpenCloseMarket        
    }, function (xml) {
        hndlTimer(xml);
    });
    setTimeout("startTimer()", interval);	
}

function hndlTimer(xml)
{
    $("span#TimeTokyo").html($("timeTokyo", xml).text());
    $("span#TimeLondon").html($("timeLondon", xml).text());
    $("span#TimeNY").html($("timeNewyork", xml).text());
	$("span#TimeDoha").html($("timeDoha", xml).text());
    $("span#TimeDohaFull").html($("timeDohafull", xml).text());
		
	if(handleOpenCloseMarket)
	{
        $mStatus = $("mStatus",xml).text();        
        tmpMarketStatus		= $("marketStatus", xml).text();
        tmpCoundDown        = $("countDown", xml).text();
		timeToOpen		    = $("timeToOpen", xml).text();
        timeToClose         = $("timeToClose", xml).text();
        //alert(timeToOpen);
		setupMarketStatus(tmpMarketStatus, tmpCoundDown, timeToOpen, timeToClose);
	}
	
}

function replaceLabel(val)
{
	var objLabel1		=document.getElementById('lblPayOff');
	var objCommission	= document.getElementById("txtCommission");
	var objTotPay		= document.getElementById("txtPay");
	var objQuantity		= document.getElementById("txtShareQuantity");
	var objPrice		= document.getElementById("txtPrice");
	
	if(val=="BUY")
	{
		objLabel1.innerHTML="Total You Pay";
		if(objQuantity.value != "" && objPrice.value != "")
		getCommission();
	}
	else
	{
		objLabel1.innerHTML="Total You Receive";
		if(objQuantity.value != "" && objPrice.value != "")
		getCommission();
	}
}

function getCommission() {	
	var objQuantity		= document.getElementById("txtShareQuantity");
	var objPrice		= document.getElementById("txtPrice");
	var objAction		= document.frmCommCal.rdoSellBuy;
	var objCommission	= document.getElementById("txtCommission");
	var objTotPay		= document.getElementById("txtPay");
       
		
	if (objAction[0].checked)
	{
		action=objAction[0].value;
	}
	else if (objAction[1].checked)
	{
		action=objAction[1].value;
	}
	
	quentity=objQuantity.value;
	totalPrice=objPrice.value;	
	if(isNaN(quentity) || quentity < 1)
	{
		objQuantity.select();
		alert("Please enter valid quantity.");	
	}
	else if(isNaN(totalPrice) || totalPrice < 1)
	{
		objPrice.select();
		alert("Please enter valid price.");	
	}
	else
	{
        document.getElementById('block_15').style.display="block";
        $.post("inc/ajax_process.php", {
            action: "calcComm",
            Quantity: $("#txtShareQuantity").val(),
            Price: $("#txtPrice").val(),
            Act: action
        }, function (xml) {
            hndlCommission(xml);
        });
	}
}

function hndlCommission(xml)
{
	document.getElementById('block_15').style.display="none";
	$("#txtCommission").val($("commAmount", xml).text());
	$("#txtPay").val($("toalPay", xml).text());	
}

function switchDisplay(div1, div2)
{
	obj1=document.getElementById(div1);	
	obj2=document.getElementById(div2);		
	obj2.style.display='none';
	obj1.style.display='block';
}

function openCloseMarket()
{
	/* 
	 The variables used in this function
	 (1)marketStatus (2)marketReason
	 are defined and assigned in CONTROLS.PHP file's PHP Function << insert_count_down() >>
  	*/
	setupMarketStatus(marketStatus, marketReason, 0, 0);
}

function setupMarketStatus(newMarketStatus, newCountDown, toOpen, toClose)
{
	var objLblMarketStatus=document.getElementById('lblMarketStatus');
    var objLblCountDown=document.getElementById('lblCountDown');
	var objLbllblCountDownTime=document.getElementById('lblCountDownTime');
	var objTdCountDown=document.getElementById('tdCountDown');
	var objTblCoundDown=document.getElementById('tblCoundDown');
	
	//alert(marketStatus);
	
	objTblCoundDown.style.visibility="hidden";	
    if(toOpen >=0 && toOpen < 60)
    {
        //waitingOpenOrClose = "NoWaiting";
    }
    if(toClose >=0 && toClose < 150)
    {
        //runCoundownTimer = true;
        objLbllblCountDownTime.style.display = "block";
    }
	
	if(newMarketStatus=='OPENED' && (waitingOpenOrClose == "Open" || waitingOpenOrClose == "Close"))
	{
		objTdCountDown.style.display="inline";
		objLblMarketStatus.innerHTML="OPENED";
		handleOpenCloseMarket=true;
	}   
    else if(newMarketStatus=='OPENED')
    {          
        objTdCountDown.style.display="none";
        objLblMarketStatus.innerHTML="OPENED";        
        handleOpenCloseMarket=true;
    }   
	else if(newMarketStatus=='PRETIME')
	{
		objTdCountDown.style.display="inline";
		objLblMarketStatus.innerHTML="CLOSED";
        objLblCountDown.innerHTML="";
        if(toOpen >=0 && toOpen < 30 && waitingOpenOrClose == "Open")
		    objLblCountDown.innerHTML="TIME&nbsp;TO&nbsp;OPEN";
        else if(toOpen > 29 && toOpen < 60 && waitingOpenOrClose == "Open")
            objLblCountDown.innerHTML="TO&nbsp;PRE&nbsp;OPEN";
        else
        {
            objLblCountDown.innerHTML="";
            objTdCountDown.style.display="none";
        }
		handleOpenCloseMarket=true;
	}
	else if(newCountDown != "DOALARM" && newCountDown != "NOALARM")
	{
		objTdCountDown.style.display="inline";
		objLblMarketStatus.innerHTML="CLOSED";
		objLblCountDown.innerHTML=newCountDown;
		handleOpenCloseMarket=false;
	}
	else
	{
		objTdCountDown.style.display="none";
		objLblMarketStatus.innerHTML="CLOSED";
		//objLblCountDown.innerHTML="Pre&nbsp;Time";
		handleOpenCloseMarket=false;
	}
    if(timeToOpen != "" && timeToOpen >= 0 && runCoundownTimer)
    {       
       objLbllblCountDownTime.innerHTML = timeToOpen + ":" + --timeToOpenCounter;
       timeToOpenCounter = 59;
       waitingOpenOrClose = "Open";
       objLblCountDown.className = "lblCountDownCS2";
       runCoundDownTimer();
    }
    else if(timeToClose != "" && timeToClose >= 0 && runCoundownTimer)
    {
        objLbllblCountDownTime.innerHTML = timeToClose + ":" + --timeToOpenCounter;
        timeToOpenCounter = 59;
        waitingOpenOrClose = "Close";
        objLblCountDown.className = "lblCountDownCS2";
        runCoundDownTimer();
    }
    else
    {
        waitingOpenOrClose = "NoWaiting";
        objLblCountDown.className = "lblCountDownCS1";
        objLblCountDown.style.display = "block";
        objLbllblCountDownTime.style.display = "none";
    }
    
	objTblCoundDown.style.visibility="visible";
	
	// making alarm
	if(newCountDown == "DOALARM" && newMarketStatus=='OPENED' && playAlarmOpen == 1)
	{		
		alarmAction("start");     
	}
	else if(newCountDown == "DOALARM" && newMarketStatus=='PRETIME' && playAlarmClose == 1)
	{
        alarmAction("start");       
	}
}

function showHide(status, id)
{
    if(status)
        $("#" + id).slideDown("fast");
    else
        $("#" + id).slideUp("fast");
}

function showHide(status, id, speed)
{
    if(status)
        $("#" + id).slideDown(speed);
    else
        $("#" + id).slideUp(speed);
}

function runCoundDownTimer()
{
    var objLbllblCountDownTime=document.getElementById('lblCountDownTime');
    var objLblMarketStatus=document.getElementById('lblMarketStatus');
    var objLblCountDown=document.getElementById('lblCountDown');
    
    var now = new Date();
    var seconds = now.getSeconds();   
    var minutes = now.getMinutes(); 
    
    if(oldSecond != 0)
    {
        secDiff = ((minutes*60) + seconds) - oldSecond ;
    }
    else
    {
        secDiff = 1;
    }
    
    timeToOpenCounter = timeToOpenCounter - secDiff;
    if(waitingOpenOrClose == "Open")
    {
        if(timeToOpen >= 0 && timeToOpen < 30)
            objLbllblCountDownTime.innerHTML = "00:" + (getFullDoubleNumber(timeToOpen)) + ":" + getCondownSecond(timeToOpenCounter);
        else if(timeToOpen > 29 && timeToOpen < 60)
            objLbllblCountDownTime.innerHTML = "00:" + (getFullDoubleNumber(timeToOpen-30)) + ":" + getCondownSecond(timeToOpenCounter);
        else
            objLblCountDown.innerHTML = "";
    }
    else if(waitingOpenOrClose == "Close")
    {
        objLblCountDown.innerHTML = ("TIME&nbsp;TO&nbsp;CLOSE");
        if(timeToClose > 59)
        {
            hh = Math.floor(timeToClose/60);
            ss = timeToClose%60;
            objLbllblCountDownTime.innerHTML = getFullDoubleNumber(hh) + ":" + (getFullDoubleNumber(ss)) + ":" + getCondownSecond(timeToOpenCounter);
        }
        else
        {
            objLbllblCountDownTime.innerHTML = "00:" + (getFullDoubleNumber(timeToClose)) + ":" + getCondownSecond(timeToOpenCounter);
        }
    }
    
    oldSecond = (minutes*60) + seconds;
    var countdownTimer = setTimeout("runCoundDownTimer()", 1000);
}

function getCondownSecond(val)
{
    val = val+ "";    
    if(val <= 0)
    {
        return "00";
    }
    else if(val > 59)
    {
        return "59";
    }
    else if(val.length == 1)
    {
        return "0" + val;
    }
    else
    {
        return val;
    }
}
function getFullDoubleNumber(val)
{
    val = val + "";
    if(val.length == 1)
    {
        return "0" + val + "";
    }
    else
    {
        return val;
    }
}

function alarmAction(action)
{
    if(action == "start")
    {
		attachFlashAlarm();
        $("#alarmDIV").fadeIn("slow");		
        var actionTimer = setTimeout("alarmAction('stop')", 4000);
    }
    else
    {
		removeFlashAlartm();
        $("#alarmDIV").fadeOut("slow");
    }    
}

function attachFlashAlarm()
{
	objAlarm=new Object
    objAlarm.movie="../shared/swf/alarm1.swf"
    objAlarm.quality="high"
    objAlarm.wmode="transparent"
    objAlarm.width=130
    objAlarm.height=140
    objAlarm.version="8,0,0,0"
    objAlarm.bgcolor="#ffffff"    
    commitFlashObject(objAlarm,"alarmDIV")
}
function removeFlashAlartm()
{
	objAlarm = null;
	$("div#alarmDIV").html("");
}