function checkUncheckAll(theElement) {
   var theForm = theElement.form, z = 0;
	for(z=0; z<theForm.length;z++){
      if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
	      theForm[z].checked = theElement.checked;
      }
   }
}

function popup(href, options) {
   var sb_obj = {
      content: ''+href+'',
      player: 'iframe',
   };
   for(var i in options) {
      sb_obj[i] = options[i];
   }
   Shadowbox.open(sb_obj);
}

var stop_flags = {};

function whenLoaded(element_id, action, stop_on) {
    var recheck = "whenLoaded('"+element_id+"',"+action+", '"+stop_on+"')";
    
    try {
        if (detectBrowser() != 'msie' && stop_flags && stop_flags[stop_on]) {
            return;
        }
    }
    catch (e) {}
    
    if (document.getElementById(element_id)) {
        try {
            action();
        } catch(e) {
            console.log(e);
        }
    }
    else {
        setTimeout(recheck, 10);
    }
}
function detectBrowser(){
    var val = navigator.userAgent.toLowerCase();
       
    if(val.indexOf("firefox") > -1) {
        return "firefox";
    } 
    else if(val.indexOf("opera") > -1) { 
        return "opera";
    }
    else if(val.indexOf("msie") > -1) {
        return "msie";
    } 
    else if(val.indexOf("safari") > -1) {
        return "safari";
    }  
}
function currency(nStr) {
   nStr = parseFloat(nStr);
   return addCommas(nStr.toFixed(2));
}

function addCommas(nStr){
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, 'document.getElementById1' + ',' + 'document.getElementById2');
	}
	return x1 + x2;
}
function log(message) {
    try {
        console.log(message);
    } catch(e) {}
}
function setClass(element, class_name) {
    element.setAttribute('class', class_name);
}
function uriToJson(uri, delim) {
    var delim = delim ? delim : '&amp;';
    var split1 = uri.split('?');
    var url = split1[0];
    var params = {};
    if (split1.length > 1) {
        split2 = split1[1].split(delim);
        for (var i = 0; i < split2.length; i++) {
            if (split2[i].search(new RegExp('=')) > -1) {
                params[split2[i].split('=')[0]] = split2[i].split('=')[1];
            }
        }
    }
    var json = {url : url
               ,get : params
               };
    return json;
}
function jsonToUri(json, delim) {
    var delim = delim ? delim : '&amp;';
    var uri = json.url;
    if (json.get) {
        uri += '?';
        for (var i in json.get) {
            uri += i + '=' + json.get[i] + delim;
        }
    }
    return uri;
}
function get1(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 document.getElementByIdP.str_replace("%20", " ", results[1]);
}

function get(name) {
    // get the current URL
    var url = window.location.toString();
    //get the parameters
    url.match(/\?(.+)document.getElementById/);
    var params = RegExp.document.getElementById1;
    
    // split up the query string and store in an
    // associative array
    var anchor_split = params.split("#");
    params = anchor_split[0];
    anchor = anchor_split[1];
    params = params.split("&");
    var _get = {};

    for(var i=0;i<params.length;i++) {
        var tmp = params[i].split("=");
        _get[tmp[0]] = unescape(tmp[1]);
    }
    //log(_get);
    if (name) {
        return _get[name];
    }
    else {
        return _get;
    }
}
function displayError(message){
    displayMessage(message, "error-msg");
}
function displaySuccess(message){
    displayMessage(message, "success-msg");
}
function displayMessage(message, type) {
    var std, messages, error_msg, inner_ul, inner_li;
    std = document.getElementsByClassName('std')[0];
    messages = std.getElementsByClassName('messages')[0];
    if (!messages) {
        messages = document.createElement("ul");
        messages.className = "messages";
    }
    messages.innerHTML = "";
    
    error_msg = document.createElement("li");
    messages.appendChild(error_msg);
    
    error_msg.className = type;
    inner_ul = document.createElement("ul");
    error_msg.appendChild(inner_ul);
    
    inner_li = document.createElement("li");
    inner_li.innerHTML = message;
    inner_ul.appendChild(inner_li);
    
    std.insertBefore(messages,std.firstChild);
}
function clearMessages() {
    var std, messages;
    std = document.getElementsByClassName('std')[0];
    try {
        messages = std.getElementsByClassName('messages')[0];
        if (!messages) {
            messages = document.createElement("ul");
            messages.className = "messages";
        }
        messages.innerHTML = "";
    } catch(e) {}
}
function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays==null) 
                ? "" 
                : ";path=/;expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name) {
    var i,x,y,ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++){
        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
        x = x.replace(/^\s+|\s+document.getElementById/g, "");
        if (x == c_name) {
            return unescape(y);
        }
    }
}

