// 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 = "/addiply";
var subdir = "";
// This is the dir on the live server
 //var subdir = "";

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>"

                
function DisplayMsg(func, data, icons) {
	if(func==1){

		textarrgrp[1]  = data[0];
		textarrgrp[2]  = data[1];
		textarrgrp[3]  = data[2];
		textarrgrp[4]  = data[3];
		
		imgarrgrp[1]  = icons[0];
		imgarrgrp[2]  = icons[1];
		imgarrgrp[3]  = icons[2];
		imgarrgrp[4]  = icons[3];

		textarr = textarrgrp[1];
		imgarr = imgarrgrp[1];
		
		msg = textarr[0];
		outMsg = imgarr[0]; 
	}
	if (msg.length <= i || msg.charAt(i) == "") {
		r=i;
		i=0;
		ChangeMsg();
	}
	outMsg = outMsg + msg.charAt(i);
	i++; 
	if (msg.charAt(i) == "" || (lineNo == pageLen && i==msg.length)) {
		delay = 4000; }
	else {
	if (msg.charAt(i) == cr && msg != " "+cr) {
		delay = 1000; }
	else {
		delay = typeSpeed; } 
	}
	document.getElementById("msgarea").innerHTML=outMsg;
	timerDM = setTimeout("DisplayMsg(0,0,0)",delay);
}

