//////////////////////////////////////////////////////////////////////////////////////////
//
//	CONVERT HTML ELEMENT TO OBJECT
//
function FormToArrayObject(form,mixedobj){
	
	var elem 	= form.elements;
	var retArr	= [];
	alert(form);
	for(var i = 0; i < elem.length; i++){ // RETURN OBJECT
		retArr[i]	=	HTMLElementToObject(elem[i],mixedobj);
	}
	return retArr;
	
}
function HTMLElementToObject(el,mixedobj){
	// FOR SERIALIZE OBJECT	
	//alert(el.value);
	if(!el.type) return {mixed: 			mixedobj};
	
	switch(el.type){
		case 'text':
		case 'textarea':
			var data = {	name: 			el.name,							
							value: 			escape(el.value),
							type : 			el.type,
							length:			el.textLength,
							multiple:		null,
							rows:			el.rows,
							cols:			el.cols,
							disabled:		el.disabled,
							selectionEnd:	el.selectionEnd,
							selectionStart:	el.selectionStart,
							tabIndex:		el.tabIndex,
							selectedIndex: 	el.selectedIndex,
							className:		el.className,
							options:		null,
							mixed: 			mixedobj
							 }; 
			return data;		
		case 'select-one': case 'select-multiple':
			var arrCollection = HTMLCollectionToArray(el.options);
			var data = {	name: 			el.name,							
							value: 			escape(el.value),
							type : 			el.type,
							length:			el.length,
							multiple:		el.multiple,
							size:			el.size,
							tabIndex:		el.tabIndex,
							selectedIndex: 	el.selectedIndex,
							className:		el.className,
							options:		arrCollection,
							mixed: 			mixedobj
							 }; 
			return data;
		break;
		case 'checkbox': 
			var data = {	name: 			el.name,							
							value: 			escape(el.value),
							type : 			el.type,
							length:			el.length,
							multiple:		el.multiple,
							size:			el.size,
							tabIndex:		el.tabIndex,
							selectedIndex: 	el.selectedIndex,
							className:		el.className,
							options:		null,
							mixed: 			mixedobj
							 }; 
			return data;				
		break;				
		case 'radio': 
			var data = {	name: 			el.name,							
							value: 			el.value,
							type : 			el.type,
							length:			el.length,
							multiple:		el.multiple,
							size:			el.size,
							tabIndex:		el.tabIndex,
							selectedIndex: 	el.selectedIndex,
							className:		el.className,
							options:		null,
							mixed: 			mixedobj
							 }; 
			return data;							
	}	
}
function HTMLCollectionToArray(htmlcollection){
	var tmp = [];
	for(i=0;i<htmlcollection.length;i++){
		tmp[i] = {	"defaultSelected"	: htmlcollection[i].defaultSelected,
					"value" 			: htmlcollection[i].value,
					"index" 			: htmlcollection[i].index,
					"disabled" 			: htmlcollection[i].disabled,
					"label" 			: htmlcollection[i].label,
					"selected" 			: htmlcollection[i].selected					
					};
	}
	return tmp;
}
//
//	CONVERT HTML ELEMENT TO OBJECT
//
//////////////////////////////////////////////////////////////////////////////////////////
function RemoveArrDivContent(arr){
	if(arr && arr.length>0){		
		for(i=0;i<arr.length;i++){
			// IF DIV IS SET
			($(arr[i]))?$(arr[i]).innerHTML="":null;
		}//end loop
	}//end arr is set
}
function RemoveDivContent(divId){
	if(divId && document.getElementById(divId)){		
		document.getElementById(divId).innerHTML="";
		return 1;
	}//end arr is set
	return -1;
}
function RemoveElement(parentDiv,divToRemove){	
	if(parentDiv && document.getElementById(parentDiv) &&
		divToRemove && document.getElementById(divToRemove)){		
		var d = document.getElementById(parentDiv);
		var olddiv = document.getElementById(divToRemove);
		d.removeChild(olddiv);
	}	
}
function AddElement(parentDiv,divToAdd,arrAttributes) {
	
	if(parentDiv && document.getElementById(parentDiv) &&
		divToAdd){
			
		var holder 		= document.getElementById(parentDiv);
		var newdiv 		= document.createElement('div');		
		newdiv.setAttribute('id',divToAdd);
		newdiv.setAttribute('class','search-filter-dynamic-holder');
		if(false && arrAttributes){		
			for (var property in arrAttributes){				
				newdiv.setAttribute(property,arrAttributes[property]);						
			}
		}		
		holder.appendChild(newdiv);
	}
}
//////////////////////////////////////////////////////////
//
//	DISPLAY FUNCTIONS
//

function DisplayErrorMsg(strMsg,divid)
{
	if($(divid))
		$(divid).innerHTML = '<div align="center" style="padding:5px 5px 5px 5px;">'+strMsg+'</div>';	
	else
		alert('Erreur, le id spécifié { '+divid+' } est inexistant !');
}
function DisplayLoading(){
	return '<div align="center" style="padding:5px 5px 5px 5px;"><img src="../global-uri/loading.gif" border="0"></div>';
}
//////////////////////////////////////////////////////////
//
//	EXTEND FUNCTIONS
//
String.prototype.pad = function(l, s, t){
	// length : amount of characters that the string must have
	// substring : string that will be concatenated
	// type : specifies the side where the concatenation will happen, where: 0 = left, 1 = right and 2 = both sides
    return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
        + 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
        + this + s.substr(0, l - t) : this;
};
//Object.prototype.merge = (function (ob) {var o = this;var i = 0;for (var z in ob) {if (ob.hasOwnProperty(z)) {o[z] = ob[z];}}return o;})
