﻿// JScript File

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

function findPosX(obj)
{
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj)
{
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}

function getPos(actor)
{
	var top = actor.offsetTop?actor.offsetTop:0;
	if (actor.offsetParent)
	{
		do
		{
			top += actor.offsetTop;
		} while (actor = actor.offsetParent);
	}
	return top;
}

function GetExpiryDate(DayCount)
{
	var UTCstring;
	Today = new Date();
	nomilli=Date.parse(Today);
	Today.setTime(nomilli+DayCount*24*60*60*1000);
	UTCstring = Today.toUTCString();
	return UTCstring;
}

function SetCookie(name, value, duration)
{
	CookieString = name + "=" + escape(value) + ";EXPIRES=" + GetExpiryDate(duration) + ';path=/';
	document.cookie = CookieString;
}

function GetCookie(CookieName) 
{
	var CookieString = unescape("" + document.cookie);
	var index1 = CookieString.indexOf(CookieName);
	if (index1 == -1 || CookieName == "") return ""; 
	var index2 = CookieString.indexOf(';', index1);
	if (index2 == -1) index2 = CookieString.length;
	return unescape(CookieString.substring(index1 + CookieName.length + 1, index2));
}

function roundNumber(value)
{
	if(Math.abs(value) < 0.05) return value + '';
	var rvalue = Math.round(value*10) / 10;
	return rvalue + '';
}

function roundNumber2(value)
{
	if(Math.abs(value) < 0.005) return value + '';
	var rvalue = Math.round(value*100) / 100;
	return rvalue + '';
}

function numberFormat(value)
{
	if(value < 1000) return value + '';
	var num = value + '';
	var head = num.length%3;
	var head_text = '';
	if(head > 0) head_text = num.substring(0, head);
	var tail = num.substring(head, num.length);
	
	var segments = new Array();
	var count = tail.length/3;
	for(var i=0; i<count; i++)
	{
		segments[i] = tail.substring(i*3, i*3+3);
	}
	
	var rvalue = '';
	if(head_text != '') rvalue = head_text + ',';
	for(var i=0; i<segments.length; i++)
	{
		if(segments[i] != '')
		{
			rvalue += segments[i];
			if(i < segments.length-1) rvalue += ',';
		}
	}
	return rvalue;
}

function volumeFormat(value,arg)
{
    if (value < 100) return value + '';
    var num = value.toString();
    var balance = num.split('.');
    if (balance.length > 1) {
        num = balance[0];
        balance = balance[1];
    }
    else {
        balance = null;
    }
    num += '0';
	var head = num.length%3;
	var head_text = '';
	if(head > 0) head_text = num.substring(0, head);
	var tail = num.substring(head, num.length)  ;	
	
	var segments = new Array();
	var count = tail.length/3;
	for(var i=0; i<count; i++)
	{
		segments[i] = tail.substring(i*3, i*3+3);
	}
	
	var rvalue = '';
	if(head_text != '') rvalue = head_text + ',';
	for(var i=0; i<segments.length; i++)
	{
		if(segments[i] != '')
		{
			rvalue += segments[i];
			if(i < segments.length-1) rvalue += ',';
		}
	}
	var result = rvalue.substring(0, rvalue.length-1);
	if (balance!=null)
	    result += '.' + balance;
    if(arg && arg && result.length > arg)
    {
        var strtmp;
        num  = result.length/arg;
       
            if(num >0)
            {
                strtmp = result.substring(0,arg);                    
                for(i=1; i<=num ; i++ )
                {
                    strtmp += "<br>" + result.substring(i*arg, i*arg+arg);
                }
                return strtmp;
            }       
    }
    else
    {
	    return result;
	}
}
