onerror=handleErr;
var txt="";

var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	try {
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
if (!xmlhttp && window.createRequest) {
	try {
		xmlhttp = window.createRequest();
	} catch (e) {
		xmlhttp=false;
	}
}

function handleErr(msg,url,l)
{
txt="There was an error on this page.\n\n"
txt+="Error: " + msg + "\n"
txt+="URL: " + url + "\n"
txt+="Line: " + l + "\n\n"
txt+="Click OK to continue.\n\n"
alert(txt)
return true
}

var formerrormsg="You\'ve attempted to submit the form multiple times.\n Please reload page if you need to resubmit form.";

function checksubmit(submitbtn){
	submitbtn.form.submit()
	checksubmit=blocksubmit
	return false
}

function blocksubmit(){
	if (typeof formerrormsg!="undefined")
	alert(formerrormsg)
	return false
}

function submitForm(formId)
{
	var formObj = document.getElementById(formId);
	formObj.submit();
}

function dirDelete(formId)
{
	var answer = confirm('Delete ?');
	var formObj = document.getElementById(formId);
	if(answer) 
		formObj.submit();
}
function disable(form)
{
	for(i=0;i<form.length;i++)
	{
		if(form.elements[i].type == 'submit') form.elements[i].disabled=true;
		if(form.elements[i].type == 'reset')form.elements[i].disabled=true;
		if(form.elements[i].type == 'button')form.elements[i].disabled=true;
	}
}
function valForm(which, strText)
{
	var pass = true;
	var strLength = strText.length;
	if (document.images)
	{
		for (i = 0; i < which.length; i++){
			var tempobj = which.elements[i];
			if (tempobj.name.length >= strLength && tempobj.name.substring(0,strLength) == strText && tempobj.name != "E_DIRECTORY_R_location")
			{
				if (((tempobj.type == "text" || tempobj.type == "textarea") && tempobj.value == '' ) || (tempobj.type.toString().charAt(0)== "s" && tempobj.selectedIndex ==-1 ))
				{
					pass = false;
					break;
				}
			}
		}
	}
	if (!pass){
		alert("One or more of the required elements are not completed.\n Please complete them, then submit again.");
		return false;
	}
	else
		return true;
}
function valAdvert(which)
{
	var f_image = which.E_ADVERT_image.value;
	var f_keywords = which.E_ADVERT_keywords.value;

	obj = which.E_ADVERT_client_list;
	var f_client_list = obj.options[obj.selectedIndex].text;

	obj = which.E_ADVERT_type;
	var f_type = obj.options[obj.selectedIndex].text;

	if (f_image.length == 0)
		{
		alert("Please select an image.");
		return false;
		}
	else if (f_keywords.length == 0)
		{
		alert("Please enter at least one keyword.");
		return false;
		}
	else if (f_client_list == "Select a Client")
		{
		alert("Please select a valid client.");
		return false;
		}
	else if (f_type == "Select Advert Size")
		{
		alert("Please select a valid advert size.");
		return false;
		}

	return true;
}


function initLyrSwap()
{
	if (!document.layers) return;
	var box = document.forms[0].elements;
	for (var i=0;i<box.length;i++)
	{
		box[i].disabled = false;
	}
}
function disableIt(obj)
{
	obj.disabled = !(obj.disabled);
	var z = (obj.disabled) ? 'disabled' : 'enabled';
}
function extracheck(obj){return !obj.disabled}
function selectMenu(val) {document.editRecord.article_link_type.value = val}
function imageSelect(set) {document.editRecord.image_select.value = set}
// onresize for ns4
var origWidth, origHeight;
if (document.layers) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}
var cur_lyr;	// holds id of currently visible layer
function swapLayers(id) {
  if (cur_lyr) hideLayer(cur_lyr);
  showLayer(id);
  cur_lyr = id;
}
function showLayer(id) {
  var lyr = getElemRefs(id);
  if (lyr && lyr.css) lyr.css.visibility = "visible";
}

function hideLayer(id) {
  var lyr = getElemRefs(id);
  if (lyr && lyr.css) lyr.css.visibility = "hidden";
}

function getElemRefs(id) {
	var el = (document.getElementById) ? document.getElementById(id) : (document.all) ? document.all[id] : (document.layers) ? document.layers[id] : null;
	if (el) el.css = (el.style)? el.style: el;
	return el;
}


function editData(theURL,winName,features) {window.open(theURL,winName,features)}
function openRecord(theURL,winName,features) {window.open(theURL,winName,features)}

var editChanged = false;

function changesMade() {
	editChanged = true
	return editChanged
}
function editCancel() {
	if(editChanged) {
		var answer = confirm('Are you sure you want to close window without saving changes?');
		if(answer)
		window.close();
		else
		editChanged = false;
	} else {
		window.close();
	}
}
function editCancelNormal() {
	if(editChanged) {
		var answer = confirm('Are you sure you want to Cancel without saving changes?');
		if(answer)
		history.back(1);
		else
		editChanged = false;
	} else {
		history.back(1);
	}
}
function Cancel(urlId)
{
	location = passedurlId;
}

