﻿// JScript File

/************************* Hashtable object *********************/
function HashTable()
{
    var arrValues = new Array()
    var arrKeys = new Array()
    
    var indexOfKey = function(key)
    {
        var strKey = new String()
        strKey = key;
        strKey = strKey.toLowerCase()
        for (var i = 0; i < arrKeys.length; i++)
        {
            if (arrKeys[i] == strKey) return i;
        }
        return -1;
    }
    
    this.add = function(key,value)
    {
        try
        {
            var strKey = new String()
            var index;        
            strKey = key;
            strKey = strKey.toLowerCase()
            index = indexOfKey(strKey)
            if (index < 0)
            { 
                index = arrKeys.length 
                arrKeys[index] = strKey
                arrValues[index] = value
            }
            else
            {
                arrValues[index] = value
            }
            return index
        }
        catch(e){}
        return -1
    }
    
    this.item = function(key)
    {
        var strKey = new String()
        var index;
        strKey = key;
        strKey = strKey.toLowerCase()
        index = indexOfKey(strKey)
        if (index < 0) return null;
        return arrValues[index];
    }
    
    this.length = function()
    {
        return arrKeys.length
    }
    
    this.indexOf = function(index)
    {
        return arrValues[index]
    }
    
    this.clear = function()
    {
        arrValues = new Array()
        arrKeys = new Array()
    }
}


/****************************** String Extended object ****************************/

function StringEx()
{
    
    
}

StringEx.compareNoCase = function(str1, str2)
    {
    try
        {
            return (str1.toLowerCase() == str2.toLowerCase())
        }
    catch(e){}
    return false
    }
   

StringEx.randNum = function(size)
{
    try
    {
    size = parseInt(size)
    if (isNaN(size)) size = 7; 
    var s = ("" + Math.random()).replace("0.", "")
    var i = parseInt(s)
    return (i % Math.pow(10, size));
    }
    catch (e)
    {}
}

StringEx.randText = function(size)
{
    try
    {
        size = parseInt(size)
        if (isNaN(size)) size = 7; 
        
        var tmpStr = ""    
        var s =""
        var n = 0;
        
        for (i=0;i<10;i++)
        {
            s = ("" + Math.random()).replace("0.", "")
            n = parseInt(s)
            tmpStr = tmpStr + n.toString(36)
            if (tmpStr.length > size) return tmpStr.substr(0,size)
        }
        return tmpStr
    }
    catch (e)
    {}
}


/************************* Web Extended Function / Classes ************************/

function myWeb()
{}

myWeb.URLWithRnd = function(url)
{
    try
    {
        
        if (url == null) return "";
        
        if (url.indexOf("?") > -1) 
            url = url + "&";
        else
            url = url + "?";
            
        url = url + "rnd=" + StringEx.randText()
        
    }
    catch (e) {}
    return url;
}