function isNumeric(x) {
    var RegExp = /^(-)?(\d*)(\.?)(\d*)$/;
    var result = x.match(RegExp);
    return result;
}

function hide( el ) {
	if ( typeof( el ) == 'string' ) { var el = $(el); }
	if ( el ) { el.setStyle("display", "none"); }
}

function show( el ) {
    if ( typeof( el ) == 'string' ) { var el = $(el); }
	if ( el ) { el.style.display = 'block'; }
}

function showhide( el ) {
    if ( typeof( el ) == 'string' ) { var el = $(el); }
	if ( el ) {
		if ( el.style.display == 'none' ) {
			show( el );
			return "shown";
		} else {
			hide( el );
			return "hidden";
		}
	}
}

function showhidecookie( el, strCookieName ) {
    if ( typeof( el ) == 'string' ) { var el = $(el); }
    if ( showhide( el ) == "shown" ) {
        AddToCookieArray( el.id, strCookieName );
        return "shown";
    } else {
        RemoveFromCookieArray( el.id, strCookieName );
		return "hidden";
    }
}

function AddToCookieArray( strLayerID, strCookieName )
{
	var strCookie = Cookie.get( strCookieName );
	if ( !strCookie ) { strCookie = "" };
    var arrElements = strCookie.split( "," );
    if ( !arrElements.contains( strLayerID ) ) { arrElements.push( strLayerID );}
	Cookie.set( strCookieName, arrElements.toString(), {duration: 1});
}
	
function RemoveFromCookieArray( strLayerID, strCookieName )
{
    var strCookie = Cookie.get( strCookieName );
	if ( !strCookie ) { strCookie = "" };
	var arrElements = strCookie.split( "," );
	arrElements.remove( strLayerID );
	Cookie.set( strCookieName, arrElements.toString(), {duration: 1});
}

/* Session Refresh */
function refreshSession () {
    var url = '/edit/_includes/session.asp?page=' + window.location;
    new Ajax(url, {method:"get"}).request();
}
refreshSession.periodical(120000);

window.addEvent("load", function(){
	
	$$(".imagepreview img").each(function(el){
		if (el.width > 450) {
			el.width = 450;
		}
	});
	
	$$("#UserForm #UserType").each(function(el){
		function toggleUserSettings() {
			if ( el.value == "developer" || el.value == "administrator" ) {
				hide( 'fieldwrapper_UserSites' );
				hide( 'fieldwrapper_Permissions' );
			} else {
				show( 'fieldwrapper_UserSites' );
				show( 'fieldwrapper_Permissions' );
			}
		}
		el.addEvent("change", toggleUserSettings);
		toggleUserSettings();
	});
	
	$$("#Login_EmailAddress").each(function(el){
		el.focus();
	});
	
	$$(".moduleoptions").each(function(el){
		if ( el.id ) {
			var moduleID = el.id;
			$(moduleID + '-toggle').addEvent("click", function(e){
				new Event(e).stop();
				showhide($(moduleID + '-form'));
			});
			if ($ES(".fielderror", el).length == 0) {
				hide($(moduleID + '-form'));
			}
		}
	});
	
	$$("a[rel=newWindow]").each(function(el){
        el.addEvent("click", function(e){
            window.open(el.href);
            new Event(e).stop();
        });
	});
	
	$$("table.data").each(function(table){
        colourTable(table);
	});
	
	$$(".successmessage").each(function(el){
        $ES("a", el).addEvent("click", function(){
            new Fx.Slide(el, {duration: 500}).slideOut("vertical");
        });
    });
    
    if ($("PropertyForm")) {
		statusSelector()
    }
    
    if ($$(".pagesection").length > 1) {
        $$(".pagesection").each(function(el){
            el.setStyle("cursor","move");
            $ES(".movebutton").each(function(moveButton){
                moveButton.setStyle("display", "none");
            });
        });
        new Sortables($("pagesections"), {
    		onDragStart: function(orig,ghost){
    			//stops the text selecting in ie7
    			ghost.setStyle("visibility","hidden");
    		},
    		onDragComplete: function(orig,ghost){
    			ghost.remove();
    		},
    		onStart: function(item){ 
    			this.serializedList = this.serialize();
    			this.classTimer = (function(){ item.addClass("drag"); }).delay(100);
    		},
    		onComplete: function(item){
    			clearTimeout(this.classTimer);
    			item.removeClass("drag");
    			if(this.serializedList.toString() != this.serialize().toString()){
    				getSortedListIDs(item);
    			}
    		}		
    	});
    }
 
});

function colourTable(table){
    var counter = 0;
    $ES("tr", $(table)).each(function(tr){
        if(counter % 2 == 0) {
			tr.removeClass("lightrow");
			tr.addClass("darkrow");
		} else {
			tr.removeClass("darkrow");
			tr.addClass("lightrow");
		}
		counter++;
    });
}

function statusSelector() {

			if ($("Type")) {
                    $("fieldwrapper_SaleStatus").addClass("hiddenfield");

                    $("fieldwrapper_LetStatus").addClass("hiddenfield")
            }
            
            if ($("Type_1").checked) { 
				
                    $("fieldwrapper_SaleStatus").removeClass("hiddenfield");
            }
            
            if ($("Type_2").checked) { 
                    $("fieldwrapper_LetStatus").removeClass("hiddenfield");
            }
            
            
            $("Type_1").addEvent("change", function(){

						$("fieldwrapper_SaleStatus").removeClass("hiddenfield");
						$("fieldwrapper_LetStatus").addClass("hiddenfield");

            });
            
            $("Type_2").addEvent("change", function(){
						$("fieldwrapper_SaleStatus").addClass("hiddenfield");
						$("fieldwrapper_LetStatus").removeClass("hiddenfield");
            });
}


