
var req;
var gDocID;
var gTabStates = new Array();

function loadXMLDoc(url, docid, fHandler) {
    // branch for native XMLHttpRequest object
    
    gDocID = docid;

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = fHandler;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = fHandler;
            req.open("GET", url, true);
            req.send();
        }
    }
}

var idCounter=1000;
function sfGetUniqueID() {
    idCounter++;
    return "_sf" + idCounter;
}

function sfLoadXML(url, fHandler) {
    var req;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();

    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (req) {
	req.onreadystatechange = function() {
	    if (req.readyState == 4 && req.status==200) {
		var xml = xmlParse(req.responseText);
		fHandler(xml);
	    }
	};

        req.open("GET", url, true);
        req.send(null);
	
    }
}

function fOnTabSel()
{

    if (req.readyState == 4) {
	if (req.status == 200) {
	    document.getElementById(gDocID).innerHTML = req.responseText;
	}
	else {
	    alert("problem retrieving the xml data: \n" + req.statusText);
	}
    }

    // document.getElementById("brandselect").innerHTML = data
}

function on_tab_click(baseurl, tabid, docid, extraParams, qrid) 
{
    var url = baseurl + "?tabid=" + tabid + "&plugid=" + docid + "&qrid=" + qrid + extraParams;
    ajax_loadContent(docid, url);
    gTabStates[docid] = tabid;
}



messageObj = new DHTML_modalMessage();	// We only create one object of this class
messageObj.setShadowOffset(5);	// Large shadow

function displayMessage(url)
{
    messageObj.setSource(url);
    messageObj.setCssClassMessageBox(false);
    messageObj.setSize(400,200);
    messageObj.setShadowDivVisible(true);	// Enable shadow for these boxes
    messageObj.display();
}
function displayMessage2(content)
{
    messageObj.setHtmlContent(content);
    messageObj.setSource(false);	// no html source since we want to use a static message here.
    messageObj.setCssClassMessageBox(false);
    messageObj.setSize(200,100);
    messageObj.setShadowDivVisible(true);	// Enable shadow for these boxes
    messageObj.display();
}

function displayStaticMessage(messageContent,cssClass)
{
    messageObj.setHtmlContent(messageContent);
    messageObj.setSize(300,150);
    messageObj.setCssClassMessageBox(cssClass);
    messageObj.setSource(false);	// no html source since we want to use a static message here.
    messageObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
    messageObj.display();
}

function closeMessage()
{
    messageObj.close();	
}


function SendFormData(formid) 
{
    var f = document.getElementById(formid);
    var url;
    var ct = 0;
    url = f.action;
    for (i=0;i<f.elements.length;i++) {
	var item = f.elements[i];
	if (item.name.length > 0) {
	    if (ct == 0) {
		url += "?";
	    }
	    else {
		url += "&";
	    }
	    url += item.name + '=' + item.value;
	    ct++;
	}
    }
    displayMessage(url);
}


function VestylObject(docid,id,baseurl,extraParams) {
    this.docid=docid;
    this.id = id;
    this.baseurl = baseurl;
    this.extraParams = extraParams;
    this.refreshItems = "";
    this.qrid="";
    this.currentTab = "";

    this.refresh = function() {
	var url;
	url = this.baseurl+"?tabid="+this.id+extraParams+"&qrid="+this.qrid;
	ajax_loadContent(this.docid,url);
    }
    this.toRefresh = function() {
	//	alert('Callback - toRefresh from object: ' + this.id + ' - items: ' + this.refreshItems);
	var f = this.refreshItems + ".refresh()";
	Function(f)();
    }
    this.onYes = function(cmd) {
	var url;
	url = this.baseurl+"?tabid="+this.id+"&cmd="+cmd+extraParams;
	ajax_loadContent(this.docid,url);

    }

    this.submitForm = function(formid,refreshItems) 
    {

	var f = document.getElementById(formid);
	var url;
	var ct = 0;
	//url = f.action;
	url = this.baseurl+"?tabid="+this.id+extraParams;
	this.refreshItems = refreshItems;

	for (i=0;i<f.elements.length;i++) {
	    var item = f.elements[i];
	    if (item.name.length > 0) {
		url += "&";
		url += item.name + '=' + item.value;
		ct++;
	    }
	}

	f = this.id + ".toRefresh()";
	ajax_loadContent(this.docid,url,Function(f));
    }
    
    this.yn = function(info) {

	var url = "yn.php?obj="+this.id+"&cmd="+info;
	messageObj.setSource(url);
	messageObj.setCssClassMessageBox(false);
	messageObj.setSize(250,100);
	messageObj.setShadowDivVisible(true);	// Enable shadow for these boxes
	messageObj.display();
    }
    
}


function CHKALL(cb) {
   for (i=0; i<cb.form.elements.length; i++) {
    if ((cb.form.elements[i].type == "checkbox") &&
        (cb.form.elements[i] != cb)) {
       cb.form.elements[i].checked = cb.checked;
    }
   }
}


function ftssub(id) {
    var formobj = document.getElementById(id);
    if (formobj) {
        formobj.target="_fts"; 
	formobj.submit();
    }
}

function LaunchSF2(skipcheck,efts) {
        url = 'http://beta.stockfetcher.com/sfapp/index.php?qrid=1172763535&skipcheck='+skipcheck+'&efts='+efts;
    if((top.appWnd == null)||(top.appWnd.closed)) {
	top.appWnd = window.open(url,'StockFetcher2','scrollbars=0,toolbar=0,resizable=1,location=0');
    }
    else {
	top.priceWnd.location = url;
    }
}

function LaunchSFChat(skipcheck,efts) {
        url = 'http://www3.stockfetcher.com/sfchat/sfchat.html?qrid=$qrid&skipcheck='+skipcheck;
    if((top.chatWnd == null)||(top.chatWnd.closed)) {
	top.chatWnd = window.open(url,'StockFetcherChat','scrollbars=0,toolbar=0,resizable=1,location=0,width=800,height=700');
    }
    else {
	top.chatWnd.location = url;
    }
}
