/* function for visible facebox*/
    function facebox_view(facebox_div,background_div){
		$('embed, object, select').css({ 'visibility' : 'hidden' });
		if($.browser.msie){
                $("select").each(function (){             
                        var width=$(this).width()+2;
                        var height=$(this).height()+2;
                        if($(this).attr('id')=='type'||$(this).attr('id')=='embargoDay'||$(this).attr('id')=='embargoMonth'||$(this).attr('id')=='embargoYear' ){
                             height-=2;   
                            $(this).css({'display':'none'}).after('<div style="margin-left:12px;border:solid 1px #cacccd;background:#fff;width:'+width+'px;height:'+height+'px;float:left" class="hiddediv"></div>');
                        }else if($(this).attr('name')=='access' ){
                            height+=5;
                            $(this).css({'display':'none'}).after('<div style="border:solid 1px #cacccd;background:#fff;width:'+width+'px;height:'+height+'px;float:left;margin:0 0 13px 10px" class="hiddediv"></div>');
                        }else
                            $(this).css({'display':'none'}).after('<div style="border:solid 1px #cacccd;background:#fff;width:'+width+'px;height:'+height+'px;" class="hiddediv"></div>');
                });
        }
		$('#search_save_name').val('');
        $('#send_save').css({'background':"url('"+STATIC_IMG_DIR+"buttons/baner_search_notactive.gif') no-repeat -59px 0px",'cursor':'default'});
        $("#"+facebox_div).css({'top':'260px','left':'40%','visibility':'visible','position':'absolute','display':'block', 'z-index':'200'});
		$("#"+background_div).css({'width':'100%','height':$(document).height()+'px','opacity':'0.6','visibility':'visible','position':'absolute','top':'0px','left':'0px','display':'block', 'z-index':'100'});
    }


/*function for hiding facebox*/
    function facebox_hidden(facebox_div,background_div){
		$('embed, object, select').css({ 'visibility' : 'visible' });
         if($.browser.msie){
                $('.hiddediv').remove();
                $('select').css({'display':'block'});
        }
                $("#"+facebox_div+",#"+background_div).css({'top':'0px','left':'0px','display':'none','visibility':'hidden'});   
    }


