// PARAMETER FUNCTIONS
function getParams(from) {
	var params = {};
	if($(from).attr("params")){
		$.each($(from).attr("params").split(","), function(){		
			var thiskey = this.split(":")[0];
			//var thisval = this.split(":")[1]; 
			// enhanced for url
			var thisval = this.substr(this.split(":")[0].length+1,this.length);
			tmpobj = {};
			eval("tmpobj." + thiskey + "=thisval");
			jQuery.extend(params,tmpobj);	
		});
		return params;
	}
}

//PARAMS TO PATH FUNCTION
function paramsToPath(obj) {
	if(obj) {
		var pairs = [];
		var path = "";
		var del1 = "=";
		var del2 = "&";
		$.each(obj, function(i,val) { 
			if(val!=""){ pairs.push(i+del1+encodeURIComponent(val)); }//values are encoded to pass urls etc. 
		});
		path = pairs.join(del2);
		return path;
	}
}

//CLEAR FIELDS ON FOCUS
function clearOnFocus(obj) {
	var prevtext = $(obj).val();
	var orgtext = $(obj).attr("title");

	if ((prevtext != orgtext) && (prevtext != "")) {
		//do nothing...
	} else if(prevtext == "") {
		$(obj).val(orgtext);
	} else {
		$(obj).val("");
	}

}

//ajax function to retrive the work pages
function getCasePage(obj) {
	
	var params = getParams(obj);
		
	$.ajax({
		url: '?page_id='+params.pageid+'&pid='+params.caseid+'&type='+params.ptype,
		type: 'GET',
		dataType: 'html',
		timeout: 1000,
			error: function(){ alert('Error loading data'); location.href=obj.href; },
			beforeSend: function(){
				//
			},
			success: function(data){
				
			}			
		});
} 

//show respons after ajax form
function showResponseContact(responseText, statusText) {
			
	$("form[name=contactform]").fadeOut(500, function() {
		$("div.text","div#contactrespons").html(responseText);
		$("div#contactrespons").fadeIn(400);
	});	
}

//for checkboxes in search
function sortSearchResults() {

	var termid 		= new Array();
	var activeid 	= new Array();
	
	$("input[type=checkbox]","form[name=search_form]").each(function(index) {
	
		var params = getParams(this);
		var ctermid = params.termid;
		
		if($(this).attr("checked")) {
			termid.push(ctermid);
		}
	
	});
	
	//loop trough 
	$('div.casepost').each(function(index) {
		 
		//make array of the values
		var myString = $(this).attr("termstack");
		myArray = myString.split(", ");
	
		for(var i=0;i<termid.length;i++) {
			
			if(myArray.indexOf(termid[i]) != -1){
				$(this).addClass("active");
				activeid.push(this.id);
			}
		}

	
	});
		
	if(termid != "") {
		//hide all
		$("div.casepost").hide();
		
		//make unique
		var activeid = $.unique(activeid);
		
		$.each(activeid, function(index, value) { 
			$("#"+value).show();
		});
	} else {
		$("div.casepost").show();
	}
		
}

//create number format, perfect!
function number_format(number, decimals, dec_point, thousands_sep) {
    number = (number+'').replace(',', '').replace(' ', '');
    var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}

//fake metric
function updateMetric() {
	var ts = Math.round(new Date().getTime() / 1000);
	var ls = Math.round(353235 * ts);
	
	
	var today = ts;

	var seedPerSecond = 50000;
	var seedEventCount = 476482073472;
	var seedEpoch = 1294020251;
	
	var randomnumber = Math.floor(Math.random()*101)
	
	var ls = ((today - seedEpoch) * seedPerSecond) + seedEventCount + randomnumber;
	
	$("#metriccounter").text(number_format(ls));
}

function timer() {
  //console.log('update metric');
  updateMetric();
  setTimeout(timer, 1000);
}

timer();

