function LimitAttach(file) {
	extArray = new Array(".jpg", ".png", ".bmp", ".gif"); 
	allowSubmit = 'N'
    if (!file) return;
    while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);
    ext = file.slice(file.indexOf(".")).toLowerCase();
    for (var i = 0; i < extArray.length; i++) {
		if (extArray[i] == ext) { 
			allowSubmit = 'Y'; 
			break; 
		}
    }
    if (allowSubmit == 'N') {
		alert("Please only upload files that end in types:  "
		+ (extArray.join("  ")) + "\nPlease select a new "
		+ "file to upload and submit again.");
		return;
	}
}

//Stop Submit if User Cancels
function executeOnSubmit(Message) {
	var res = confirm(Message);
	if(res)
	return true;
	else
	return false;
}


function clickclear(thisfield, defaulttext, newtext) {
if (thisfield.value == defaulttext) {
	if(newtext == undefined) {
		newtext = '';
	}	
	
	thisfield.value = newtext;
}
}

function clickrecall(thisfield, defaulttext) {
if (thisfield.value == '') { 
thisfield.value = defaulttext;
}
}

function checkall(theElement,currentchkBox) {	 
	 i=1;
	 a = theElement + i;
	 if(document.getElementById(theElement)) {
		 if(document.getElementById(theElement).checked == true) {
			 do {
				 a = theElement + i;
				 var b = document.getElementById(a);
				 if(document.getElementById(a)) {
					b.checked = true;
				 }
				 i++;
			 } while(document.getElementById(a))
		 }
		 else {
			  do {
				 a = theElement + i;
				 var b = document.getElementById(a);
				 if(document.getElementById(a)) {
					 b.checked = false;
				 }
				 i++;
			 } while(document.getElementById(a))		 
		 } 
	 }
	 else {
		 do {
				 a = theElement + i;
				 var b = document.getElementById(a);
				 if(document.getElementById(a) && b.id != currentchkBox) {
					 b.checked = false;
				 }
				 i++;
			 } while(document.getElementById(a))			 
	 }
}
	
function hide(itemID) {
	var x = document.getElementById(itemID);
	if(document.getElementById(itemID)) {
		x.style.display = 'none';
	}
}

function show(itemID) {
	var x = document.getElementById(itemID);
	//if(document.getElementById(itemID)) {
		if(document.getElementById('debug')) {
			//document.getElementById('debug').innerHTML = x.tagName + " " + itemID;
			//document.getElementById('debug').innerHTML = "hello";
		}
		
		if(document.getElementById(itemID)) {
			var z = x.tagName;			
			
			switch (z)
			{
			case 'TABLE':
			  x.style.display = "inline";
			  break;
			case 'TR':
			  x.style.display = "block";
			  break; 
			case 'TD':
			  x.style.display = "block";
			  break;    
			default:	   
			  x.style.display = "inline";
			}	
			
			if(x.style.visibility != "visible") {
				x.style.visibility = "visible";
			}
		}
	//}
}

function center(object) {	 
  document.getElementById(object).style.marginLeft = "-" + parseInt(object.offsetWidth / 2) + "px";
  document.getElementById(object).style.marginTop = "-" + parseInt(object.offsetHeight / 2) + "px";
 }
 

// Get value of radio object
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function checkFileUpload(form, extensions, requireUpload, sizeLimit, minWidth, minHeight, maxWidth, maxHeight, saveWidth, saveHeight) {
  var allUploadsOK = true;
  document.MM_returnValue = false;
  for (var i = 0; i < form.elements.length; i++) {
    field = form.elements[i];
    if (!field.type || field.type.toUpperCase() != 'FILE') {
      continue;
    }
    checkOneFileUpload(field,extensions,requireUpload,sizeLimit,minWidth,minHeight,maxWidth,maxHeight,saveWidth,saveHeight);
    if (!field.uploadOK) {
      allUploadsOK = false;
      break;
    }
  }
  if (allUploadsOK) {
    document.MM_returnValue = true;
  }
}

