


// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
// The hours parameter is optional; if hours is left out, the cookie value expires at the end of the visitor's browser session.
function cmt_writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}


// Example:
// alert( readCookie("myCookie") );

function cmt_readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}


/**
*  allow to register fnctions for onload execution
*/
function util_registerForOnloadExec(func) {

	var oldonload = window.onload;
	if (typeof window.onload != "function") {
		window.onload = func;
	} else {
		window.onload = function () {
			if (oldonload) {
				oldonload();
			}
			func();
		};
	}
}

function util_registerForOnsubmitExec(form, func) {

    var oldonsubmit = form.onsubmit;
    if (typeof form.onsubmit != "function") {
        form.onsubmit = func;
    } else {
        form.onsubmit = function () {
            if (oldonsubmit) {
                oldonsubmit();
            }
            func();
        };
    }
    // alert(form.name+"\n##\n"+form.onsubmit+"\n##\n"+oldonsubmit);
}


function util_getEventSource(e){
    var src = null;
    try {
	    if (window.event){
	        src = window.event.srcElement;
	    } else if (e != null && e.target){
	        src = e.target;
	    }

	    if (src.nodeType == 3){
	        // defeat Safari bug
	        src = src.parentNode;
	    }
	    return src;
	} catch (Ex){
	   return null;
	}
}


function util_getCustomAttribute(elt, attrName){

    if (typeof eval("elt.getAttribute") == 'function'){
        return eval("elt.getAttribute('"+attrName+"')");
    } else {
        return eval("elt."+attrName);
    }
}

function util_toggleSingleCheckbox(chkbox, ignoreIndex){
    var chName = chkbox.name;
    var elts = chkbox.form.elements[chName];
    for (var i=0; i < elts.length; ++i){
        if (i != ignoreIndex && elts[i].type == 'checkbox' && elts[i] != chkbox){
            elts[i].checked = false;
        }
    }
}





function cmt_textareaMaxlenght(txtField, countfield, maxlimit) {
	if (txtField.value.length > maxlimit){
		txtField.value = txtField.value.substring(0, maxlimit);
	} else if (typeof(countfield) == 'string') {
		// assume its a DOM ID
		var htmlFld = document.getElementById(countfield);
		htmlFld.innerHTML = maxlimit - txtField.value.length;
	} else if (countfield != null) {
		countfield.value = maxlimit - txtField.value.length;
	}
}

/**
	toggle select <select>'s option items
*/
function cmt_toggleSelectItems(form, selEltName){
	try {
		var selElt = form.elements[selEltName];
		// alert(selElt.type)
		if (selElt != null && selElt.type == 'select-multiple'){
			for (var i=0; i < selElt.options.length; ++i){
				selElt.options[i].selected = true;
			}
		}
	} catch (Ex){
		alert(Ex);
	}
	return true;
}

function cmt_transferSelectOption(form, fromSelEltName, toSelEltName, limitedBoxName, optionsLimit){
	try {
		var fromSelElt = form.elements[fromSelEltName];
		var toSelElt = form.elements[toSelEltName];
		if (fromSelElt != null && toSelElt != null){
			var enforceLimit = limitedBoxName == toSelEltName && optionsLimit > 0;
			for (var i=0; i < fromSelElt.options.length; ++i){
				if (enforceLimit && toSelElt.options.length == optionsLimit){
					return;
				}
				if (fromSelElt.options[i].selected){
					// transfer it to the other <select>:
					toSelElt.options[toSelElt.options.length] = new Option (fromSelElt.options[i].text,fromSelElt.options[i].value);
					fromSelElt.options[i] = null;
					--i;
				}
			}
		}
	} catch (Ex){
		alert(Ex);
	}
}

function cmt_handleDontKnow(src, targetEltName){
	var target = src.form.elements[targetEltName];
	if (typeof(target) != 'object'){
		return true;
	}

	if (target.type == 'text'){
		target.readOnly = src.checked;
		if (src.checked){
			target.value = '0';
		}
	} else if (target.type == 'select'){
		if (src.checked){
			target.selectedIndex = 0;
		}
	}
	return true;
}


var matchpWin;
function showMatchingParams(url){
 	if (typeof(matchpWin) == 'object' && !matchpWin.closed){
 		matchpWin.location.href=url;
 		matchpWin.focus();
 	} else {
	  	var w = 350, h = 400;
	  	var x = screen.width/2 - w/2;
	  	var y = screen.height/2 - h/2;
	 	matchpWin = open(url,'matchpWin','left='+x+',top='+y+',width='+w+',height='+h+',toolbars=0,scrollbars=1');
	}
}

function cmt_confirmLink(url, warningMsg){
	if (confirm(warningMsg)){
		location.href = url;
	}
}

function util_AdminSelfResign(checkBox, message){
  if (confirm(message)){
   location.href = "self-resign.htm?teamId="+checkBox.value;
  }
  checkBox.checked = true;
}