$(document).ready(function(){
    
    $.validator.addMethod(
	"subjectch",
		function(value, element) {
			var selectedCountry = $('#cprofession').val();
			if (selectedCountry == "-1") {
				return false;
			} else return true;
		},
	"Please select one."
	);
    
	//contact form validate
	$("form[name=contactform]").validate({
		//rules
		rules: {
			cfname: "required",
			clname: "required",
			cemail: {
				required: true,
				email: true
			},
			ccomment: {
				required: true
			},
			cprofession: {
				required: true,
				subjectch: true
			}
		},
		//submit
		submitHandler: function(form) {
			$(form).ajaxSubmit({
				success: showResponseContact,
				clearForm: 'true'
			});
		}
	});
	
	//show form after submit
	$("a.showform").click(function() {
		$("form[name=contactform]").show();
		$("div#contactrespons").hide();
	});
    
    
    //clear inputs text on blur
	$("input.clearfocus").focus(function() { clearOnFocus(this); });
	$("input.clearfocus").blur(function() { clearOnFocus(this); }); 
	
	//toggle sidebar items
	$("a.togglebtn").click(function() {
	
		$(this).next("div.foldwrapper").toggle();
		$(this).toggleClass("active");
		
	});
	
	//select all checkboxes inside a wrapper
	$("a.select_all_checkboxes").click(function() {
		var pwrap = $(this).parents("div.foldwrapper");
		$("input[type=checkbox]", pwrap).attr("checked","checked");		
		$("form[name=search_form]").submit();
	});
	
	//deselect all checkboxes inside a wrapper
	$("a.clear_all_checkboxes").click(function() {
		var pwrap = $(this).parents("div.foldwrapper");
		$("input[type=checkbox]", pwrap).attr("checked","");
		$("form[name=search_form]").submit();		
	});
	
	//get case with ajax
	$("a.getcase").fancybox({
		width: 820,
		height: 690,
		autoDimensions: false,
		autoScale: false,
		onComplete: function() {
		
			//share btn
			$("a.sharelink","div#ajaxhandler").click(function() {
			
				$(this).hide();
				$("ul.socialmedia").show();
				
			});

			//make first active
			$("li:first a","ul.thumbwrapper").addClass("active");
			$("div:first","div.media").addClass("active");

			//thumbs for cases in modal
			$("a.thumblink","div.media").click(function() {
				
				$("a.active","div.media").removeClass("active");
				$("div.active","div.media").removeClass("active");
				
				//img
				if($(this).hasClass("img")) {
					
					$("img","div.media div.img1").attr("src",this.href);
					$("div.img1","div.media").addClass("active");
					
				//films
				} else {
					$(this.hash).addClass("active");
				}
				
				$(this).addClass("active");
				return false;
			});
			
		}
	});
	
	//tabs
	$("a","ul.tabmenu").live("click", function() {
		
		$("a.active","ul.tabmenu").removeClass("active");
		$("li.active","ul.tabpages").removeClass("active")
		
		$(this).addClass("active");
		$(this.hash).addClass("active");
		
		return false;
		
	});
	
	//innerfade
	$('ul.innerfade').innerfade({ speed: 'slow', timeout: 4000, type: 'sequence', containerheight: '340px' }); 
	
	//submit form on each click
	$("input[type=checkbox]","form[name=search_form]").click(function() {
		$("form[name=search_form]").submit();	
	});
	
	//show loginbox
	$("#showlogin").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false
	});
	
	//fake catch for pagination
	$("a","div.wp-pagenavi").click(function() {
		
		var tparent	=	$(this).parent();
		
		if($(this).hasClass("previouspostslink")) {
			var aurl = $("span.current",tparent).prev().text();
		} else if($(this).hasClass("nextpostslink")) {
			var aurl = $("span.current",tparent).next().text();
		} else {
			var aurl = $(this).text();	
		}
				
		$("input[name=paged]").attr("value",aurl);
		$("form#fakepagenavi").submit();
		return false;	
	});
	
	//show quick newsletter email form

	/*$("a","div#getstarted-widget li.mail").click(function() {
		$("form#quicknewslettter").toggle();
		return false;	
	});*/
	
});

//wait till everything is loaded
$(window).load(function() {	
	
	//case catcher to fake a pop up
	$("#case_catcher").click();
	
});
