﻿var tdautils = {

    replaceSelection:function(textfield, val)
    {
        // ie
        if (document.selection) 
        {
            var range = document.selection.createRange();
            if (range.parentElement() == textfield)
            {
                range.text = val;
            }
        }
        // ff
        else if (textfield.selectionStart && textfield.selectionEnd - textfield.selectionStart > 0)
        {
            textfield.value = textfield.value.substring(0, textfield.selectionStart) + val + textfield.value.substring(textfield.selectionEnd);
        }
    },
    
    sortNum:function(a,b) {
        return b-a;
    },
    
    equalizeHeightsWithMin:function(ids, min) {
	    var objs=new Array(ids.length);
	    var offsetHeights=new Array(ids.length+1);
	    var padTop = new Array(ids.length);
	    var padBottom = new Array(ids.length);
	    var h = 0;
    	
	    if (document.getElementById(min)) {
            h = document.getElementById(min).offsetHeight;
            offsetHeights[ids.length] = h;
        }
            
        for (var i=0; i<ids.length; i++) {
	        if (document.getElementById(ids[i])) {
	            objs[i] = document.getElementById(ids[i]);
	            padTop[i] = objs[i].style.paddingTop;
	            padBottom[i] = objs[i].style.paddingBottom;
	            if (is_gecko) {
	                objs[i].style.minHeight = "0px";
	            }
	            objs[i].style.height = "auto";
	            objs[i].style.paddingTop = "0";
	            objs[i].style.paddingBottom = "0";
	            offsetHeights[i] = objs[i].offsetHeight;
	        }
        }
        
        nh = offsetHeights.sort(tdautils.sortNum);
     	
        for (var i=0; i<objs.length; i++) {
            if (document.getElementById(ids[i])) {
                if (is_gecko) {
	                objs[i].style.minHeight = nh[0]+"px";
	            } else {
	                objs[i].style.height = nh[0]+"px";
	            }
	            objs[i].style.paddingTop = padTop[i];
	            objs[i].style.paddingBottom = padBottom[i];
	        }
        }
    },

    equalizeHeights:function(ids) {
        tdautils.equalizeHeightsWithMin(ids);
    },

    cookie: {
        create:function(name,value,days) {
	        if (days) {
		        var date = new Date();
		        date.setTime(date.getTime()+(days*24*60*60*1000));
		        var expires = "; expires="+date.toGMTString();
	        }
	        else var expires = "";
	        document.cookie = name+"="+value+expires+"; path=/";
        },

        read:function(name) {
	        var nameEQ = name + "=";
	        var ca = document.cookie.split(';');
	        for(var i=0;i < ca.length;i++) {
		        var c = ca[i];
		        while (c.charAt(0)==' ') c = c.substring(1,c.length);
		        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	        }
	        return null;
        },

        erase:function(name) {
	        this.create(name,"",-1);
        },

        enabled:function() {
	        this.create("tdautils.enabled","true",1);
	        var cookieEnabled = (document.cookie.indexOf("tdautils.enabled") != -1);;
	        this.erase("tdautils.enabled");
	        return cookieEnabled;
        }
    }
}

equalizeHeights = tdautils.equalizeHeights;