var mainurl = document.location.href;
var index_com = mainurl.indexOf(".com");
mainurl = mainurl.substring(0, index_com + 4);
 
var staticbasehref = mainurl + "/static/";
var dynamicbasehref = mainurl + "/jsp/";

var timerID = null;
var timerRunning = false;
var memType = 'BM1';

function stopclock (){
        if(timerRunning)
                clearTimeout(timerID);
        timerRunning = false;
}

function startclock () {
        stopclock();
        showtime();
}

function showtime () {
        var now = new Date();
 
		var gmthours = now.getUTCHours();
		var gmtminutes = now.getUTCMinutes();
        var gmtseconds = now.getUTCSeconds();
		 
 		var timeValue = " GMT Time: <b>" + gmthours
        timeValue += ((gmtminutes < 10) ? ":0" : ":") + gmtminutes
        timeValue += ((gmtseconds < 10) ? ":0" : ":") + gmtseconds
        timeValue +=  " Hrs</b>&nbsp;|" ;
		
        var hours = now.getHours();
        var minutes = now.getMinutes();
        var seconds = now.getSeconds();
		
        timeValue += " Local Time: <b>" + ((hours >12) ? hours -12 :hours)
        timeValue += ((minutes < 10) ? ":0" : ":") + minutes
        timeValue += ((seconds < 10) ? ":0" : ":") + seconds
        timeValue += (hours >= 12) ? " P.M.</b>" : " A.M.</b>";
	  
        document.getElementById('clock').innerHTML= timeValue;
        timerID = setTimeout("showtime()",1000);
        timerRunning = true;
}
//XMLHttpRequest Handling functions
function show(url, target) {
  url = staticbasehref + url; 
  document.getElementById(target).innerHTML = ' Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, target);};
    req.open("GET", url, true);
    req.send("");
  }
} 

function showjsp(url, target) {
  url = dynamicbasehref + url; 
  document.getElementById(target).innerHTML = ' Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, target);};
    req.open("GET", url, true);
    req.send("");
  }
}
 

function showDone(url, target) {
  if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
      document.getElementById(target).innerHTML = req.responseText;
    } else {
      document.getElementById(target).innerHTML="Error:\n"+ req.status + "\n" +req.statusText;
    }
  }
}
//login.html functions

function dologin(url, target) {
  var userid = document.getElementById('l_login').value;
  var password =  document.getElementById('l_password').value; 
  
  if(userid == "" || password == ""){
	alert("Userid or password fields cannot be empty. Please try again");
	return true;
  }
  
  url = dynamicbasehref + url; 
  document.getElementById(target).innerHTML = ' Logging in...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, target);};
    req.open("POST", url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send("userid="+userid+"&pass="+password);
  }
}  

// Register.html functions
function checkuser(url, target) {
  var userid = document.getElementById('login').value; 
  if(userid == null || userid == "")
	return true;
  if(userid < 4) {
	document.getElementById('c_login').innerHTML = "<span class='important'>UserId must be at least 4 characters</span>";
	return true;
  }
  url = dynamicbasehref + url+"?userid="+userid; 
  document.getElementById(target).innerHTML = ' Checking userid availability...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, target);};
    req.open("GET", url, true);
    req.send("");
  }
} 

function checkpass(){
	 var password =  document.getElementById('password').value; 
	 if(password.length < 4){
		document.getElementById('c_password').innerHTML = "<span class='important'>Password must be at least 4 characters</span>";
	 }
	 else {
	 document.getElementById('c_password').innerHTML ="Password ok."
	 }
	 verifypass();
}

function verifypass() {
  var password =  document.getElementById('password').value; 
  var verifypass = document.getElementById('verifypassword').value;
  if(password != verifypass) {
	document.getElementById('c_verifypass').innerHTML = "<span class='important'>Please make sure that the password field matches with the verification field.</span>";	 
  }
  else {
	document.getElementById('c_verifypass').innerHTML = "Password verification ok.";
  }
}

function checkemail(){
	var email = document.getElementById('email').value; 
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if(filter.test(email)){
		document.getElementById('c_email').innerHTML = "E-Mail ok.";
	}
	else {
		document.getElementById('c_email').innerHTML = "<span class='important'>The E-mail address does not appear to be valid.</span>";
	}
}

function checkfname(){
	var fname = document.getElementById('fname').value; 
	 
	if(fname.length >=1){
		document.getElementById('c_fname').innerHTML = "";
	}
	else {
		document.getElementById('c_fname').innerHTML = "<span class='important'>Please enter your first name.</span>";
	}
}

