var load_method = (window.ie?'load':'domready');// fix for IE cannot open internet site

window.addEvent(load_method, function()
{
    //registration form check
    if ($('step1_form')){
        
        $('step1_form').addEvent('submit',function(e){
           //new Event(e).stop();
           
        });
    }
    if ($('step2_form')){
        $('check_company').addEvent('click', function(e){
        url = 'check_name/ajax';
         
          new Ajax(url, {
                method: 'post',
                update: $('check-result'),
                data: $('step2_form'),
                onComplete: function(response)
                {
                    var fx = new Fx.Style($('check-result'), 'background-color', {
                            duration: 1500,
                            transition: Fx.Transitions.Quad.easeOut
                        }).start('#81fd6d', '#ffffff');
                }
            }).request();
        });
    }
    if ($('check_company')){
        $('check_company').addEvent('click', function(e){
            if ( $('company_name').value=='' || ($('company_name').value=='Enter your company name')) {
                alert('Please enter your company name');
                new Event(e).stop();
                return false;
            }
            this.href=this.href+$('company_name').value;

        });
    }

    if ($('company-formations-block')){
        //var myTabs2 = new mootabs('company-formations-block', {height: '443px', width: '539px', changeTransition: 'none',mouseOverClass:'tab'});
        var myTabs2 = new mootabs('company-formations-block', {height: '428px', width: '539px', changeTransition: 'none',mouseOverClass:'tab'});
    }


    if ($('director-block')){
        //var myTabs1 = new mootabs('director-block', {height: '488px', width: '552px', changeTransition: 'none',mouseOverClass:'tab'});

        accordion = new Accordion('.tab', 'div.elements', {
    		opacity: false,alwaysHide: false,height:false,
    		onActive: function(toggler,elements){
    			toggler.addClass('active');
                elements.removeClass('none');
    		},
    		onBackground: function(toggler,elements){
    			toggler.removeClass('active');
                elements.addClass('none');
    		}
    	},  $('director-block'));
        
        directorTab();
        $('directors_no').addEvent('change', function(e)
        {   
            directorTab();
        });
         for (i=1;i<=4;i++)
             sameaddress($('dir'+i+'_same_address'));

    }
    if ($('step4_form')){
        step4Check();
    }
    if ($('step5_form')){
        $$('.shareno123').addEvent('keyup', function(e){
            total = 0;
            $$('.shareno').each(function(e2) {
                if (e2.value)
                total += parseInt(e2.value);
            });
            $('totalshare').value = total;
        });
        
        $('step5_form').addEvent('submit', function(e){
            var error = "";
            
            if (  parseInt($('shares_issue').value)<1 || parseInt($('totalshare').value)<1 ){
                error = "The issued share capital and total shares must be at least 1.\n";
            }
            if ( parseInt($('shares_capital').value) < parseInt($('shares_issue').value) ){                 
                //error += "Issued share capital cannot exceed authorised share capital. Please amend this before proceeding.\n";
            }
            if ( parseInt($('totalshare').value) != parseInt($('shares_issue').value) ){
                error += 'The total shares must equal the issued share capital. Please correct before proceeding.';
            }
            if (error.length > 0) { new Event(e).stop(); alert(error); }             
        });
    }
    
    if ($('accordion')){
        accordion = new Accordion('h4.acc-head', 'div.acc-content', {
    		opacity: false,alwaysHide: true,
    		onActive: function(toggler){
    			toggler.addClass('active-title');
    		},

    		onBackground: function(toggler){
    			toggler.removeClass('active-title');
    		}
    	},  $('accordion'));
        

    }

    if ($('accordion2')){        
        accordion = new Accordion('.acc-title2', '.acc-content2', {
    		opacity: false,alwaysHide: true,display:-1,
    		onActive: function(toggler){
    			toggler.addClass('active-title2');
                toggler.setProperty('title','collapse');
    		},
    		onBackground: function(toggler){
    			toggler.removeClass('active-title2');
                toggler.setProperty('title','expand');
    		},
            onComplete: function(toggler,elements, options){
                if($('sub-accordion')){
                    var el = this.elements[this.previous]; //- retrieve current element
                    if( el == null ) return; if( el.offsetHeight > 0 ){ //- element is displayed height property should be fixed to auto to allow auto-resize
                    el.setStyle('height', 'auto'); }
                }
            }
    	},  $('accordion2'));

    }
    if ($('sub-accordion')){
    	subaccordion = new Accordion('a.toggler', 'div.acc-content3', {
    		opacity: false,alwaysHide: true,display:-1,
    		onActive: function(toggler,elements){
                
    			toggler.addClass('active-toggler');
                //toggler.parentNode.addClass('content-bg');
                
    		},
    		onBackground: function(toggler,elements){
    			toggler.removeClass('active-toggler');
                //toggler.parentNode.removeClass('content-bg');
                
    		}
    	},  $('sub-accordion'));
     } 

		if ($('tips-security') || $('step10_form') || $('step1_form')  || $('step9_form')){
			var Tips2 = new Tips($$('.Tips2'), {
				className: 'tips',
				initialize: function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', {duration:1000, wait: false}).set(0);	},
				onShow: function(toolTip){ this.fx.start(1); },
				onHide: function(toolTip){ this.fx.start(0); },
				fixed: true,
				offsets: {'x': 10, 'y': 15} });

		}
		if ($('step9_form')){
			var Tips3 = new Tips($$('.Tips3'), {
				className: 'tips',
				initialize: function(){ this.fx = new Fx.Style(this.toolTip, 'opacity', {duration:1000, wait: false}).set(0);	},
				onShow: function(toolTip){ this.fx.start(1); },
				onHide: function(toolTip){ this.fx.start(0); },
				fixed: true,
				offsets: {'x': -220, 'y': 15} });

		}


});


