if(typeof(ics)=='undefined')	ics={};

ics.events={}
ics.objects={}
ics.ajaxRequests={};
ics.datatables={}
ics.genericFunctions={}
ics.submitProcessors={}
ics.optionLists={}

ics.genericFunctions.deleteItem=function(){
	if(confirm('Are you sure you would like to delete this item?')){
		location.href='index.php?com='+arguments[0]+'&'+arguments[0]+'_task=process_delete&id='+arguments[1];
	}
}

ics.getE=function(){
	return document.getElementById(arguments[0]);
}

ics.insertAfter=function(parent, newElement, referenceElement){
	parent.insertBefore(newElement, referenceElement.nextSibling);
} 
	
ics.getXmlRequestor=function(){
	if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	else if (window.ActiveXObject)
		return new ActiveXObject("Microsoft.XMLHTTP");
}

ics.evalSubmitResponse=function(responseObject){
	eval(responseObject.responseText);
}

ics.popup=function(popupTitle,popupBody){
	alert(popupTitle+'\n________________________________\n\n'+popupBody);
}

ics.noticePopup=function(popupBody){
	alert('Notice:\n________________________________\n\n'+popupBody);	
}

ics.submitForm=function(formToSubmit){
	if(!ics.validateForm(arguments[0],arguments[1]))
		return false;
	url=formToSubmit.action;
	requestData='';
	for(a=0;a<formToSubmit.elements.length;a++){
		if(formToSubmit.elements[a].type=='checkbox' || formToSubmit.elements[a].type=='radio'){
			if(formToSubmit.elements[a].checked){
				requestData+='&'+formToSubmit.elements[a].name+'='+formToSubmit.elements[a].value;
			}
		}else{
			requestData+='&'+formToSubmit.elements[a].name+'='+formToSubmit.elements[a].value;
		}
	}
	ics.ajaxRequests[formToSubmit.name]=ics.getXmlRequestor();
	if(typeof(ics.submitProcessors[formToSubmit.name])=='function'){
		ics.ajaxRequests[formToSubmit.name].onreadystatechange=function(){
			if(ics.ajaxRequests[formToSubmit.name].readyState==4)
				ics.submitProcessors[formToSubmit.name](ics.ajaxRequests[formToSubmit.name]);
		}
	}else{
		ics.ajaxRequests[formToSubmit.name].onreadystatechange=function(){
			if(ics.ajaxRequests[formToSubmit.name].readyState==4)
				ics.evalSubmitResponse(ics.ajaxRequests[formToSubmit.name]);
		};
	}
	
	ics.ajaxRequests[formToSubmit.name].open('POST',url,true);
	ics.ajaxRequests[formToSubmit.name].setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ics.ajaxRequests[formToSubmit.name].send(requestData);
	return false;
}

ics.toggleSingleItemInList=function(){
	state=ics.toggleDisplay(arguments[0]);
	for(a=0;a<arguments[1].length;a++){
		if(arguments[1][a]!=arguments[0]){
			ics.toggleDisplay(arguments[1][a],false);
		}
	}
}

ics.toggleDisplay=function(){
	obj=ics.getE(arguments[0]).style;
	if(arguments.length > 1)
		obj.display=(arguments[1])?'':'none';
	else
		obj.display=(obj.display=='none')?'':'none';
	return (obj.display!='none');
}

ics.setSelector=function(selector,newValue){
	for(a=0;a<selector.options.length;a++){
		if(selector.options[a].value==newValue){
			selector.selectedIndex=a;
			a=selector.options.length;
		}
	}
}

ics.setRadio=function(radioButton,newValue){
	for(a=0;a<radioButton.length;a++){
		//alert(radioButton[a].value+'/'+newValue);
		radioButton[a].checked = (radioButton[a].value == newValue);
	}
}

ics.adjustiFrame=function(pickerDiv, iFrameDiv)
{
	var is_opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
	if (is_opera)
		return;
	try {
		if (!ics.getE(iFrameDivID)) {
			var newNode = document.createElement("iFrame");
			newNode.setAttribute("id", iFrameDivID);
			newNode.setAttribute("src", "javascript:false;");
			newNode.setAttribute("scrolling", "no");
			newNode.setAttribute ("frameborder", "0");
			document.body.appendChild(newNode);
		}
		
		if (!pickerDiv)
			pickerDiv = ics.getE(datePickerDivID);
		if (!iFrameDiv)
			iFrameDiv = ics.getE(iFrameDivID);
		
		try {
			iFrameDiv.style.position = "absolute";
			iFrameDiv.style.width = pickerDiv.offsetWidth;
			iFrameDiv.style.height = pickerDiv.offsetHeight ;
			iFrameDiv.style.top = pickerDiv.style.top;
			iFrameDiv.style.left = pickerDiv.style.left;
			iFrameDiv.style.zIndex = pickerDiv.style.zIndex - 1;
			iFrameDiv.style.visibility = pickerDiv.style.visibility ;
			iFrameDiv.style.display = pickerDiv.style.display;
		} catch(e) {
		}
 
	} catch (ee) {
	}
}

ics.copyFieldList=function(formName,fromFields,toFields){
	formName=document.forms[formName];
	for(a=0;a<formName.elements.length;a++){
		fromFieldName=new String(formName.elements[a].name);
		if(fromFieldName.indexOf(fromFields+'_')==0){
			toFieldName=fromFieldName.replace(fromFields,toFields);
			switch(formName.elements[a].type){
				case 'text':
					formName[toFieldName].value=formName.elements[a].value;
					break;
				case 'select-one':
					formName[toFieldName].selectedIndex=formName[fromFieldName].selectedIndex;
					break;
				case 'checkbox':
					formName[toFieldName].checked=formName[fromFieldName].checked;
					break;
			}
		}
	}
}

ics.setDynamicOptionList=function(listName,newIndex,outputList,toggleId,startIndex){
	obj=ics.getE(toggleId);
	if(obj)	obj=obj.style;
	for(a=(outputList.options.length - 1);a>startIndex;a--){
		outputList.options[a]=null;
	}
	if(ics.optionLists[listName][newIndex]){
		for(a=0;a<ics.optionLists[listName][newIndex].length;a++){
			outputList.options[(a+startIndex)]=new Option(
				ics.optionLists[listName][newIndex][a].text,
				ics.optionLists[listName][newIndex][a].value
			);
		}
		if(obj)	obj.display='';
	}else{
		if(obj)	obj.display='none';
	}
}
