if (!Array.prototype.exists) {
	Array.prototype.exists = function (v) 
	{
	    for (var i = 0; i < this.length; i++) {
	        if (this[i] == v) return true;
	    }
	    return false; 
	};
}
var videoid = 0;

function initVideo(license){
	if(!license) license = "#@d8e895dc4450dadf284";
	
	$("div.flowplayer").each(function(){ 
		//rem x.
		$(this).html(''); 
		autoPlay = true;
		splash = false;
		++videoid;
		
		ctrlPlug = {
		        	controls: { 
			            url: '/js/flowplayer.controls-last.swf', 
			            playlist: false, 
			            tooltips: { 
			                buttons: true 
			            	},
		   			    play: { replayLabel: 'Spil igen' }
			       		}
			       	};
			       
		if($(this).attr("showcontrols") == "false") ctrlPlug = null;
		if($(this).attr("autoplay") == "false") autoPlay = false;
		if($(this).attr("splash") != "") splash = $(this).attr("splash");
		
		if(!splash){
			$(this).flowplayer("/js/flowplayer.commercial.swf", {
				key: license,
				clip: { 
	    			autoPlay: autoPlay, 
	    			autoBuffering: true,
	    			scaling: 'orig'
					},
				    plugins: ctrlPlug
			});  
		}else{
			
			//add splash img and click event.
			$(this).html('<img src="'+splash+'" border="0" id="video_'+videoid+'"/>'); 
			$(this).flowplayer("/js/flowplayer.commercial.swf", {
				key: license,
				clip: { 
	    			autoPlay: true, //force autoplay with splashes 
	    			autoBuffering: true,
	    			scaling: 'orig'
					},
				    plugins: ctrlPlug
			});  
		}
		
		
	});

}

function makeColorPicker(field){
	$(function() {
		
	$('#'+field).ColorPicker({
		onSubmit: function(hsb, hex, rgb) {
			$('#'+field).val('#'+hex).css('background-color', '#'+hex);
		},
		onBeforeShow: function () {
			$(this).ColorPickerSetColor(this.value);
		}
	})
	.bind('keyup', function(){
		$(this).ColorPickerSetColor(this.value);
	});
	});
}

function printPage(lang){
	if(lang == 'en' || lang == 'uk')
		window.open('/theme/html/printEng.html');
	else
		window.open('/theme/html/print.html');
}

function checkBoxToHidden(checkField, hiddenFieldId, checkedValue, uncheckedValue){
	var hiddenField = document.getElementById(hiddenFieldId);
	if($(checkField).is(":checked")){
		hiddenField.value = checkedValue;
	}else{
		hiddenField.value = uncheckedValue;
	}
}

function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
}

function addLoadEvent(func) {
   var oldonload = window.onload;
   if (typeof window.onload != 'function') {
     window.onload = func;
   } else {
     window.onload = function() {
       oldonload();
       func();
     }
   }
} 

function switchDisplay(id){
	var item = document.getElementById(id);
	if(item.style.display == 'none')
		item.style.display = '';
	else
		item.style.display = 'none';
}

function register(e, item){
	if (checkMouseLeave(item, e)) {
		hidePluginMenu();
    }
}
function gup( name ){
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var tmpURL = window.location.href;
  var results = regex.exec( tmpURL );
  if( results == null )
    return "";
  else
    return results[1];
}	
function containsDOM (container, containee) {
	var isParent = false;
  	do {
    	if ((isParent = container == containee))
    		break;
    	containee = containee.parentNode;
  	}while (containee != null);
  		return isParent;
}
		
function hidePluginMenu(itemID){
	var item = document.getElementById('tooltip');
	if(!item){
		return 0;
	}
	var parent = item.parentNode;
	var removed = parent.removeChild(item);
}

function checkMouseLeave (element, evt) {
	if (element.contains && evt.toElement) {
    	return !element.contains(evt.toElement);
  	}
  	else if (evt.relatedTarget) {
   		return !containsDOM(element, evt.relatedTarget);
  	}
}