function ChangeMsg() {
	msgNum++;
	if (msgCnt < msgNum) {
		msgNum = 1;
		pgNum++;
		if (pgCnt < pgNum) {
			pgNum = 1;
		}
		imgarr = imgarrgrp[pgNum];
		textarr = textarrgrp[pgNum];
	}
	
	lineNo++;
	if (pageLen < lineNo || msg.charAt(r) == "") {
	 outMsg=imgarr[0] + textarr[msgNum-1].charAt(i);
	 i++;
	 lineNo = 1;
	} else{
	 iconindex = msgNum-1;
	 outMsg = outMsg + imgarr[iconindex];
	}
	textindex = msgNum-1;
	msg = textarr[textindex];
}
								
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("An error occurred on the page. \nCode: " + code 
					+ "\nName: " + name 
					+ ". \nMessage: " + message
					+ "\n\nPlease contact Addiply support if this problems persists.");

  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;
  }
  
	//alert(transtext);

  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 form = document.getElementById("txaccselform");  
  var account_selected = false;

  for (counter = 0; counter < form.Itemid.length; counter++){
    if (form.Itemid[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 passworda." );   
  } else if (document.getElementById("password2error") && document.getElementById("password2error").innerHTML.length>0) {
    alert( "Please correct your passwordb." );
  } 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 adplogonformvalidate() {
  var form = document.getElementById("adplogonform");
  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;
              // 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.getElementById("adplogonform");
                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 validateinvitem() {
  var adtype = 0;
  var form = document.getElementById("cniform");    
  for (counter = 0; counter < form.radtype.length; counter++){
    if (form.radtype[counter].checked)
      adtype=counter+1;
  }  
    
  var pantype = 0;
  var form = document.getElementById("cniform");    
  for (counter = 0; counter < form.panstyle.length; counter++){
    if (form.panstyle[counter].checked)
      pantype=counter+1;
  }
  
  var pricemodel = document.getElementById("modelinput");
  var banprice = document.getElementById("banprice");
  var adname = document.getElementById("adname");  
  var bandesc = document.getElementById("bandesc");
  // var banh = document.getElementById("banh");
  // var banw = document.getElementById("banw");
  var maxban = document.getElementById("maxban");
  var tac = document.getElementById("tac");
   
  if (adtype.value<1) {
    alert( "Please select the type of advert to add to your inventory." );
  } else if (pricemodel.value<1) {
    alert( "Please select the price model for your advert." );
  } else if (banprice.value<0.01) {
    alert( "Please select the price for your advert." );
  } else if (adname.value.length<1) {
    alert( "Please add a name for your advert.");    
  } else if (bandesc.value.length<1) {
    alert( "Please add a description for your advert.");
  // } else if (banh.value<1 && adtype==1) {
    // alert( "Please enter the height for your banner." );
  // } else if (banw.value<1 && adtype==1) {
    // alert( "Please enter the width for your banner." );
  // } else if (maxban.value<1 && adtype==1) {
    // alert( "Please enter the maximum number of banners for the advert." );
  } else if (tac.value<1 && adtype==2) {
    alert( "Please enter the number of text adverts for the advert panel." );
  } else if (pantype<1 && adtype==2) {
    alert( "Please enter the panel type for your text adverts." );     
  } else {
    form.submit();
  }
}

function updatepriceterm(field)
{
  var bpm = document.getElementById(field);
  var bmpval = bpm.value;
  var priceterm = document.getElementById("priceterm");
  
  if(bmpval==1)
    priceterm.innerHTML = "Minimum Price per Click:";
  else if(bmpval==2)
    priceterm.innerHTML = "Price per 1000 views:";
  else if(bmpval==3)
    priceterm.innerHTML = "Price per week:";
  else if(bmpval==4)
    priceterm.innerHTML = "Price per month:";     
}

function showtypefields() {
  var banners1 =document.getElementById("banners1");
  // var banners2 =document.getElementById("banners2");
  // var banners3 =document.getElementById("banners3"); 
  var textads1 =document.getElementById("textads1");
  var textads2 =document.getElementById("textads2");
  for (i=0; i < 2; i++) {
    if (document.getElementById("radtype" + i).checked == true) {
      radtype =  document.getElementById("radtype" + i).value;
      break;
    }
  }
  
  if (radtype==1) {
    textads1.style.display = "none";
    textads2.style.display = "none";     
    banners1.style.display = "block"; //necesary for ie
    // banners2.style.display = "block"; //necesary for ie
    // banners3.style.display = "block"; //necesary for ie      
    try{
      banners1.style.display = "table-row";
      banners2.style.display = "table-row";
      banners3.style.display = "table-row";          
    } catch(err){
      //IE throws error that we can ignore.
    }
  }else if (radtype==2) {
    banners1.style.display = "none";
    // banners2.style.display = "none";
    // banners3.style.display = "none";     
    textads1.style.display = "block"; //necesary for ie
    textads2.style.display = "block"; //necesary for ie    
    try{
      textads1.style.display = "table-row";
      textads2.style.display = "table-row";      
    } catch(err){
      //IE throws error that we can ignore.
    }
  }  
}

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 = "icons/minus.gif";
    image.alt = "Hide Rating Guide";
    image.title = "Hide Rating Guide";     
  }else{
    guide.style.display = "none";
    image.src = "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 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
    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";
      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=\"icons/minus.gif\"/>&nbsp;&nbsp;&nbsp;Hide Message:</a>";
  }else{
    messagegroup.style.display = "none";
    editbutton.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=\"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);
           }
       }
     );
}

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 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;
  tokenfield = document.getElementById("formid");
  var token=tokenfield.value;
  txv3sidfield = document.getElementById("txv3sid");
  var txv3sid=txv3sidfield.value;
    
  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 adpsidfield = document.getElementById("adpsid");
	var adpsid=adpsidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	value=valuefield.value;

  new Ajax.Request(
    subdir + '/validateadvertisersetting.php',
       { parameters: {adpsid: adpsid, 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?
  //alert(response);
  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 modifyagsetting(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;
				}
			}
			saveagsetting(field);
		}
}

