/**
 * Displays a Glossary term from the term given
 */
function glossaryTerm(term) {
  filename = "/af/glossary?term="+escape(term);
  //window.open(filename, "Glossary", "width=275,height=300,resizable=no,scrollbars=yes");
}

/**
 * Displays a Glossary term from the id given
 */
function glossaryId(id) {
  filename = "/af/glossary?glossaryId="+id;
  //window.open(filename, "Glossary", "width=275,height=300,resizable=yes,scrollbars=yes");
}

/**
 * Displays a Glossary term from the id given
 */
function printpopup(url) {
  // change the url to use window.location
  // Asher Kerr 25/03/2003
  url = window.location + "&xsl-printfriendly=yes";
  printwindow = window.open(url, "Glossary", "width=650,menubar=yes,height=600,resizable=yes,scrollbars=yes");
  printwindow.focus();
}

/**
 * Displays a Glossary term from the id given
 */
function fullreport(url) {
  printwindow = window.open(url, "Glossary", "width=650,menubar=yes,height=600,resizable=yes,scrollbars=yes");
  printwindow.focus();
}

/**
 * Popup
 */
function genericpopup(url) {
  window.open(url, "Aspect", "width=600,menubar=no,height=400,resizable=yes,scrollbars=yes");
}

/**
 * Close popup
 */
function closewindow() {
  this.window.close();
}

/**
 * Print this page
 */
function printpage() {
  window.print();
}

/**
 * Print this page
 */
function downloadpage(url, asxcode) {
  switch (url)
  {
	 case "advancedresults" :
     case "directorsmanagement" :
     case "companyhistory" :
     case "capitalbalances" :
     case "capitalhistory" :
     case "dividendspay" :
     case "topshareholders" :
     case "substshareholders" :
     case "distshareholders" :
     case "directorsinterests" :
     case "controlledentities" :
     case "segment" :
     case "profitloss" :
     case "balancesheetdat" :
     case "cashflow" :
        varFileType = new String ('csv');
        break;
     case "corpdetails" :
     case "reporting-results" :
     case "fullcompanyreport" :
     case "reportextracts" :
     case "operationalhistory" :
     case "bussummary" :
     case "signalg" :
        varFileType = new String ('html'); //('txt');
        break;
     default :
        varFileType = new String ('csv');
  }
  if(url=="signalg" || url=="advancedresults") {
   location.href+="&download=" + varFileType + "&filetype=" + varFileType;
  }
  else if(url=="reporting-results") {
   filename = "/licensee/dat/html/selectExtension.html";
   selectwindow = window.open(filename, "Aspect", "width=414,menubar=no,height=300,resizable=no,scrollbars=no");
   selectwindow.focus();
  }
  else
   location.href="/af/company/" + url + "?ASXCode=" + asxcode + "&download=" + varFileType + "&filetype=" + varFileType;

}

/**
 * Routine to allow the user to select either .csv or .html when saving a report
 */
 function DownloadResultsPage(UserForm) {
  varFileType = "";
  resultURL = window.opener.location.href;  /* get the URL from the results page */
  if(UserForm.selecttype[0].checked)
    varFileType = UserForm.selecttype[0].value;
  else
    varFileType = UserForm.selecttype[1].value;
  resultURL+="&download=" + varFileType + "&filetype=" + varFileType;  
  window.opener.location.href = resultURL;
  window.close();
 }



/**
 * Write the current date to the printfriendly page
 */

function writedate() {
  //alert("DATE function");
  var d = new Date();
  document.write(d.getDate());
  document.write("/");
  document.write(d.getMonth() + 1);
  document.write("/");
  document.write(d.getFullYear());
}


function parseQueryString () {
  str = location.search;
  var query = str.charAt(0) == '?' ? str.substring(1) : str;
  //alert("query: " + query);
  var args = new Object();
  if (query) {
    var fields = query.split('&');
    for (var f = 0; f < fields.length; f++) {
      var field = fields[f].split('=');
	  args[unescape(field[0].replace(/\+/g, ' '))] =
unescape(field[1].replace(/\+/g, ' '));
    }
  }
  return args;
}

function parseQueryStringOriginalValue () {
  str = location.search;
  var query = str.charAt(0) == '?' ? str.substring(1) : str;
  //alert("query: " + query);
  var args = new Object();
  if (query) {
    var fields = query.split('&');
    for (var f = 0; f < fields.length; f++) {
      var field = fields[f].split('=');
	  args[unescape(field[0])] = unescape(field[1]);
    }
  }
  return args;
}