function getMouseY(e){
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageY){
		posy = e.pageY;
	}
	else if (e.clientY)	{
		posy = e.clientY + document.body.scrollTop;
	}
	return posy;
}
function getMouseX(e){
	var posx = 0;
	if (!e) var e = window.event;
	if (e.pageX){
		posx = e.pageX;
	}
	else if (e.clientX)	{
		posx = e.clientX + document.body.scrollTop;
	}
	return posx;
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findHeight(obj){
	return obj.offsetHeight;
}

function findWidth(obj){
	return obj.offsetWidth;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function askDelete(){
	return confirm("Vil du virkelig slette?");
}

function updateURL(itemFrom, itemTo){
	TitelField = document.getElementById('Cms-url').value;
	
	//vores forslag skal undgå dansk æøå til URL 
	TitelField = TitelField.replace(/\æ/g, 'ae');
	TitelField = TitelField.replace(/\Æ/g, 'Ae');
	TitelField = TitelField.replace(/\ø/g, 'oe');
	TitelField = TitelField.replace(/\Ø/g, 'Oe');
	TitelField = TitelField.replace(/\å/g, 'aa');
	TitelField = TitelField.replace(/\Å/g, 'Aa');
	
	//Ej heller mellemrum kan bruges.
	TitelField = TitelField.replace(/\s+/g, '_');
	
	TitelField = TitelField.replace(/\W+/g, '');	
	
	document.getElementById('Cms-url').value = TitelField;
}

function moveUp(id){
	var ul = document.getElementById('menuSort');
	var lis = ul.getElementsByTagName('LI');
	var ids = new Array();
	var currentIndex;
	for(i = 0; i < lis.length; i++){
		ids.push(lis[i].id);
		if(lis[i].id == id){
			currentIndex = ids.length - 2;
		}
	}
	
	// displace text
	var upper = document.getElementById(ids[currentIndex]+'-text');
	var tmp = upper.innerHTML;
	upper.innerHTML = document.getElementById(id+'-text').innerHTML;
	document.getElementById(id+'-text').innerHTML = tmp;
	
	// displace id
	var upper = document.getElementById(ids[currentIndex]+'-input');
	var tmp = upper.value;
	upper.value = document.getElementById(id+'-input').value;
	document.getElementById(id+'-input').value = tmp;
}

function moveDown(id){
	var ul = document.getElementById('menuSort');
	var lis = ul.getElementsByTagName('LI');
	var ids = new Array();
	var currentIndex;
	for(i = 0; i < lis.length; i++){
		ids.push(lis[i].id);
		if(lis[i].id == id){
			currentIndex = ids.length;
		}
	}
	
	// displace text
	var upper = document.getElementById(ids[currentIndex]+'-text');
	var tmp = upper.innerHTML;
	upper.innerHTML = document.getElementById(id+'-text').innerHTML;
	document.getElementById(id+'-text').innerHTML = tmp;
	
	// displace id
	var upper = document.getElementById(ids[currentIndex]+'-input');
	var tmp = upper.value;
	upper.value = document.getElementById(id+'-input').value;
	document.getElementById(id+'-input').value = tmp;
}

var dato = new Date();

function showDialog(file,width,height) {
	top.myWindow = window.open(file,"newWindow"+dato.getMilliseconds(),centerDialog(width,height));
}//showDialog

function centerDialog(width,height) {
    var properties;

    if(navigator.appName == "Microsoft Internet Explorer") {
        var startY = (self.screenTop + (top.document.body.clientHeight/2) - (height/2)) -20;
        var startX = self.screenLeft + (top.document.body.clientWidth/2) - (width/2);
        properties = "width="+width+",height="+height+",left="+startX+",top="+startY+",toolbar=0,status=0,menubar=0,scrollbars=yes,resizable=yes";
    }//if

    else {
        var startX = window.screenX + (window.outerWidth/2) - (width/2);
        var startY = (window.screenY + (window.outerHeight/2) - (height/2));
        properties = "width="+width+",height="+height+",screenX="+startX+",screenY="+startY+",toolbar=0,status=0,menubar=0,scrollbars=yes,resizable=yes";
    }//else

    return properties;

}//centerDialog

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

//validate calevent signup.

function validateCalendarSignup(){
	if(document.getElementById('OrderV2-name').value == ''){
		alert('Navn skal udfyldes');
		return false;
	}
	if(document.getElementById('OrderV2-street').value == ''){
		alert('Vej skal udfyldes');
		return false;
	}
	if(document.getElementById('OrderV2-zip').value == ''){
		alert('Postnr skal udfyldes');
		return false;
	}
	if(document.getElementById('OrderV2-phone').value == ''){
		alert('Telefon skal udfyldes');
		return false;
	}

	
//	if(!isNumeric(document.getElementById('order-phone').value)){
//		alert('Telefon skal udfyldes');
//		return false;
//	}
//	if(!isNumeric(document.getElementById('order-mobilephone').value)){
//		alert('Mobiltelefon skal udfyldes');
//		return false;
//	}
	
	if(document.getElementById('OrderV2-mail').value == ''){
		alert('Email skal udfyldes');
		return false;
	}
	if(!document.getElementById('OrderV2-mail').value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){
		alert('Email skal udfyldes korrekt');
		return false;
	}
	if(document.getElementById('OrderV2-city').value == ''){
		alert('By skal udfyldes');
		return false;
	}
	
	return true;
}

	function IsNumeric(sText)
	{
	   var ValidChars = "0123456789.";
	   var IsNumber=true;
	   var Char;
	
	 
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
	      { 
	      Char = sText.charAt(i); 
	      if (ValidChars.indexOf(Char) == -1) 
	         {
	         IsNumber = false;
	         }
	      }
	   return IsNumber;
	   
	   }

	
// a counter used to create unique IDs
addEvent.guid = 1;

function removeEvent(element, type, handler) {
  // delete the event handler from the hash table
  if (element.events && element.events[type]) {
    delete element.events[type][handler.$$guid];
  }
};

function handleEvent(event) {
  // grab the event object (IE uses a global event object)
  event = event || window.event;
  // get a reference to the hash table of event handlers
  var handlers = this.events[event.type];
  // execute each event handler
  for (var i in handlers) {
    this.$$handleEvent = handlers[i];
    if(this.$$handleEvent(event) == false){
    	return false;
    }
  }
};

//keep session alive
function keepalive(){
	var now = new Date();
	if($("#keepalive-img").length != 0){
		$("#keepalive-img").attr("src", '/misc/keepalive.php?plugin=keepalive&time='+now.getTime());
	}else{
		$("body").append("<img id='keepalive-img' src='/misc/keepalive.php?plugin=keepalive&time="+now.getTime()+"' style='position:absolute;display:none;'/>");
	}
	setTimeout(keepalive, 15*60*1000);
}