function saveagsetting(field)
{
	var buttonfield = document.getElementById(field + "button");
	buttonfield.disabled = true;
	
	var adpsidfield = document.getElementById("adpsid");
	var adpsid=adpsidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	value=valuefield.value;

  new Ajax.Request(
    subdir + '/validateagencysetting.php',
       { parameters: {adpsid: adpsid, fieldID: field, inputValue: value},
         onSuccess:
           function(transport){
             try{
               readAgencySettingResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V156a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V156b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readAgencySettingResponse(response, responseXml)
{
  // server error?
  //alert(response);
  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 modifypgsetting(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;
				}
			}
			savepgsetting(field);
		}
}

function savepgsetting(field)
{
	var buttonfield = document.getElementById(field + "button");
	buttonfield.disabled = true;
	
	var adpsidfield = document.getElementById("adpsid");
	var adpsid=adpsidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	value=valuefield.value;

  new Ajax.Request(
    subdir + '/validatepublishinggroupsetting.php',
       { parameters: {adpsid: adpsid, fieldID: field, inputValue: value},
         onSuccess:
           function(transport){
             try{
               readPublishingGroupSettingResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V157a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V157b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readPublishingGroupSettingResponse(response, responseXml)
{
  // server error?
  //alert(response);
  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 modifypbsetting(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;
				}
			}
			savepbsetting(field);
		}
}

function savepbsetting(field)
{
	var buttonfield = document.getElementById(field + "button");
	buttonfield.disabled = true;
	
	var adpsidfield = document.getElementById("adpsid");
	var adpsid=adpsidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	value=valuefield.value;

  new Ajax.Request(
    subdir + '/validatepublishersetting.php',
       { parameters: {adpsid: adpsid, fieldID: field, inputValue: value},
         onSuccess:
           function(transport){
             try{
               readPublisherSettingResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V155a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V155b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readPublisherSettingResponse(response, responseXml)
{
  // server error?
  //alert(response);
  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 modifyaiisetting(field)
{
		var flagfield = document.getElementById(field + "flag");
		var flagvalue = flagfield.value;
		//alert(field + ": " + flagvalue );
		if(flagvalue==0){
      if(field=='model'){
        temp = window.confirm("Changing your pricing model will suspend all current adverts on this inventory. Are you sure you wish to change this pricing model?");
        if(temp==false) return;
      }
      if(field=='vertical'){
        temp = window.confirm("Changing the orientation of this inventory will require you to update the JavaScript in your web page. Are you sure you wish to change the orientation?");
        if(temp==false) return;
      }
      if(field=='cells'){
        temp = window.confirm("Changing the number of adverts within this inventory will require you to update the JavaScript in your web page. Are you sure you wish to change the number of adverts?");
        if(temp==false) return;
      }
  
			var cellfield = document.getElementById(field + "cell");
			var cellvalue = "";
			var buttonfield = document.getElementById(field + "button");
			var fieldtype = "text";
      //alert(field);
			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 == 'bannertype' || field == 'model' || field == 'vertical' || field == 'country' || field == 'region'|| field == 'status'|| field == 'banner'){
        //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 if(field == 'desc' || field == 'defdesc'){
        //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 != 'model' && field != 'vertical' && field != 'desc' && field != 'defdesc' && field != 'status' && field != 'country' && field != 'region')
      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;
				}
			}
			saveaiisetting(field);
		}
}

function saveaiisetting(field)
{
	var buttonfield = document.getElementById(field + "button");
	buttonfield.disabled = true;
	
	var adpsidfield = document.getElementById("adpsid");
	var adpsid=adpsidfield.value;
	var value = "";
	var valuefield = document.getElementById(field+"input");
	if( field=='model' || field=='vertical' || field=='country' || field=='region' || field=='status')
		value=valuefield.options[valuefield.selectedIndex].value;
	else if ( field=='bannertype' ) {
		var cell = document.getElementById('bannertype2cell');
		var val = 0;
		for( i = 0; i < cell.children.length; i++ )
		{
			if( cell.children[i].checked == true ) {
				value = cell.children[i].value;
				break;
			}
		}
	}
  else
    value=valuefield.value;
	var advaluefield = document.getElementById("adtype");
	var advalue=advaluefield.value;
	var locidfield = document.getElementById("locid");
	var locid=locidfield.value;  
  
  new Ajax.Request(
    subdir + '/validateinventoryitemsetting.php',
       { parameters: {adpsid: adpsid, fieldID: field, inputValue: value, locid: locid, adtype: advalue},
         onSuccess:
           function(transport){
             try{
               readInventoryItemResponse(transport.responseText, transport.responseXML);
             }
             catch (e)
             {
               displayError("V255a", e.name, e.message, transport);
             }                              
           },
         
         onFailure:
           function(transport){
             displayError("V255b", "Setting Failure", "Unknown Error", transport);
           }
       }
     );
}

// read server's response 
function readInventoryItemResponse(response, responseXml)
{
  // server error?
  //alert(response);
  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");
		//alert(fieldID);
    if(fieldID == 'password'){
			var password2row = document.getElementById("password2row");
			password2row.style.display = "none";
			buttonfield.style.display = "inline";
			cellfield.innerHTML = "<i>encrypted</i>";
    } else if(fieldID=='model'){
			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;
      //alert(inputvalue);
			var inputvaluestr = "";      
      if(inputvalue==1)
        inputvaluestr = "PPC (Pay Per Click)";
      else if(inputvalue==2)
        inputvaluestr = "CPM (Cost per 1000 views)";
      else if(inputvalue==3)
        inputvaluestr = "PPW (Cost per Week)";
      else if(inputvalue==4)
        inputvaluestr = "PPM (Cost per Month)";
      //alert(inputvaluestr);
			cellfield.innerHTML = inputvaluestr;
    } else if(fieldID=='vertical'){
			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;
      //alert(inputvalue);
			var inputvaluestr = "";      
      if(inputvalue==1)
        inputvaluestr = "Horizontal";
      else if(inputvalue==2)
        inputvaluestr = "Vertical";

			cellfield.innerHTML = inputvaluestr;
    } else if(fieldID=='country' || fieldID=='status'){
			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 inputvaluestr = inputfield.options[inputfield.selectedIndex].text;
			cellfield.innerHTML = inputvaluestr;
      location.reload(true);
    } else if(fieldID=='region'){
		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 inputvaluestr = inputfield.options[inputfield.selectedIndex].text;
		cellfield.innerHTML = inputvaluestr;        
	} else if(fieldID=='bannertype'){
//		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){}
		// TODO clean this up, it's ugly but it works
		window.location.reload()
		// var inputvaluestr = inputfield.options[inputfield.selectedIndex].text;
		// cellfield.innerHTML = inputvaluestr;        
	} else if(fieldID=='desc' || fieldID=='defdesc'){
        //alert("here");
  			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.value;
  			cellfield.innerHTML = inputvalue;          
  		} 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=\"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=\"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=\"icons/minus.gif\" onclick=\"showhidesearchresults("+row+");\"/>";
  }else{
    tiprowa.style.display = "none"; 		
    imagelink.innerHTML = "<img alt=\"Show Search Results\" border=0 src=\"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=\"icons/minus.gif\" onclick=\"showhideads(1);\"/>";
    }else{
      banrow.style.display = "none"; 		
      imagelink.innerHTML = "<img alt=\"Show Banner Campaigns\" border=0 src=\"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=\"icons/minus.gif\" onclick=\"showhideads(2);\"/>";
    }else{
      banrow.style.display = "none"; 		
      imagelink.innerHTML = "<img alt=\"Show Text Ad Campaigns\" border=0 src=\"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=\"icons/minus.gif\" onclick=\"showhideyres("+row+", '"+title+"');\"/>";
  }else{
    resultrow.style.display = "none";   
    imagelink.innerHTML = "<img alt=\"Show "+title+"\" border=0 src=\"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=\"icons/minus.gif\" onclick=\"showhideyrsearchresults("+row+",'"+title+"');\"/>&nbsp;"+title+"";
  }else{
    resultrow.style.display = "none";   
    imagelink.innerHTML = "<img alt=\"Show "+title+"\" border=0 src=\"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 swapCountryOptions(selectedIndex)
{
  new Ajax.Updater(
    'region',
    subdir + '/validatecountry.php',
       { parameters: {country: selectedIndex},
         
         onFailure:
           function(transport){
              displayError("V020b", "Custom Tables Failure", "Unknown Error", transport);
           }
       }
     );  
}

