var timerID = null;
//var timerRunning = false;
var delay =  5000; //10000; 10 seconds
var stopNow = false;
var beep = false;
var newAlert = false;
var beepcnt=0;
var t;
function PlaySound() {
   if (beepcnt < 1) {
	$.fn.soundPlay({url: '/images/beep.aiff',
		playerId: 'embed_player',
		command: 'play'});
	t=setTimeout("PlaySound()",2000);
	beepcnt++;
   } else {
	StopSound();
   }
}
function StartSound() {
  if(!beepcnt) {
  	PlaySound();
  }	
}
function StopSound() {
  if (beepcnt){	
       clearTimeout(t);	
       if (document.getElementById('beepid')){
	  $.fn.soundPlay({playerId: 'embed_player', command: 'stop'});	
  	  // document.getElementById('beepid').Stop();
	}
  }
  beepcnt = 0;	
}
function initializeTimer(fptr){
    stopTheClock();
    stopNow = false;
    timerID = self.setInterval ('run("' + fptr + '")', delay);


}
function run(fptr) {

	if (stopNow) {
		 stopTheClock();
		 return;
		}

	if (fptr) {
	 	//timerRunning = true;
		eval(fptr);

	  }
}




function stopTimer() {

	stopNow = true;
}

function stopTheClock(){
  //  if(timerRunning) {
        clearInterval(timerID);

	//	}
    //timerRunning = false;
}

function initAlertsPage(module_url, trade_session_name, window_identifier) {
        module_url = module_url.substr(0, module_url.lastIndexOf('/') + 1);
        var myFptr = 'updateView(\''+module_url+'\',\''+trade_session_name+'\',\''+window_identifier+'\')';

        initializeTimer(myFptr);

}

function updateView(module_url, trade_session_name, window_identifier) {

	var myAlertDiv = document.getElementById("alertsView");
	var myStateDiv = document.getElementById("stateView");
	var myGraphDiv = document.getElementById("graph");
	var myDataDiv = document.getElementById("dataView");

	if (!myStateDiv || myStateDiv == null || !myAlertDiv || myAlertDiv == null || !myGraphDiv || myGraphDiv == null || !myDataDiv || myDataDiv == null) {
		stopTimer();
		return;
	}
	var alert_list_url = module_url+"viewNewAlerts/beep/"+beep+"/window_identifier/"+window_identifier+"/trade_session_name/"+ trade_session_name;
	var state_url = module_url+"viewState/trade_session_name/"+ trade_session_name;
 	var graph_url = module_url+"graph/trade_session_name/"+ trade_session_name+'/';
	var realTimeData_url = module_url+"realTimeData/trade_session_name/"+ trade_session_name;



	var fptr =null;
	updateDiv(myGraphDiv, graph_url, true, fptr)
	updateDiv(myDataDiv,realTimeData_url, false, fptr );
	updateDiv(myStateDiv, state_url, false, fptr);


	//change stop button color
	fptr = function () {
	 	updateAlertsView(true);
	//	StartSound();
	}
	updateDiv(myAlertDiv, alert_list_url, false, fptr);



}
function getXMLHttpRequest() 
{
    if (window.XMLHttpRequest) {
        return new window.XMLHttpRequest;
    }
    else {
        try {
            return new ActiveXObject("MSXML2.XMLHTTP.3.0");
        }
        catch(ex) {
            return null;
        }
    }
}
function updateDiv_bkp(myDiv, url, image, fptr) {

	var xmlHttp_X=getXMLHttpRequest();
	if (xmlHttp_X==null)  {
  		alert ("Your browser does not support AJAX!");
  		return;
 	 }


	var stateChanged = function () {
		if (xmlHttp_X.readyState==4){
			if (image) {


				var currentTime = new Date()
				var hours = currentTime.getHours();
				var minutes = currentTime.getMinutes();
				var seconds = currentTime.getSeconds();
				url = url+"" + hours +":"+ minutes +":"+ seconds ;

				myDiv.src = url;

			} else {
				var strtxt = '';
				strtxt = xmlHttp_X.responseText;
				if (trim(strtxt) != '') {
					myDiv.innerHTML=xmlHttp_X.responseText;
					if (fptr != null) {
						fptr();
					}
				}
			}
		}
	}
	xmlHttp_X.onreadystatechange=stateChanged;
	xmlHttp_X.open("POST",url,true);
	xmlHttp_X.setRequestHeader("Method", "POST "+url+" HTTP/1.1");
        xmlHttp_X.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttp_X.send(null);
}
function updateDiv(myDiv, url, image, fptr) {
	try {
	$.post(url, function(data) {
		if (image) {
			var currentTime = new Date()
			var hours = currentTime.getHours();
			var minutes = currentTime.getMinutes();
			var seconds = currentTime.getSeconds();
			url = url+"" + hours +":"+ minutes +":"+ seconds ;

			myDiv.src = url;
		}
		else {
			if (trim(data) != '') {
				myDiv.innerHTML=data;
				if (fptr != null) {
					fptr();
				}
			}
		}
	});
     } catch(e) {
             alert(e);
     }	
}
function showAlerts(url) {
 	var myAlertDiv = document.getElementById("alertsView");

	if (!myAlertDiv || myAlertDiv == null ) {
		return;
	}
        //StopSound();
	updateAlertsView(false);
	updateDiv(myAlertDiv,url, false)
}
function updateAlertsView(newAlert) {
	if (newAlert) {
	   StartSound();
	} else {
	   StopSound();
	}
	document.getElementById("beepButton").className  = newAlert ? "btnAlert" : "btn";
	document.getElementById("highlight").style.border = newAlert ? '1px solid #FF0000' : '';
}
function popupWindowAlerts(opt,vale) {
	if(opt=='modes'){
		url = 'http://stocktradersdaily.com/Main/graph/index.htm';
	} else {
		if (vale == 'DAY_SESSION')
		url = 'http://stocktradersdaily.com/EDUCATION/day_trading_alerts_strategy.htm';
		if (vale == 'SWING_SESSION')
		url = 'http://stocktradersdaily.com/EDUCATION/swing_trading_alerts_strategy.htm';
		if(vale == 'LOCK_SESSION')
		url = 'http://stocktradersdaily.com/EDUCATION/Lock%20and%20walk_alerts_strategy.htm'; 
        }

	popupWin = window.open(url,vale,'width=800, height=450,scrollbars=1')
}

