Event.observe( window , 'load' , Hosted , false );

var domein_prijslijst_hide = true;
function Hosted( )
{
	if ( typeof OnPageLoad == 'function' )
	{
		OnPageLoad( );
	}
	
	Manager( );
	Winkelwagen( );
	var frm = document.forms[ 'contact_formulier' ];
	if ( frm != null )
	{
		frm.onsubmit = function( )
		{
			var pars = 'ajax=1';			
			for ( var i=0; i < this.length; i++ )
			{
				if ( this.elements[i].type == 'checkbox' ){
					pars = pars + '&' + this.elements[i].name + "=" + this.elements[i].checked;
				} else if ( this.elements[i].type == 'radio' ){
					if ( this.elements[i].checked == true )
						pars = pars + '&' + this.elements[i].name + "=" + this.elements[i].value;
				} else {
					pars = pars + '&' + this.elements[i].name + "=" + escape( encodeURI( this.elements[i].value ) );
				}
			}
			
			new Ajax.Updater( 'contact_formulier' , this.action , { parameters: pars } );
			return false;
		}
	}
	
	var obj = document.forms[ 'domeinnaamcheck' ];
	if ( obj != null )
	{
		obj[ 'domein' ].onclick = function( ) { this.value = ''; }
	}
	
	var obj = document.forms[ 'domeinnaamcheck_twee' ];
	if ( obj != null )
	{
		obj[ 'domein' ].onclick = function( ) { this.value = ''; }
	}
	
	var objs = document.getElementsByTagName( 'input' );
	for ( var x = 0; x < objs.length; x++ )
	{
		var obj = objs[ x ];
		if ( obj.name != null & obj.name.substr( 0 , 12 ) == 'domeincheck_' )
		{
			var domID = obj.name.substr( 12 );
			var dom = obj.value;
			
			var pars = 'ajax=1&domeincheck=' + dom + '&domid=' + domID;
			new Ajax.Updater( 'domeinactie_' + domID , '/domeinnaam/' , { parameters: pars , evalScripts: true , onComplete: function( ) {
				Winkelwagen();
			} } );
		}
	}
	
	var obj = $( 'domeinnaam_check' );
	if ( obj != null )
	{
		obj.onclick = function( )
		{
			var frm = document.forms[ 'bestelform' ];
			var dom = frm[ 'domeinnaam' ].value;
			
			$( 'domeinnaam_checkres' ).innerHTML = 'Bezig met controleren';
			
			var pars = 'ajax=1&domeincheck=' + dom;;
			new Ajax.Updater( 'domeinnaam_checkres' , '/domeinnaam/' , { parameters: pars , evalScripts: true } );
			return false;
		}
		
		var frm = document.forms[ 'bestelform' ];
		var dom = frm[ 'domeinnaam' ];
		dom.onblur = obj.onclick;
	}
	
	var frm = $( 'bestelform' );
	if ( frm != null )
	{
		if ( frm[ 'wijzigen' ] != null )
		{
			frm[ 'wijzigen' ].onclick = function( )
			{
				this.name = 'bestelling_wijzigen';
			}
		}
		
		if ( frm[ 'plaatsen' ] != null )
		{
			frm[ 'plaatsen' ].onclick = function( )
			{
				this.name = 'bestelling_plaatsen';
			}
		}
		
		if ( frm[ 'pakket' ] != null )
		{
			frm[ 'pakket' ].onchange = function( )
			{
				if (
					this.value.match( 'parking' ) ||
					this.value.match( 'reseller' )
				) $( 'pakket_domeinnaam' ).style.display = 'none';
				else $( 'pakket_domeinnaam' ).style.display = 'block';						
				var pars = 'ajax=1&pakket=' + this.value + '&domein=' + document.forms[ 'bestelform' ][ 'domeinnaam' ].value;
				new Ajax.Updater( 'bestellen_prijzen' , '/bestellen/' , { parameters: pars } );
			}
		}
		
		if ( frm[ 'domeinnaam' ] != null )
		{
			frm[ 'domeinnaam' ].onchange = function( )
			{
				var pars = 'ajax=1&domein=' + this.value + '&pakket=' + document.forms[ 'bestelform' ][ 'pakket' ].value;
				new Ajax.Updater( 'bestellen_prijzen' , '/bestellen/' , { parameters: pars } );
			}
		}
	}
	
	var objs = document.getElementsByTagName( 'a' );
	for ( var x = 0; x < objs.length; x++ )
	{
		var obj = objs[ x ];
		var rel = obj.getAttribute( 'rel' );
		if ( rel != null && rel == 'blank' )
		{
			obj.onclick = function( )
			{
				var newWindow = window.open(this.getAttribute('href'), '_blank');
				newWindow.focus();
				return false;
			}
		}
		
		if ( rel != null && rel == 'verwijderen_confirm' )
		{
			obj.onclick = function( )
			{
				var answer = confirm( "Weet u zeker dat u de geselecteerde regel wilt verwijderen?" );
				if ( !answer )
					return false;
				return true;
			}
		}
		
		if ( rel != null && rel == 'verwijder_domein' )
		{
			obj.onclick = function( )
			{
				var targ = this.getAttribute( 'target' );
				var Objs = $( 'winkelwagen' ).getElementsByTagName( 'tr' );
				for ( var x = 0; x < Objs.length; x++ )
				{
					var Obj = Objs[ x ];
					var rel = Obj.getAttribute( 'rel' );
					
					if ( rel == null || rel == '' ) continue;
					if ( rel == targ )
					{
						//Effect.Fade( Obj );
						Obj.style.display = 'none';
						var pars = 'ajax=1&verwijder=' + rel;
						new Ajax.Request( '/domeinnaam/' , { parameters: pars } );
					}
				}
				return false;
			}
		}
		
		if ( rel != null && rel == 'alle_domeinen' )
		{
			obj.onclick = function( )
			{
				var Tbl = $( 'domein_prijslijst' );
				if ( Tbl == null ) return false;
				var Objs = Tbl.getElementsByTagName( 'tr' );
				for ( var x = 0; x < Objs.length; x++ )
				{
					var Obj = Objs[ x ];
					var cls = Obj.className;
					if ( cls != null && cls != '' )
					{
						if ( cls != 'populair' )
						{
							if ( domein_prijslijst_hide == true )
								Obj.style.display = '';
							else
								Obj.style.display = 'none';
						}
					}
				}
				if ( domein_prijslijst_hide == true )
					domein_prijslijst_hide = false;
				else
					domein_prijslijst_hide = true;
				return false;
			}
			
			var Tbl = $( 'domein_prijslijst' );
			if ( Tbl == null ) return false;
			var Objs = Tbl.getElementsByTagName( 'tr' );
			for ( var x = 0; x < Objs.length; x++ )
			{
				var Obj = Objs[ x ];
				var cls = Obj.className;
				if ( cls != null && cls != '' )
				{
					if ( cls != 'populair' )
					{
						if ( domein_prijslijst_hide == true )
							Obj.style.display = 'none';
						else
							Obj.style.display = '';
					}
				}
			}
		}
	}
	
	var frm = document.forms[ '24manager_login' ];
	if ( frm != null )
	{
	}
	
	var obj = $( 'winkelwagen_bestellen' );
	if ( obj != null )
	{
		obj.onclick = function( )
		{
			document.location = '/bestellen/winkelwagen/';
			return false;
		}
	}
}