function checklname(){
	var lname = document.getElementById('lname').value; 
	 
	if(lname.length >=1){
		document.getElementById('c_lname').innerHTML = " ";
	}
	else {
		document.getElementById('c_lname').innerHTML = "<span class='important'>Please enter your last name.</span>";
	}
}

function doregister(url, target){
  var userid = document.getElementById('login').value;
  var password =  document.getElementById('password').value; 
  var verifypass = document.getElementById('verifypassword').value; 
  var fname = document.getElementById('fname').value;
  var lname =  document.getElementById('lname').value;
  var email = document.getElementById('email').value;
  var cphone =  document.getElementById('cphone').value;
  
  var address =  document.getElementById('address').value;
  var city =  document.getElementById('city').value;
  var state =  document.getElementById('state').value;
  var country_elm = document.getElementById('country');
  var country =  country_elm.options[country_elm.selectedIndex].text;
  var zip =  document.getElementById('zip').value;
  var ref =  document.getElementById('ref').value;  
  
  
  if(userid == "" || password == "" || fname == "" || lname == "" || email == "" || country == "NONE"){
	alert("Required fields cannot be empty. Please input the information and try again");
	return true;
  }
  
  if(userid.length < 4 || password.length < 4) {
	alert("Password cannot be less than 4 characters");
	return true;
   }
   
   if(password != verifypass) {
	alert("Please verify your password. They do not seem to match.");
	return true;
	}
   
   if(email.indexOf("@") == -1) {
	alert("Please enter a valid email address");
	return true;
	}
 
  url = dynamicbasehref + url; 
  document.getElementById(target).innerHTML = ' Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, target);};
    req.open("POST", url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send("userid="+userid+"&pass="+password+"&fname="+fname+"&lname="+lname+"&email="+email+"&cphone="+cphone+"&address="+address+"&city="+city+"&state="+state+"&country="+country+"&zip="+zip+"&ref="+ref);
  }
}
// Subscribe.html functions
function setSelection(target){ 
	memType = target.value;	  
	var olddiv = document.getElementById('switchinput');
	olddiv.innerHTML = '';
}

function showSwitchInput(target) {
	memType = target.value;	
	show('switchform.htm','switchinput');	
}