function sameaddress(service_address){
    
    if (service_address.checked){
        $$('.service-address'+service_address.value).setStyle('display','none');
    }else{
        $$('.service-address'+service_address.value).setStyle('display','block');
    }

}


function total_shares()
{
    total = 0;

    $$('.shareno').each(function(e2) {
        if (e2.value)
        total += parseInt(e2.value);
    });
    $('totalshare').value = total;

}

function changeCountryCode(){
    if ($('ukgroup').value =='uk') {
        $('countryCode').value = '+44';
    }else{
        $('countryCode').value = '';
    }
}


function directorTab(){
    $$('#director-tab li').setStyle('display','block');
    total = ($('directors_no').value);
    total ++;
    for(i=total;i<=4;i++){
       //alert(i+':'+total);
        //$('li-director'+(i+1)).setStyle('display','block');
        $('li-director'+i).setStyle('display','none');
    }
}

function step4Check(){
    if ( $('appoint_now').checked && $('appoint_select').value=='other'){
        $('secretary-box').removeClass('disabled');
        $('secretary-box').setStyle('z-index','10');
    }else{
        $('secretary-box').addClass('disabled');
        $('secretary-box').setStyle('z-index','0');
    }
}

function check_office(){
    if ($('registered_office_2').checked)
        $('note-box').removeClass('none');
    else
        $('note-box').addClass('none');    
}

function update_certificate(obj){
    if (obj.checked)
        $('certificate-box').addClass('none');
    else
        $('certificate-box').removeClass('none');
}
function add_certificate(){
    $('incorporation_certificate').checked = true;
    $('certificate-box').addClass('none');
}
function add_certificate2(){
    $('incorporation_certificate').checked = true;
    $('company_register').checked = true;    
    $('certificate-box').addClass('none');
}

function toggle_statecode(){
    $('BillingState').value='';
    if ($('BillingCountry').value=='US'||$('BillingCountry').value=='UM' ||$('BillingCountry').value=='VI')
    {
        $$('.state-code').setStyle('display', 'block');
    }else{
        $$('.state-code').setStyle('display', 'none');
    }
}

function lookupButton(){
    if ($('office_country').value=='1' ){
        $('look-up-postcode').setStyle('display','block');
    }else{
        $('look-up-postcode').setStyle('display','none');
        
    }
}


function searchPostCode()
{
    if ($('postcode').value==''){
        alert('Please fill in your post code');
        return false;
    }
    url = 'address_finder/postcode';
        new Ajax(url, {
            method: 'post',            
            data: "postcode="+$('postcode').value,
            onSuccess: function(response)
            {
                if (response==''){
                    // throw an error message
                }else{                 
                    $("display-address").innerHTML=response;
                }
            }
        }).request();    
}
function requestAddress(){
    url = 'address_finder/addressID';
        new Ajax(url, {
            method: 'post',
            data: "address="+$('address').value,
            //update:$('html code'),
            onComplete: function(response)
            {
                if (response==''){
                  //<?php echo "<br><h3>Sorry, there was an error fetching your address. Please try again.</h3>" ?>;
                }else{
                   $("display-address").innerHTML=response;
                }
            }
        }).request();
}
function evtAddresses_OnChange()
{
    if($('address').selectedIndex != 0 && $('address').selectedIndex != 1)
    {
        requestAddress();
        
    }else if($('address').selectedIndex == 1){
        //display field for user
         $("display-address").innerHTML='<p><span class="office-text">Address</span><textarea  id="address" class="textfield" name="office_address"></textarea></p>';
    }
}

function checkField(field){
    $(field+'-field').removeClass('error');
    $$('#'+field+'-field span').setHTML('');
    msg = 0;

    if (trimAll($(field).value)==''){
        msg = 'Information required';
        
    }else if (field=='email'||field=='email1'){
        if($(field).value.indexOf('@')==-1){
            msg = 'Invalid email address';
        }
    }else if (field=='phone' && !IsNumeric($(field).value)){
        msg  ='Invalid phone number';
    }

    if (msg){
        updateField = $(field+'-field').addClass('error');        
        $$('#'+field+'-field span').setHTML(msg);
    }

    if(field=='password1'||field=='password2'){
        if ( $('password1').value!='' && $('password2').value!='' && ($('password1').value != $('password2').value) ){
            msg = "Password doesn't match";
            $('password2-field').addClass('error');
            $$('#password2-field span').setHTML(msg);
        }
    }
    if (field=='email'||field=='email1'){
        if( $('email').value!='' && $('email1').value!='' &&($('email').value != $('email1').value)){
            msg = "Email address does't match";
            $('email1-field').addClass('error');
            $$('#email1-field span').setHTML(msg);
        }
    }
}

function checkEmail(){
    var url = 'company_formations/logincheckEmail?email='+$('email').value;

    new Ajax(url, {
        method: 'get',
        onComplete: function()
        {
            if (this.response.text){
               
                $('email-field').addClass('error');
                $$('#email-error').setHTML('This email address has been registered previously. Please login or try another one.');

            }else{
                return false;
            }
        },
        onCancel: function()
        {
        }
    }).request();
}


function trimAll(sString)
{
	while (sString.substring(0,1) == ' ')
	{
	   sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
	   sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

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;

}
