// holds an instance of XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
// when set to true, display detailed error messages
var showErrors = true;
// initialize the validation requests cache 
var cache = new Array();

//var subdir = "/dev/txv3";
var subdir = "/v3";

var outMsg = "";
var i = 0;
var lineNo = 1;
var timerDM=null;
var msg = " ";
function insetarr() {
}
var textarrgrp = new insetarr();
var imgarrgrp = new insetarr();
var textarr = new insetarr();
var imgarr = new insetarr();

var msgNum = 1;
var msgCnt = 4;
var typeSpeed = 40;
var pageLen = 4;
var delay=typeSpeed;
var r = 0;
var pgNum=1;
var pgCnt=4;
var cr="<br>"

                
								
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

function funcname(f) {
    var s = f.toString().match(/function (\w*)/)[1];
    if ((s == null) || (s.length == 0)) return "anonymous";
    return s;
}

function stacktrace() {
  var s = "";
  for(var a = arguments.caller; a != null; a = a.caller) {
    s += funcname(a.callee) + "\n";
    //if (a.caller == a) break;
  }
  return s;
}

// creates an XMLHttpRequest instance
function createXmlHttpRequestObject() 
{
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // this should work for all browsers except IE6 and older
  try
  {
    // try to create XMLHttpRequest object
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // assume IE6 or older
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    // try every id until one works
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // try to create XMLHttpRequest object
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {} // ignore potential error
    }
  }
  // return the created object or display an error message
  if (!xmlHttp)
    displayError("A01", "Startup", "Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function displayError(code, name, message, transport)
{
	alert("Connection to the Tip Exchange Server has been lost. Please refresh the page and try again.");

  var transtext = "";
  if(transport==null){
    transtext = "No Response";
  } else {
    var readyState = "unknown"; var status = "unknown"; var statusText = "unknown"; var responseText = "unknown";
    try{status = transport.status;} catch(e){}
    try{readyState = transport.readyState;} catch(e){}
    try{statusText = transport.statusText;} catch(e){}
    try{responseText = transport.responseText;} catch(e){}   
    transtext = "ReadyState: " + readyState+ "; Status: " + status + " StatusText: " + statusText+ "; ResponseText: " + responseText;
  }
    

  stack = "";
  new Ajax.Request(
    subdir + '/clearrequest.php',
       { parameters: {
          c: code,
          n: name,
          m: message,
          b: BrowserDetect.browser,
          v: BrowserDetect.version,
          o: BrowserDetect.OS,
          s: stack,
          r: transtext
         },
         onSuccess:
           function(transport){
              //Do nothing 
           },
         onFailure:
           function(transport){
              //Do nothing 
           }
       }
     );    
}

// the function handles the validation for any form field
function validate(inputValue, fieldID)
{
  new Ajax.Request(
    subdir + '/validate.php',
       { parameters: {inputValue: inputValue, fieldID: fieldID},
         onSuccess:
           function(transport){
             try{
               readResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V002a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V002b", "Validate Failure", "Unknown Error", transport);
           }
       }
     );  
}

// read server's response 
function readResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }

  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error";
    }
  }
  
  try{
    fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;
    
    // find the HTML element that displays the error
    message = document.getElementById(fieldID + "error");
    // show the error or hide the error
    message.innerHTML = result == 0 ? errormsg : "";
    message.className = result == 0 ? "txerror" : "txhidden";
  } catch(e){
    //Do nothing
  }
}

function txaccountselectvalidate() {
  var form = document.txaccselform;
  var account_selected = false;

  for (counter = 0; counter < form.task.length; counter++){
    if (form.task[counter].checked)
      account_selected = true; 
  }
  
  if (account_selected == false) {
    alert( "Please select the account you wish to create." );
  } else {
    form.submit();
  }
}

function tccheckpasswordsmatch(){
  var form = document.txaccform;
  message = document.getElementById("password2error");
  if ((form.password.value != "") && (form.password.value != form.password2.value)){
    message.className = "txerror";    
    message.innerHTML = "Passwords do not match";
  }
  else{
    message.className = "txhidden";
    message.innerHTML = "";
  }
}

function txaccountformvalidate() {
  var form = document.txaccform;
  if (document.getElementById("firstnameerror") && document.getElementById("firstnameerror").innerHTML.length>0) {
    alert( "Please correct your first name." );   
  } else if (document.getElementById("lastnameerror") && document.getElementById("lastnameerror").innerHTML.length>0) {
    alert( "Please correct your last name." );
  } else if (document.getElementById("emailerror") && document.getElementById("emailerror").innerHTML.length>0) {
    alert( "Please correct your email address." );      
  } else if (document.getElementById("punteremailerror") && document.getElementById("punteremailerror").innerHTML.length>0) {
    alert( "Please correct your email address." );   
  } else if (document.getElementById("usernameerror") && document.getElementById("usernameerror").innerHTML.length>0) {
    alert( "Please correct your username." );   
  } else if (document.getElementById("passworderror") && document.getElementById("passworderror").innerHTML.length>0) {
    alert( "Please correct your password." );   
  } else if (document.getElementById("password2error") && document.getElementById("password2error").innerHTML.length>0) {
    alert( "Please correct your password." );
  } else if (document.getElementById("tipsternameerror") && document.getElementById("tipsternameerror").innerHTML.length>0) {
    alert( "Please correct your tipster name." );   
  } else if (document.getElementById("webnameerror") && document.getElementById("webnameerror").innerHTML.length>0) {
    alert( "Please correct your web site name." );   
  } else if (document.getElementById("ppemailerror") && document.getElementById("ppemailerror").innerHTML.length>0) {
    alert( "Please correct your PayPal email address." );   
  } else if (document.getElementById("weburlerror") && document.getElementById("weburlerror").innerHTML.length>0) {
    alert( "Please correct your web site address." );    
  } else if (document.getElementById("firstname") && form.firstname.value == "") {
    alert( "Please enter your first name." );
  } else if (document.getElementById("lastname") && form.lastname.value == "") {
    alert( "Please enter your last name." );
  } else if (document.getElementById("punteremail") && form.punteremail.value == "") {
    alert( "Please enter your email address." );
  } else if (document.getElementById("email") && form.email.value == "") {
    alert( "Please enter your email address." );    
  } else if (document.getElementById("username") && form.username.value == "") {
    alert( "Please enter a username." );
  } else if (document.getElementById("password") && form.password.value == "") {
    alert( "Please enter a password." );    
  } else if (document.getElementById("password2") && form.password2.value == "") {
    alert( "Please verify your password." );
  } else if (document.getElementById("password") && (form.password.value != "") && (form.password.value != form.password2.value)){
    alert( "Your passwords do not match." );
  } else if (document.getElementById("tipstername") && form.tipstername.value == "") {
    alert( "Please enter your tipster name." );    
  } else if (document.getElementById("webname") && form.webname.value == "") {
    alert( "Please enter your web site name." );
  } else if (document.getElementById("ppemail") && form.ppemail.value == "") {
    alert( "Please enter your PayPal email address." );    
  } else if (document.getElementById("weburl") && form.weburl.value == "") {
    alert( "Please enter your web site address." );    
  } else if (document.getElementById("terms") && !form.terms.checked) {
    alert( "You must agree to the terms and conditions." );         
  } else {
    form.submit();
  }
}
  
function txlogonformvalidate() {
  var form = document.txlogonform;
  if (document.getElementById("username") && form.username.value == "") {
    alert( "Please enter a username." );
  } else if (document.getElementById("password") && form.password.value == "") {
    alert( "Please enter a password." );    
  } else {
    validatelogon(form.username.value, form.password.value, form.formid.value);
  }  
}

