/*
    SiteComponents version:
    6.7.0.1, tag SC_6_7_0_1, created Mon May 10 09:27:59 +0200 2010

    Disclaimer
    
    While we make every effort to ensure that this code is fit for its intended
    purpose, we make no guarantees as to its functionality. CoreTrek AS will
    accept no responsibility for the loss of data or any other damage or
    financial loss caused by use of this code.


    Copyright
    
    This programming code is copyright of CoreTrek AS. Permission to run this
    code is given to approved users of CoreTrek's publishing system CorePublish.
    
    This source code may not be copied, modified or otherwise repurposed for use
    by a third party without the written permission of CoreTrek AS.
    
    Contact webmaster@coretrek.com for information.
    
*/

/**
 * Configuration for site components javascript
 *
 * Configuration array structure:
 * {<component>: {<parameter>: value, <parameter>: value, ... }, ...}
 */
var siteComponentsConfig = {
    
    // Configuration for the keyword module.
    
    keywords: {
        elements: ['placeholder-content'],
        skiptags: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
        usetooltip: true
    },
    // Remember to add a comma above when enabling more options
    
    /*
    // Valid keys:
    //    disable: true/false (default enabled)
    //    collapsedPageInfoPosition: Use this to move the collapsed debug
    //                               position to the left, instead of the
    //                               default right.
    debug: {
        disable: true,
        collapsedPageInfoPosition: 'right'
    }
    */
    
    /*
    // Configuration for tooltop.
    // 
    // Valid keys:
    //    disable: true/false (default enabled)
    //    positionby: Use this to override the default position for tooltip.
    //                Valid values is:
    //                  mouse (default), tooltip follows mouse
    //                  element, tooltip is attached to the title element
    */
    tooltip: {
        disable: true,
        positionby: 'mouse'
    }    
    
    /*
    // Use this to override the default fontsizes in the fontsize selector
    // (html/lib/fontsize.js)
    
    fontsize: {
        sizes: ["10pt", "15pt", "24pt"]
    }
    */
    
};


function showEmployeeInfo(element) {
	var params = "{ duration: 1.0, queue: 'end' }";
	$(element).down('div.employeeInfo').appear(params);
}

function hideEmployeeInfo(element) {
	var params = "{ duration: 1.0, queue: 'end' }";
	$(element).fade(params);
}

function showRelatedJobs() {
	var params = "{ duration: 1.5, queue: 'end' }";
	$("related-jobs").appear(params);
}

function setActiveJob(jobElement) {
	$(jobElement).addClassName("active");
}

function cancelActiveJob(jobElement) {
	$(jobElement).removeClassName("active");
}



function toggleJobsCategoryFilter(element,updateText) {		
	if(updateText) {
		$("category-link").innerHTML = updateText;		
		if(!firstFilter) {
			filterClients($("client-link"));			
		}		
		firstFilter = false;
	}		
	if($(element).up("li").hasClassName("show")) {
		$$("#filter-category-design ul li").each(function(li) {
			li.removeClassName("show");			
		});		
	} else {		
		$$("#filter-category-design ul li").each(function(li) {
			li.addClassName("show");
		});				
	}

        /*
	if($("client-link").innerHTML == "Klient" && $("category-link").innerHTML == "Kategorier") {
		clearFilterCategories();
	}*/
	
}

function toggleClientCategoryFilter(element,updateText) {
	if(updateText) {
		$("client-link").innerHTML = updateText;
		if(!firstFilter2) {
			filterCategories($("category-link"));			
		}		
		firstFilter2 = false;
	}		
	if($(element).up("li").hasClassName("show")) {
		$$("#filter-client-design ul li").each(function(li) {
			li.removeClassName("show");			
		});		
	} else {		
		$$("#filter-client-design ul li").each(function(li) {
			li.addClassName("show");
		});				
	}

        /*
	if($("client-link").innerHTML == "Klient" && $("category-link").innerHTML == "Kategorier") {
		clearFilterCategories();
	}*/
}

function toggleTitleFilter(element,updateText) {
    
    if(updateText == "Alle") {
        $("title-link").innerHTML = updateText;
        $$("#employeeTitleFilterDesign ul li").each(function(li) {
            li.addClassName("show");
        });

        $$("#employeeList li").each(function(li) {
            li.removeClassName("hidden");
        });


    } else {
        $("title-link").innerHTML = $(element).innerHTML;
        $$("#employeeTitleFilterDesign ul li").each(function(li) {
            li.removeClassName("show");
        });

        $$("#employeeList li").each(function(li) {
            if(li.hasClassName($(element).innerHTML)) {
                li.removeClassName("hidden");
            } else {
                li.addClassName("hidden");
            }

        });

    }

}



