/* Copyright 2008 - 2009 StockTradersPlace.com */var enterfield="#ffff40";var exitfield="#fffbf0";var pfc,pflist=Array();var selectedportfolio=-1;var remember_selectedportfolio=-1;var pheight=sheight=0;function hsortstock(){if(pflist.length==0||selectedportfolio<0||selectedportfolio>=pflist.length){pfmerr("Must first select a portfolio.");return }var A,B;A=pflist[selectedportfolio].split(" ");B=A[0];A.splice(0,1);A.sort();pflist[selectedportfolio]=B+" "+A.join(" ");build_pfstocks(selectedportfolio);resetdd("container");pfmclrmsg()}function horderstock(){if(pflist.length==0||selectedportfolio<0||selectedportfolio>=pflist.length){pfmerr("Must first select a portfolio.");return }remember_selectedportfolio=selectedportfolio;var B,A;document.getElementById("containerhead").innerHTML="Order Stocks";B=pflist[selectedportfolio].split(" ");B.splice(0,1);A=B.join(" ");stockscbfunction=function(D){if(selectedportfolio!=remember_selectedportfolio){return }var C,E,F;E=pflist[selectedportfolio].split(" ");F=E[0];E.splice(0,1);ostocks=E.slice();for(C=0;C<E.length;C++){E[C]=ostocks[D[C]]}pflist[selectedportfolio]=F+" "+E.join(" ");build_pfstocks(selectedportfolio);horderstock()};hdd(A,"container",stockscbfunction);pfmclrmsg()}function addstock(E){if(pflist.length==0||selectedportfolio<0||selectedportfolio>=pflist.length){pfmerr("Must first select a portfolio.");return }var B,G,D,H,F,C,A;if(E){G=E}if(G==""){return }G=G.replace(/ /g,"");G=G.toLowerCase();F=G.split(":");C=F[0];A=F[1];vex=exchangelist.join(" ");if(/[^a-z0-9:]/.test(G)){pfmerr("Must enter alphanumeric characters.");return }if(!/[a-z0-9]:[a-z0-9]/.test(G)||C==""||A==""){pfmerr("Must enter stock:exchange");return }if(vex.indexOf(A)==-1){pfmerr("Must specify a valid exchange: "+vex);return }D=pflist[selectedportfolio].split(" ");H=D[0];D.splice(0,1);for(B=0;B<D.length;B++){if(G==D[B]){break}}if(B>=D.length){D[B]=G;pflist[selectedportfolio]=H+" "+D.join(" ");build_pfstocks(selectedportfolio)}resetdd("container");pfmclrmsg()}function delstock(C){if(pflist.length==0){return }if(selectedportfolio<0||selectedportfolio>=pflist.length){return }var A,D,B,E;if(C){D=C}B=pflist[selectedportfolio].split(" ");E=B[0];B.splice(0,1);for(A=0;A<B.length;A++){if(D==B[A]){break}}if(A<B.length){B.splice(A,1);pflist[selectedportfolio]=(B.length>0)?E+" "+B.join(" "):E;build_pfstocks(selectedportfolio)}resetdd("container");pfmclrmsg()}function hsortpf(){if(pflist.length==0){return }selectedportfolio=-1;build_pfstocks(selectedportfolio);pflist.sort();build_pflist();resetdd("container");pfmclrmsg()}function horderpf(){if(pflist.length==0){return }selectedportfolio=-1;build_pfstocks(selectedportfolio);build_pflist();var B,A,C;document.getElementById("containerhead").innerHTML="Order Portfolios";C="";for(B=0;B<pflist.length;B++){if(B!=0){C+=" "}A=pflist[B].split(" ");C+=A[0]}pfcbfunction=function(E){var D,F;F=pflist.slice();for(D=0;D<pflist.length;D++){pflist[D]=F[E[D]]}build_pflist();horderpf()};build_pfstocks(selectedportfolio);hdd(C,"container",pfcbfunction);pfmclrmsg()}function build_pfstocks(B){var D,G,F,E,H,A="",C;if(0<=B&&B<pflist.length){E=pflist[B].split(" ");H=E[0].toUpperCase();E.splice(0,1);A=" from "+H}else{E=""}G="Click to delete stock"+A;document.getElementById("pfmpfstockshead").innerHTML=G;G="";for(D=0;D<E.length;D++){F=E[D].split(":");if(!F[0]){F[0]="unknown"}if(!F[1]){F[1]="unknown"}C=(D%2==0)?'class="matA"':'class="matB"';G+="<div "+C+">";G+='<a href="#"onclick="delstock(\''+E[D]+"');return false\"";G+='title="'+F[0].toUpperCase()+" : "+F[1].toUpperCase()+'"';G+=">"+F[0].toUpperCase()+"</a></div>"}document.getElementById("pfmpfstocks").innerHTML=G;setresh()}function hsel(A){var A,B;selectedportfolio=A;build_pflist();build_pfstocks(selectedportfolio);resetdd("container");pfmclrmsg()}function build_pflist(){var E=document.getElementById("pfmpflist");var C,B,G,F,A,D;F="";for(C=0;C<pflist.length;C++){B=pflist[C].split(" ");G=B[0];A=(C%2==0)?'class="matA"':'class="matB"';F+="<div "+A+">";D=(C==selectedportfolio)?'class="selected"':"";F+="<a "+D+'href="#"onclick="hsel('+C+');return false">';F+=G.toUpperCase()+"</a></div>"}document.getElementById("pfmpflist").innerHTML=F;if(selectedportfolio!=-1){B=pflist[selectedportfolio].split(" ");G=B[0].toUpperCase();document.getElementById("pfmslhead").innerHTML="Add Stock to "+G}else{document.getElementById("pfmslhead").innerHTML="Add Stock"}setresh()}function addpf(){var B,D,A,C=document.getElementById("addpfinput");D=C.value.replace(/ /g,"");if(D==""){return }else{D=D.toLowerCase()}if(/[^a-z0-9]/.test(D)){pfmerr("Must enter alphanumeric characters.");return }for(B=0;B<pflist.length;B++){A=pflist[B].split(" ");if(D==A[0]){break}}if(B>=pflist.length){pflist[B]=D;build_pflist()}else{pfmerr("Portfolio name already exists.");return }C.value="";resetdd("container");pfmclrmsg()}function delpf(){var B,D,A,C=document.getElementById("delpfinput");D=C.value.replace(/ /g,"");if(D==""){return }else{D=D.toLowerCase()}if(/[^a-z0-9]/.test(D)){pfmerr("Must enter alphanumeric characters.");return }for(B=0;B<pflist.length;B++){A=pflist[B].split(" ");if(D==A[0]){break}}if(B<pflist.length){pflist.splice(B,1);selectedportfolio=-1;build_pfstocks(selectedportfolio);build_pflist()}else{pfmerr("Portfolio name does not exist.");return }C.value="";resetdd("container");pfmclrmsg()}function renpf(){var B,D,A,C=document.getElementById("renpfinput");D=C.value.replace(/ /g,"");if(D==""){return }else{D=D.toLowerCase()}if(/[^a-z0-9]/.test(D)){pfmerr("Must enter alphanumeric characters.");return }if(pflist.length==0||selectedportfolio<0||selectedportfolio>=pflist.length){pfmerr("Must first select a portfolio.");return }for(B=0;B<pflist.length;B++){A=pflist[B].split(" ");if(D==A[0]){break}}if(B>=pflist.length){A=pflist[selectedportfolio].split(" ");A[0]=D;pflist[selectedportfolio]=A.join(" ");build_pfstocks(selectedportfolio);build_pflist()}else{pfmerr("Portfolio name already exists.");return }C.value="";pfmclrmsg()}function addpfinput(B){var A=document.getElementById("addpfinput");A.style.background=(B=="enter")?enterfield:exitfield;if(B=="enter"){A.focus()}}function delpfinput(B){var A=document.getElementById("delpfinput");A.style.background=(B=="enter")?enterfield:exitfield;if(B=="enter"){A.focus()}}function renpfinput(B){var A=document.getElementById("renpfinput");A.style.background=(B=="enter")?enterfield:exitfield;if(B=="enter"){A.focus()}}function pfhkeyup(F,C){if(typeof (C)=="undefined"){C=window.event}var B,A,D,E;B=C.keyCode;A=C.shiftKey;D=C.ctrlKey;E=C.altKey;if(A||D||E){return true}if(B==27){document.getElementById(F).value=""}if(B==13){switch(F){case"addpfinput":addpf();break;case"delpfinput":delpf();break;case"renpfinput":renpf();break}}return true}function pfinit(){if(pfc){pflist=pfc.split(";")}document.getElementById("pfmpflist").style.visibility="visible";build_pflist()}window.onload=function(){pfinit()};function setresh(){var B=document.getElementById("pfmpflistdiv").offsetHeight;var A=document.getElementById("pfmpfstocksdiv").offsetHeight;document.getElementById("pfmreservedarea").style.height=(B>A)?B:A}function hstock(A){addstock(A)}function pfmsave(){if(getcookie("stpuser")==null){pfmerr("Login is required to perform the Save Changes operation.");return }$data="data="+escape(pflist.join(";"));sendit($data);pfmclrmsg()}function sendit(A){establishXMLHttpRequest();xmlHttp=new XMLHttpRequest();xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(xmlHttp.status==200){pfminfo("Save operation was successful.")}else{pfmerr("Save operation failed. Response code is "+xmlHttp.status)}}};xmlHttp.open("POST","rcvr.php",true);xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xmlHttp.setRequestHeader("Content-length",A.length);xmlHttp.setRequestHeader("Connection","close");xmlHttp.send(A)}function pfminfo(A){document.getElementById("pfmmsg").innerHTML='<span id="pfminfomsg"></span>';pfmmsg("pfminfomsg",A)}function pfmerr(A){document.getElementById("pfmmsg").innerHTML='<span id="pfmerrmsg"></span>';pfmmsg("pfmerrmsg",A)}var msg_id=-1;function pfmmsg(B,A){if(A){document.getElementById(B).innerHTML=A;document.getElementById(B).style.visibility="visible";msg_id=B}else{if(msg_id==-1){return }document.getElementById(msg_id).innerHTML="";document.getElementById(msg_id).style.visibility="hidden";msg_id=-1}}function pfmclrmsg(){pfmmsg()};
