﻿function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function GetUrlParam(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function addslashes(str) {
    str=str.replace(/\'/g,'\\\'');
    str=str.replace(/\"/g,'\\"');
    str=str.replace(/\\/g,'\\\\');
    str=str.replace(/\0/g,'\\0');
    
    return str;
}
function stripslashes(str) {
    str=str.replace(/\\'/g,'\'');
    str=str.replace(/\\"/g,'"');
    str=str.replace(/\\\\/g,'\\');
    str=str.replace(/\\0/g,'\0');
    
    return str;
}

function hasClass(obj,cName) {
        return new RegExp('\\b'+cName+'\\b').test(obj.className); 
 } 

 function hasClasses(obj,classes) { 
        for (f=0; f<classes.length; f++) { 
                if (!hasClass(obj,classes[i])) return false; 
        } return true; 
 } 

 function addClass(obj,cName) { 
        if (!hasClass(obj,cName)) { 
                obj.className+=obj.className?' '+cName:cName; 
        } 
        return true; 
 } 

 function removeClass(obj,cName) { 
        if (!hasClass(obj,cName)) return false; 
        var rep=obj.className.match(' '+cName)?' '+cName:cName;
        obj.className=obj.className.replace(rep,'');
        return true; 
 } 

 function swapClasses(obj,class1,class2) { 
        if (hasClass(obj,class1)) { 
                removeClass(obj,class1); 
                addClass(obj,class2); return true; 
        } 
        if (hasClass(obj,class2)) { 
                removeClass(obj,class2); 
                addClass(obj,class1); return true; 
        } return false; 
 } 

 function switchClass(obj,to,from) { 
        if (hasClass(obj,from)) removeClass(obj,from);
        addClass(obj,to); 
        return true; 
 } 
 
 function addPageToFavorities() {
    if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(document.title, location.href,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( location.href, document.title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
}

function ToggleBox(id) {
    var dv = document.getElementById(id);
    
    if (dv != null) {
        if ((dv.style.display == "") || (dv.style.display == "block")) {
            dv.style.display = "none";
            
            return 1;
        } else {
            dv.style.display = "block";
            
            return 2;
        }
    } else {
        return 0;
    }
}

function ToggleWithCaptionChange(divID, captPanel, captOne, captTwo) {
    var opt = ToggleBox(divID);
    
    if (captPanel != null) {
        switch (opt) {
            case 0: 
                captPanel.innerHTML = captOne;
            break;
            case 1:
                captPanel.innerHTML = captTwo;
            break;
            case 2:
                captPanel.innerHTML = captOne;
            break;
            default:
            break;
        }
    }
}

function ToggleWithCaptionChange2(divID, captPanelId, captOne, captTwo) {
    var opt = ToggleBox(divID);
    
    var captPanel = document.getElementById(captPanelId);

    if (captPanel != null) {
        switch (opt) {
            case 0: 
                captPanel.innerHTML = captOne;
            break;
            case 1:
                captPanel.innerHTML = captTwo;
            break;
            case 2:
                captPanel.innerHTML = captOne;
            break;
            default:
            break;
        }
    }
}

function HideBox(id, captPanel, capt) {
    var dv = document.getElementById(id);
    
    if (dv != null) {
        if ((dv.style.display == "") || (dv.style.display == "block")) {
            dv.style.display = "none";
        }
    }
    
    captPanel.innerHTML = capt;
}
