
function swapImage(el, pth) {
    document.getElementById(el).src = 'images/' + pth;
}

function tidyString(s) {
    var r1 = new RegExp('<', 'g');
    var r2 = new RegExp('>', 'g');
    var t = s.replace(r1, ' ');
    t = t.replace(r2, ' ');
    return t;
}
function countWords(w, h) {
    var n = 1;
    for (j = 0; j < w.length; j++) {
        if (h==false) {
           if (w.charAt(j) == '<') {
            while (!(w.charAt(j) == '>')) { j++; }
           }
        }
        if (w.charAt(j) == ' ') {
            n++;
            while (w.charAt(j) == ' ') { j++; }
        }
    }
    return n;
}
function getMax(w, t) {
    var n = 1;
    for (j = 0; j < w.length; j++) {
        if (w.charAt(j) == ' ') {
            n++;
            while (w.charAt(j) == ' ') { j++; }
        }
        if (n > t) { return j; }
    }
    return j;
}
function ignoreSpaces(string) {
    var temp = "";
    string = '' + string;
    splitstring = string.split(" ");
    for (i = 0; i < splitstring.length; i++)
        temp += splitstring[i];
    return temp;
}
function ignoreTrailingSpaces(string, tidy) {
    var temp = string;
    while ('' + temp.charAt(0) == ' ') {
        temp = temp.substring(1, temp.length);
    }
    while ('' + temp.charAt(temp.length - 1) == ' ') {
        temp = temp.substring(0, temp.length - 1);
    }
    if (tidy) {
        var x = temp;
        temp = tidyString(temp);
        if (x != temp) {
            alert("Sorry, but you cannot use the '<' or '>' symbols in your text-inputs. They have been replaced with spaces. You may want to re-write this entry.");
        }
    }
    return temp;
}
function ignoreTrailingSpacesAndCut(s, f, x, t) {
    var st = ignoreTrailingSpaces(s, t);
    if (countWords(st, t) > x) {
        alert("Your entry for " + f + " has been truncated to the maximum allowed for this field (" + x.toString() + " words)\nYou may wish to re-enter it.");
        st = st.substring(0, getMax(st, x));
        return st;
    }
    // st = st.substring(0,x);
    return st;
}
function checkEmail(source, args) {
    // var em = document.forms[0].txtEmail.value;
    var em = args.Value;
    args.IsValid = true;
    if (em.length > 0) {
        //var regex = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
        var regex = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
        args.IsValid = regex.test(em);
    }
    return;
}

		function _checkImg(what){
			var source=what.value;
			if (source!='') {
			    var i = source.lastIndexOf("\\");
			    var j = source.lastIndexOf(".");
			    var fName = source.substring(i+1,j);
			    var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
			    if ( ext=='gif' || ext=='jpg' || ext=='png' ) {
                   var regex = /^[A-Za-z0-9_\w]{1,50}$/;
                   if (!regex.test(fName)) {
                       alert('The file name contains illegal characters, or is too long\nPlease re-name the file using only alphanumeric characters, hyphens, spaces and underscores\nand restrict it to a maximum of 50 characters');
                   }
			    } else {
			       alert('Please upload only images of type .gif, .jpg or .png');
			    }		
            }
		}

		function _checkFile(what){
			var source=what.value;
			if (source!='') {
			    var i = source.lastIndexOf("\\");
			    var j = source.lastIndexOf(".");
			    var fName = source.substring(i+1,j);
			    var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
			    if ( ext=='.jpeg' || ext=='png' || ext=='gif' || ext=='jpg' || ext=='doc' || ext=='docx' || ext=='pdf' || ext=='swf' || ext=='mp3' || ext=='mp4' || ext=='wmv' || ext=='webm' || ext=='mpeg4' || ext=='3gpp' || ext=='mov' || ext=='avi' || ext=='qt' || ext=='ppt' || ext=='pptx' ) {
                   var regex = /^[A-Za-z0-9_ -]{1,50}$/;
                   if (!regex.test(fName)) {
                       alert('The file name contains illegal characters, or is too long\nPlease re-name the file using only alphanumeric characters, hyphens, spaces and underscores\nand restrict it to a maximum of 50 characters\n' + fName);
                   }
			    } else {
			       alert('Please upload only files of the following types:\n .jpeg, .png, .gif, .jpg, .doc, .docx, .pdf, .swf, .mp3, .mp4, .wmv, .webm, .mpeg4, .3gpp, .mov, .avi, .qt, .ppt, .pptx');
			    }
			}
		}