function checkOneFileUpload(field, extensions, requireUpload, sizeLimit, minWidth, minHeight, maxWidth, maxHeight, saveWidth, saveHeight) {
  var fileName = field.value.replace(/"/gi,'');
  field.uploadOK = false;
  if (fileName == '') {
    if (requireUpload) {
      alert('File is required!');
      field.focus();
      return;
    } else {
      field.uploadOK = true;
    }
  } else {
    if (extensions != '') {
      checkFileExtension(field, fileName, extensions);
    } else {
      field.uploadOK = true;
    }
    if (!document.layers && field.uploadOK) {  
      document.PU_uploadForm = field.form;
      re = new RegExp("\.(gif|jpg|png|bmp|jpeg)$","i");
      if(re.test(fileName) && (sizeLimit != '' || minWidth != '' || minHeight != '' || maxWidth != '' || maxHeight != '' || saveWidth != '' || saveHeight != '')) {
        checkImageDimensions(field,sizeLimit,minWidth,minHeight,maxWidth,maxHeight,saveWidth,saveHeight);
      }
    }
  }
  return;
}

function checkFileExtension(field, fileName, extensions) {
  var re = new RegExp("\\.(" + extensions.replace(/,/gi,"|").replace(/\s/gi,"") + ")$","i");
  var agt = navigator.userAgent.toLowerCase();
  var is_mac = (agt.indexOf("mac") != -1);
  var is_op = (agt.indexOf("opera") != -1);
  if (is_op) {
    var ext = fileName.substring(fileName.lastIndexOf('.')+1, fileName.length);
    var extArr = extensions.split(',');
    var extCheck = false;
    for (var i = 0; i < extArr.length; i++) {
      if (extArr[i].toLowerCase() == ext.toLowerCase()) {
        extCheck = true;
        break;
      }
    }
    if (extCheck == false) {
      alert('This file type is not allowed for uploading.\nOnly the following file extensions are allowed: ' + extensions + '.\nPlease select another file and try again.');
      field.focus();
      field.uploadOK = false;
      return;
    }
  } else {
    if (!re.test(fileName)) {
      alert('This file type is not allowed for uploading.\nOnly the following file extensions are allowed: ' + extensions + '.\nPlease select another file and try again.');
      field.focus();
      field.uploadOK = false;
      return;
    }
  }
  field.uploadOK = true;
}

function checkImageDimensions(field,sizeL,minW,minH,maxW,maxH,saveW,saveH) {
  var agt = navigator.userAgent.toLowerCase();
  var is_mac = (agt.indexOf("mac") != -1);
  var is_ie = document.all;
  var is_ns6 = (!document.all && document.getElementById ? true : false);
  var fileURL = field.value;
  if (is_ie && is_mac) {
    begPos = fileURL.indexOf('/',1);
    if (begPos != -1) {
      fileURL = fileURL.substring(begPos+1,fileURL.length);
    }
  }
  fileURL = 'file:///' + fileURL.replace(/:\\/gi,'|/').replace(/\\/gi,'/').replace(/:([^|])/gi,'/$1').replace(/"/gi,'').replace(/^\//,'');
  if (!field.gp_img || (field.gp_img && field.gp_img.src != fileURL) || is_ns6) {
    if (is_ie && is_mac) {
      var dummyImage;
      dummyImage = document.createElement('IMG');
      dummyImage.src = 'dummy.gif';
      dummyImage.name = 'PPP';
      field.gp_img = dummyImage;
    } else {
      field.gp_img = new Image();
    }
    with (field) {
      gp_img.field = field;
      gp_img.sizeLimit = sizeL*1024;
      gp_img.minWidth = minW;
      gp_img.minHeight = minH;
      gp_img.maxWidth = maxW;
      gp_img.maxHeight = maxH;
      gp_img.saveWidth = saveW;
      gp_img.saveHeight = saveH;
      gp_img.onload = showImageDimensions;
      gp_img.src = fileURL+'?a=123'; // +(Math.round(Math.random()*998)+1);
    }
  }
}

function showImageDimensions(fieldImg) {
  var is_ns6 = (!document.all && document.getElementById ? true : false);
  var img = (fieldImg && !is_ns6 ? fieldImg : this);
  if (img.width > 0 && img.height > 0) {
    if ((img.minWidth != '' && img.minWidth > img.width) || (img.minHeight != '' && img.minHeight > img.height)) {
      alert('Uploaded Image is too small!\nShould be at least ' + img.minWidth + ' x ' + img.minHeight);
      img.field.uploadOK = false;
      return;
    }
    if ((img.maxWidth != '' && img.width > img.maxWidth) || (img.maxHeight != '' && img.height > img.maxHeight)) {
      alert('Uploaded Image is too big!\nShould be max ' + img.maxWidth + ' x ' + img.maxHeight);
      img.field.uploadOK = false;
      return;
    }
    if (img.sizeLimit != '' && img.fileSize > img.sizeLimit) {
      alert('Uploaded Image File Size is too big!\nShould be max ' + (img.sizeLimit/1024) + ' KBytes');
      img.field.uploadOK = false;
      return;
    }
    if (img.saveWidth != '') {
      document.PU_uploadForm[img.saveWidth].value = img.width;
    }
    if (img.saveHeight != '') {
      document.PU_uploadForm[img.saveHeight].value = img.height;
    }
    if (document.PU_uploadForm[img.field.name+'_width']) {
      document.PU_uploadForm[img.field.name+'_width'].value = img.width;
    }
    if (document.PU_uploadForm[img.field.name+'_height']) {
      document.PU_uploadForm[img.field.name+'_height'].value = img.height;
    }
    img.field.uploadOK = true;
  }
}