function CONST() {

}



function Util() {};

Util.getBodyObj = function() {
	
	return  (document.documentElement) ? document.documentElement : document.body;

};

Util.removeChildrenElements = function(target) {

	var children = target.childElements()

	children.each(
		function(child){
			child.remove();
		}
	);

};


Util.unigue = function() {

 	var g = "{";

    for(var i = 0; i < 32; i++) {
    	g += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 8 || i == 12 || i == 16 || i == 20 ? "-" : "")
    }
    
    return g + "}";

}
 
Util.createElement = function(tag,attributes) {

	var tag = document.createElement(tag);
	
	if (attributes != null) {
		
		for (var i=0;i<attributes.length;i++) {
			var attribute = attributes[i].split('=');
			tag.setAttribute(attribute[0], attribute[1]);
		}
	
	}

	return tag;
};


Util.getRadioValue = function(name) {
	
	var array = document.getElementsByName(name);
	for (var i=0;i<array.length;i++) {
		 if (array[i].checked == true) {
			return array[i].value;
		 }
	}
	
	//alert("can't find the select on " + name);
	
	return null;
};

Util.getArrayMaxValue = function(array) {
	
	var max = 0;
	for (var i=0;i<array.length;i++) {
		 if (array[i] * 1 >= max) {
			max =  array[i];
		 }
	}
	
	return max;
};


Util.getCheckCount = function(name) {
	
	var count = 0;
	var array = document.getElementsByName(name);
	for (var i=0;i<array.length;i++) {
		 if (array[i].checked == true) {
			 count++;
		 }
	}
	
	return count;
};

Util.hasCheck = function(name,value) {
	
	var array = document.getElementsByName(name);
	for (var i=0;i<array.length;i++) {
		 if (array[i].checked == true && value == array[i].value ) {
			 return true;
		 }
	}
	
	return false;
};


Util.setRadioValue = function(name,value,callback) {
	
	var array = document.getElementsByName(name);
	for (var i=0;i<array.length;i++) {
	
		 if (array[i].value == value) {
			 array[i].checked = true;
			 
			 if (callback) {
			 	 callback($(array[i].id));
			 }
			 
		 }
	}
	
	return null;
};

Util.setDisabledByName = function(name,disabled) {
	
	var array = document.getElementsByName(name);
	for (var i=0;i<array.length;i++) {
		 array[i].disabled = disabled;
	}

};

Util.setReadonly = function(id,status,callback) {
	
	var obj = $(id);
	
	if (obj == null) {
		alert('can not find object by id :' + id);
		return;
	}
	
	if (obj.type == 'text' ) {

		obj.writeAttribute('readonly',status);

	} else {
		
		obj.disabled = status;
		
		/**
		var events = ['change','focus'];
		
		for (var i=0;i<events.length;i++) {
			
			var eventName = events[i];
			
			if (status) {
				
				obj.observe(eventName, function(event){
				
									if ( event && event.preventDefault ) {
										 event.preventDefault();; // ff
									} else {
										 event.returnValue = false; // ie 										
									}

									Event.stop(event);
				 				}
			 				);	
			
			} else {
				obj.stopObserving(eventName);
			}
			
		}*/
	}

};


Util.trim = function(s) {

		if (s == null) {
			return null;
		}

		var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
   		return (m == null) ? '' : m[1];
	};


Util.downloadFile = function(url,fileName) {
	
	function getNewSubmitForm(){
	 	var submitForm = document.createElement("FORM");
	 	document.body.appendChild(submitForm);
	 	submitForm.method = "POST";
	 	return submitForm;
	}

	function createNewFormElement(inputForm, elementName, elementValue){
	 	var newElement = document.createElement("<input name='"+elementName+"' type='hidden'>");
	 	inputForm.appendChild(newElement);
	 	newElement.value = elementValue;
	 	return newElement;
	}
	
	 alert(url + ' ' + fileName);
	
	 var submitForm = getNewSubmitForm();
	 createNewFormElement(submitForm, 'fileName', fileName);
	 submitForm.action= url;
	 submitForm.submit();

};

Util.submit = function(url,params) {
	
	function getNewSubmitForm(){
	 	var submitForm = document.createElement("FORM");
	 	document.body.appendChild(submitForm);
	 	submitForm.method = "POST";
	 	return submitForm;
	}

	function createNewFormElement(inputForm, elementName, elementValue){
	 	var newElement = document.createElement("<input name='"+elementName+"' type='hidden'>");
	 	inputForm.appendChild(newElement);
	 	newElement.value = elementValue;
	 	return newElement;
	}

	 var submitForm = getNewSubmitForm();
	 
	 if (params != null) {
	 	for (var i=0;i<params.length;i++) {
	 		createNewFormElement(submitForm, params[i].name, params[i].value);		
	 	}
	 }
	 
	 submitForm.action= url;
	 submitForm.submit();

};

