// JavaScript Document
var HTTP_DIR = 'http://www.crescit.com/';

// general function called to get data needed for display
function loadQuery(parent, query, checkFragment, popup, iconOnly, hideloader) {
	// this will close modal window
	if (modalStatus == true) { closeWindow(); }
		
	var xmlhttp;
	
	// this will check if url fragment existing
	// if does exist, it will add the project id to the query
	if (checkFragment == true) {
	  var fragment = getFragment();
	  if (fragment != '') query = query + '&pID=' + fragment[0] + ',' + fragment[1];
	}
	
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	} else {// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlhttp.onreadystatechange=function() {
	  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
		document.getElementById(parent).innerHTML = xmlhttp.responseText;											
		if (modalStatus == true) closeWindow();
	  } else {
		  
		if (!hideloader) {
			if (popup) {
			  openWindow('loadingWindow');
			} else {
			  if (iconOnly == true) {
				document.getElementById(parent).innerHTML = '<center><img src="' + HTTP_DIR + 'images/template/ajax_loader.gif"></center>';
			  } else {
				document.getElementById(parent).innerHTML = '<center><div class="loader"><img src="' + HTTP_DIR + 'images/template/ajax_loader.gif" align="left"><span id="loaderText">Loading...</span></div></center>';
			  }
			}
		}
	  }
	}
	
	xmlhttp.open("GET",query,true);
	xmlhttp.send();
}


//**************************************************************
// hovering effect
function hoverEffect (obj) {
	if (obj.className == 'bBtn') obj.className = 'bBtnHover';
	if (obj.className == 'fWidthBut') obj.className = 'fWidthButHover';
	if (obj.className == 'thumbs') obj.className = 'hoveredThumbs';
	//if (obj.className == 'thumbsDisabled') obj.className = 'hoveredThumbsDisabled';
}

function defaultEffect(obj) {
	if (obj.className == 'bBtnHover') obj.className = 'bBtn';
	if (obj.className == 'fWidthButHover') obj.className = 'fWidthBut';
	if (obj.className == 'hoveredThumbs') obj.className = 'thumbs';
	//if (obj.className == 'hoveredThumbsDisabled') obj.className = 'thumbsDisabled';
}

// this will append the messages, either success or error message
function appendMessage (container, message, type) {
	var mContainer = document.getElementById(container);
	var nDiv = document.createElement('div');
		
	switch (type) {
		case 'error':
		  nDiv.className = 'errorBox';
		  break;
	}
	
	nDiv.innerHTML = message;
	mContainer.appendChild(nDiv);
}

// this will reset or empty the message container 
function resetMessageBox (element) {
	var mContainer = document.getElementById(element);
	mContainer.innerHTML = '';
}

function setTabState(obj, id) {
	// this will get the new url fragment
	var tObj = obj.toString().split('#');
  	var cObj = extractFragment(tObj[1], '::');	
	
	var fragment = getFragment();
	obj.className = 'current';
			
	if (fragment[1] && (fragment[1] != cObj[1])) { 
	  if (document.getElementById(fragment[1])) document.getElementById(fragment[1]).className = 'default'; 
	  moveContent(id);
	}	
}

// get fragment from url
function getFragment () {
	var fragment = self.document.location.hash.substring(1);
	var explode = fragment.split('::');
	
	return explode;
}

function extractFragment (val, extractor) {
	return val.split(extractor);
}

function setStatus(element, query, status, hideLoader) {
	var obj = document.getElementById(element + '_');
	var ele = document.getElementById(element);


	if (obj.className == 'parent' || (obj.className == 'parentOpened' && status == 'open')) {
	  obj.className = 'parentOpened';
	  loadQuery(element, query, false, false, false, hideLoader);
	  if (ele.style.display == 'none') ele.style.display = '';
	} else {
	  obj.className = 'parent';
	  if (ele.style.display == '') ele.style.display = 'none';
	}	
}

// used for deleting projects and project items
function removeEntry(parent, id, query) {
	var fragment = extractFragment(parent, '::');	
	var resultContainer = fragment[0];
	var subParentTab = fragment[1];

	var parent = document.getElementById(subParentTab);
	var child = document.getElementById(id);
		
	var xmlhttp;
		
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	} else {// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlhttp.onreadystatechange=function() {
	  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
		if (document.getElementById(resultContainer)) {
			document.getElementById(resultContainer).innerHTML = xmlhttp.responseText;
		}

		if (parent && child) parent.removeChild(child);
	  } else {
		document.getElementById(resultContainer).innerHTML = '<center><div class="loader"><img src="' + HTTP_DIR + 'images/template/ajax_loader.gif" align="left"> Loading...</div></center>';
	  }
	}
	
	xmlhttp.open("GET",query,true);
	xmlhttp.send();
	closeWindow();
}

function appendNewEntry() {
}

function setTab(obj, parentTab, cContent) {
	var uls = document.getElementById(parentTab);
	var lis = uls.getElementsByTagName("LI");
	for (var i=0; i<lis.length; i++) {
		if (lis[i].childNodes[0] && lis[i].childNodes[0].href) {
			//alert("found link ["+lis[i].childNodes[0].href+"]");			
			if (lis[i].childNodes[0].id == obj.id) {
				lis[i].childNodes[0].className = "current";
				//if (cContent) document.getElementById('infoContainer').innerHTML = document.getElementById(cContent).innerHTML;
				
				var cNodes = document.getElementById('infoContainer').childNodes;
				for (var x = 0; x < cNodes.length; x++) {
					if (cNodes[x].id == cContent) {
						document.getElementById(cNodes[x].id).style.display = '';
					} else {
						if (document.getElementById(cNodes[x].id)) document.getElementById(cNodes[x].id).style.display = 'none';
					}
				}
								
			} else {
				lis[i].childNodes[0].className = "default";
			}
		}
	}
}

function showActions(eid) {
	var el = document.getElementById(eid);
	if (el) { 
		el.style.visibility = 'visible';
	}
}

function hideActions(eid) {
	var el = document.getElementById(eid);
	
		if (el) el.style.visibility = 'hidden';
}

var newwindow;
function popWin(url) {
	newwindow=window.open(url,'name','height=300,width=300');
	if (window.focus) {newwindow.focus()}
}

function newGroup(obj) {
    if (obj.checked) { 
		/*document.getElementById('conn_group_id').disabled = 'disabled';*/
        document.getElementById('new_group').disabled = '';
        document.getElementById('new_group').focus();
    } else {
        /*document.getElementById('conn_group_id').disabled = '';*/
        document.getElementById('new_group').disabled = 'disabled';
        document.getElementById('conn_group_id').focus();
    }
}

function replace_content(obj, defVal, classes) {
	if (obj.value == defVal) {
		obj.value = "";
		obj.className = 'default black';
	} else if (obj.value == "") {
		obj.value = defVal;
		obj.className = "default gray";
	}
}
