//===================================================================================================
function trimString( STRING, LENGTH){
	var strlength = STRING.length;

	if(strlength < LENGTH ){
		return STRING;
	}
	else{
		var substr = STRING.substring(0, LENGTH);
		substr += '......';
		return substr;
	}
}

//========================= uri encoding for saving record ===============================================================
function encodeURI(RECORD){
	var date = encodeURIComponent(RECORD.date);
	var category = encodeURIComponent(RECORD.category);
	var title = encodeURIComponent(RECORD.title);
	var document = encodeURIComponent(RECORD.document);
	
	var author = encodeURIComponent(RECORD.author);

	if(RECORD.photo.reference != undefined){
		var photo = encodeATTACHMENT(RECORD.photo);
	}
	else{
		photo = false;
	}
	if(RECORD.movie.reference != undefined){
		var movie = encodeATTACHMENT(RECORD.movie);
	}
	else{
		movie = false;
	}
	if(RECORD.attachedDocument.reference != undefined){
		var attachedDocument = encodeATTACHMENT(RECORD.attachedDocument);
	}
	else{
		attachedDocument = false;
	}

	var newRec = new ENTRY(category, title, document, photo, movie, attachedDocument, date, author);
	
	return newRec;
}

//========================= uri encoding for saving record ===============================================================
function encodeATTACHMENT(DATA){
	var DATA2 = new Array();
	for( key in DATA){
		DATA2[key] = encodeURIComponent( DATA[key] );
	}

		
	var newRec = new ATTACHMENT(DATA2);
	return newRec;
}

////========================= format for save Record Data  ===============================================================
//function format4save( RECORD ){
//
//	var date = formatStringData( RECORD.date );
//
//	var category = formatStringData( RECORD.category );
//
//	var title = formatStringData( RECORD.title );
//
//	var document = formatStringData( RECORD.document );
//	
//	var author = formatStringData( RECORD.author );
//	
//	var photo = formatATTACHMENT(RECORD.photo);
//	var movie = formatATTACHMENT(RECORD.movie);
//	var attachedDocument = formatATTACHMENT(RECORD.attachedDocument);
//
//	var newRec = new ENTRY(category, title, document, photo, movie, attachedDocument, date, author);
//		
//	return newRec;
//
//}

////========================= format Attachment for save ==================================================================================
//function formatATTACHMENT(DATA){
//	var DATA2 = new Array();
//	for( key in DATA){
//		DATA2[key] = formatStringData( DATA[key] );
//	}
//	
//	var newRec = new ATTACHMENT(DATA2);
//	return newRec;
//	
//}

//========================= removeCR ==================================================================================
function formatDataSet(OBJ){
	var newArray = new Array();
	for( i in OBJ ){
		if( OBJ.hasOwnProperty(i) && typeof OBJ[i] == 'object' ){
			for(prop in  OBJ[i] ){
				if( OBJ[i].hasOwnProperty(prop) && typeof OBJ[i][prop] == 'string' ){
//					OBJ[i][prop] = encodeURIComponent( formatStringData( OBJ[i][prop] ) );
					OBJ[i][prop] = formatStringData( OBJ[i][prop] );
				}
			}
		}

	}
	return OBJ;
}

//========================= removeCR ==================================================================================
function formatStringData(STRING){
	if(STRING != undefined){
		STRING = rmCR(STRING);
		STRING = rmSC(STRING);
	}
	return STRING;
}

//========================= removeCR ==================================================================================
function rmCR(STRING){
	patternBR = /<br\s*\/>(\n|\r|(\n\r)|(\r\n))/ig;
	STRING = STRING.replace(patternBR, "<br/>");

	pattern = /(\n|\r|(\n\r)|(\r\n))/g;
	STRING = STRING.replace(pattern, "<br/>");
	
	return STRING;
}

//========================= removeCR ==================================================================================
function rmSC(STRING){
	var patternJS = /\<script(.|\n|\r|(\n\r)|(\r\n))*<\/script>/ig;
	var patternPHP = /<\?(.|\n|\r|(\n\r)|(\r\n))*\?>/ig;
	var patternJShalf = /\<script(.|\n|\r|(\n\r)|(\r\n))*/ig;
	var patternPHPhalf = /<\?(.|\n|\r|(\n\r)|(\r\n))*/ig;
	
	STRING = STRING.replace(patternJS, "");
	STRING = STRING.replace(patternPHP, "");
	STRING = STRING.replace(patternJShalf, "");
	STRING = STRING.replace(patternPHPhalf, "");
	
	return STRING;
}

//========================= setCR ==================================================================================
function resetCR( STRING ){
	patternBR = /<br\s*\/>/ig;
	STRING = STRING.replace(patternBR, "<br/>\n");

	return STRING;
}

//===================================================================================================
function encodeQuotesDS( STRING ){
	var patternQ = /('|’)/g;
	var patternDQ = /("|”)/g;
	
	STRING = STRING.replace( patternQ, "&#146;" );
	STRING = STRING.replace( patternDQ, "&#148;" );
	
	return STRING;
}


