 
/*!
 * navigate to specific page slider
 * on event: hashchange
!*/
var navigateToPage = function(currentPage, websiteControl){
	if(currentPage == ""){ // if no hash send
		return false;
	} 
	// make menu selected
	var temMenu = str_replace("#", 'menu_', currentPage); 
	$(".menu ul li").find("." + websiteControl['nav_menuSelectedClass']).removeClass('selected');
	$("." + temMenu).addClass(websiteControl['nav_menuSelectedClass']);
	
	// process request
	currentPage = str_replace("#", 'section', currentPage); 
	var position = $("li#" + currentPage).position();
	var toLeft = parseInt(position.left); 
	var tempWidth = (($("body").width() - $("li#" + currentPage).width()) / 2);
	var tempMarginLeft = parseInt($("li#" + currentPage).css('margin-left'));
	toLeft = toLeft + ((tempMarginLeft - tempWidth));
	
	$(websiteControl['caruselWrapper']).animate({
		scrollLeft : toLeft
	},  websiteControl['nav_speed'], websiteControl['nav_easing'], function(){
		// callback function
		eval(websiteControl['nav_callback']);
	});
	return false;
}

/*!
 * Services page slider
 * on event: On click
!*/
var servicesSlide = function(moveTo, websiteControl){
	$(websiteControl['services_wrapper']).stop().animate({
		scrollTop : moveTo
	},  websiteControl['services_speed'], websiteControl['services_easing'], function(){	
	});
}

/*!
 * Website Carusel
 * on event: on click (next / prev)
 !*/
var websiteCarusel = {

	option: {},
	
	// init
	init: function(websiteControl){
		
		option = websiteControl; 
	},

	// action
	action: function(action){
		var move = function(direction){
			var moveTo = 0;
			var stepSize = option['carusel_stepSize'];
			var currentPos = $(option['carusel_wrapper']).scrollLeft();
			
			var limitSize = (($(option['carusel_imgItems']).size() / 3) * stepSize) - stepSize;
			if(direction == 'next'){
				if(currentPos < limitSize){
					moveTo = currentPos + stepSize;
				}else{
					moveTo = 0;
				}
			} else if(direction == 'prev'){
				if(currentPos > 0){
					moveTo = currentPos - stepSize;
				}else{
					moveTo = 0;
				}
			}
			$(option['carusel_wrapper']).stop().animate({
				scrollLeft : moveTo
			}, option['carusel_speed'], option['carusel_easing'], function(){
				// callback function
				eval(option['nav_callback']);
			});
		} 
		if(action == 'next'){
			move('next');
		}else if(action == 'prev'){
			move('prev');
		}else{
			alert('act: ' + action + ' not bind');
		}
	}
}

/*!
 * Init layout
 * on event: onload, window resize
!*/
var initLayouts = function(){
	// adjust width fake
	var tempWidth = (($("body").width() - 850) / 2) - 50;
	$("#sectionfake").width(tempWidth);
}

function str_replace (search, replace, subject, count) {
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}