var isOpera = navigator.userAgent.toLowerCase().indexOf("opera") > -1;
var isIE = document.all && !isOpera;

 function change(divId){
    var div = document.getElementById(divId);

    if (div.style.display == 'none') div.style.display= '';
    else div.style.display= 'none';

    return true;
 }

 function toggleTech(){
 	var t = document.getElementById("techSpec");
 	
 	if (t.style.display == 'none'){
 		 t.style.display = '';

 		 new Anim(t, "scrollheight", 0, t.scrollHeight, 1, 8, 1, function(){
			var el = document.getElementById("helpdeskContent");
		 
 		 	new Anim(document.documentElement, "scrolltop", document.documentElement.scrollTop, document.documentElement.scrollHeight - (isIE ? document.documentElement.offsetHeight : window.innerHeight + 20) - el.offsetHeight, 0, 25, 15, function(){});
 		 });
 	}
   else{
   	new Anim(t, "scrollheight", t.offsetHeight, 0, 1, 8, 1, function(){
   		t.style.display= 'none';
   	});
   }
 }
 
 function getStyle(el, prop) {
		if(
			typeof document.defaultView != "undefined" && 
			typeof document.defaultView.getComputedStyle != "undefined"
		){
			var cStyle = document.defaultView.getComputedStyle(el,'');
			return !cStyle ? "" : cStyle.getPropertyValue(prop);
		}
			
		return false;
	}


 function changeTechHight() {
    var t = document.getElementById('techSpec');

    if (t.style.display != 'none') {
        t.style.height = '';

         new Anim(t, "height", 0, t.scrollHeight, 1, 8, 1, function(){
            var el = document.getElementById("helpdeskContent");
         
            new Anim(document.documentElement, "height", document.documentElement.scrollTop, document.documentElement.scrollHeight - (isIE ? document.documentElement.offsetHeight : window.innerHeight + 20) - el.offsetHeight, 0, 25, 15, function(){});
         });
    }
 }
 

 function changeSiteView(divId){
    var activeNodeView = document.getElementById(divId);
    var activeNodeLink = document.getElementById(divId+'_link');
    
    if (divId == 'servers') {
        document.getElementById('techSpecServers').style.display='block'; 
        document.getElementById('techSpecResellers').style.display='none'; 
        document.getElementById('techSpecHosting').style.display='none';

        var  vps = document.getElementById('VPSno');
        if (vps .value != 1) {
            vps.value = 1;
            changeVPSunit(vps);
        }  
                
    } else if (divId == 'hostingResellers') {
        document.getElementById('techSpecServers').style.display='none'; 
        document.getElementById('techSpecResellers').style.display='block'; 
        document.getElementById('techSpecHosting').style.display='none'; 
    } else {
        document.getElementById('techSpecServers').style.display='none'; 
        document.getElementById('techSpecResellers').style.display='none'; 
        document.getElementById('techSpecHosting').style.display='block'; 
    }
    changeTechHight();

    var parentView = activeNodeView.parentNode;
    var nodeView = parentView.firstChild;

    var wplane = document.getElementById("wplane");
    wplane.style.display = "block";
    wplane.style.height = (document.getElementById("items").offsetHeight+5) + "px";

    var items = document.getElementById("items");
    //items.style.height = items.offsetHeight + "px";
    items.style.height = (getStyle(items, "height") || items.offsetHeight) + "px";

    new Anim(wplane, "fade", 0, 1, 1, 8, 1, function(){
       while(nodeView){
         if (nodeView.nodeType == 1 && nodeView.nodeName.toLowerCase() == 'div' && nodeView.style.display != 'none') {
           var lastHeight = nodeView.offsetHeight;
           nodeView.style.display = 'none';
           document.getElementById(nodeView.id+'_link').className = '';
           break;
         }
         nodeView = nodeView.nextSibling;
       }

       activeNodeView.style.display = '';
       var nextNodeViewLink = document.getElementById(divId+'_link');
       nextNodeViewLink.blur();
    	 nextNodeViewLink.className = 'current';

		 if(document.all){
	       var newHeight = items.scrollHeight;
	       if(lastHeight > activeNodeView.offsetHeight) newHeight -= (lastHeight - activeNodeView.offsetHeight);
	    }
	    else{
	    	var newHeight = activeNodeView.offsetHeight+2;
	    }
       
       new Anim(items, "height", items.offsetHeight, newHeight, 1, 10, 1);
       new Anim(wplane, "height", wplane.offsetHeight, newHeight+5, 1, 10, 1, function(){});
       new Anim(wplane, "fade", 1, 0, 1, 15, 1, function(){
         wplane.style.display = "none";
       });
   });
    
    return false;
 }


function doToggle(id, hide, nr){
	var i=0;
	var first = document.getElementById(id);
	if (!nr) first.style.display = !hide ? "" : "none";
	while(i<nr){
		first.style.display = !hide ? "block" : "none";
		first = first.nextSibling;
		if(first.nodeType != 1) first = first.nextSibling;
		i++;
	}
}

///////////////vps x i////////////////////