function validatelogon(username, password, token)
{
  new Ajax.Request(
    subdir + '/validatelogon.php',
       { parameters: {username: username, password: password, formid: token },
         onSuccess:
           function(transport){
             try{
              var response = transport.responseText;
              //alert(response);
              // server error?
              if (response.indexOf("ERRNO") >= 0 
                  || response.indexOf("error:") >= 0
                  || response.length == 0)
                throw(response.length == 0 ? "Server error." : response);
              // get response in XML format (assume the response is valid XML)
              responseXml = transport.responseXML;
              // get the document element
              xmlDoc = responseXml.documentElement;
              
              try{
                valid = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
              } catch(e){
                valid = 0;
              }
            
              if(valid>0) {
                var form = document.txlogonform;
                form.submit();                
              } else {
                alert( "Invalid username or password." ); 
              }            
             }
             catch (e)
             {
               displayError("V003a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V003b", "Validate Logon Failure", "Unknown Error", transport);
           }
       }
     );
}


function txlostpasswordformvalidate() {
  var form = document.txlostpwdform;

  message = document.getElementById("lostpwderror");
  message.className = "txhidden";    
  message.innerHTML = "";
  
  if (document.getElementById("username") && form.username.value == "") {
    alert( "Please enter your username." );
  } else if (document.getElementById("email") && form.email.value == "") {
    alert( "Please enter your email address." );
  } else if (document.getElementById("emailerror") && document.getElementById("emailerror").innerHTML.length>0) {
    alert( "Please correct your email address." );     
  } else {
    validatelostpassword(form.username.value, form.email.value, form.formid.value);
  }  
}

function validatelostpassword(username, email, token)
{
  new Ajax.Request(
    subdir + '/validatelostpwd.php',
       { parameters: {username: username, email: email, formid: token },
         onSuccess:
           function(transport){
             try{
              var response = transport.responseText;
              //alert(response);
              // server error?
              if (response.indexOf("ERRNO") >= 0 
                  || response.indexOf("error:") >= 0
                  || response.length == 0)
                throw(response.length == 0 ? "Server error." : response);
              // get response in XML format (assume the response is valid XML)
              responseXml = transport.responseXML;
              // get the document element
              xmlDoc = responseXml.documentElement;
              
              try{
                valid = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
              } catch(e){
                valid = 0;
              }
              

              if(valid>0) {
                var form = document.txlostpwdform;
                form.submit();                
              } else {
                message = document.getElementById("lostpwderror");
                message.className = "txerror";    
                message.innerHTML = "Unable to locate user details. Please try a different username or email address.";
              }
             }
             catch (e)
             {
               displayError("V004a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V004b", "Validate Lost Password Failure", "Unknown Error", transport);
           }
       }
     );
}

function changegraph(tipsid)
{
	var list = document.reportform.reporttype; 
	var listValue = list.options[list.selectedIndex].value;
	if(listValue==1){
		srcpath = "tipexchange/reports/monthlyprofit.php?id="+tipsid+"&rs=0";
	} else if(listValue==2){
		srcpath = "tipexchange/reports/monthlyprofit.php?id="+tipsid+"&rs=1";
	} else if(listValue==3){
		srcpath = "tipexchange/reports/totalprofit.php?id="+tipsid+"&rs=0";
	} else if(listValue==4){
		srcpath = "tipexchange/reports/totalprofit.php?id="+tipsid+"&rs=1";
	} 
		
	document.images["repimgsrc"].src= srcpath;
	return true;
}

function txreviewvalidate() {
  var form = document.txreviewform;
  var account_selected = false;

  for (counter = 0; counter < form.rating.length; counter++){
    if (form.rating[counter].checked)
      account_selected = true; 
  }
  
  if (account_selected == false) {
    alert( "Please enter a rating for the Tipster." );
  } else {
    form.submit();
  }  
}

function showhidefilters(freeonly) {
  var filters1 =document.getElementById("filters1");
  var filters2 =document.getElementById("filters2");
  var filters3 =document.getElementById("filters3");
  var filters4 =document.getElementById("filters4");
  if(freeonly==0){
    var filters5 =document.getElementById("filters5");
    var filters6 =document.getElementById("filters6");
  }
  var image = document.getElementById("filterimage");
  if ( filters1.style.display=="none") {
    filters1.style.display = "block"; //necesary for ie
    filters2.style.display = "block"; //necesary for ie
    filters3.style.display = "block"; //necesary for ie
    filters4.style.display = "block"; //necesary for ie
    if(freeonly==0){
      filters5.style.display = "block"; //necesary for ie
      filters6.style.display = "block"; //necesary for ie
    }
    try{
      filters1.style.display = "table-row";
      filters2.style.display = "table-row";
      filters3.style.display = "table-row";
      filters4.style.display = "table-row";
      if(freeonly==0){
        filters5.style.display = "table-row";
        filters6.style.display = "table-row";
      }
    } catch(err){
      //IE throws error that we can ignore.
    }
    image.src = "tipexchange/icons/minus.gif";
    image.alt = "Hide filters";    
  }else{
    filters1.style.display = "none";
    filters2.style.display = "none";
    filters3.style.display = "none";
    filters4.style.display = "none";
    if(freeonly==0){
      filters5.style.display = "none";
      filters6.style.display = "none";
    }
    image.src = "tipexchange/icons/plus.gif";
    image.alt = "Show filters";
  }  
}

function showhideratingguide() {
  var guide =document.getElementById("ratingguide");
  var image = document.getElementById("ratingimage");
  if ( guide.style.display=="none") {
    guide.style.display = "block"; //necesary for ie
    try{
      guide.style.display = "table-row";
    } catch(err){
      //IE throws error that we can ignore.
    }
    image.src = "tipexchange/icons/minus.gif";
    image.alt = "Hide Rating Guide";
    image.title = "Hide Rating Guide";     
  }else{
    guide.style.display = "none";
    image.src = "tipexchange/icons/plus.gif";
    image.alt = "Show Rating Guide";
    image.title = "Show Rating Guide"; 
  }  
}

function showhidemessage() {
  var messagegroup =document.getElementById("messagegroup");
  var editbutton =document.getElementById("editbutton");
   //var pmobutton =document.getElementById("pmobutton"); 
  var savebutton =document.getElementById("savebutton");
  var displayfield =document.getElementById("displayfield");
  var editfield =document.getElementById("editfield");
  var imagelink = document.getElementById("imagelink");
  
  if ( messagegroup.style.display=="none") {
    messagegroup.style.display = "block"; //necesary for ie
    editbutton.style.display = "block"; //necesary for ie
     //pmobutton.style.display = "block"; //necesary for ie   
    displayfield.style.display = "block"; //necesary for ie
    //editfield.style.display = "block"; //necesary for ie
    try{
      messagegroup.style.display = "table-row";
      editbutton.style.display = "table-row";
      //pmobutton.style.display = "table-row";      
      displayfield.style.display = "table-row";
      //editfield.style.display = "block"; //necesary for ie
    } catch(err){
      //IE throws error that we can ignore.
    }
    imagelink.innerHTML = "<img id=\"messageimage\" alt=\"Hide message\" border=0 src=\"tipexchange/icons/minus.gif\"/>&nbsp;&nbsp;&nbsp;Hide Message:</a>";
  }else{
    messagegroup.style.display = "none";
    editbutton.style.display = "none";
    //pmobutton.style.display = "none";    
    savebutton.style.display = "none";
    displayfield.style.display = "none";
    editfield.style.display = "none";
    
    imagelink.innerHTML = "<img id=\"messageimage\" alt=\"Show message\" border=0 src=\"tipexchange/icons/plus.gif\"/>&nbsp;&nbsp;&nbsp;Show Message:</a>";
  }  
}

function showeditmessage(show) {
  var editbutton =document.getElementById("editbutton");
  var savebutton =document.getElementById("savebutton");
  var displayfield =document.getElementById("displayfield");
  var editfield =document.getElementById("editfield");
  var wyscheck = document.getElementById("wyscheck");
  
  if ( show) {
    editbutton.style.display = "block"; //necesary for ie
    displayfield.style.display = "block"; //necesary for ie

    try{
      editbutton.style.display = "table-row";
      displayfield.style.display = "table-row";
    } catch(err){
      //IE throws error that we can ignore.
    }
    savebutton.style.display = "none";
    editfield.style.display = "none";
  }else{
    savebutton.style.display = "block"; //necesary for ie
    editfield.style.display = "block"; //necesary for ie

    try{
      savebutton.style.display = "table-row";
      editfield.style.display = "table-row";
      if(BrowserDetect.browser!="Explorer" && wyscheck.value==0){ 
        generate_wysiwyg('messagebox',0);
        wyscheck.value=1;
      }      
    } catch(err){
      //IE throws error that we can ignore.
    }
    editbutton.style.display = "none";
    displayfield.style.display = "none";
  }  
}

function savemessage(show)
{

  var message=document.getElementById("wysiwygmessagebox").contentWindow.document.body.innerHTML;

  savetipmessage(message);
 
  document.getElementById("savedtext").innerHTML = message;
  
  showeditmessage(1);
  
}

function savefbmessage(show)
{

  var message=document.getElementById("wysiwygmessagebox").contentWindow.document.body.innerHTML;

  savefbtipmessage(message);
 
  document.getElementById("savedtext").innerHTML = message;
  
  showeditmessage(1);
   
}

// the function handles the validation for any form field
function addtip()
{
  datefield = document.getElementById("the_date");
  var rdate=datefield.value;
  racefield = document.getElementById("the_races");
  var race=racefield.value;
  horsefield = document.getElementById("the_horses");
  var horse=horsefield.value;
  betfield = document.getElementById("bet");
  var bet=betfield.value;
  stakefield = document.getElementById("stake");
  var stake=stakefield.value;
  tokenfield = document.getElementById("token");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;    
 
  new Ajax.Request(
    subdir + '/validatetip.php',
       { parameters: {the_date: rdate, the_races: race, the_horses: horse, bet: bet,
                      stake: stake, formid: token, txv3sid: txv3sid, func: 1},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V005a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V005b", "Add Horse Racing Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

// ijtrd
function publishtips()
{
  temp = window.confirm('Are you sure you wish to publish these tips? Once published you will not be able to remove them.');	
  if(temp==false) return;
  tokenfield = document.getElementById("token");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;    
 
  new Ajax.Request(
    subdir + '/validatetip.php',
       { parameters: {formid: token, txv3sid: txv3sid, func: 5},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V005a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V005b", "Add Horse Racing Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

function publishmessageonly()
{
  temp = window.confirm('Are you sure you wish to publish this message? This will be sent to all your subscribers via email and displayed on your private tips page.');	
  if(temp==false) return;
  tokenfield = document.getElementById("token");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;    
 
  new Ajax.Request(
    subdir + '/validatetip.php',
       { parameters: {formid: token, txv3sid: txv3sid, func: 6},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
              alert("Message sent successfully");
             }
             catch (e)
             {
               displayError("V005a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V005b", "Add Horse Racing Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

function addfbtip()
{
  datefield = document.getElementById("the_date");
  var rdate=datefield.value;
  compfield = document.getElementById("comp");
  var comp=compfield.value;
  fixturefield = document.getElementById("fixture");
  var fixture=fixturefield.value;
  marketfield = document.getElementById("market");
  var market=marketfield.value;
  selectionfield = document.getElementById("selection");
  var selection=selectionfield.value;		
  betfield = document.getElementById("bet");
  var bet=betfield.value;
  stakefield = document.getElementById("stake");
  var stake=stakefield.value;
  tokenfield = document.getElementById("token");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;
  
  new Ajax.Request(
    subdir + '/validatefbtip.php',
       { parameters: {the_date: rdate, comp: comp, market: market, fixture: fixture,
                      selection: selection, bet: bet, stake: stake, formid: token,
                      txv3sid: txv3sid, func: 1},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V006a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V006b", "Add Football Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

function publishfbtips()
{
  temp = window.confirm('Are you sure you wish to publish these tips? Once published you will not be able to remove them.');	
  if(temp==false) return;
  tokenfield = document.getElementById("token");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value; 
  
  new Ajax.Request(
    subdir + '/validatefbtip.php',
       { parameters: {formid: token,
                      txv3sid: txv3sid, func: 5},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V006a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V006b", "Add Football Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

function publishfbmessageonly()
{
  temp = window.confirm('Are you sure you wish to publish these tips? Once published you will not be able to remove them.');	
  if(temp==false) return;
  tokenfield = document.getElementById("token");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value; 
  
  new Ajax.Request(
    subdir + '/validatefbtip.php',
       { parameters: {formid: token,
                      txv3sid: txv3sid, func: 6},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
               alert("Message sent successfully");
             }
             catch (e)
             {
               displayError("V006a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V006b", "Add Football Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

function readTipResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }

  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error";
    }
    try{
      // find the HTML element that displays the error
      message = document.getElementById("inserterror");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    //Tip inserted ok
    try{
      // find the HTML element that displays the error
      message = document.getElementById("inserterror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //alert(e);
    }           
    try{
      todaystips = xmlDoc.getElementsByTagName("display")[0].firstChild.data;
    } catch (e){
      todaystips = "Unable to retrieve todays tips. Please refresh the page to view todays tips.";
    }
    tipsfield = document.getElementById("displaytips");
    tipsfield.innerHTML = todaystips;
  }
   
}

function deletetip(token, tipid, sid)
{
  new Ajax.Request(
    subdir + '/validatetip.php',
       { parameters: {tipid: tipid, formid: token, txv3sid: sid, func: 2},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V007a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V007b", "Delete Horse Racing Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

function deletefbtip(token, tipid, sid)
{
  new Ajax.Request(
    subdir + '/validatefbtip.php',
       { parameters: {tipid: tipid, formid: token, txv3sid: sid, func: 2},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V008a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V008b", "Delete Football Tip Failure", "Unknown Error", transport);
           }
       }
     );
}

function savetipmessage(message)
{
  rdatefield = document.getElementById("messdate");
  var rdate=rdatefield.value;
	//alert(rdate);
  tokenfield = document.getElementById("formid");
  var token=tokenfield.value;
	//alert(token);
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;
  //alert( txv3sid);
	//alert(message);
  new Ajax.Request(
    subdir + '/validatetip.php',
       { parameters: {me: message, formid: token, txv3sid: txv3sid, rdate: rdate, func: 4},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V009a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V009b", "Save Horse Racing Tip Message Failure", "Unknown Error", transport);
           }
       }
     );
}

function savefbtipmessage(message)
{
  rdatefield = document.getElementById("messdate");
  var rdate=rdatefield.value;
  tokenfield = document.getElementById("formid");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;
    
  new Ajax.Request(
    subdir + '/validatefbtip.php',
       { parameters: {me: message, formid: token, txv3sid: txv3sid, rdate: rdate, func: 4},
         onSuccess:
           function(transport){
             try{
               readTipResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V010a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V010b", "Save Football Tip Message Failure", "Unknown Error", transport);
           }
       }
     );
}

function showeditblog(show) {
  var postbutton =document.getElementById("postbutton");
  var savebutton =document.getElementById("savebutton");
  var titlefield =document.getElementById("titlefield");
  var blogfield =document.getElementById("blogfield");
  var wyscheck = document.getElementById("wyscheck");
	var updatebutton =document.getElementById("updatebutton");
	var publishbutton = document.getElementById("publishbutton");
	//Change buttons
	updatebutton.value="save";
	document.getElementById("blogid").value=0;
	
  if ( show) {
    postbutton.style.display = "block"; //necesary for ie
    try{
      postbutton.style.display = "table-row";
    } catch(err){
      //IE throws error that we can ignore.
    }
    savebutton.style.display = "none";
    titlefield.style.display = "none";    
    blogfield.style.display = "none";
  }else{
    savebutton.style.display = "block"; //necesary for ie
		publishbutton.style.display = "block";
		updatebutton.style.display = "block";			
    titlefield.style.display = "block"; //necesary for ie
    blogfield.style.display = "block"; //necesary for ie
		publishbutton.style.display = "inline";
		updatebutton.style.display = "inline";	    
    try{
      savebutton.style.display = "table-row";			
      titlefield.style.display = "table-row";
      blogfield.style.display = "table-row";      
      if(BrowserDetect.browser!="Explorer" && wyscheck.value==0){
        generate_wysiwyg('blogbox',0);
        wyscheck.value=1;
      }      
    } catch(err){
      //IE throws error that we can ignore.
    }
    postbutton.style.display = "none";
		document.getElementById("title").value = "My Title";
		document.getElementById("wysiwygblogbox").contentWindow.document.body.innerHTML = "My Blog";
  }  
}

function saveblog(status)
{
	rtnstatus = false;
	temp = true;
  var blog=document.getElementById("wysiwygblogbox").contentWindow.document.body.innerHTML;
	
	var titlefield = document.getElementById("title");
	var title=titlefield.value;
	if(title=='My Title' || title==''){
		alert('Please enter a title for your Blog');
		temp = false;
	}
	
	if(temp==true){
		if(status==1)
			temp = window.confirm('Publishing this blog will make it visible to all users of Tip Exchange. Are you sure you want to publish this blog?');	
		else
			temp= true;
	}
  if(temp==true) rtnstatus = saveblogpost(blog, status);
   
  if(rtnstatus==true) showeditblog(1);
  
}

function cancelblog()
{
  showeditblog(1);
}

function saveblogpost(blog, status)
{
	var blogidfield = document.getElementById("blogid");
	var blogid=blogidfield.value;
	var titlefield = document.getElementById("title");
	var title=titlefield.value;
	var tokenfield = document.getElementById("formid");
	var token=tokenfield.value;
	var txv3sidfield = document.getElementById("txv3sid");
	var txv3sid=txv3sidfield.value;
  var func=1;
  if(blogid>0) func=3;
  
  new Ajax.Request(
    subdir + '/validateblog.php',
       { parameters: {formid: token, txv3sid: txv3sid, blog: blog, title: title, status: status,
                      blogid: blogid, func: func},
         onSuccess:
           function(transport){
             try{
               readBlogResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V011a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V011b", "Save Blog Failure", "Unknown Error", transport);
           }
       }
     );
  return true;

}

// read server's response 
function readBlogResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }

  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error";
    }
    try{
      // find the HTML element that displays the error
      message = document.getElementById("blogerror");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    //blog inserted ok
    try{
      // find the HTML element that displays the error
      message = document.getElementById("blogerror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //alert(e);
    }           
    try{
      topblogs = xmlDoc.getElementsByTagName("display")[0].firstChild.data;
    } catch (e){
      topblogs = "Unable to show latest blogs. Please refresh the page to view the latest blogs.";
    }
    var blogsfield = document.getElementById("displayblogs");
    blogsfield.innerHTML = topblogs; 
  }  
}

function publishblog(blogid, publish, sid)
{

  if(publish==1)temp = window.confirm('Publishing this blog will make it visible to all users of Tip Exchange. Are you sure you want to publish this blog?');	
  else temp=true;
	if(temp==true) modifyblogpost(2, blogid, sid, publish);
}

function editblog(blogid, sid)
{
  if(BrowserDetect.browser=="Safari"){
    alert("Sorry, but you are currently unable to edit your Blogs using the Safari Browser.");
    return;
  }

	seteditfields(blogid, sid);
	showeditblog(0);
	window.scroll(0,0); 
}

function deleteblog(blogid, sid)
{
	temp = window.confirm('Are you sure you want to delete this blog?');	
  if(temp==true) modifyblogpost(4, blogid, sid, 0);  
}

function modifyblogpost(func, blogid, txv3sid, publish)
{
  new Ajax.Request(
    subdir + '/validateblog.php',
       { parameters: {txv3sid: txv3sid, blogid: blogid, publish: publish, func: func},
         onSuccess:
           function(transport){
             try{
               readBlogResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V012a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V012b", "Edit Blog Failure", "Unknown Error", transport);
           }
       }
     );
  return true;
}

function seteditfields(blogid, txv3sid)
{
  new Ajax.Request(
    subdir + '/validateblog.php',
       { parameters: {txv3sid: txv3sid, blogid: blogid, func: 5},
         onSuccess:
           function(transport){
             try{
               readEditBlogResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V013a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V013b", "Edit Blog Failure", "Unknown Error", transport);
           }
       }
     );
  return true;
}

// read server's response 
function readEditBlogResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }

  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error";
    }

    try{
      // find the HTML element that displays the error
      message = document.getElementById("blogerror");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    //blog inserted ok
    try{
      // find the HTML element that displays the error
      message = document.getElementById("blogerror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //alert(e);
    }

    try{
      var blogid = xmlDoc.getElementsByTagName("id")[0].firstChild.data;
      var blogtitle = xmlDoc.getElementsByTagName("title")[0].firstChild.data;
      var blogmessage = xmlDoc.getElementsByTagName("message")[0].firstChild.data;
    } catch (e){
      var blogid = 0;
      var blogtitle = "Error";
      var blogmessage = "Unable to show blog. Please refresh the page and try again.";
    }
    var titlefield = document.getElementById("title");
		var blogfield = document.getElementById("blogbox");
		var blogidfield = document.getElementById("blogid");
		var publishbutton = document.getElementById("publishbutton");
		var savebutton = document.getElementById("updatebutton");

    // show the error or hide the error
    titlefield.value = blogtitle;
    document.getElementById("wysiwygblogbox").contentWindow.document.body.innerHTML = blogmessage;
		blogidfield.value = blogid;

		//Change buttons
		savebutton.value="update";
		publishbutton.style.display = "none";	    
  }
}

function notebookhorse(func, horse)
{
	if(func==1){
		temp = window.confirm('Are you sure you want to remove '+horse+' from your notebook?');	
		if(temp==false) return;
	}
  
	var txv3sidfield = document.getElementById("txv3sid");
	var txv3sid=txv3sidfield.value;

	if(func==2){
		var searchstringfield = document.getElementById("searchstring");   
		horse=searchstringfield.value;
		var searchresultsfield = document.getElementById("searchresults");
		searchresultsfield.innerHTML="<div style=\"text-align:center;\"><img alt=\"Please wait...\" src=\"tipexchange/icons/wait.gif\"></div>";
	}
  
  new Ajax.Request(
    subdir + '/validatenotebook.php',
       { parameters: {txv3sid: txv3sid, horse: horse, func: func},
         onSuccess:
           function(transport){
             try{
               readNotebookResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V014a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V014b", "Notebook Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readNotebookResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  var search = true;
	try{
    var notebook = xmlDoc.getElementsByTagName("notebook")[0].firstChild.data;
	} catch (e)
	{
    notebook = "Unable to show notebook. Please refresh the page and try again.";
    
  }
  
  try{
    var searchresults = xmlDoc.getElementsByTagName("searchresults")[0].firstChild.data;
	} catch (e)
	{
    search=false;
	}

	var notebookfield = document.getElementById("notebook");
	var searchresultsfield = document.getElementById("searchresults");
	
	notebookfield.innerHTML = notebook;
	if(search==true) searchresultsfield.innerHTML = searchresults;

}

function modifysetting(field)
{
  if(BrowserDetect.browser=="Safari" && field =='desc' ){
    alert("Sorry, but you are currently unable to edit your Welcome Message using the Safari Browser.");
    return;
  }  
  var flagfield = document.getElementById(field + "flag");
  var flagvalue = flagfield.value;
  
  if(flagvalue==0){
    var cellfield = document.getElementById(field + "cell");
    var cellvalue = "";
    var buttonfield = document.getElementById(field + "button");
    var fieldtype = "text";
    if(field == 'password'){
      buttonfield.style.display = "none";
      var password2row = document.getElementById("password2row");
      password2row.style.display = "block";
      try {
        password2row.style.display = "table-row";
      } catch(e){}
      fieldtype = "password";
      passwordvalue2field = document.getElementById("password2input");   
      passwordvalue2field.value = "";
    } else if(field == 'price' || field == 'trial'){
      field1 = document.getElementById(field + "row");
      field2 = document.getElementById(field + "2row");
      field1.style.display = "none";
      field2.style.display = "block";
      try {
        field2.style.display = "table-row";
      } catch(e){}
      buttonfield.value = 'Save';
    } else if(field=='desc') {
      field1 = document.getElementById(field + "cell");
      field2 = document.getElementById(field + "2cell");
      field1.style.display = "none";
      field2.style.display = "inline";
      buttonfield.value = 'Save';				
      var wyscheck = document.getElementById("wyscheck");
   
      if(BrowserDetect.browser!="Explorer" && wyscheck.value==0){ 
        generate_wysiwyg('descbox',1);
        wyscheck.value=1;
      }
      cellvalue = cellfield.innerHTML;
      document.getElementById("wysiwygdescbox").contentWindow.document.body.innerHTML = cellvalue;
    } else if(field == 'nl'){
      //alert("NL");
      field1 = document.getElementById(field + "row");
      field2 = document.getElementById(field + "2row");
      field1.style.display = "none";
      field2.style.display = "block";
      try {
        field2.style.display = "table-row";
      } catch(e){}
      buttonfield.value = 'Save';
    } else {
      cellvalue = cellfield.innerHTML;
      buttonfield.value = 'Save';
    }
    
    flagfield.value = 1;
    if(field != 'price' && field != 'trial' && field != 'desc' && field != 'nl')
      cellfield.innerHTML = "<input type=\""+fieldtype+"\" id=\""+field+"input\" class=\"inputbox\" name=\""+field+"input\" value=\""+cellvalue+"\" style=\"width:95%;\" ><span id=\""+field+"error\" class=\"txhidden\"/>";
  } else {
    //Save setting
    if(field == 'password'){
      //check they match
      var value1field = document.getElementById(field+"input");   
      var value1=value1field.value;
      var value2field = document.getElementById(field+"2input");   
      var value2=value2field.value;

      if(value1!=value2){
        alert("Your passwords do not match. Please try again.");
        return;
      }
    }
    savesetting(field);
  }
}

function savesetting(field)
{
	var txv3sidfield = document.getElementById("txv3sid");
	var txv3sid=txv3sidfield.value;
	
	var value = "";
	var valuefield = document.getElementById(field+"input");
	if(field=='price' || field == 'trial' || field == 'nl')
		value=valuefield.options[valuefield.selectedIndex].value;
  else if (field=='desc')
		value = document.getElementById("wysiwygdescbox").contentWindow.document.body.innerHTML;
	 else 
		value=valuefield.value;
  
  new Ajax.Request(
    subdir + '/validatetipstersetting.php',
       { parameters: {txv3sid: txv3sid, fieldID: field, inputValue: value},
         onSuccess:
           function(transport){
             try{
               readTipsterSettingResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V015a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V015b", "Settings Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readTipsterSettingResponse(response, responseXml)
{
  //alert(response);
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }
  
  try{
    fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;
  } catch(e){
    fieldID = "desc";
    result = 0;
  }
  
	var buttonfield = document.getElementById(fieldID + "button");
  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error. Please refresh the page before continuing.";
    }

    try{
      // find the HTML element that displays the error
      message = document.getElementById(fieldID + "error");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    try{
      // find the HTML element that displays the error
      message = document.getElementById(fieldID + "error");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //Do nothing
    }   

		var inputfield = document.getElementById(fieldID + "input");
		buttonfield.value = 'Modify';
    
		var flagfield = document.getElementById(fieldID + "flag");
		flagfield.value = 0;
		
		var cellfield = document.getElementById(fieldID + "cell");
		if(fieldID == 'password'){
			var password2row = document.getElementById("password2row");
			password2row.style.display = "none";
			buttonfield.style.display = "inline";
			cellfield.innerHTML = "<i>encrypted</i>";
		} else if(fieldID == 'price' || fieldID == 'trial'){
			field1 = document.getElementById(fieldID + "row");
			field2 = document.getElementById(fieldID + "2row");
			field2.style.display = "none";
			field1.style.display = "block";
			try {
				field1.style.display = "table-row";
			} catch(e){}

			var inputvalue = inputfield.options[inputfield.selectedIndex].value;
			if(fieldID == 'price')
				cellfield.innerHTML = "£"+inputvalue+" per month";
			else
				cellfield.innerHTML = inputvalue+" weeks";
		} else if(fieldID == 'desc'){
			field1 = document.getElementById(fieldID + "cell");
			field2 = document.getElementById(fieldID + "2cell");
			field2.style.display = "none";
			field1.style.display = "inline";

			cellfield.innerHTML = document.getElementById("wysiwygdescbox").contentWindow.document.body.innerHTML;
    }
    else if(fieldID=='nl'){
			field1 = document.getElementById(fieldID + "row");
			field2 = document.getElementById(fieldID + "2row");
			field2.style.display = "none";
			field1.style.display = "block";
			try {
				field1.style.display = "table-row";
			} catch(e){}

			var inputvalue = inputfield.options[inputfield.selectedIndex].value;

			var inputvaluestr = "";      
      switch(inputvalue){
        case '2':{
          inputvaluestr = "Yes";
          break;
        }
        default:{
          inputvaluestr = "No";
        }
      }
			cellfield.innerHTML = inputvaluestr;
		}	else {
			var inputvalue = inputfield.value;
			cellfield.innerHTML = inputvalue;
		}
	}
	buttonfield.disabled = false;
}

// the function handles the validation for any form field
function sendmessage(threadid)
{
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;
  ridfield = document.getElementById("rid");
  var rid=ridfield.value;
  subjectfield = document.getElementById("subject");
  var subject=subjectfield.value;
  messagefield = document.getElementById("sendmessage");
  var message=messagefield.value;
  itemidfield = document.getElementById("messitemid");
  var itemid=itemidfield.value;
  
  new Ajax.Request(
    subdir + '/validatemessage.php',
       { parameters: {rid: rid, subject: subject, message: message, txv3sid: txv3sid, itemid: itemid,
                      threadid: threadid},
         onSuccess:
           function(transport){
             try{
               readMessageResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V016a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V016b", "Messaging Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readMessageResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }
  
  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error. Please refresh the page before continuing.";
    }

    try{
      // find the HTML element that displays the error
      message = document.getElementById(fieldID + "error");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    try{
      // find the HTML element that displays the error
      message = document.getElementById("messageerror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //Do nothing
    }   

    try{
      var itemid = xmlDoc.getElementsByTagName("item")[0].firstChild.data;
      var threadid = xmlDoc.getElementsByTagName("thread")[0].firstChild.data;
    } catch(e){
      var itemid = 0;
    }
    
    //Message sent ok
		if(itemid==193||itemid==192){
			document.location = 'http://www.tipexchange.co.uk/v3/index.php?option=com_tipexchange&Itemid='+itemid+'&inbox=1&tid='+threadid;
		} else {
			composefield = document.getElementById("compose");
			// show the error or hide the error
			if(itemid==180)
				composefield.innerHTML = "<p>Your message has been sent. <a href=\"http://www.tipexchange.co.uk/v3/tipster_account/subscribers/\">Please click here to return to your subscribers list</a></p>";
			else if(itemid==199 || itemid==212)
				composefield.innerHTML = "<p>Your message has been sent.</p>";
      else
        composefield.innerHTML = "<p>Unable to send message due to unknown error. Please refresh the page and try again.</p>";
		}
	}
}

function messageread(func, messageid, status, txv3sid, itemid)
{
	if(status==0){
		temp = window.confirm('Are you sure you want to delete this message?');
	  if(temp==false) return;
	}
	
  new Ajax.Request(
    subdir + '/validatereadmessage.php',
       { parameters: {func: func, txv3sid: txv3sid, status: status, messageid: messageid},
         onSuccess:
           function(transport){
             try{
               readReadMessageResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V017a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V017b", "Messaging Read Failure", "Unknown Error", transport);
           }
       }
     );  
}

// read server's response 
function readReadMessageResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }
  
  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error. Please refresh the page before continuing.";
    }

    try{
      // find the HTML element that displays the error
      message = document.getElementById(fieldID + "error");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    try{
      // find the HTML element that displays the error
      message = document.getElementById("messageerror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //Do nothing
    }   

    try{
      display = xmlDoc.getElementsByTagName("display")[0].firstChild.data;
    } catch(e){
      display = "Unable to display messages. Please refresh your Browser and try again";
    }         
		composefield = document.getElementById("threads");
		composefield.innerHTML = display;
	}
}

function modifypsetting(field)
{
		var flagfield = document.getElementById(field + "flag");
		var flagvalue = flagfield.value;
		
		if(flagvalue==0){
			var cellfield = document.getElementById(field + "cell");
			var cellvalue = "";
			var buttonfield = document.getElementById(field + "button");
			var fieldtype = "text";
			if(field == 'password'){
				buttonfield.style.display = "none";
				var password2row = document.getElementById("password2row");
				password2row.style.display = "block";
				try {
					password2row.style.display = "table-row";
				} catch(e){}
				fieldtype = "password";
				passwordvalue2field = document.getElementById("password2input");   
				passwordvalue2field.value = "";
			} else if(field == 'ems' || field == 'emc' || field == 'nl'){
				field1 = document.getElementById(field + "row");
				field2 = document.getElementById(field + "2row");
				field1.style.display = "none";
				field2.style.display = "block";
				try {
					field2.style.display = "table-row";
				} catch(e){}
				buttonfield.value = 'Save';
			} else {
				cellvalue = cellfield.innerHTML;
				buttonfield.value = 'Save';
			}
			
			flagfield.value = 1;
			if(field != 'ems' && field != 'emc' && field != 'nl')
				cellfield.innerHTML = "<input type=\""+fieldtype+"\" id=\""+field+"input\" class=\"inputbox\" name=\""+field+"input\" value=\""+cellvalue+"\" style=\"width:95%;\" ><span id=\""+field+"error\" class=\"txhidden\"/>";
		} else {
			//Save setting
			if(field == 'password'){
				//check they match
				var value1field = document.getElementById(field+"input");   
				var value1=value1field.value;
				var value2field = document.getElementById(field+"2input");   
				var value2=value2field.value;

				if(value1!=value2){
					alert("Your passwords do not match. Please try again.");
					return;
				}
			}
			savepsetting(field);
		}
}

function savepsetting(field)
{
	var buttonfield = document.getElementById(field + "button");
	buttonfield.disabled = true;
	
	var txv3sidfield = document.getElementById("txv3sid");
	var txv3sid=txv3sidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	if(field=='ems' || field == 'emc' || field == 'nl'){
		value=valuefield.options[valuefield.selectedIndex].value;
	} else {
		value=valuefield.value;
	}

  new Ajax.Request(
    subdir + '/validatepuntersetting.php',
       { parameters: {txv3sid: txv3sid, fieldID: field, inputValue: value},
         onSuccess:
           function(transport){
             try{
               readPunterSettingResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V018a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V018b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readPunterSettingResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }
  try {
      fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;
  } catch(e)  {
    fieldID="nl";
    result=0
  }
  var buttonfield = document.getElementById(fieldID + "button");
  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error. Please refresh the page before continuing.";
    }

    try{
      // find the HTML element that displays the error
      message = document.getElementById(fieldID + "error");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    try{
      // find the HTML element that displays the error
      message = document.getElementById("messageerror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //Do nothing
    }   

    var inputfield = document.getElementById(fieldID + "input");	
		buttonfield.value = 'Modify';
    var flagfield = document.getElementById(fieldID + "flag");
		flagfield.value = 0;
		var cellfield = document.getElementById(fieldID + "cell");
		
    if(fieldID == 'password'){
			var password2row = document.getElementById("password2row");
			password2row.style.display = "none";
			buttonfield.style.display = "inline";
			cellfield.innerHTML = "<i>encrypted</i>";
		} else if(fieldID == 'ems' || fieldID == 'emc' || fieldID == 'nl'){
			field1 = document.getElementById(fieldID + "row");
			field2 = document.getElementById(fieldID + "2row");
			field2.style.display = "none";
			field1.style.display = "block";
			try {
				field1.style.display = "table-row";
			} catch(e){}

			var inputvalue = inputfield.options[inputfield.selectedIndex].value;

			var inputvaluestr = "";
			if(fieldID=='ems'){
				switch(inputvalue){
				  case '1':{
						inputvaluestr = "Text";
						break;
					}
					case '2':{
						inputvaluestr = "HTML";
						break;
					}
					default:{
						inputvaluestr = "Unknown";
						break;
					}
				}
			} else if(fieldID=='emc'){ 
				switch(inputvalue){
					case '1':{
						inputvaluestr = "None";
						break;
					}
					case '2':{
						inputvaluestr = "Single";
						break;
					}
					case '3':{
						inputvaluestr = "One per Tipster";
						break;
					}
					default:{
						inputvaluestr = "Unknown";
						break;
					}      
				}
			} else if(fieldID=='nl'){ 
				switch(inputvalue){
					case '2':{
						inputvaluestr = "Yes";
						break;
					}
					default:{
						inputvaluestr = "No";
					}
				}
			}
			cellfield.innerHTML = inputvaluestr;
		} else {
			var inputvalue = inputfield.value;
			cellfield.innerHTML = inputvalue;
		}
	}
	buttonfield.disabled = false;
}

function modifyadsetting(field)
{
		var flagfield = document.getElementById(field + "flag");
		var flagvalue = flagfield.value;
		//alert(field + ": " + flagvalue );
		if(flagvalue==0){
			var cellfield = document.getElementById(field + "cell");
			var cellvalue = "";
			var buttonfield = document.getElementById(field + "button");
			var fieldtype = "text";
			if(field == 'password'){
				buttonfield.style.display = "none";
				var password2row = document.getElementById("password2row");
				password2row.style.display = "block";
				try {
					password2row.style.display = "table-row";
				} catch(e){}
				fieldtype = "password";
				passwordvalue2field = document.getElementById("password2input");   
				passwordvalue2field.value = "";
			} else {
				cellvalue = cellfield.innerHTML;
				buttonfield.value = 'Save';
			}
			
			flagfield.value = 1;
      cellfield.innerHTML = "<input type=\""+fieldtype+"\" id=\""+field+"input\" class=\"inputbox\" name=\""+field+"input\" value=\""+cellvalue+"\" style=\"width:95%;\" ><span id=\""+field+"error\" class=\"txhidden\"/>";
		} else {
			//Save setting
			if(field == 'password'){
				//check they match
				var value1field = document.getElementById(field+"input");   
				var value1=value1field.value;
				var value2field = document.getElementById(field+"2input");   
				var value2=value2field.value;

				if(value1!=value2){
					alert("Your passwords do not match. Please try again.");
					return;
				}
			}
			saveadsetting(field);
		}
}

function saveadsetting(field)
{
	var buttonfield = document.getElementById(field + "button");
	buttonfield.disabled = true;
	
	var txv3sidfield = document.getElementById("txv3sid");
	var txv3sid=txv3sidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	value=valuefield.value;

  new Ajax.Request(
    subdir + '/validateadvertisersetting.php',
       { parameters: {txv3sid: txv3sid, fieldID: field, inputValue: value},
         onSuccess:
           function(transport){
             try{
               readAdvertiserSettingResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V055a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V055b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readAdvertiserSettingResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }
  try {
      fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;
  } catch(e)  {
    fieldID="nl";
    result=0
  }
  var buttonfield = document.getElementById(fieldID + "button");
  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error. Please refresh the page before continuing.";
    }

    try{
      // find the HTML element that displays the error
      message = document.getElementById(fieldID + "error");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    try{
      // find the HTML element that displays the error
      message = document.getElementById("messageerror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //Do nothing
    }   

    var inputfield = document.getElementById(fieldID + "input");	
		buttonfield.value = 'Modify';
    var flagfield = document.getElementById(fieldID + "flag");
		flagfield.value = 0;
		var cellfield = document.getElementById(fieldID + "cell");
		
    if(fieldID == 'password'){
			var password2row = document.getElementById("password2row");
			password2row.style.display = "none";
			buttonfield.style.display = "inline";
			cellfield.innerHTML = "<i>encrypted</i>";
		} else {
			var inputvalue = inputfield.value;
			cellfield.innerHTML = inputvalue;
		}
	}
	buttonfield.disabled = false;
}

function modifyafsetting(field)
{
		var flagfield = document.getElementById(field + "flag");
		var flagvalue = flagfield.value;
		//alert(field + ": " + flagvalue );
		if(flagvalue==0){
			var cellfield = document.getElementById(field + "cell");
			var cellvalue = "";
			var buttonfield = document.getElementById(field + "button");
			var fieldtype = "text";
			if(field == 'password'){
				buttonfield.style.display = "none";
				var password2row = document.getElementById("password2row");
				password2row.style.display = "block";
				try {
					password2row.style.display = "table-row";
				} catch(e){}
				fieldtype = "password";
				passwordvalue2field = document.getElementById("password2input");   
				passwordvalue2field.value = "";
			} else {
				cellvalue = cellfield.innerHTML;
				buttonfield.value = 'Save';
			}
			
			flagfield.value = 1;
      cellfield.innerHTML = "<input type=\""+fieldtype+"\" id=\""+field+"input\" class=\"inputbox\" name=\""+field+"input\" value=\""+cellvalue+"\" style=\"width:95%;\" ><span id=\""+field+"error\" class=\"txhidden\"/>";
		} else {
			//Save setting
			if(field == 'password'){
				//check they match
				var value1field = document.getElementById(field+"input");   
				var value1=value1field.value;
				var value2field = document.getElementById(field+"2input");   
				var value2=value2field.value;

				if(value1!=value2){
					alert("Your passwords do not match. Please try again.");
					return;
				}
			}
			saveafsetting(field);
		}
}

function saveafsetting(field)
{
	var buttonfield = document.getElementById(field + "button");
	buttonfield.disabled = true;
	
	var txv3sidfield = document.getElementById("txv3sid");
	var txv3sid=txv3sidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	value=valuefield.value;

  new Ajax.Request(
    subdir + '/validateaffiliatesetting.php',
       { parameters: {txv3sid: txv3sid, fieldID: field, inputValue: value},
         onSuccess:
           function(transport){
             try{
               readAffiliateSettingResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V075a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V075b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readAffiliateSettingResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try{
    result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  } catch(e){
    result = 0;
  }
  try {
      fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;
  } catch(e)  {
    fieldID="nl";
    result=0
  }
  var buttonfield = document.getElementById(fieldID + "button");
  if(result==0) {
    try{
      errormsg = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
    } catch (e){
      errormsg = "Unknown Error. Please refresh the page before continuing.";
    }

    try{
      // find the HTML element that displays the error
      message = document.getElementById(fieldID + "error");
      // show the error or hide the error
      message.innerHTML = errormsg;
      message.className = "txerror";
    } catch(e){
      //Do nothing
    }       
  }
  else if(result==1)
  {
    try{
      // find the HTML element that displays the error
      message = document.getElementById("messageerror");
      // show the error or hide the error
      message.innerHTML = "";
      message.className = "txhidden";
    } catch(e){
      //Do nothing
    }   

    var inputfield = document.getElementById(fieldID + "input");	
		buttonfield.value = 'Modify';
    var flagfield = document.getElementById(fieldID + "flag");
		flagfield.value = 0;
		var cellfield = document.getElementById(fieldID + "cell");
		
    if(fieldID == 'password'){
			var password2row = document.getElementById("password2row");
			password2row.style.display = "none";
			buttonfield.style.display = "inline";
			cellfield.innerHTML = "<i>encrypted</i>";
		} else {
			var inputvalue = inputfield.value;
			cellfield.innerHTML = inputvalue;
		}
	}
	buttonfield.disabled = false;
}


function showhidettips(row) {

  var imagelink = document.getElementById("tipimg"+row);	
  var tiprowa = document.getElementById("ttrowa"+row);

  var tiprowb = document.getElementById("ttrowb"+row);

  if ( tiprowa.style.display=="none") {
    tiprowa.style.display = "block"; //necesary for ie
    tiprowb.style.display = "block"; //necesary for ie		
    try{
      tiprowa.style.display = "table-row";
			tiprowb.style.display = "table-row";
    } catch(err){}
    imagelink.innerHTML = "<img alt=\"Hide Todays Tips\" border=0 src=\"tipexchange/icons/minus.gif\" onclick=\"showhidettips("+row+");\"/>";
  }else{
    tiprowa.style.display = "none";
    tiprowb.style.display = "none";  		
    imagelink.innerHTML = "<img alt=\"Show Todays Tips\" border=0 src=\"tipexchange/icons/plus.gif\" onclick=\"showhidettips("+row+");\"/>";
  }  
}

function showhidesearchresults(row) {

  var imagelink = document.getElementById("seaimg"+row);	
  var tiprowa = document.getElementById("srrowa"+row);

  if ( tiprowa.style.display=="none") {
    tiprowa.style.display = "block"; //necesary for ie		
    try{
      tiprowa.style.display = "table-row";
    } catch(err){}
    imagelink.innerHTML = "<img alt=\"Hide Search Results\" border=0 src=\"tipexchange/icons/minus.gif\" onclick=\"showhidesearchresults("+row+");\"/>";
  }else{
    tiprowa.style.display = "none"; 		
    imagelink.innerHTML = "<img alt=\"Show Search Results\" border=0 src=\"tipexchange/icons/plus.gif\" onclick=\"showhidesearchresults("+row+");\"/>";
  }  
}

function showhideads(row) {

  if(row==1){
    var imagelink = document.getElementById("banimg");	
    var banrow = document.getElementById("bannerrow1");
  
    if ( banrow.style.display=="none") {
      banrow.style.display = "block"; //necesary for ie		
      try{
        banrow.style.display = "table-row";
      } catch(err){}
      imagelink.innerHTML = "<img alt=\"Hide Banner Campaigns\" border=0 src=\"tipexchange/icons/minus.gif\" onclick=\"showhideads(1);\"/>";
    }else{
      banrow.style.display = "none"; 		
      imagelink.innerHTML = "<img alt=\"Show Banner Campaigns\" border=0 src=\"tipexchange/icons/plus.gif\" onclick=\"showhideads(1);\"/>";
    }
  }
  else if (row==2)
  {
    var imagelink = document.getElementById("teximg");	
    var banrow = document.getElementById("textrow1");
  
    if ( banrow.style.display=="none") {
      banrow.style.display = "block"; //necesary for ie		
      try{
        banrow.style.display = "table-row";
      } catch(err){}
      imagelink.innerHTML = "<img alt=\"Hide Text Ad Campaigns\" border=0 src=\"tipexchange/icons/minus.gif\" onclick=\"showhideads(2);\"/>";
    }else{
      banrow.style.display = "none"; 		
      imagelink.innerHTML = "<img alt=\"Show Text Ad Campaigns\" border=0 src=\"tipexchange/icons/plus.gif\" onclick=\"showhideads(2);\"/>";
    }      
  }
}

function showhidearticle() {
  //displayError("HPSRSC041", "Test NAme","Test Message");
  var imagelink = document.getElementById("rlimg");	
  var fullarticle = document.getElementById("fullarticle");

  if ( fullarticle.style.display=="none") {
    fullarticle.style.display = "block"; //necesary for ie		
    try{
      fullarticle.style.display = "table-row";
    } catch(err){}
    imagelink.innerHTML = "<img alt=\"Hide article\" border=0 src=\"tipexchange/icons/book.png\"/>&nbsp;Hide article";
  }else{
    fullarticle.style.display = "none"; 		
    imagelink.innerHTML = "<img alt=\"Read more...\" border=0 src=\"tipexchange/icons/book_open.png\"/>&nbsp;Read more...";
  }  
}

function showhideyres(row, title) {
  var imagelink = document.getElementById("resimg"+row);	
  var resultrow = document.getElementById("yrrow"+row);
  
  if ( resultrow.style.display=="none") {
    resultrow.style.display = "block"; //necesary for ie
    try{
      resultrow.style.display = "table-row";
    } catch(err){}
    imagelink.innerHTML = "<img alt=\"Hide "+title+"\" border=0 src=\"tipexchange/icons/minus.gif\" onclick=\"showhideyres("+row+", '"+title+"');\"/>";
  }else{
    resultrow.style.display = "none";   
    imagelink.innerHTML = "<img alt=\"Show "+title+"\" border=0 src=\"tipexchange/icons/plus.gif\" onclick=\"showhideyres("+row+", '"+title+"');\"/>";
  }  
}

function showhideyrsearchresults(row, title) {
  var imagelink = document.getElementById("yseaimg"+row);	
  var resultrow = document.getElementById("ysrrowa"+row);
  
  if ( resultrow.style.display=="none") {
    resultrow.style.display = "block"; //necesary for ie
    try{
      resultrow.style.display = "table-row";
    } catch(err){}
    imagelink.innerHTML = "<img alt=\"Hide "+title+"\" border=0 src=\"tipexchange/icons/minus.gif\" onclick=\"showhideyrsearchresults("+row+",'"+title+"');\"/>&nbsp;"+title+"";
  }else{
    resultrow.style.display = "none";   
    imagelink.innerHTML = "<img alt=\"Show "+title+"\" border=0 src=\"tipexchange/icons/plus.gif\" onclick=\"showhideyrsearchresults("+row+",'"+title+"');\"/>&nbsp;"+title+"";
  }  
}

function portfolio(func, tipid, row, tipname)
{
	tablecall = false;
	if(func>=3) tablecall = true;
  
	if(func==4) func=2;

  if(func==1){
    temp = window.confirm("Are you sure you want to unsubscribe from "+tipname+"?");
    if(temp==false) return;
  }	else if (func==2){
    temp = window.confirm("Are you sure you want to remove "+tipname+" from your portfolio?");
    if(temp==false) return;			
  }
	txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;
  
  new Ajax.Request(
    subdir + '/validateportfolio.php',
       { parameters: {func: func, tipid: tipid, txv3sid: txv3sid},
         onFailure:
           function(transport){
             displayError("V019b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
  
  if(tablecall==true){
    var imageicon = document.getElementById("wimg"+row);
    if(func==3)
      imageicon.innerHTML = "<img alt=\"Remove "+tipname+" from your watchlist\" border=0 src=\"tipexchange/icons/webcam_delete.png\" onclick='portfolio(4,"+tipid+","+row+",\""+tipname+"\");'/>";
    else
      imageicon.innerHTML = "<img alt=\"Add "+tipname+" to your watchlist\" border=0 src=\"tipexchange/icons/webcam_add.png\" onclick='portfolio(3,"+tipid+","+row+",\""+tipname+"\");'/>";
  } else {
    var mainrow = document.getElementById("mainrow"+row);	
    var resultrow = document.getElementById("yrrow"+row);
    mainrow.style.display = "none";
    resultrow.style.display = "none";
  }  
}

function customtable(col, desc)
{
	if(col==0){
		colfield = document.getElementById("col");
		col=colfield.value;
		descfield = document.getElementById("desc");
		desc=descfield.value;
	}
	
  for (i=0; i < 6; i++) {
    if (document.getElementById("bettype" + i).checked == true) {
      bettype =  document.getElementById("bettype" + i).value;
      break;
    }
  }	

  for (i=0; i < 3; i++) {
    if (document.getElementById("recstake" + i).checked == true) {
      recstake =  document.getElementById("recstake" + i).value;
      break;
    }
  }

  for (i=0; i < 5; i++) {
    if (document.getElementById("pertype" + i).checked == true) {
      pertype =  document.getElementById("pertype" + i).value;
      break;
    }
  }	

  for (i=0; i < 5; i++) {
    if (document.getElementById("records" + i).checked == true) {
      records =  document.getElementById("records" + i).value;
      break;
    }
  }
  
  for (i=0; i < 5; i++) {
    if (document.getElementById("lasttip" + i).checked == true) {
      lasttip =  document.getElementById("lasttip" + i).value;
      break;
    }
  }
  
  for (i=0; i < 5; i++) {
    if (document.getElementById("betcount" + i).checked == true) {
      betcount =  document.getElementById("betcount" + i).value;
      break;
    }
  }
  
  for (i=0; i < 5; i++) {
    if (document.getElementById("profit" + i).checked == true) {
      profit =  document.getElementById("profit" + i).value;
      break;
    }
  }
  
  for (i=0; i < 5; i++) {
    if (document.getElementById("roi" + i).checked == true) {
      roi =  document.getElementById("roi" + i).value;
      break;
    }
  }	

  for (i=0; i < 5; i++) {
    if (document.getElementById("price" + i).checked == true) {
      price =  document.getElementById("price" + i).value;
      break;
    }
  }	

  for (i=0; i < 3; i++) {
    if (document.getElementById("trialoff" + i).checked == true) {
      trialoff =  document.getElementById("trialoff" + i).value;
      break;
    }
  }	
	
	var formidfield = document.getElementById("formid");
	var formid=formidfield.value;

	var txv3sidfield = document.getElementById("txv3sid");
	var txv3sid=txv3sidfield.value;

	var freeonlyfield = document.getElementById("freeonly");
	var freeonly=freeonlyfield.value;
	
	var spidfield = document.getElementById("spid");
	var spid=spidfield.value;
  
  var searchresultsfield = document.getElementById("searchresults");
  searchresultsfield.innerHTML="<div style=\"text-align:center;\"><img alt=\"Please wait...\" src=\"tipexchange/icons/wait.gif\"></div>";
			  
  new Ajax.Request(
    subdir + '/validatetables.php',
       { parameters: {txv3sid: txv3sid, formid: formid, bettype: bettype, recstake: recstake,
                      pertype: pertype, records: records, lasttip: lasttip, betcount: betcount,
                      roi: roi, profit: profit, price: price, trialoff: trialoff, col: col,
                      desc: desc, freeonly: freeonly, spid: spid},
         onSuccess:
           function(transport){
             try{
               readCustomTablesResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
                var searchresultsfield = document.getElementById("searchresults");
                searchresultsfield.innerHTML="<div style=\"color:red; text-align:center;\">Unable to show results. Please refresh the page and try again.</div>";
                displayError("V020a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
              var searchresultsfield = document.getElementById("searchresults");
              searchresultsfield.innerHTML="<div style=\"color:red; text-align:center;\">Unable to show results. Please refresh the page and try again.</div>";
              displayError("V020b", "Custom Tables Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readCustomTablesResponse(response, responseXml)
{
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);

  if(BrowserDetect.browser=="Firefox")
    responseXml.normalize();

  xmlDoc = responseXml.documentElement;
  try {
    var searchresults = xmlDoc.getElementsByTagName("searchresults")[0].firstChild.data;
  } catch (e) {
    searchresults = "Unable to display results. Please refresh the page and try again.";
  }
	var searchresultsfield = document.getElementById("searchresults");
	searchresultsfield.innerHTML = searchresults;
}

function uploadbanner(bid)
{
  var row1 =document.getElementById("banrow1");
  var row2 =document.getElementById("banrow2");
  var row3 =document.getElementById("banrow3");    
  if(bid==0){   
    row1.style.display = "block"; //necesary for ie
    try{
      row1.style.display = "table-row";
    } catch(err){
      //IE throws error that we can ignore.
    }
    row2.style.display = "none";
    row3.style.display = "none";       
  }
  else {  
    row2.style.display = "block"; //necesary for ie
    try{
      row2.style.display = "table-row";
    } catch(err){
      //IE throws error that we can ignore.
    }
    row3.style.display = "block"; //necesary for ie
    try{
      row3.style.display = "table-row";
    } catch(err){
      //IE throws error that we can ignore.
    }
    row1.style.display = "none";        
  }
}

function mediaselector()
{
  mediatype = document.getElementById("baninput").getAttribute("value");
  sizeselector = document.getElementById("sizinput")
  if(mediatype==1){
    sizeselector.disabled = false;
  } else {
    sizeselector.disabled = true;    
  }
}



