function MM_preloadImages() {
    if (document.images) {
        var imgFiles = MM_preloadImages.arguments;
        if (document.preloadArray == null) {
            document.preloadArray = new Array();
        }
        var i = document.preloadArray.length;
        with (document) {
            for (var j = 0; j < imgFiles.length; j++) {
                if (imgFiles[j].charAt(0) != "#") {
                    document.preloadArray[i] = new Image();
                    document.preloadArray[i++].src = imgFiles[j];
                }
            }
        }
    }
}

// Start of Dynamic Form

var initial_count = new Array();
var rows_limit = 0; // Set to 0 to disable limitation

function addRow(table_id)
{
  var tbl = document.getElementById(table_id);
  // counting rows in table
  var rows_count = tbl.rows.length;
  if (initial_count[table_id] == undefined)
  {
    // if it is first adding in this table setting initial rows count
    initial_count[table_id] = rows_count;
  }
  // determining real count of added fields
  var tFielsNum =  rows_count - initial_count[table_id];
  if (rows_limit!=0 && tFielsNum >= rows_limit) return false;
  var text = '';
  var input = '<label>Replace</label> <input type="text" name="replace[]" id="replace[]" size="23" style="border: 1px #000000 solid; background: #FFFFFF;" /> <label>with</label> <input type="text" name="with[]" id="with[]" size="23" style="border: 1px #000000 solid; background: #FFFFFF;" />';
				
  var remove= '<img src="http://static.redo.me.uk/images/remove.png" alt="Remove Rule" onclick="removeRow(\''+table_id+'\',this.parentNode.parentNode)" style="width:100%;" style="margin:0px; padding 0px;" />';
  
  try {
    var newRow = tbl.insertRow(rows_count);
    var newCell = newRow.insertCell(0);
    newCell.innerHTML = text;
    var newCell = newRow.insertCell(1);
    newCell.innerHTML = input;
    var newCell = newRow.insertCell(2);
    newCell.innerHTML = remove;
  } catch (ex) {
    //if exception occurs
    alert(ex);
  }
}

function removeRow(tbl,row)
{
  var table = document.getElementById(tbl);
  try {
    table.deleteRow(row.rowIndex);
  } catch (ex) {
    alert(ex);
  }
}

// End of dynamic Form


// Start of Ajax Call

function doMakeLink(){
	var ajaxRequest;

	try {
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer Browsers
		try {
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("Sorry, your browser does not support Ajax!");
				return false;
			}
		}
	}
	
	buttonElement = document.getElementById("Button");
	activityIcon = document.getElementById("Activity");
	
	var urlParameter        = encodeURI ( "url="        + document.getElementById ("url").value);
	var shortCodeParameter  = encodeURI ( "&shortcode="  + document.getElementById ("shortcode").value);
	
	var replaceParameters = ""
	var els = document.getElementsByName('replace[]');
	for (var i=0; i<els.length; i++) {

		replaceParameters += "&replace[]=" + els[i].value;
	}
	
	var withParameters = ""
	var els = document.getElementsByName('with[]');
	for (var i=0; i<els.length; i++) {
	
		withParameters += "&with[]=" + els[i].value;
	}
	
	var parameter = urlParameter+shortCodeParameter+replaceParameters+withParameters;
	
	ajaxRequest.open("post", "/manager/includes/makeLink.php", true);
	
	ajaxRequest.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
	
	ajaxRequest.setRequestHeader ("Content-length", parameter.length);
	
	ajaxRequest.setRequestHeader ("Connection", "close");
	
	ajaxRequest.onreadystatechange = function() {
		try {
			if (ajaxRequest.readyState == 4) {
				if (buttonElement != null)
					buttonElement.disabled = false;
			
				if (activityIcon != null)
					activityIcon.src = "http://static.redo.me.uk/images/blank.gif";
			
				var msgDiv = document.getElementById("Message");
			
				if (ajaxRequest.status == 200) {
					if (msgDiv != null)
						msgDiv.innerHTML = ajaxRequest.responseText;
				} else {
					if (activityIcon != null)
						activityIcon.src = "images/warning.gif";
				
					if (msgDiv != null)
						msgDiv.innerHTML = ajaxRequest.responseText;
				}
			} else {
				if (buttonElement != null)
					buttonElement.disabled = true;
			
				if (activityIcon != null)
					activityIcon.src = "http://static.redo.me.uk/images/working.gif";
			}
		} catch (e) {
			alert("A problem occurred with your request: " + e.description);
		}
	}
	
	ajaxRequest.send (parameter);
	
	return false;
}

// End Ajax Call for update

function doUpdateLink(){
	var ajaxRequest;

	try {
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer Browsers
		try {
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("Sorry, your browser does not support Ajax!");
				return false;
			}
		}
	}
	
	buttonElement = document.getElementById("Button");
	activityIcon = document.getElementById("Activity");
	
	var urlParameter           = encodeURI ( "url="            + document.getElementById ("url").value);
	var shortCodeParameter     = encodeURI ( "&shortcode="     + document.getElementById ("shortcode").value);
	var newShortCodeParameter  = encodeURI ( "&new_shortcode=" + document.getElementById ("new_shortcode").value);
	
	var replaceParameters = ""
	var els = document.getElementsByName('replace[]');
	for (var i=0; i<els.length; i++) {

		replaceParameters += "&replace[]=" + els[i].value;
	}
	
	var withParameters = ""
	var els = document.getElementsByName('with[]');
	for (var i=0; i<els.length; i++) {
	
		withParameters += "&with[]=" + els[i].value;
	}
	
	var parameter = urlParameter+shortCodeParameter+newShortCodeParameter+replaceParameters+withParameters;
	
	ajaxRequest.open("post", "/manager/includes/updateLink.php", true);
	
	ajaxRequest.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
	
	ajaxRequest.setRequestHeader ("Content-length", parameter.length);
	
	ajaxRequest.setRequestHeader ("Connection", "close");
	
	ajaxRequest.onreadystatechange = function() {
		try {
			if (ajaxRequest.readyState == 4) {
				if (buttonElement != null)
					buttonElement.disabled = false;
			
				if (activityIcon != null)
					activityIcon.src = "http://static.redo.me.uk/images/blank.gif";
			
				var msgDiv = document.getElementById("Message");
			
				if (ajaxRequest.status == 200) {
					if (msgDiv != null)
						msgDiv.innerHTML = ajaxRequest.responseText;
				} else {
					if (activityIcon != null)
						activityIcon.src = "images/warning.gif";
				
					if (msgDiv != null)
						msgDiv.innerHTML = ajaxRequest.responseText;
				}
			} else {
				if (buttonElement != null)
					buttonElement.disabled = true;
			
				if (activityIcon != null)
					activityIcon.src = "http://static.redo.me.uk/images/working.gif";
			}
		} catch (e) {
			alert("A problem occurred with your request: " + e.description);
		}
	}
	
	ajaxRequest.send (parameter);
	
	return false;
}

// End Ajax Call