//======================================
//	Wrapper for My Personal Functions
//======================================
var jhCore = {

	wh: 0,
	ww: 0,
	wch: 0,
	wcw: 0,
	getPageName: function (el) {
		var start = el.lastIndexOf('/')+1;	
		var end = el.indexOf('?');
		if (end<0) {
			end = el.length;
		}
		var len= end-start;
		el = el.substr(start, len);
		el = el.replace(".php","");
		el = el.replace("#","");
		el = el.toLowerCase();
		if (el=='') {
			el='index';
		}
		return el;
	},
	getFolderName: function (el) {
		var ar = el.split('/');
		return ar[ar.length-2].toLowerCase();		
	},	
	getEventIndex: function (event, search) {
		var btn = event.target;
		if (typeof btn == 'undefined') {
			btn = event.srcElement;
		}
		var btn_id = btn.id;
		var ref_id = btn_id.replace(search, "");
		var ar_id = ref_id.split("_");
		return ar_id;
	},	
	getPos: function (obj) {
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		return [curleft,curtop];
	},
	addArrayEventListener: function(el_name, event_type, el_event) {
		var itemArray = document.getElementsByName(el_name);
		for (i=0; i<itemArray.length; i++) {
			Core.addEventListener(itemArray[i], event_type, el_event);
		}
	},
	getWindowDim: function() {
		//== Get window height and width
		if (window.innerHeight) {
			//jhCore.wh = window.innerHeight;
			jhCore.ww = window.innerWidth;
		} else if(document.body.clientHeight) {
			//jhCore.wh = document.body.clientHeight;
			jhCore.ww = document.body.clientWidth;
		}
		
		if (typeof window.innerWidth != 'undefined') {
			viewportheight = window.innerHeight;
		} else {
			viewportheight = document.documentElement.clientHeight;
		}
		
		if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
				jhCore.wh = viewportheight;
		} else {
			if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
				jhCore.wh = document.body.parentNode.clientHeight;
			} else {
				jhCore.wh = document.body.parentNode.scrollHeight;
			}
		}		
	},
	getWindowCenter: function() {
		jhCore.getWindowDim();
		jhCore.wch = jhCore.wh/2;
		jhCore.wcw = jhCore.ww/2;
	},
	formatTextarea: function(t) {
		t = t.replace("<br>", "\n");
		t = t.replace("&amp;", "&");
		return t;
	},
	toggleProgressBar: function(barname) {
		var el = document.getElementById(barname);
		
		jhCore.getWindowCenter();
		var top = (jhCore.wch-150)+"px";
		var left = (jhCore.wcw-80)+"px";
		el.style.top=top;
		el.style.left=left;
		
		jhCore.toggleVisibility(el);	
	},
	toggleDisplay: function (el_id) {
		var el = document.getElementById(el_id);
		
		if ( el.style.display == 'none' || el.style.display == '') {	
			//== Show Blanket
			el.style.display = 'block';
		} else {
			//== Hide Blanket
			el.style.display = 'none';
		}
	}, 	
	toggleBlanket: function (el_id) {
		var el = document.getElementById(el_id);
		
		if ( el.style.display == 'none' || el.style.display == '') {	
			//== Show Blanket
			el.style.display = 'block';
		} else {
			//== Hide Blanket
			el.style.display = 'none';
		}
		jhCore.getWindowDim();
		el.style.height = jhCore.wh;
		
	}, 	
 	toggleVisibility: function (el) {
		if (el.style.visibility == 'hidden' || el.style.visibility == "") {
			el.style.visibility = 'visible';
		} else {
			el.style.visibility = 'hidden';
		}
	},
	toggleDisabled: function(el) {
		if (el.disabled) {
			el.disabled = false;
		} else {
			el.disabled = true;
		}
	}, 
	getFormElements: function(form) {	
	
		  //== Get Form Elements
		  var parameters = "";
		  var formElements = [];
		
		  var textareas = form.getElementsByTagName("textarea");
		
		  for (var i = 0; i < textareas.length; i++)
		  {
			formElements[formElements.length] = textareas[i];
		  }
		
		  var selects = form.getElementsByTagName("select");
		
		  for (var i = 0; i < selects.length; i++)
		  {
			formElements[formElements.length] = selects[i];
		  }
		
		  var inputs = form.getElementsByTagName("input");
	
		  for (var i = 0; i < inputs.length; i++)
		  {
			var inputType = inputs[i].getAttribute("type");
		  
			if (inputType == null || inputType == "text" || inputType == "hidden" || (typeof inputs[i].checked != "undefined" && inputs[i].checked == true))
			{
			  formElements[formElements.length] = inputs[i];
			}
		  }
		
		  for (var i = 0; i < formElements.length; i++)
		  {
			var elementName = formElements[i].getAttribute("name");
		  
			if (elementName != null && elementName != "")
			{
			  parameters += "&" + elementName + "=" + encodeURIComponent(formElements[i].value);
			}
		  }	
		return parameters;  
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