function filterCategories(element) {	
	var showClass = $(element).innerHTML.replace(" ","_");
	var showClassAdditional = $("client-link").innerHTML.replace(" ","_");
	//alert(showClassAdditional);
	
	$("category-link").innerHTML = $(element).innerHTML;
	$$(".jobs .all-jobs .job").each(function(div) {		
		div.removeClassName("hidden");	
		
		if(showClassAdditional == "Kunde") {
			if(!div.hasClassName(showClass)) {				
				div.addClassName("hidden");
			}
		} else {
			if(!div.hasClassName(showClass) || !div.hasClassName(showClassAdditional)) {				
				div.addClassName("hidden");
			}	
		}
	});	
}

function filterClients(element) {
	var showClass = $(element).innerHTML.replace(" ","_", "g");
	var showClassAdditional = $("category-link").innerHTML.replace(" ","_");

	// show selected client in the search bar
	$("client-link").innerHTML = $(element).innerHTML;
		
	$$(".jobs .all-jobs .job").each(function(div) {
		div.removeClassName("hidden");

		if(showClassAdditional == "Kategorier") {
			
			if(!div.hasClassName(showClass)) {				
				div.addClassName("hidden");
			}
		} else {			
			if(!div.hasClassName(showClass) || !div.hasClassName(showClassAdditional)) {				
				div.addClassName("hidden");
			}		
		}
	});
}

function clearFilterCategories() {
	$$(".jobs .all-jobs .job").each(function(div) {		
		div.removeClassName("hidden");
	});
}


function sortNumber(a,b) {
    return a - b;
}

function sortOrder(id) {
    if(id == "alpha") {
        $("chrono").hide();
        $("alpha").show();
        $("alphaOrder").addClassName("on");
        $("chronoOrder").removeClassName("on");
    } else if (id == "chrono") {
        $("alpha").hide();
        $("chrono").show();
        $("alphaOrder").removeClassName("on");
        $("chronoOrder").addClassName("on");

    }
}

function showAll() {    
    $("client-link").innerHTML = "Kunde";
    $("category-link").innerHTML = "Kategorier";
    clearFilterCategories();
}

function toggleImage(id) {
    $$(".flickr-images ul li.large").each(function(li) {
        li.addClassName("hidden");        
    });
    $("flickr"+id).removeClassName("hidden");
    currentImage = id;
}

function nextImage() {
   if(currentImage < totalImages) {
       currentImage++;
   } else if(currentImage == totalImages) {
       currentImage = 0;
   }
   toggleImage(currentImage);
}

function prevImage() {
   if(currentImage > 0) {
       currentImage--;
   } else if(currentImage == 0) {
       currentImage = totalImages;
   }
   toggleImage(currentImage);
}

function toggleNavigation() {
    $("arrowLeft").toggleClassName("hidden");
    $("arrowRight").toggleClassName("hidden");
    $("thumbs").toggleClassName("hidden");
}

function showData(element) {
    $(element).addClassName("active");
    $(element).down("div.name").addClassName("hidden");
    $(element).down("div.data").removeClassName("hidden");
}

function hideData(element) {
    $(element).removeClassName("active");
    $(element).down("div.name").removeClassName("hidden");
    $(element).down("div.data").addClassName("hidden");
}

function clearEmployeeFilters() {
    $("title-link").innerHTML = "Alle";

    $$("#employeeTitleFilterDesign ul li").each(function(li) {
        li.removeClassName("show");
    });

    $$("#employeeList li").each(function(li) {

        li.removeClassName("hidden");

    });
    //$("employeeFilter").value ="";
    
}




/* Campaign switcher frontpage */

var currentCampaign = 0;
var campaignTimer = 0;

function campaignChangeTo(i) {

    $$('.campaign-articlelist .list-navigation .pages').each(function(link){
        link.down().src = '/themes/mccann/images/circle-off.png';
    }.bind(this));

    $$('.campaign-articlelist li').each(function(campaign){
        if (campaign.id == 'campaign-item'+i) {
            $('campaignLink'+i).down().src = '/themes/mccann/images/circle-on.png';
            campaign.appear({duration: 1.0});
        } else {
            campaign.fade({duration: 0.8});
        }
    }.bind(this));

    currentCampaign = i;
}

var campaignCount;

function loopCampaigns() {
    campaignChangeTo((currentCampaign + 1) % campaignCount);
}



function nextBanner() {    
    if(currentCampaign < (campaignCount-1)) {
        currentCampaign++;
    } else if (currentCampaign == (campaignCount-1)) {
       currentCampaign = 0;
    }
    campaignChangeTo(currentCampaign);
}

function prevBanner() {    
    if(currentCampaign > 0) {
        currentCampaign--;
    } else if (currentCampaign == 0) {
       currentCampaign = (campaignCount-1);
    }
    campaignChangeTo(currentCampaign);
}



