/**
 * Copyright 2011 1fb.net Financial Services.
 *
 * This document may not be reproduced, distributed or used in any manner whatsoever without the expressed written
 * permission of 1st Financial Bank USA.
 */

/**
 * @fileOverview This JavaScript file contains processes for page elements' corner curving.
 * @author Rokgy Luo, Ray Chen
 * @version 1.1
 * @since 7.00, 2012-01-05
 */

// The following process will not overwrite window.load.
curvyCorners.addEvent(window, 'load', initCorners);

/**
 * Curve all specified page elements' corners.
 */
function initCorners() {
    var settingsAllCornersBigRadius = {
        tl: { radius: 8 },
        tr: { radius: 8 },
        bl: { radius: 8 },
        br: { radius: 8 },
        antiAlias: true
    }

    var settingsTopCornersBigRadius = {
        tl: { radius: 8 },
        tr: { radius: 8 },
        bl: { radius: 0 },
        br: { radius: 0 },
        antiAlias: true
    }

    var settingsAllCornersMediumRadius = {
        tl: { radius: 4 },
        tr: { radius: 4 },
        bl: { radius: 4 },
        br: { radius: 4 },
        antiAlias: true
    }
    
    var settingsAllCornersSmallRadius = {
        tl: { radius: 1 },
        tr: { radius: 1 },
        bl: { radius: 1 },
        br: { radius: 1 },
        antiAlias: true
    }
    
    var settingsBottomCornersMediumRadius = {
        tl: { radius: 0 },
        tr: { radius: 0 },
        bl: { radius: 4 },
        br: { radius: 4 },
        antiAlias: true
    }
    /*
    Usage:

    curvyCorners(settingsObj, selectorStr);
    curvyCorners(settingsObj, Obj1[, Obj2[, Obj3[, . . . [, ObjN]]]]);

    selectorStr ::= complexSelector [, complexSelector]...
    complexSelector ::= singleSelector[ singleSelector]
    singleSelector ::= idType | classType
    idType ::= #id
    classType ::= [tagName].className
    tagName ::= div|p|form|blockquote|frameset // others may work
    className : .name
    selector examples:
    #mydiv p.rounded
    #mypara
    .rounded
    */

    curvyCorners(settingsAllCornersBigRadius, ".allCornersBigRadius");
    curvyCorners(settingsAllCornersMediumRadius, ".allCornersMediumRadius");
    curvyCorners(settingsAllCornersSmallRadius, ".allCornersSmallRadius");
    curvyCorners(settingsTopCornersBigRadius, ".topCornersBigRadius");
    curvyCorners(settingsBottomCornersMediumRadius, ".bottomCornersMediumRadius");
}
