if(!YAHOO.Mevia){ YAHOO.namespace("Mevia"); }

YAHOO.Mevia.getFormCollections = function(collectionName,form)
{
	if(typeof(form).toLowerCase()=='string'){ form = YAHOO.util.Dom.get(form); }
	var a = [];
	var collection = form[collectionName+"[]"];
	if(collection){
		if(collection.tagName){
			if(collection.value != ''){					
				a.push(collection.value);
			}
		}else{
			for (var i = 0; i < collection.length; i++) {
				if(collection[i].value != ''){
					a.push(collection[i].value);
				}
			}			
		}
	}
	return a;
}

YAHOO.Mevia.getMultiCheckbox = function(collectionName, form, separator)
{
	if (form) {
		if (typeof(form).toLowerCase() == 'string') {
            form = document.getElementById(form);
		}
		var collection = form[collectionName+"[]"];
	} else {
		var collection = document.getElementsByName(collectionName + "[]");
	}

	var a = [];
	if(collection){
		if(collection.tagName){
			if(collection.checked){
				a.push(collection.value);
			}
		}else{
			for (var i=0;i<collection.length;i++) {
				if (collection[i].checked) {				
					a.push(collection[i].value);
				}
			}
		}					
	}
	
	if (separator) {
		return a.join(separator);
	};
	return a;
}

YAHOO.Mevia.getRadioValue = function(input_name)
{
	var radios = document.getElementsByName(input_name);
	if(radios){
		for(var i=0;i<radios.length;i++){
			if(radios[i].checked){
				return radios[i].value;
			}
		}		
	}
}

YAHOO.Mevia.checkboxIsChecked = function(input_id)
{
	var checkbox = YAHOO.util.Dom.get(input_id);
	return (checkbox.checked)? 1:0;
}

YAHOO.Mevia.checkboxIsNotChecked = function(input_id)
{
	var checkbox = YAHOO.util.Dom.get(input_id);
	return (checkbox.checked)? 0:1;
}

YAHOO.Mevia.removeMe = function(elt)
{
	var parent = elt.parentNode;
	parent.removeChild(elt);
}

YAHOO.Mevia.tabSwitcher = function(tabid)
{
	var yud = YAHOO.util.Dom;
	var links = yud.getElementsBy(function(){return true;},'a',tabid);
	var lis = yud.getElementsBy(function(){return true;},'li',tabid);
	YAHOO.util.Event.addListener(links,'click',function(){
		yud.removeClass(lis,'selected');
		yud.addClass(yud.getAncestorByTagName(this,"li"),'selected');
	});
}

YAHOO.Mevia.getDate = function(field_id)
{
	var yud = YAHOO.util.Dom;
	return yud.get(field_id+'_year').value+"-"+yud.get(field_id+'_month').value+"-"+yud.get(field_id+'_day').value;
}

YAHOO.Mevia.switchIcon = function(img, to)
{
	if(typeof(img).toLowerCase()=='string'){ img = YAHOO.util.Dom.get(img); }
	var regex = new RegExp("[a-zA-Z_]+\.png");
	var src = img.src;
	src = src.replace(regex, to);
	img.src = src;
}

YAHOO.Mevia.getMultiSelectValue = function(elt)
{
	if(typeof(elt).toLowerCase()=='string'){ elt = YAHOO.util.Dom.get(elt); }	
	var selectedArray = new Array();
	var i;
	var count = 0;
	var size = elt.options.length;
	for (i = 0; i < size; i++) {
		if (elt.options[i].selected) {
			selectedArray[count++] = elt.options[i].value;
		}
	}
	return selectedArray.join(',');
}

YAHOO.Mevia.getCollectionValues = function(collectionName, root, tag){
	var a = [];
	var collection = YAHOO.util.Dom.getElementsBy(function(elt)
	{
		if (!elt.name) {
			return false;
		}
		return elt.name == collectionName + "[]";
	}, tag, root);
	if(collection){
		if(collection.tagName){
			if(collection.value != ''){					
				a.push(collection.value);
			}
		}else{
			for(var i=0;i<collection.length;i++){
				if(collection[i].value != ''){						
					a.push(collection[i].value);
				}
			}			
		}			
	}
	return a;
}


// Copyright (c) 2003 The Bitmill Inc. All rights reserved.
YAHOO.Mevia.passwordGenerator = (function()
{
    var str = new String();

    var pwle = 10;
    var pwup = true;
    var pwlo = true;
    var pwdg = true;
    var pwpn = false;
    var pwct = '';
    var pwrm = '';

    return {
        genpwd : function()
        {
            str = "";
            ch = new Array();

            for( i = 0; i < 33; i++ )
                ch[ ch.length ] = 0;
            for( ; i < 48; i++ )
                ch[ ch.length ] = ( pwpn == true ) ? 1 : 0;
            for( ; i < 58; i++ )
                ch[ ch.length ] = ( pwdg == true ) ? 1 : 0;
            for( ; i < 65; i++ )
                ch[ ch.length ] = ( pwpn == true ) ? 1 : 0;
            for( ; i < 91; i++ )
                ch[ ch.length ] = ( pwup == true ) ? 1 : 0;
            for( ; i < 97; i++ )
                ch[ ch.length ] = ( pwpn == true ) ? 1 : 0;
            for( ; i < 123; i++ )
                ch[ ch.length ] = ( pwlo == true ) ? 1 : 0;
            for( ; i < 127; i++ )
                ch[ ch.length ] = ( pwpn == true ) ? 1 : 0;
            ch[ ch.length ] = 0;

            c = pwct;
            r = pwrm;

            for( i = 0; i < c.length; i++ )
                ch[ c.charCodeAt( i ) ] = 1;
            for( i = 0; i < r.length; i++ )
                ch[ r.charCodeAt( i ) ] = 0;

            if( pwle < 1 )
                pwle = 1;
            if( pwle > 128 )
                pwle = 128;

            count = 0;
            do
            {
                x = Math.floor( Math.random() * 128 );
                if( ch[ x ] == 1 )
                    str += String.fromCharCode( x );
                count++;
            } while ( str.length < pwle && count < 1024 );
            if( count == 1024 )
                alert( "Random selections exceeded safety limit.\n Try again or use larger selection set." );
            return str;
        }
    }
})();
