

function getSelectedValues (select) {
  var r = new Array();
  for (var i = 0; i < select.options.length; i++)
    if (select.options[i].selected)
      r[r.length] = select.options[i].value;
  return r;
}


Array.prototype.inArray = function (value)
// Returns true if the passed value is found in the
// array.  Returns false if it is not.
{
    var i;
    for (i=0; i < this.length; i++) {
        // Matches identical (===), not just similar (==).
        if (this[i] === value) {
            return true;
        }
    }
    return false;
};


function getSelectedIndexes(select) {
  var r = new Array();
  for (var i = 0; i < select.options.length; i++)
    if (select.options[i].selected)
      r[r.length] = i;
  return r;
}


function getAllValues(select){
	var r = new Array();
	  for (var i = 0; i < select.options.length; i++){
		  r[r.length] = select.options[i].value;
	  }
	  return r;
}

function commaSeparated(arr){
	var r = "";
	for (var i = 0; i < arr.length; i++){
			r+= arr[i] + ',';
	}
	return r;
}

function applyAndGetCompanyList(){
	var f = document.forms['frm'];
	SectorIDs = getSelectedValues($('SectorID'));
	SubSectorIDs = getSelectedValues($('SubSectorID'));
	TurnIDs =  getSelectedValues($('TurnID'));
	EmployeeCountIDs =  getSelectedValues($('EmployeeCountID'));
	OwnerIDs = getSelectedValues($('OwnerID'));
	SelectedCompIDs = getAllValues($('SelectedCompID'));

	
	var pars = 'ajax_action=getcompanyxsml';
	for(i=0;i<SectorIDs.length;i++){
		pars += '&SectorID[]='+SectorIDs[i];
	}
	for(i=0;i<SubSectorIDs.length;i++){
		pars += '&SubSectorID[]='+SubSectorIDs[i];
	}
	
	for(i=0;i<TurnIDs.length;i++){
		pars += '&TurnID[]='+TurnIDs[i];
	}
	for(i=0;i<EmployeeCountIDs.length;i++){
		pars += '&EmployeeCountID[]='+EmployeeCountIDs[i];
	}

	for(i=0;i<OwnerIDs.length;i++){
		pars += '&OwnerID[]='+OwnerIDs[i];
	}

	for(i=0;i<SelectedCompIDs.length;i++){
		pars += '&SelectedCompID[]='+SelectedCompIDs[i];
	}
	var defaultPars  = '&country='+SITE_COUNTRY+'&language='+SITE_LANGUAGE+'&language_code='+SITE_LANGUAGE_CODE+'&SCID='+SCID;
	//alert(pars + ''+ defaultPars);
	var myAjax = new Ajax.Request( AJAX_SERVICE, 
						{ method: 'post', 
						  parameters: pars + defaultPars , onComplete: showResponse});
}

function getRelevantPositions(CompID){
	var defaultPars  = '&country='+SITE_COUNTRY+'&language='+SITE_LANGUAGE+'&language_code='+SITE_LANGUAGE_CODE;

	var pars = 'ajax_action=getrelevant_positions';
	pars += '&CompID='+CompID;
	var myAjax = new Ajax.Request( AJAX_SERVICE, 
						{ method: 'post', 
						  parameters: pars + defaultPars , onComplete: fillInPositions});
}


var myGlobalHandlers = {
		onCreate: function(){			
			//Element.show('workingLayer');
		}
	

};
function fillInPositions(originalRequest){
	//
	//Element.hide('workingLayer');

	var f = document.forms['frm'];

	var ch = f.UseCompanyPositions.checked;

	var xmlDoc = originalRequest.responseXML.documentElement;

	positions = xmlDoc.getElementsByTagName('position');	

	for(i=0;i<positions.length;i++){
		PositionID = positions.item(i).attributes.getNamedItem("PositionID").value;
		DeptID = positions.item(i).attributes.getNamedItem("DeptID").value;			
		var checkName = 'Pos_'+DeptID+'_'+PositionID;
		
		var Check = $(checkName);
		if(Check){
			Check.checked = ch;
		}
	}
}

function showResponse(originalRequest){
	Element.hide('workingLayer');
	fillCompanies(originalRequest.responseXML.documentElement);
	

}
function fillCompanies(xmlDoc){
	
	var f = document.forms['frm'];
	companies = xmlDoc.getElementsByTagName('company');	

	AvailableCompIDSelect = $('AvailableCompID');
	AvailableCompIDSelect.options.length = 0;

	for(i=0;i<companies.length;i++){
		companyName = companies.item(i).attributes.getNamedItem("name").value;
		companyId = companies.item(i).attributes.getNamedItem("id").value;			
		AvailableCompIDSelect.options[i] = new Option(companyName,companyId);
	}

	subsectors = xmlDoc.getElementsByTagName('subsector');	
	
	SubsectorSelect = $('SubSectorID');
	var selectedSubsectorIndexes = getSelectedIndexes(SubsectorSelect);
	SubsectorSelect.options.length = 1;
	for(i=1;i<=subsectors.length;i++){
			sectorName = subsectors.item(i-1).attributes.getNamedItem("name").value;
			sectorID = subsectors.item(i-1).attributes.getNamedItem("id").value;			
			SubsectorSelect.options[i] = new Option(sectorName,sectorID);
			if(selectedSubsectorIndexes.inArray(i)){
				SubsectorSelect.options[i].selected = true;
			}
	}
	selectedSubsectorIndexes = getSelectedIndexes(SubsectorSelect);
	
	if(selectedSubsectorIndexes.length == 0){
		SubsectorSelect.options[0].selected = true;
	}
		


	
}

function loadDesiredCompanies(xmlContent)
{
        //for IE
        if (window.ActiveXObject)
        {
            xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
            xmlDoc.async="false";		
            xmlDoc.load(xmlContent);
		    while (xmlDoc.readyState != 4) {} // readyState will be set to 4 when the document is loaded	
            fillCompanies(xmlDoc);
        }
        //for FF
        else if (document.implementation && document.implementation.createDocument)
        {
            xmlDoc = document.implementation.createDocument("","",null);            
          
			var isLoaded = xmlDoc.load(xmlContent);
            if (isLoaded == true) {  fillCompanies(xmlDoc);  }

        }
        else if(xmlDoc){
        	alert('Sorry, this browser is not XML-compliant and cannot render the XML data.');
		}

} 


Ajax.Responders.register(myGlobalHandlers);