function checkFile(what) {
   var t='';
   var fileTypeAllowed = (function(){
		this.array = arguments;
		return function(arg){
                for(var j = this.array.length;j--;){
	               t += this.array[j] + ', ';
	            }
				for(var i = this.array.length;i--;){
							if(arg == this.array[i]){return true;}
				}return false;
		};
   })('jpeg','png','gif','jpg','doc','docx','pdf','swf','mp3','mp4','wmv','webm','mpeg4','3gpp','mov','avi','qt','ppt','pptx')// allowed file extensions 
   var source=what.value;
   var i = source.lastIndexOf("\\");
   var j = source.lastIndexOf(".");
   var fName = source.substring(i+1,j);
   var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
   //alert(fileTypeAllowed(ext))
   if (fileTypeAllowed(ext)) {
       var regex = /^[A-Za-z0-9_ -]{1,50}$/;
       if (!regex.test(fName)) {
          alert('The file name contains illegal characters, or is too long\nPlease re-name the file using only alphanumeric characters, hyphens, spaces and underscores\nand restrict it to a maximum of 50 characters\n' + fName);                   
       }
   } else {
       alert('Please upload files of the following types only:\n' + t.substring(0,t.length-2));
   }
}

function checkImg(what) {
   var t='';
   var fileTypeAllowed = (function(){
		this.array = arguments;
		return function(arg){
                for(var j = this.array.length;j--;){
	               t += this.array[j] + ', ';
	            }
				for(var i = this.array.length;i--;){
							if(arg == this.array[i]){return true;}
				}return false;
		};
   })('png','gif','jpg')// allowed (image)file extensions 
   var source=what.value;
   var i = source.lastIndexOf("\\");
   var j = source.lastIndexOf(".");
   var fName = source.substring(i+1,j);
   var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
   //alert(fileTypeAllowed(ext))
   if (fileTypeAllowed(ext)) {
       var regex = /^[A-Za-z0-9_ -]{1,50}$/;
       if (!regex.test(fName)) {
          alert('The file name contains illegal characters, or is too long\nPlease re-name the file using only alphanumeric characters, hyphens, spaces and underscores\nand restrict it to a maximum of 50 characters\n' + fName);                   
       }
   } else {
       alert('Please upload files of the following types only:\n' + t.substring(0,t.length-2));
   }
}



function _isChecked(what) {
   if (what.checked) {
      what.className = 'bkgY';
   } else {
      what.className = 'bkgG';
   }
}

function isChecked(what) {
   //alert(what.id);
   //what.removeAttribute('class');
   var cb = what.id;
   var lb = cb.replace('s','t');
   var lbl = document.getElementById(lb);
   if (what.checked) {
      what.className = 'bkgY';
      lbl.className = 'bkgY colB';
     // what.setAttribute('class','bkgY');
   } else {
      what.className = 'bkgG';
      lbl.className = 'bkgG colW';
     // what.setAttribute('class','bkgG');
   }
}

function dummy(bool) {
    return bool;
}

function toggleDiv(d) {
    var dv = document.getElementById(d);
    if (dv.style.display=='none') {
       dv.style.display='inline';
    } else {
       dv.style.display='none';
    }    
}

function checkSubmit() {
   var ddl = document.getElementById("ddlAction");
   if (ddl.selectedIndex==0) {
     alert('Please select an action to take from the drop-down list above the \'Submit\' button');
     return false;
   } else {
     return true;
   }
}