function dosubscribe(url,target){
	if(memType == "" || memType == null){
		alert("Please make a selection");
		return;
	}
	if(memType == "SWITCH"){
		var tradingpl = document.getElementById('tradingpl').value;
		var hedgingpl;
		if(document.getElementById("hedgingpl1").selected) { 
			hedgingpl = 'Yes';
		}
		else {
			hedgingpl = 'No';
		}
		var usablemargin = document.getElementById('usablemargin').value;
		var usedmargin = document.getElementById('usedmargin').value;
		var unfavposition = document.getElementById('unfavposition').value;
		var addlinfo = document.getElementById('addldetail').value;
		if(tradingpl == "" || tradingpl == null || hedgingpl == "" || hedgingpl == null || usablemargin == "" || usablemargin == null || usedmargin == "" || usedmargin == null || unfavposition == "" || unfavposition == null) {
			alert("Some required fields for the switch information seem to be missing. Please add this information and try again");
			return;
		}	
	}
	var tPrice;
	var tItemName;
	var tQuantity = '1';
	//get selected quantity value for PPT
	var pptselect = document.getElementById("pptquantity");

	switch(memType){
		case "PPT": tPrice = '30'; tItemName = 'Pay Per Trade'; tQuantity = pptselect.options[pptselect.selectedIndex].value; break;
		case "SWITCH": tPrice = '100'; tItemName = 'Switch Trade'; break;
		case "PTT": tPrice = '3000'; tItemName = 'Professional Trader Training'; break;
		
		case "BM1": tPrice = '330'; tItemName = 'Basic Membership (1 Month)'; break;
		case "BM2": tPrice = '900'; tItemName = 'Basic Membership (3 Months)'; break;
		case "BM3": tPrice = '3000'; tItemName = 'Basic Membership (12 Months)'; break;
		
		case "DM1": tPrice = '600'; tItemName = 'Dealer Membership (1 Month)'; break;
		case "DM2": tPrice = '1500'; tItemName = 'Dealer Membership (3 Months)'; break;
		case "DM3": tPrice = '5000'; tItemName = 'Dealer Membership (12 Months)'; break;
		
		case "PM1": tPrice = '1200'; tItemName = 'Premium Membership (1 Month)'; break;
		case "PM2": tPrice = '3000'; tItemName = 'Premium Membership (3 Months)'; break;
		case "PM3": tPrice = '10000'; tItemName = 'Premium Membership (12 Months)'; break;
		
		case "INS1": tPrice = '1800'; tItemName = 'Premier (Institutional) Membership (1 Month)'; break;
		case "INS2": tPrice = '5000'; tItemName = 'Premier (Institutional) Membership (3 Months)'; break;
		case "INS3": tPrice = '15000'; tItemName = 'Premier (Institutional) Membership (12 Months)'; break;
		
		default: tPrice = '330'; tItemName = 'Basic Membership (1 Month)'; break;
	}
	
	url = dynamicbasehref + url;  
	document.getElementById(target).innerHTML = '';
	if (window.XMLHttpRequest) {
	req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
 
   if(memType == "SWITCH") {	   
	  if (req != undefined) {
		req.onreadystatechange = function() {showDone(url, 'content');};
		req.open("POST", url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("tradingpl="+tradingpl+"&hedgingpl="+hedgingpl+"&usablemargin="+usablemargin+"&usedmargin="+usedmargin+"&unfavposition="+unfavposition+"&addlinfo="+addlinfo+"&memType="+memType+"&itemName="+tItemName+"&itemPrice="+tPrice+"&itemQuantity="+tQuantity);
	  }
	}
	else { 
		if (req != undefined) {
			req.onreadystatechange = function() {showDone(url, 'content');};
			req.open("POST", url, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.send("memType="+memType+"&itemName="+tItemName+"&itemPrice="+tPrice+"&itemQuantity="+tQuantity);		 
		}
	}
}

function submitwirerequest(url, params, target) {
  var addlinfo = document.getElementById('addlcomments').value;
  if(addlinfo == "" || addlinfo == null) {
	addlinfo = " ";  
  }  
  url = dynamicbasehref + url; 
  document.getElementById(target).innerHTML = ' Submitting Request...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, target);};
    req.open("POST", url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send(params+'&addlinfo='+addlinfo);
  }
} 

function showArchiveJSP(url, params, target) {
  url = dynamicbasehref + url; 
  document.getElementById(target).innerHTML = ' Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, target);};
    req.open("POST", url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send(params);
  }
}


function logout(){
window.location.href = "jsp/logout.jsp";
}

function showpopup(url) {
url = staticbasehref + url; 
  document.getElementById('popup').innerHTML = ' Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {showDone(url, 'popup'); 
	var html_orig = document.getElementById('popup').innerHTML;
	html_orig += '<p><span class="smalltext"><a href="javascript:closepopup();">Close</a></span></p>';
	document.getElementById('popup').innerHTML = html_orig;
	document.getElementById('popup').style.display = 'block';};
    req.open("GET", url, true);
    req.send("");
  }
}

function closepopup() {
	document.getElementById('popup').style.display = 'none';
}

function showArchives() {
window.open('static/archives/calendar.htm','archives','width=800,height=600,location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=true');
}
function showPerformance() {
window.open('static/archives/past_years_index.htm','perf','width=800,height=600,location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=true');
}

function showSaxoWin() {
window.open("saxo_bank.htm", "saxobank", "width=750, height=250, left=0, top=450, status=no, toolbar=no, scrollbars=no, resizable=false , menubar=no");
}

function showChat() {
window.open("static/help.htm", "chat", "width=300, height=300, left=0, top=450, status=no, toolbar=no, scrollbars=no, resizable=false , menubar=no");
}

function openWindow(url) {
url = staticbasehref + url;
window.open(url,'newwin','width=800,height=600,location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=true');
}



/** Ticker functions *********************************************/ 
//scroller height
var sheight=350;
//background color
var sbcolor='#ffffff';
//scroller's speed
var sspeed=2;

var resumesspeed=sspeed
function startticker() {		          
		if (document.all) iemarquee(ticker);
		else if (document.getElementById)
				ns6marquee(document.getElementById('ticker'));
		showjsp("tickermsg.php","ticker");
}

function iemarquee(whichdiv){
		iediv=eval(whichdiv)
		sheight += 40;
		iediv.style.pixelTop=sheight
		sizeup=iediv.offsetHeight
		ieslide()
}

function ieslide(){
		if (iediv.style.pixelTop>=sizeup*(-1)){
				iediv.style.pixelTop-=sspeed
				setTimeout("ieslide()",100)
		}
		else{
				iediv.style.pixelTop=sheight
				ieslide()
		}
}

function ns6marquee(whichdiv){
		ns6div=eval(whichdiv)
		sheight += 40;
		ns6div.style.top=sheight + "px";		 
		sizeup=ns6div.offsetHeight
		ns6slide()
}

function ns6slide(){
		if (parseInt(ns6div.style.top)>=sizeup*(-1)){
				theTop = parseInt(ns6div.style.top)-sspeed
				ns6div.style.top = theTop + "px";
				setTimeout("ns6slide()",100)
		}
		else {
				ns6div.style.top = sheight + "px";
				ns6slide()
		}
}

 
 