function displayQueryStringVar(newpage, type) {
  var args = parseQueryString ();
  for (var arg in args) {
    if (arg == type) {
      var currentPage = args[arg];
    }
  }
  if (currentPage != null) {
    NextPage(currentPage, newpage, type);
  }else{
    alert('not found');
  }

}

/**
 * Updates the page element in the QueryString and then
 * sends the user to the new URL.
 */
function NextPage(currentPage, nextPage, type) {
  var originalURL = new String(document.location)
  rExpCurrent = type + '=' + currentPage
  rExpNew = type + '=' + nextPage
  var finalURL = originalURL.replace(rExpCurrent, rExpNew);

  location.href = finalURL;
}

function parseQueryString2() {
  var finalURL = "";
  var orgUrl = new String(document.location);
  str = location.search;
  if(str.charAt(0) == '?') {
	var condition = str.substring(1);
	var firstURL = orgUrl.substring(0,(orgUrl.length-condition.length));
	finalURL = firstURL.replace('index?','simplesearch?xtm-licensee=dat&');
	finalURL += condition;
  } 
  return finalURL;
}

function parseQueryString3() {
  var finalURL = "";
  var orgUrl = new String(document.location);
  str = location.search;
  if(str.charAt(0) == '?') {
	var condition = str.substring(1);
	var firstURL = orgUrl.substring(0,(orgUrl.length-condition.length));
	finalURL = firstURL.replace('advanced?','criteria?xtm-licensee=dat&');
	finalURL += condition;
  } 
  return finalURL;
}

function parseQueryString4() {
  var finalURL = "";
  var orgUrl = new String(document.location);
  orgUrl = removeSharpFromURL(orgUrl);
  str = location.search;
  if(str.charAt(0) == '?') {
	var condition = str.substring(1);
	var firstURL = orgUrl.substring(0,(orgUrl.length-condition.length));
	finalURL = firstURL.replace('advanced?','criteria?xtm-licensee=dat&');
	finalURL += condition;
  } 
  return finalURL;
}

function parseQueryString5() {
  var finalURL = "";
  var orgUrl = new String(document.location);
  orgUrl = removeSharpFromURL(orgUrl);
  str = location.search;
  if(str.charAt(0) == '?') {
	var condition = str.substring(1);
	var firstURL = orgUrl.substring(0,(orgUrl.length-condition.length));
	finalURL = firstURL.replace('index?','simplesearch?xtm-licensee=dat&');
	finalURL += condition;
  } 
  return finalURL;
}

function removeSharpFromURL(originalUrl) {
	var newURL = originalUrl;
	
	if(originalUrl.indexOf("#") != -1){
		newURL = originalUrl.replace("#", "");
	}
	return newURL;			
}

function displayResultPerpage(resultperpage, type) {
	var originalURL = new String(document.location);
	var args = parseQueryString ();
    var finalURL;
	for (var arg in args) {
		if (arg == type) {
		  var currentPage = args[arg];
		}
		if (arg == 'resultsperpage') {
		  var perPage = args[arg];
		}
	}
	if (currentPage != null) {
		rExpCurrent = type + '=' + currentPage
		rExpNew = type + '=1'
		originalURL = originalURL.replace(rExpCurrent, rExpNew);
	}else{
		//alert('not found');
	}
    
	if (perPage != null) {
		finalURL = originalURL.replace("resultsperpage="+perPage, "resultsperpage="+resultperpage);
	} else {
        finalURL = originalURL;
    }
	location.href = finalURL;
}

function movePage(inc_dec, type) {
  var args = parseQueryString ();
  for (var arg in args) {
    if (arg == type) {
      var currentPage = args[arg];
      //alert(parseInt(currentPage) +1);
    }
  }
  if (currentPage != null) {
    NextPage(currentPage, parseInt(currentPage) + inc_dec, type);
  }else{
    alert('not found');
  }
}

function passingTest(pass) {
  alert('value ' + pass);
}

/**
 * Highlights a selected word
 */
function highlight(text, selected) {
  document.write(replace(text, selected, "<b style='color:black;background-color:#ffff66'>" + selected + "</b>"));
}

/**
 * Used to add download=csv to the search results page to enable downloading
 */
