﻿    function searchSubmit(){
        var keywords = document.getElementById('Text4').value;
        var category = document.getElementById('Select3').value;
        var location = document.getElementById('Select4').value;
        var salary = document.getElementById('Select2').value;
        
        window.location="http://www.metaworks.co.uk/default.asp?cmd=search&submit=1&keywords=" + keywords + "&category=" + category + "&location=" + location + "&salary=" + salary
    }
    
    function init(){
    
            var togglers = getElementsByClassName(document, "*", "toggler")
            var elements = getElementsByClassName(document, "*", "expander")
            
            var qs = new Querystring();
            var v1 = qs.get("section")
            
            var section;
            if(v1 != null){
                section = v1;
            }
            else{
                section = -1;
            }

            var accordion = new Fx.Accordion(togglers, elements,{alwaysHide:true, display: section})
            
    }
        
     function getElementsByClassName(oElm, strTagName, strClassName){
        var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
        var arrReturnElements = new Array();
        strClassName = strClassName.replace(/-/g, "\-");
        var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
        var oElement;
        for(var i=0; i<arrElements.length; i++){
            oElement = arrElements[i];
            if(oRegExp.test(oElement.className)){
                arrReturnElements.push(oElement);
            }
        }
        return (arrReturnElements)
    }
    
    function showLogo(logo){
        myRef = window.open('http://www.metaworks.co.uk/company_logos/'+logo,'mywin',
            'left=20,top=20,width=200,height=200,toolbar=0,resizable=0');
    }
    
    
    /* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
    */
    function Querystring(qs) { // optionally pass a querystring to parse
	    this.params = new Object()
	    this.get=Querystring_get
    	
	    if (qs == null)
		    qs=location.search.substring(1,location.search.length)

	    if (qs.length == 0) return

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	    qs = qs.replace(/\+/g, ' ')
	    var args = qs.split('&') // parse out name/value pairs separated via &
    	
    // split out each name=value pair
	    for (var i=0;i<args.length;i++) {
		    var value;
		    var pair = args[i].split('=')
		    var name = unescape(pair[0])

		    if (pair.length == 2)
			    value = unescape(pair[1])
		    else
			    value = name
    		
		    this.params[name] = value
	    }
    }

    function Querystring_get(key, default_) {
	    // This silly looking line changes UNDEFINED to NULL
	    if (default_ == null) default_ = null;
    	
	    var value=this.params[key]
	    if (value==null) value=default_;
    	
	    return value
    }
    


function disableElement(element1, element2, field){

    document.getElementById(element1).disabled = true;
    document.getElementById(element2).disabled = true;
    document.getElementById('enable_upload').style.display = "block";
}
function enableElements(element1, element2, field){

    document.getElementById(element1).disabled = false;
    document.getElementById(element2).disabled = false;
    
    checks = document.getElementById(field)
    for (i = 0; i < checks.length; i++){
	    checks[i].checked = false ;
    }

    document.getElementById('enable_upload').style.display = "none";
}




//--------------------------------------------------------------------------
function hideElementsByClassname(classname){

    var ie = (document.all) ? true : false;  
     
    var elements = (ie) ? document.all : document.getElementsByTagName('*');
    for (i=0; i<elements.length; i++){
        if (elements[i].className==classname){
            elements[i].style.display="none"
        }
    }
}
//--------------------------------------------------------------------------
function showElementsByClassname(classname){

    var ie = (document.all) ? true : false;  
     
    var elements = (ie) ? document.all : document.getElementsByTagName('*');
    for (i=0; i<elements.length; i++){
        if (elements[i].className==classname){
            elements[i].style.display="block"
        }
    }
}

//--------------------------------------------------------------------------
function showElement(element){
    
    document.getElementById(element).style.display = "block";

}
//--------------------------------------------------------------------------
function showSubCategories(show){

    //this function makes visible the correct sub category list for the main category
    //by firstly hiding all sub category and grade lists and then making the element
    //who's id is passed visible
    
    //hide all hidable elements
    hideElementsByClassname('hidable');
    
    //show sub categories
    var selected = document.getElementById(show).value;
    showElement(selected);
    
    //set all sub cateogry lists to value = 0
    //resetAllLists();
    //document.getElementById('sub23').value = 0;
  
}
//--------------------------------------------------------------------------
function showGrades(show){

    var selected = "grade" + show;
    showElement(selected);

}
//--------------------------------------------------------------------------
function dynamicSelect(id1, id2) {
    // Feature test to see if there is enough W3C DOM support
    if (document.getElementById && document.getElementsByTagName) {
        // Obtain references to both select boxes
        var sel1 = document.getElementById(id1);
        var sel2 = document.getElementById(id2);
        // Clone the dynamic select box
        var clone = sel2.cloneNode(true);
        // Obtain references to all cloned options 
        var clonedOptions = clone.getElementsByTagName("option");
        // Onload init: call a generic function to display the related options in the dynamic select box
        refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
        // Onchange of the main select box: call a generic function to display the related options in the dynamic select box
        sel1.onchange = function() {
	        refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
        };
    }
}
function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {
    // Delete all options of the dynamic select box
    while (sel2.options.length) {
        sel2.remove(0);
    }
    // Create regular expression objects for "select" and the value of the selected option of the main select box as class names
    var pattern1 = /( |^)(select)( |$)/;
    var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");
    // Iterate through all cloned options
    for (var i = 0; i < clonedOptions.length; i++) {
        // If the classname of a cloned option either equals "select" or equals the value of the selected option of the main select box
        if (clonedOptions[i].className.match(pattern1) || clonedOptions[i].className.match(pattern2)) {
	        // Clone the option from the hidden option pool and append it to the dynamic select box
	        sel2.appendChild(clonedOptions[i].cloneNode(true));
        }
    }
}