function changeVPSunit(myInput){
    
    if (myInput.value == '') return;
    if (verifyVPSunit(myInput)){

        document.getElementById('VPSno_error').style.display='none';

        var myDiv= document.getElementById('VPSunitCalc');
        var monthlyAmountDiv= document.getElementById('monthlyAmount');
	var orderButton = document.getElementById('orderServer');

	var vps_diskspace = document.getElementById('vps_diskspace');
	var vps_bandwidth = document.getElementById('vps_bandwidth');
	var vps_memory = document.getElementById('vps_memory');
	
        myDiv.innerHTML= '<div class="top"></div><span class="title">'+myInput.value+'x VPS Unit</span><br /><b>'+transformFileSize(parseInt(myInput.value)*parseInt(vps_memory.value), 'MB')+'</b> geheugen<br /><b>'+transformFileSize(parseInt(myInput.value)*parseInt(vps_diskspace.value), 'MB')+'</b> schijfruimte<br /><b>'+transformFileSize(parseInt(myInput.value)*parseInt(vps_bandwidth.value),'MB')+'</b> dataverkeer<br /><div class="bottom"></div>';

	orderButton.href="/order.php?units="+parseInt(parseInt(myInput.value) - 1);

        var vps_price = document.getElementById('vps_price');
        var vps_unit_price = document.getElementById('vps_unit_price');

        var monthlyAmount = (parseFloat(vps_price.value) + (parseFloat(myInput.value) - 1) * parseFloat(vps_unit_price.value));

        monthlyAmountDiv.innerHTML= '&euro; ' + String(monthlyAmount.toFixed(2)).replace('.', ',');        

        var VPSimg = document.getElementById('VPSimg');
        VPSimg.src = "/images/vps_"+myInput.value+".png";

    }
}

function verifyVPSunit(myInput){

    if (isNaN(myInput.value) || myInput.value.length != 1 || parseInt(myInput.value) < 1 || parseInt(myInput.value) > 4 ) {
//      alert('Permited values are only integers between 1 and 4');
        document.getElementById('VPSno_error').style.display='';
        myInput.value = '';
        myInput.focus();
        return false;
    }
    return true;
}

function plusVPSunit() {

        var VPSno = document.getElementById('VPSno');

        if (VPSno.value == '' || VPSno.value == '4') VPSno.value = 1;
        else VPSno.value = parseInt(VPSno.value) + 1;

        return changeVPSunit(VPSno);
}

function minusVPSunit() {
        var VPSno = document.getElementById('VPSno');

        if (VPSno.value == '' || VPSno.value == '1') VPSno.value = 4;
        else VPSno.value = parseInt(VPSno.value) - 1;

        return changeVPSunit(VPSno);
}


function transformFileSize(size, unit) {
	var sizes = new Array(
   		new Array("B", "Bytes"),
		new Array("KB", "Kilobytes"),
		new Array("MB", "Megabytes"),
		new Array("GB", "Gigabytes"),
		new Array("TB", "Terabytes")
	);
	if (!unit) $start = 0;
	for(i = 0 ; i < sizes.length ; i++){
		if (sizes[i][0] == unit) {
			start = i;
			 break;
		}
	}
	
	for(i = start ; i < sizes.length ; i++){
		if(size < 1024) return Math.round(size) + sizes[i][0];
		size = size/1024;
	}

	return Mathround(size) + sizes[i][0];
}

//////select ////////
//document.selectCollection = new Array();

function replaceSelect(selectObj) {
    selectObj.style.width = '0px';
    var ul = document.createElement('ul');
    ul.className = 'selectReplacement';

    selectObj.onblur = function() {
        ul.className = ul.className.replace(/selectOpen/, '');
        li.onclick = function() {
            this.parentNode.className += ' selectOpen';
            selectObj.focus();
            this.onclick = function() {
                selectMe(this, selectObj);
            }
        }
    }

    for (var i = 0; i < selectObj.options.length; i++) {
        var li = document.createElement('li');
        var txt = document.createTextNode(selectObj.options[i].text);
        li.appendChild(txt);
        li.selIndex = selectObj.options[i].index;
        //li.selectID = selectObj.id;
        if (i == selectObj.selectedIndex) {
            li.className = 'selected';
            li.onclick = function() {
                this.parentNode.className += ' selectOpen';
                selectObj.focus();
                this.onclick = function() {
                    selectMe(this, selectObj);
                }
            }
        } else {
            li.onclick = function() {
                selectMe(this, selectObj);
            }
        }
        if (window.attachEvent) {
            li.onmouseover = function() {
                this.className += ' hover';
            }
            li.onmouseout = function() {
                this.className = this.className.replace(new RegExp(" hover\\b"), '');
            }
        }
        ul.appendChild(li);
    }
    selectObj.parentNode.insertBefore(ul, selectObj);
    //document.selectCollection.push([ul, obj]);
}

function selectMe(optionObj, selectObj) {
            console.log(optionObj.onclick.toString());
    var lis = optionObj.parentNode.getElementsByTagName('li');
    for (var i = 0; i < lis.length; i++) {
        if (lis[i] != optionObj) {
            lis[i].className='';
            lis[i].onclick = function() {
                selectMe(this, selectObj);
            }
        }
    }
    selectObj.selectedIndex = optionObj.selIndex;
    optionObj.className='selected';
    optionObj.onclick = function() {
        optionObj.parentNode.className += ' selectOpen';
        selectObj.focus()
        this.onclick = function() {
            selectMe(this, selectObj);
        }
    }
    //selectObj.blur();
}

function setForm() {
    var selectCollection = document.getElementsByTagName('select');
    for (var i = 0 ; i < selectCollection.length; i++){
        if (selectCollection[i].className.indexOf('toReplace') > -1) {
            replaceSelect(selectCollection[i]);
            // document.selectCollection.push(new mySelectClass(selectCollection[i]));
        }
    }
}

window.onload = function() {
    (document.all && !window.print) ? null : setForm();
}