function searchDownload() {
  var originalURL = new String(document.location);
  var finalURL = originalURL + "&download=csv";
  //alert(FinalURL);
  location.href = finalURL;
}

function openWindow(URL, size) {
  if(size == 'small'){
    var newWindow = window.open(URL,'','width=300,height=250,scrollbars=yes,resizable=yes');
  }else{
    var newWindow = window.open(URL,'','width=590,height=480,scrollbars=yes,resizable=yes');
  }
}


function replaceURLParam( inputloc, paramname, newvalue ) {
	var newloc = new String(inputloc);
	var args = parseQueryStringOriginalValue ();
	var oldvalue = null;
	for (var arg in args) {
		if (arg == paramname) {
			oldvalue = args[paramname];
		}
	}
    //alert ("oldvalue:" + oldvalue);
	if (oldvalue != null) {
		var pcurrent = paramname + '=' + oldvalue;
		var pnew = paramname + '=' + newvalue;
		//alert(pcurrent + ' ' + encodeURI(pcurrent));
		//alert(pnew + ' ' + encodeURI(pnew));
        //alert('newloc:' + newloc + ': encodeURI(pcurrent):' +  encodeURI(pcurrent) );
		newloc = newloc.replace(encodeURI(pcurrent),  encodeURI(pnew));
        //alert(newloc);
	} else {
        //newloc = inputloc + '&' + paramname + '=' + newvalue;

        //var nparam = '&' + encodeURI(paramname) + '=' + encodeURI(newvalue) + '&';
        //newloc = inputloc.replace('&', nparam);
        
        //example: http://www.aspecthuntley.com.au/af/company?abc=123#abc
        if (inputloc.indexOf('?') != -1) {
            var nparam = '?' + encodeURI(paramname) + '=' + encodeURI(newvalue) + '&';
            newloc = inputloc.replace('?', nparam);
        } else {
        //example: http://www.aspecthuntley.com.au/af/dathome#abc
            if (inputloc.indexOf('#') != -1) {
                var mainloc = inputloc.substring(0, inputloc.indexOf('#') +1);
                //alert(mainloc);
                var aloc = inputloc.substring( inputloc.indexOf('#') , inputloc.length);
                //alert (aloc);
                newloc = mainloc + '?' + encodeURI(paramname) + '=' + encodeURI(newvalue)  + aloc;
            } else {
            //example: http://www.aspecthuntley.com.au/af/dathome
                newloc = inputloc + '?' + encodeURI(paramname) + '=' + encodeURI(newvalue);
            }
            
        }
        
    }
	//alert(newloc);
	return newloc;
}

function setDownloadLink( tabparam) {
    var finalURL = "";
    
    var originalURL = new String(document.location);
    finalURL = replaceURLParam( originalURL, 'filetype', 'xls');
    finalURL = replaceURLParam( finalURL, 'download', 'xls');

    if (tabparam != '' || tabparam != undefined || tabparam != null ) {
        finalURL = replaceURLParam( finalURL, 'xsl_dltab', tabparam);
    }

    //finalURL = finalURL.replace( oldtarget, newtarget);
    //alert("finalurl: "+finalURL);
    location.href = finalURL;
}    

function setFinancialDownloadLink( tabparam) {
    var finalURL = "";
    
    var originalURL = new String(document.location);
				
	//alert('in: ' + originalURL);
	if ( (originalURL.indexOf("/af/company/profitloss?") > 0) || (originalURL.indexOf("/af/company/cashflow?") > 0) || (originalURL.indexOf("/af/company/balancesheet?") > 0) ){
		originalURL= originalURL.replace("/af/company/profitloss?", "/af/company/financialdownload?");
		originalURL= originalURL.replace("/af/company/cashflow?", "/af/company/financialdownload?");
		originalURL= originalURL.replace("/af/company/balancesheet?", "/af/company/financialdownload?");
		//alert('in: ' + originalURL);
	} 
	
    finalURL = replaceURLParam( originalURL, 'filetype', 'xls');
    finalURL = replaceURLParam( finalURL, 'download', 'xls');

    if (tabparam != '' || tabparam != undefined || tabparam != null ) {
        finalURL = replaceURLParam( finalURL, 'xsl_dltab', tabparam);
    }

    //finalURL = finalURL.replace( oldtarget, newtarget);
    //alert("finalurl: "+finalURL);
    location.href = finalURL;
}    		