var ToevoegenEffect = false;

function Winkelwagen( )
{
	
	var Obj = $( 'sidn_voorwaarden_check' );
	if ( Obj != null )
	{
		Obj.onclick = function( )
		{
			if ( $( 'sidn_voorwaarden' ).style.display != 'block' )
			{
				ToggleObj( 'sidn_voorwaarden' , true );
			} else
			{
				ToggleObj( 'sidn_voorwaarden' , false );
			}
			return false;
		}
	}
	
	var Obj = $( 'voorwaarden_24hosted_check' );
	if ( Obj != null )
	{
		Obj.onclick = function( )
		{
			if ( $( 'voorwaarden_24hosted' ).style.display != 'block' )
			{
				ToggleObj( 'voorwaarden_24hosted' , true );
			} else
			{
				ToggleObj( 'voorwaarden_24hosted' , false );
			}
			return false;
		}
	}
	
	var Objs = document.getElementsByTagName( 'a' );
	for ( var y = 0; y < Objs.length; y++ )
	{
		var Obj = Objs[ y ];
		var ObjRel = Obj.getAttribute( 'rel' );
		
		if ( ObjRel != null && ObjRel == 'domein_toevoegen' )
		{
			Obj.onclick = function( )
			{
				if ( ToevoegenEffect == true )
				{
					//alert( 'Een ogenblik geduld' );
					//return false;
				}

				var gotoid = $( 'winkelwagen_menu' );
				var OffLeft = findPosX( gotoid );
				var OffTop = findPosY( gotoid );
				
				this.style.position = 'absolute';
				Element.setLeft( this , this.offsetLeft );
				Element.setTop( this , this.offsetTop );
				Element.setWidth( this , 200 );
				//this.style.left = 0;
				//this.style.top = 0;
				
				ToevoegenEffect = true;
				var MoveObj = this;
				var pars = 'ajax=1&add_domein=1';
				new Ajax.Request( this.href , { method: 'post' , parameters: pars } );
				new Effect.Move( this , {
					x: OffLeft, y: OffTop, mode: 'absolute' ,
					afterFinish: function( foo )
					{
						MoveObj.style.display = 'none';
						MoveObj.parentNode.innerHTML = 'Toegevoegd aan winkelwagen';
						ToevoegenEffect = false;
					}
				} );
				return false;
			}
			Obj.setAttribute( 'rel' , 'foobarz' );
		}
		
		if ( ObjRel != null && ObjRel == 'hosting_toevoegen' )
		{
			Obj.onclick = function( )
			{
				if ( ToevoegenEffect == true )
				{
					//alert( 'Een ogenblik geduld' );
					//return false;
				}

				var ObjName = this.getAttribute( 'name' );
				
				var gotoid = $( 'winkelwagen_menu' );
				var OffLeft = findPosX( gotoid );
				var OffTop = findPosY( gotoid );
				
				var objBody = document.getElementsByTagName("body").item(0);
	
				var objBox = document.createElement("div");
				objBox.className = 'winkelwagen_toevoegen';
				objBox.innerHTML = ObjName;
				
				var DivLeft = findPosX( this );
				var DivTop = findPosY( this );
				
				Element.setWidth( objBox , this.offsetWidth );
				Element.setHeight( objBox , this.offsetHeight );
				Element.setLeft( objBox , DivLeft );
				Element.setTop( objBox , DivTop );
				
				objBody.appendChild(objBox);
				
				ToevoegenEffect = true;
				var MoveObj = objBox;
				var pars = 'ajax=1&add_hosting=' + ObjName;
				new Ajax.Request( this.href , { method: 'post' , parameters: pars } );
				new Effect.Move( objBox , {
					x: OffLeft, y: OffTop, mode: 'absolute' ,
					afterFinish: function( foo )
					{
						Element.remove( MoveObj );
						ToevoegenEffect = false;
					}
				} );
				return false;
			}
		}
	}
	
	var Objs = document.getElementsByTagName( 'select' );
	for( var x = 0; x < Objs.length; x++ )
	{
		var Obj = Objs[ x ];
		var Rel = Obj.getAttribute( 'rel' );
		
		if ( Rel != null && Rel == 'winkelwagen_aantal' )
		{
			Obj.onchange = function( )
			{
				//document.location = '/winkelwagen/?' + this.name + '=' + this.value;
				var pars = 'ajax=1&' + this.name + '=' + this.value;
				new Ajax.Request( '/winkelwagen/' , { parameters: pars , onComplete: function( ) {
					document.location = '/winkelwagen/';
				} } );
			}
		}
		
		if ( Rel != null && Rel == 'winkelwagen_host_domein' )
		{
			Obj.onchange = function( )
			{
				//document.location = '/winkelwagen/?' + this.name + '=' + this.value;
				var pars = 'ajax=1&' + this.name + '=' + this.value;
				new Ajax.Request( '/winkelwagen/' , { parameters: pars , onComplete: function( ) {
					document.location = '/winkelwagen/';
				} } );
			}
		}
	}
	
	var Obj = $( 'versie_php' );
	if ( Obj != null )
	{
		Obj.onchange = function( )
		{
			var pars = 'ajax=1&' + this.name + '=' + this.value;
			new Ajax.Request( '/winkelwagen/' , { parameters: pars , onComplete: function( ) {
				//document.location = '/winkelwagen/';
			} } );
		}
	}
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }


function Manager( )
{
	var Frm = $( 'klantgegevens_wijzigen' );
	if( Frm != null )
	{
		
		var Objs = Frm[ 'verzend_actief' ];
		if ( Objs != null )
		{
			for ( var x = 0; x < Objs.length; x++ )
			{
				var Obj = Objs[ x ];
				
				Obj.onclick = function( )
				{
					ToggleObj( 'verzendadres' , this.value);
					return true;
				}
			}
		}
		
		var PC = Frm[ 'postcode' ];
		var HN = Frm[ 'huisnummer' ];
		var ST = Frm[ 'straat' ];
		var PL = Frm[ 'plaats' ];
		var LN = Frm[ 'land' ];
		var Res = $( 'postcode_res' );

		ValidatePostCode( PC , HN , ST , PL , LN , Res );
		
		var PC = Frm[ 'verzend_postcode' ];
		var HN = Frm[ 'verzend_huisnummer' ];
		var ST = Frm[ 'verzend_straat' ];
		var PL = Frm[ 'verzend_plaats' ];
		var Res = $( 'verzend_postcode_res' );

		ValidatePostCode( PC , HN , ST , PL , LN , Res );
	}
	
	var Obj = $( 'plesk_add_domain' );
	if ( Obj != null )
	{
		Obj.onclick = function( )
		{
			var pars = 'ajax=1&plesk_add_domain=1';
			new Ajax.Updater( 'add_res' , this.href , { parameters: pars } );
			return false;
		}
	}
}

function ToggleObj( ObjName , Show )
{
	var Obj = $( ObjName );
	if ( Obj == null ) return false;
	
	if ( Show == '1' )
	{
		Obj.style.display = 'block';
	} else
	{
		Obj.style.display = 'none';
	}
}