/* function for border and shadow facebox. she must be add separate in ready() function*/
   
    function facebox_border(facebox_div){
        var myBorder = RUZEE.ShadedBorder.create({ corner:3, border:2,edges:"tlrb", shadow:16 });
		myBorder.render(facebox_div);
    }


	/* working just like function number_formet in PHP */
	function number_format(a, b, c, d) {
		a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
		e = a + '';
		f = e.split('.');
		if (!f[0]) {
			f[0] = '0';
		}
		if (!f[1]) {
			f[1] = '';
		}
		if (f[1].length < b) {
			g = f[1];
			for (i=f[1].length + 1; i <= b; i++) {
				g += '0';
			}
			f[1] = g;
		}
		if(d != '' && f[0].length > 3) {
			h = f[0];
			f[0] = '';
			for(j = 3; j < h.length; j+=3) {
				i = h.slice(h.length - j, h.length - j + 3);
				f[0] = d + i +  f[0] + '';
			}
			j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
			f[0] = j + f[0];
		}
		c = (b <= 0) ? '' : c;
		return f[0] + c + f[1];
	}
	
	
	/**
	* Formats filesize for nice display e.g. 26602373B to 25,37GB
	* @param float $size File size to format
	* @param string $inputsize Input size format type (B, KB, MB, GB, PB)
	*/
	function formatfsize( size, inputsize) {
		var limit=900;
		var k=Math.pow(2,10);
		var m=Math.pow(2,20);
		var g=Math.pow(2,30);
		var t=Math.pow(2,40);
		var p=Math.pow(2,50);
		var bytes;
		var val;
		var unit;
		// first convert input to bytes
		switch(inputsize) {
			default: // B
				bytes = size;
				break;
			case 'KB':
				bytes=( size * k );
				break;
			case 'MB':
				bytes=( size * m );
				break;
			case 'GB':
				bytes=( size * g );
				break;
			case 'TB':
				bytes=( size * t );
				break;
			case 'PB':
				bytes=( size * p );
				break;
		}
 
		switch(true) {
			default: // ret B
				val = bytes;
				unit = 'B';
				break;
			case ( bytes >= limit && bytes<(limit*k)): // ret KB
				val = bytes/k;
				unit = 'KB';
				break;
			case (bytes>=(limit*k) && bytes<(limit*m)): // ret MB
				val = bytes/m;
				unit = 'MB';
				break;
			case (bytes>=(limit*m) && bytes<(limit*g)): // ret GB
				val = bytes/g;
				unit = 'GB';
				break;
			case (bytes>=(limit*g) && bytes<(limit*t)): // ret TB
				val = bytes/t;
				unit = 'TB';
				break;
			case (bytes>=(limit*t) && bytes<(limit*p)): // ret PB
				val = bytes/p;
				unit = 'PB';
				break;
			case (bytes>=(limit*p)): // more - ret PB
				val = bytes/p;
				unit = 'PB';
				break;
		}
		   return ( Math.round(val *100)/100+ ' ' + unit) ;
   }
   


    /* disable "Enter" key in form script */
    function handleEnter (field, event) {
                    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
                    if (keyCode == 13) {
                        if( field.attr('type') != 'textarea' )
                            return false;
                    } else {
						return true;
					}
    }
	
	function stripslashes( str )
	{
		// *     example 1: stripslashes('Kevin\'s code');
		// *     returns 1: "Kevin's code"
		// *     example 2: stripslashes('Kevin\\\'s code');
		// *     returns 2: "Kevin\'s code"
		return (str+'').replace(/\\(.?)/g, function (s, n1) {
			switch(n1) {
				case '\\':
					return '\\';
				case '0':
					return '\0';
				case '':
					return '';
				default:
					return n1;
			}
		});
	}
	
	var quote_style = 'ENT_COMPAT';
	function htmlspecialchars_decode(string, quote_style)
	{
    // *     example 1: htmlspecialchars_decode("<p>this -&gt; &quot;</p>", 'ENT_NOQUOTES');
    // *     returns 1: '<p>this -> &quot;</p>'
 
		var hash_map = {}, symbol = '', tmp_str = '', entity = '';
		tmp_str = string.toString();
		
		if (false === (hash_map = this.get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {
			return false;
		}
	 
		for (symbol in hash_map) {
			entity = hash_map[symbol];
			tmp_str = tmp_str.split(entity).join(symbol);
		}
		tmp_str = tmp_str.split('&#039;').join("'");
		
		return stripslashes(tmp_str);
	}
	
	function get_html_translation_table(table, quote_style)
	{
		// *     example 1: get_html_translation_table('HTML_SPECIALCHARS');
		// *     returns 1: {'"': '&quot;', '&': '&amp;', '<': '&lt;', '>': '&gt;'}
		
		var entities = {}, hash_map = {}, decimal = 0, symbol = '';
		var constMappingTable = {}, constMappingQuoteStyle = {};
		var useTable = {}, useQuoteStyle = {};
		
		// Translate arguments
		constMappingTable[0]      = 'HTML_SPECIALCHARS';
		constMappingTable[1]      = 'HTML_ENTITIES';
		constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
		constMappingQuoteStyle[2] = 'ENT_COMPAT';
		constMappingQuoteStyle[3] = 'ENT_QUOTES';
	 
		useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
		useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
	 
		if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
			throw new Error("Table: "+useTable+' not supported');
			// return false;
		}
	 
		entities['38'] = '&amp;';
		if (useTable === 'HTML_ENTITIES') {
			entities['160'] = '&nbsp;';
			entities['161'] = '&iexcl;';
			entities['162'] = '&cent;';
			entities['163'] = '&pound;';
			entities['164'] = '&curren;';
			entities['165'] = '&yen;';
			entities['166'] = '&brvbar;';
			entities['167'] = '&sect;';
			entities['168'] = '&uml;';
			entities['169'] = '&copy;';
			entities['170'] = '&ordf;';
			entities['171'] = '&laquo;';
			entities['172'] = '&not;';
			entities['173'] = '&shy;';
			entities['174'] = '&reg;';
			entities['175'] = '&macr;';
			entities['176'] = '&deg;';
			entities['177'] = '&plusmn;';
			entities['178'] = '&sup2;';
			entities['179'] = '&sup3;';
			entities['180'] = '&acute;';
			entities['181'] = '&micro;';
			entities['182'] = '&para;';
			entities['183'] = '&middot;';
			entities['184'] = '&cedil;';
			entities['185'] = '&sup1;';
			entities['186'] = '&ordm;';
			entities['187'] = '&raquo;';
			entities['188'] = '&frac14;';
			entities['189'] = '&frac12;';
			entities['190'] = '&frac34;';
			entities['191'] = '&iquest;';
			entities['192'] = '&Agrave;';
			entities['193'] = '&Aacute;';
			entities['194'] = '&Acirc;';
			entities['195'] = '&Atilde;';
			entities['196'] = '&Auml;';
			entities['197'] = '&Aring;';
			entities['198'] = '&AElig;';
			entities['199'] = '&Ccedil;';
			entities['200'] = '&Egrave;';
			entities['201'] = '&Eacute;';
			entities['202'] = '&Ecirc;';
			entities['203'] = '&Euml;';
			entities['204'] = '&Igrave;';
			entities['205'] = '&Iacute;';
			entities['206'] = '&Icirc;';
			entities['207'] = '&Iuml;';
			entities['208'] = '&ETH;';
			entities['209'] = '&Ntilde;';
			entities['210'] = '&Ograve;';
			entities['211'] = '&Oacute;';
			entities['212'] = '&Ocirc;';
			entities['213'] = '&Otilde;';
			entities['214'] = '&Ouml;';
			entities['215'] = '&times;';
			entities['216'] = '&Oslash;';
			entities['217'] = '&Ugrave;';
			entities['218'] = '&Uacute;';
			entities['219'] = '&Ucirc;';
			entities['220'] = '&Uuml;';
			entities['221'] = '&Yacute;';
			entities['222'] = '&THORN;';
			entities['223'] = '&szlig;';
			entities['224'] = '&agrave;';
			entities['225'] = '&aacute;';
			entities['226'] = '&acirc;';
			entities['227'] = '&atilde;';
			entities['228'] = '&auml;';
			entities['229'] = '&aring;';
			entities['230'] = '&aelig;';
			entities['231'] = '&ccedil;';
			entities['232'] = '&egrave;';
			entities['233'] = '&eacute;';
			entities['234'] = '&ecirc;';
			entities['235'] = '&euml;';
			entities['236'] = '&igrave;';
			entities['237'] = '&iacute;';
			entities['238'] = '&icirc;';
			entities['239'] = '&iuml;';
			entities['240'] = '&eth;';
			entities['241'] = '&ntilde;';
			entities['242'] = '&ograve;';
			entities['243'] = '&oacute;';
			entities['244'] = '&ocirc;';
			entities['245'] = '&otilde;';
			entities['246'] = '&ouml;';
			entities['247'] = '&divide;';
			entities['248'] = '&oslash;';
			entities['249'] = '&ugrave;';
			entities['250'] = '&uacute;';
			entities['251'] = '&ucirc;';
			entities['252'] = '&uuml;';
			entities['253'] = '&yacute;';
			entities['254'] = '&thorn;';
			entities['255'] = '&yuml;';
		}
	 
		if (useQuoteStyle !== 'ENT_NOQUOTES') {
			entities['34'] = '&quot;';
		}
		if (useQuoteStyle === 'ENT_QUOTES') {
			entities['39'] = '&#39;';
		}
		entities['60'] = '&lt;';
		entities['62'] = '&gt;';
	 
	 
		// ascii decimals to real symbols
		for (decimal in entities) {
			symbol = String.fromCharCode(decimal);
			hash_map[symbol] = entities[decimal];
		}
		
		return hash_map;
	}