function editSave() {
	var answer = confirm('Save Changes?');
	if(answer) 
		return true;
	else;
		return false;
}
function editDelete(id, auth_id, db_id) {
	var answer = confirm('Delete Article?');
	if(answer) location = 'modules.php?pid=id&action=delete&db=db_id&auth=auth_id';
}
function deleteBackissue(id, auth, db)
{
	var id;
	var auth;
	var db;
	var answer = confirm('Delete Backissue ?\n\nWARNING: This will also delete all articles associated');
	if(answer) 
	{
		/*
		Ajax XMLHttpRequest
		*/		
		xmlhttp.open('POST', 'modules.php?delete=' + id + '&auth=' + auth + '&db=' + db + '&alldataremove=true',true);
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				alert('Data Removed');
				window.location = 'modules.php?bkissues';
			}
		}
		xmlhttp.send(null);
	} else {
		return false;
	}
}

function artDelete() {
	var answer = confirm('Delete Article?');
	if(answer) 
		return true;
	else;
		return false;
}
function editSaveConfig(mlink, mhover, mbody, mborder, fcolour, flink, fhover, bbody) {
	var answer = confirm('Save Changes?');
	if(answer)
		{
		location = 'modules.php?link=' + mlink + '&hover=' + mhover + '&menubody=' + mbody + '&menuborder=' + mborder + '&footercolour=' + fcolour + '&footerlink=' + flink + '&footerhover=' + fhover + '&backbody=' + bbody;
		}
	else;
		return false;
}
function editSaveSiteConfig(sbody) {
	var answer = confirm('Save Changes?');
	if(answer)
		{
		location = 'modules.php?sbody=' + sbody;
		}
	else;
		return false;
}
function editSaveAdsConfig(rightmax, centremax, leftmax) {
	var answer = confirm('Save Changes?');
	if(answer)
		{
		location = 'modules.php?rightmax=' + rightmax + '&centremax=' + centremax + '&leftmax=' + leftmax;
		}
	else;
		return false;
}

function deleteUser(id, auth) {
	var answer = confirm('Are you sure you want to delete this user?');
	if(answer)
	{
		/*
		Ajax XMLHttpRequest
		*/		
		xmlhttp.open('POST', 'modules.php?userdelete=' + id + '&auth=' + auth,true);
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				alert('User Removed');
				window.location.reload( false );
			}
		}
		xmlhttp.send(null)
	} 
	else 
	{
		return false;
	}
}

function publishConfig(id, auth)
{
	var id;
	var auth;
	var answer = confirm('Publish Setting ?');
	if(answer) 
	{
		/*
		Ajax XMLHttpRequest
		*/		
		var xmlhttp = new XMLHttpRequest();
		xmlhttp.open('POST', 'modules.php?publish=' + id + '&auth=' + auth + '&conf=true',true);
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				window.location = 'config.php';
				alert('Data Published');
			}
		}
		xmlhttp.send(null);
	} else {
		return false;
	}
}

function deleteConfig(id, auth, live)
{
	var id;
	var auth;
	var live;
	var answer = confirm('Delete Saved Item ?');
	if(answer) 
	{
		/*
		Ajax XMLHttpRequest
		*/		
		xmlhttp.open('POST', 'modules.php?deleteconfig=' + id + '&auth=' + auth + '&live=' + live, true);
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				window.location = 'config.php';
				alert('Data Deleted');
			}
		}
		xmlhttp.send(null);
	} else {
		return false;
	}
}

function saveConfigColour(url, colourId, saveAuth)
{
	var saveId = colourId;
	var saveType = 'colourSave';
	var colourValue = getElemRefs(colourId).value;
		
	req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		
		req.onreadystatechange = function () {
			if (req.readyState == 4) {
				if (req.status == 200) {
				
				//ok
				}
			}
		}
		
		req.open("POST", url, false);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.send('save_ID=' + encodeURI(saveId) + '&save_TYPE=' + encodeURI(saveType) + '&save_AUTH=' + encodeURI(saveAuth) + '&colourId=' + encodeURI( colourValue ) );
		
		var savedColour = getElemRefs(colourId + '_save');
		if (savedColour && savedColour.css) savedColour.css.background = '#' + colourValue;
		
	}
}

function publishConfigColour(url, colourId, saveAuth)
{
	var saveId = colourId;
	var saveType = 'colourPublish';
	var colourValue = getElemRefs(colourId).value;
		
	req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		
		req.onreadystatechange = function () {
			if (req.readyState == 4) {
				if (req.status == 200) {
				//ok				
				}
			}
		}
		
		req.open("POST", url, false);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.send('save_ID=' + encodeURI(saveId) + '&save_TYPE=' + encodeURI(saveType) + '&save_AUTH=' + encodeURI(saveAuth) + '&colourId=' + encodeURI( colourValue ) );
		var savedColour = getElemRefs(colourId + '_publish');
		if (savedColour && savedColour.css) savedColour.css.background = '#' + colourValue;

	}
}

function editUserSave(username, password, user_type, realname, mode) {
	if (username.length == 0)
	{
		alert("Please enter a username.");
		return false;
	}
	else if (password.length < 5 && mode == "add")
	{
		alert("Please enter a password with five or more characters.");
		return false;
	}
	else if (user_type == "NULL")
	{
		alert("Please select a user type.");
		return false;
	}
	else if (realname.length == 0)
	{
		alert("Please enter full name.");
		return false;
	}

	var answer = confirm('Save Changes?');
	if(answer) 
		return true;
	else;
		return false;
}
