var vowels = new Array("a","e","i","o","u");
function getCombos(name1, name2, minComboSize) {
    
    name1 = name1.replace(/[^a-zA-Z]/g,""); //get rid of all characters that aren't letters
    name2 = name2.replace(/[^a-zA-Z]/g,""); //because they mess with x-site scripting and we don't need them
	var segments1_start = getSegments(name1.toLowerCase(),true);
	var segments1_end = getSegments(name1.toLowerCase(),false);
	var segments2_start = getSegments(name2.toLowerCase(),true);
	var segments2_end = getSegments(name2.toLowerCase(),false);
	var combos = new Array();
	var index = 0;
	for(i=0;i<segments1_start.length;i++)	{
		for(j=0;j<segments2_end.length;j++)		{
			var combo = getCombo(segments1_start[i],segments2_end[j]);
    		if(combo.length >= minComboSize)
				combos[index++] = combo;
		}
	}
	for(i=0;i<segments2_start.length;i++) {
		for(j=0;j<segments1_end.length;j++)	{
			var combo = getCombo(segments2_start[i],segments1_end[j]);
    		if(combo.length >= minComboSize)
				combos[index++] = combo;
		}
	}
	return combos.dedup();
}
function getCombo(str1, str2){
    leftJoin = str1.charAt(str1.length-1);
    rightJoin = str2.charAt(0);
    var combo = ""
    if(vowels.contains(leftJoin) && vowels.contains(rightJoin)) return combo; //both are vowels   
    else if(!vowels.contains(leftJoin) && !vowels.contains(rightJoin)) return combo; //neither are vowels
    else return str1.substr(0,1).toUpperCase() + str1.substring(1,str1.length) + str2;
}
function getSegments(val, isStart){
	var index = 0;
	var segments = new Array();
	seg = "";
	for(i=0;i<val.length;i++)	{
		if(vowels.contains(val.charAt(i))) {
			seg = isStart ? val.substring(0,i+1) : val.substring(i+1,val.length); //vowel on start segment
			if(seg != "") segments[index++] = seg;
			seg = isStart ? val.substring(0,i) : val.substring(i,val.length); //vowel on end segment
			if(seg != "") segments[index++] = seg;
		}
	}
	segments[index++] = val;
	return segments
}
Array.prototype.contains = function(element){for(var i=0;i<this.length;i++){if(this[i]==element){return true;}}return false;}
Array.prototype.dedup = function(){var newArray=new Array();var seen=new Object();for(var i=0;i<this.length;i++){if(seen[this[i]])continue;newArray.push(this[i]);seen[this[i]]=1;}return newArray;}
