var oneMinute = 60 * 1000;  // milliseconds in a minute
var oneHour = oneMinute * 60;
var oneDay = oneHour * 24;
var oneWeek = oneDay * 7;

function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload!='function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

function getElem(evt){
	var evt = (evt) ? evt : event;
	var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
	return elem;
}

function getNextElement(node){
	if(node.nodeType==1){
		return node;
	}	
	if(node.nextSibling){
		return getNextElement(node.nextSibling);
	}
	return null;
}

function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
                   node = document;
    if ( tag == null )
                   tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
                   if ( pattern.test(els[i].className) ) {
                                   classElements[j] = els[i];
                                   j++;
                   }
    }
	return classElements;
}

function getFirstParent(node,tag){
	parent=node.parentNode;
	if(parent.tagName==tag) return parent;
	else return getFirstParent(parent, tag);
}

function jsClass(a,o,c1,c2){
  switch (a){
    case 'swap':
      o.className = jsClass('check',o,c1) ? o.className.replace(c1,c2) : jsClass('add',o,c2);
    break;
    case 'add':
      if(!jsClass('check',o,c1))
	  	return o.className += o.className ? ' '+c1 : c1;
    break;
    case 'remove':
      var rep=o.className.match(' '+c1) ? ' '+c1 : c1;
      o.className=o.className.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className);
    break;
  }
}

function pad(n){
	if(n<10)
		return "0"+n;
	return n;
}

function mailTo(l, account, subject){
	(subject!=undefined) ? subject="?subject="+subject : subject="";
	l.href="mailto:"+account+"@traveleurope.it"+subject;
}

function formatPrice (num) {
	price = num.toFixed(2);
	price.replace(/\./,',');
	return price;
}


/* IE getElementById() bug fix */
if (/msie/i.test (navigator.userAgent)){
	document.nativeGetElementById = document.getElementById;
	
	document.getElementById = function(id){
		var elem = document.nativeGetElementById(id);
		if(elem){
			if(elem.attributes['id'].value == id)
				return elem;
			else{
				for(var i=1;i<document.all[id].length;i++){
					if(document.all[id][i].attributes['id'].value == id)
						return document.all[id][i];
				}
			}
		}
		return null;
	};
}

function prepareFakeLink(){
	node = document.getElementById("main-content");
	links = getElementsByClass("fakelink",node,"A");
	for(i=0;i<links.length;i++){
		links[i].onclick = function(){
			location.href=this.title;
			return false;
		}	
	}
}	
addLoadEvent(prepareFakeLink);
