// JavaScript Document
var $gem = jQuery.noConflict();

$gem(document).ready(gem_READY);

function gem_READY(){	
	gem_round_solid_plus_right_button_corners();
	gem_round_arrow_right_button_corners();
	gem_round_two_tone_remove_button_corners();
	gem_round_two_tone_plus_right_button_corners();
	gem_round_two_tone_growing_plus_right_button_corners();
	gem_round_two_tone_tall_plus_right_button_corners();
	gem_round_input_box_corners();
	gem_override_select_style();
	
	if( gem_check_if_mobile_device() )
		gem_add_mobile_input_highlight_overrides();
}

//Span or anchor
function gem_round_solid_plus_right_button_corners(){
	var $buttons_to_be_rounded_location = '.solid-plus-right-button';
	var $right_side_corner_rounding = 'right 10px rounded';
	var $left_side_corner_rounding = 'left 2px rounded';

	gem_remove_previous_rounded_divs( $buttons_to_be_rounded_location );
		
	$gem( $buttons_to_be_rounded_location ).corner( $right_side_corner_rounding ).corner( $left_side_corner_rounding );
}

//<a href='#'><span>Lorem Ipsum</span></a>
function gem_round_arrow_right_button_corners(){	
	var $inner_button_to_be_rounded_location = '.arrow-right-button';
	var $inner_corner_rounding = 'round 18px left';
	var $outer_corner_rounding = 'round 20px';

	gem_remove_previous_rounded_divs( $inner_button_to_be_rounded_location );
	
	$gem( $inner_button_to_be_rounded_location ).children().corner( $inner_corner_rounding );
	$gem( $inner_button_to_be_rounded_location ).corner( $outer_corner_rounding );
}

//<a href='#' class='two-tone-remove-button'><span>X</span></a>
function gem_round_two_tone_remove_button_corners(){	
	var $inner_button_to_be_rounded_location = '.two-tone-remove-button';
	var $inner_corner_rounding = 'round  8px';
	var $outer_corner_rounding = 'round 10px';
		
	$gem( $inner_button_to_be_rounded_location ).children().corner( $inner_corner_rounding );
	$gem( $inner_button_to_be_rounded_location ).corner( $outer_corner_rounding );
}


//<span><a href='#'>Lorem Ipsum</a></span>
function gem_round_two_tone_plus_right_button_corners(){
	
	var $rounding_element = '.two-tone-plus-right-button';
	var $rounding_container_left_corners = 'left 6px rounded';
	var $rounding_container_right_corners = 'right 16px rounded';
	var $parent_rounding_container_left_corners = 'left 8px rounded';
	var $parent_rounding_container_right_corners = 'right 18px rounded';

	gem_remove_previous_rounded_divs( $rounding_element );
	
	$gem($rounding_element).children().corner( $rounding_container_left_corners ).corner( $rounding_container_right_corners );
	$gem($rounding_element).corner( $parent_rounding_container_left_corners ).corner( $parent_rounding_container_right_corners );

	gem_ie_click_mask( $rounding_element )	

}

//<span><a href='#'>Lorem Ipsum</a></span>
function gem_round_two_tone_growing_plus_right_button_corners(){
	
	var $rounding_element = '.two-tone-growing-plus-right-button';
	var $rounding_container_left_corners = 'left 6px rounded';
	var $rounding_container_right_corners = 'right 16px rounded';
	var $parent_rounding_container_left_corners = 'left 8px rounded';
	var $parent_rounding_container_right_corners = 'right 18px rounded';
	
	$gem($rounding_element).each( function(){
		var $button_width = $gem(this).width();
		$gem(this).children().css('background-position', $button_width - 20 ).corner( $rounding_container_left_corners ).corner( $rounding_container_right_corners );
		$gem(this).corner( $parent_rounding_container_left_corners ).corner( $parent_rounding_container_right_corners );
	});
	
	gem_ie_click_mask( $rounding_element )	
}


//<span><a href='#'>Lorem Ipsum</a></span>
function gem_round_two_tone_tall_plus_right_button_corners(){
	
	var $rounding_element = '.two-tone-tall-plus-right-button';
	var $rounding_container_left_corners = 'left 6px rounded';
	var $rounding_container_right_corners = 'right 18px rounded';
	var $parent_rounding_container_left_corners = 'left 8px rounded';
	var $parent_rounding_container_right_corners = 'right 20px rounded';
			
	$gem($rounding_element).children().corner( $rounding_container_left_corners ).corner( $rounding_container_right_corners );
	$gem($rounding_element).corner( $parent_rounding_container_left_corners ).corner( $parent_rounding_container_right_corners );

	gem_ie_click_mask( $rounding_element )	

}

//<span class='input-text-box'><span><input type='text' /></span></span>
function gem_round_input_box_corners(){
	var $input_container_element = '.input-text-box';
	var $inner_corner_rounding = 'round 9px';
	var $outer_corner_rounding = 'round 10px';				

	gem_remove_previous_rounded_divs( $input_container_element );
	
	$gem( $input_container_element ).children( 'span' ).corner( $inner_corner_rounding );
	$gem( $input_container_element ).corner( $outer_corner_rounding );				
}

function gem_add_mobile_input_highlight_overrides(){
	var $input_box_element_location = ".input-text-box > span > input";
	$gem( $input_box_element_location ).css( {"-webkit-appearance":"none", "-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)" } );	
}

function gem_override_select_style(){
	var $select_box_element_location = ".select-text-box-group > .input-text-box > span > select";
	$gem( $select_box_element_location ).css( {"-webkit-appearance":"none", "-moz-appearance":"none", "-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)" } );	
}

function gem_remove_previous_rounded_divs( $element_path ){
	$gem( $element_path + ' > div' ).remove();
	$gem( $element_path + ' > * > div' ).remove();
}

function gem_check_if_mobile_device(){
	var $is_android = navigator.userAgent.match(/Android/i );
	var $is_blackberry = navigator.userAgent.match(/webOS/i );
	var $is_iPhone = navigator.userAgent.match(/iPhone/i );
	var $is_iPod = navigator.userAgent.match(/iPod/i );
	var $is_iPad = navigator.userAgent.match(/iPad/i );
	var $is_mobile_device;
	
	if( $is_android || $is_blackberry || $is_iPhone || $is_iPod || $is_iPad )
	 	$is_mobile_device = true;
	else
	 	$is_mobile_device = false;
	
	return $is_mobile_device;		
}


function gem_ie_click_mask( $element_location ){
	$gem( $element_location ).each( function(){
		if ( $gem(this).children( 'div' ).size() > 0 ) {
			$clone = $gem(this).children('a').clone( true ).addClass( 'opacityNone' ).css( {'height' : $gem(this).height() + 4, 'width' : $gem(this).children('a').width() + 4 } );
			$clone.children( 'div' ).remove();
			$gem(this).append( $clone );
		}
	});
}


